{"_id":"@vuedx/vue-virtual-textdocument","_rev":"177-2df206b8a7ec35f6d6638cdab8752909","name":"@vuedx/vue-virtual-textdocument","dist-tags":{"latest":"0.7.6","pnpm-temp":"0.2.3","insiders":"0.7.5-insiders-1630604709.0","next":"0.7.7-next-1667939290.0"},"versions":{"0.1.0":{"name":"@vuedx/vue-virtual-textdocument","version":"0.1.0","description":"","main":"dist/index.js","private":false,"scripts":{},"keywords":[],"author":{"name":"Rahul Kadyan","email":"rahulkdn@gmail.com","url":"https://znck.me/"},"license":"MIT","dependencies":{"@vue/compiler-sfc":"^3.0.0-alpha.9","vscode-languageserver-textdocument":"^1.0.1","vscode-uri":"^2.1.1"},"devDependencies":{"vscode-languageserver":"^6.1.1"},"_id":"@vuedx/vue-virtual-textdocument@0.1.0","_nodeVersion":"12.14.1","_npmVersion":"6.13.4","dist":{"integrity":"sha512-8LPLbUr7DjzIrc8Y4d28ywykZo7dOW26wZGT3OhyRqr/NCZ+mzZt/EzE6ra0nKmcNQt/LvL5CM/dohE1XIeMog==","shasum":"29cc37e1c191965cc1f1a74c22bc4587342ab761","tarball":"https://registry.npmjs.org/@vuedx/vue-virtual-textdocument/-/vue-virtual-textdocument-0.1.0.tgz","fileCount":3,"unpackedSize":33934,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJedoaZCRA9TVsSAnZWagAASGwP/2S1r+M1PaG+I2jtaHmh\n3d9S/K10DhzKscmQ5KZoYJhWs3f1ZIKjnbYPC2R4QjFfysxuN8mjjRjpnVfa\n+tHIU1eC3X4YENQziUfH3yrKUMorBqr/xG9uFx3pBFrZF2rcL5lRDDIXiH+K\nuDIPGWtWEq5N58AeRNSjsbYJe49twaP2MxgTYRpTYexLn4KGaUngsqncsB0Q\nTUYnJyzo6VuIY2Y1v0naxgIEnfKpHMnUG+4A9Fj1ucYuhlFFJSrwVolOkze/\n2ybO9oW+CrWrNU4YjU4nslk10AzROdjrH+yRkyKPyH73urNFBU2jpfYx1gBv\nkhk9G3Q/JfZQvdEQRSJOx+Av/13VYOT5akWnuBHqF77Dm++AIhXYHnarfQ+5\nXHXA58gQ612cB0l2dtTaT/mGRv4PXnZ2TnRQWoe8MzdigKvKQK1sj6lsdXEu\nNIh+JrzHMgJ9/EQh9BOTPTki33VUV2vpUU/YpF4ZGnAdp5a6akyClU0C75qA\n1A/x6iYNXXjgc9WDNW+HwARfyVrb53PInZjq/5kWtTrjFpXy7f5SxhOkykhM\nhkr2kJChFbgTR8G9nlRPfMmIxm0ivAt6n/q1skey6ezM1uHN3QqjSMH/36wv\nCWdelfLDz+umgLPgokmzyH37P6jHJKLJh7liGK1lJjItbUy0uC8BADYj87DE\ncjLT\r\n=GTC6\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIAI3lytdIevgjOuRkk/vZjK35xtwL5221m8I3GtWEZ9UAiEAwTXThzHGpjdBZV7QIQMBtZedlbnQtieDp3ymbkQMTcs="}]},"maintainers":[{"name":"znck","email":"rahulkdn@gmail.com"}],"_npmUser":{"name":"znck","email":"rahulkdn@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/vue-virtual-textdocument_0.1.0_1584826009367_0.6523407926455658"},"_hasShrinkwrap":false},"0.1.0-alpha.0":{"name":"@vuedx/vue-virtual-textdocument","version":"0.1.0-alpha.0","description":"An implementation of virtual filesystem for accessing blocks in a `.vue` file as independent files.","main":"dist/vue-virtual-textdocument.js","module":"dist/vue-virtual-textdocument.esm.js","types":"dist/vue-virtual-textdocument.d.ts","private":false,"scripts":{},"keywords":[],"author":{"name":"Rahul Kadyan","email":"rahulkdn@gmail.com","url":"https://znck.me/"},"license":"MIT","dependencies":{"@vue/compiler-sfc":"^3.0.0-alpha.9","vscode-languageserver-textdocument":"^1.0.1","vscode-uri":"^2.1.1"},"_id":"@vuedx/vue-virtual-textdocument@0.1.0-alpha.0","_nodeVersion":"12.14.1","_npmVersion":"6.13.4","dist":{"integrity":"sha512-LmKcmiHCcrHGZEDvHz+gLHcD1dPTp5k/39HIP+eCelraEZoyVV4+brq3hEYe7ZBjudV2GLG7UcMeU21K8+KSAg==","shasum":"f75d33faf44d04cef045aadf133326d88d2dcd77","tarball":"https://registry.npmjs.org/@vuedx/vue-virtual-textdocument/-/vue-virtual-textdocument-0.1.0-alpha.0.tgz","fileCount":8,"unpackedSize":59008,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJejwVjCRA9TVsSAnZWagAA/MUP/1OaglugO7If2lD/H2zb\ntgD4gHQzoVHCkcQDKysoEliDglJROJl0wD4U738KRsNjZMWpEVhooqCeZ9uB\n+Xaq6wTp5yu5rtiE6cZrJ/O6Lg5xtRipXWX+DGTGqYYGRUuWlSCUuddTFvns\nC0MoH8PQlvALdNsctasbBAmOKikdOY6DjTKW57y0iQtzFD8y/zhBWsdb3Nt9\ncQhBBdVASI9j94tfOxgDlsfSonCoUKTTewD8NImFG7bjlDswYKPBsFICiN6X\nM6vLGNguLvdEjpIC1ZPKJhDXGumN96r87fZW2UZrwXI9sJLEccnn9QRNBxKK\npySaoYQmNGgEEVYxE+ZDq9tLYRd/36Dl1J/934GElfMgB4mVGCaH1V1yVvcL\nee1LwEpaSZLIosqVDKkJY2MNmnr8ERNf706zqxz2gozEx6+xKVTHkLPrnu4H\norPLiDi0opYfrOa0E7OefN4XJuy96BLI6UpHkcWchWgWFAHoeMlfM0yhalqB\n6w31m0P1CGbyKrY02yax9cUCI5ELmwpfMPPAPh4YVuqq7emtiYb9+y1nJh/Y\nGdMs5zrhYLWnxDKa24Fl5jmI/nq+ovzmHW/av+yvuL2BJwlQVVnW9ILVAhU/\nuRaB/EKmW+ri/LEtwUbgn8WOtbgOKpunEEuLrwkAhJ7coGhuY2kK2WV8jJER\n4AXK\r\n=gxhe\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIBT9/p0B4tk3UQvQS9eQiJfggSV4FfhP06AoUeswyaIXAiAwdKWDTT7lV/r43QDvQtCN/DWs2gWbh5nNPxv6//O2Cw=="}]},"maintainers":[{"name":"znck","email":"rahulkdn@gmail.com"}],"_npmUser":{"name":"znck","email":"rahulkdn@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/vue-virtual-textdocument_0.1.0-alpha.0_1586431330976_0.8885976721838578"},"_hasShrinkwrap":false},"0.1.0-alpha.1":{"name":"@vuedx/vue-virtual-textdocument","version":"0.1.0-alpha.1","description":"An implementation of virtual filesystem for accessing blocks in a `.vue` file as independent files.","main":"dist/vue-virtual-textdocument.js","module":"dist/vue-virtual-textdocument.esm.js","types":"dist/vue-virtual-textdocument.d.ts","private":false,"scripts":{},"keywords":[],"author":{"name":"Rahul Kadyan","email":"rahulkdn@gmail.com","url":"https://znck.me/"},"license":"MIT","dependencies":{"@vue/compiler-core":"^3.0.0-alpha.12","@vue/compiler-sfc":"^3.0.0-alpha.12","vscode-languageserver-textdocument":"^1.0.1","vscode-uri":"^2.1.1"},"_id":"@vuedx/vue-virtual-textdocument@0.1.0-alpha.1","_nodeVersion":"12.14.1","_npmVersion":"6.13.4","dist":{"integrity":"sha512-RIFNQarU9oovVUjObkIus+yGNZZEH2axne/PQ1+V5TUBq/Me2uI6qoXhsZ2zYU0xtSXQ0diWSYuLeDqVUKjhkg==","shasum":"42f6a41741ee7cf3d8502c0835111251c2c19e12","tarball":"https://registry.npmjs.org/@vuedx/vue-virtual-textdocument/-/vue-virtual-textdocument-0.1.0-alpha.1.tgz","fileCount":9,"unpackedSize":82515,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJej1OCCRA9TVsSAnZWagAAixEP/jJRL2m39LOQm/c0oA/R\n7koyBhpe84Mbel5wWggL2zLvxY3p9o6XTSFL4Z6wBiW2C39XS6OCbwuyBHbh\nlEWtegVEFgYblCUFFhCaEnbbsFyDYAxqSnC79+OOBRIj7bz7aHlEdPv1epUQ\n6w97kHe7wtnMISNF/9etUNOEuo6ZrHGb4VSq5TfxAGM3H3ginjMg89fRm2wb\nE0gOXUAWhHMwbvuzPoPki6T5TL+L9tAL5iPfEj8N2BN4EYsKNzLKsuL1ctGQ\neXFO3sP0ZAR5VKr8EsJcAqdfs+6DrVS9+vgJwuaIb+OVzmrOXqUKBSH2oR/x\nXxvLMxrRj0dtYR7Oj3SYmSGMC41R7RK1dc1KUkNI+seVLI/+KJzwp5BTv1mL\nH1PzBMfwY1oAis1ANd5G69pDMygp0OcLkTAIoAjSHJqAH/vnQ1YZPVss7KO7\nAFlbUvMu00gac/jIxQEP7fcZOwkMSCr5i7hAz1wm4rsmGi9d/zlvYW5aQGfI\n1ol4fc03rfebx4H1QzSGLOy4ENSjJejfjz3JTbon1tWA80SmgtFMH+tRYRUK\nNY3lAs9dv8mIhxI7nUzAqIzpN/hEMMKFtICWwP5W6wuuhEZv8WhvYq/lm8YR\nZeENLPUUEAWWTBqBAtDVcLmxvBxQZzwSUQS2d+Dii8c0zZy/pT5jZDN3OnSM\nmKS3\r\n=dXao\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCICLXBke+gljKQ+eyaKs400FqJXUQ8acB8rgk0VQWlFvWAiBOOrjY6whfH1NtwQfZtgBGVwPlNG2ekmge0sGzxhUUQQ=="}]},"maintainers":[{"name":"znck","email":"rahulkdn@gmail.com"}],"_npmUser":{"name":"znck","email":"rahulkdn@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/vue-virtual-textdocument_0.1.0-alpha.1_1586451329893_0.6616718556414833"},"_hasShrinkwrap":false},"0.1.0-alpha.2":{"name":"@vuedx/vue-virtual-textdocument","version":"0.1.0-alpha.2","description":"An implementation of virtual filesystem for accessing blocks in a `.vue` file as independent files.","main":"dist/vue-virtual-textdocument.js","module":"dist/vue-virtual-textdocument.esm.js","types":"dist/vue-virtual-textdocument.d.ts","private":false,"scripts":{},"keywords":[],"author":{"name":"Rahul Kadyan","email":"rahulkdn@gmail.com","url":"https://znck.me/"},"license":"MIT","dependencies":{"@vuedx/compiler-sfc":"0.1.0-alpha.2","vscode-languageserver-textdocument":"^1.0.1","vscode-uri":"^2.1.1"},"_id":"@vuedx/vue-virtual-textdocument@0.1.0-alpha.2","_nodeVersion":"12.14.1","_npmVersion":"6.13.4","dist":{"integrity":"sha512-gY3Wb0r/6INXfq77LCm8el3XkQ1KXMGBUNT1lnIlNYNlURoPVkyggfUKWbnvavaqxLQe4b9mXVcXNIe/2Z7b8Q==","shasum":"12af7df6878f1cf6d6a8fc82b35456cc412c862d","tarball":"https://registry.npmjs.org/@vuedx/vue-virtual-textdocument/-/vue-virtual-textdocument-0.1.0-alpha.2.tgz","fileCount":9,"unpackedSize":81845,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJej4RXCRA9TVsSAnZWagAAYPcQAImxA80y/t2Fsiy3wuCi\n30z33VF2tNwDrNU9XRpY2CaRXy3moEzaojr95b6GY5Dovepha5yJxe3kS483\n+TTew1i+Qs2TWKv1SDunDwXYh019uUAe4h03EZK0GLIJCVnch9KEPMH/J4Zc\nirMjW0Y0oPvfSSBvLBWiMqdUANyX3MaGfeSjdw/561dapfLyfx1CTdnvBU/x\nCZE3sEX7r0XIWj6gghJwFsZ0dKsHf4PVXCvJLMYr9pmkLSFLwKZCa5Lo89BN\nZjQvmsHVEQZryw8E1OFwHCKBFikm1ps7jzIcnSbOY3kFNXhpyeI5vh+PfW8V\nFPGYKXBmMzSHrIy/mQi2dqZI4wzfTMKFmuKiJos1hOGSNE2CXXeuFmaE5Csd\nZRYGE5FgwUZBiFGAHY9Ne7VSMMdPSZ+bM9XllBt190t6NKUgPf7DUs6mfj8A\nwAFyF9z80W/R/KE9iEfdg7Eb1t0P20oxKD8VH6VJRV4X6cO49zC/CnHlVVa5\nU8tuu+uQ4/d2h4kRsHr0tuCla1JJWF7KWkfg2xIbqUPlDMWDFzWOV+LzC5Xs\n7dwScxU/Lds4Y3WvDdSLg9MruGhFkccarUVjWN17T0+castHvGZ7FhAyxzj9\nR2CkE5aw3NWYVxo4r1lJB+JdTkh8pO3oLSC23Hhj748KF5cbVRCH2r++FiQj\nPaSA\r\n=LwKP\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIHOeTJbpccF1PYcePN6D4ta+K07ZZbGLgRY+CYUB5w4AAiA6jpQaRFwk6Wzfv+pm8XP8dwrJG0o8WlI9HFYqKrCIVQ=="}]},"maintainers":[{"name":"znck","email":"rahulkdn@gmail.com"}],"_npmUser":{"name":"znck","email":"rahulkdn@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/vue-virtual-textdocument_0.1.0-alpha.2_1586463830819_0.6330112019726346"},"_hasShrinkwrap":false},"0.1.0-alpha.3":{"name":"@vuedx/vue-virtual-textdocument","version":"0.1.0-alpha.3","description":"An implementation of virtual filesystem for accessing blocks in a `.vue` file as independent files.","main":"dist/vue-virtual-textdocument.js","module":"dist/vue-virtual-textdocument.esm.js","types":"dist/vue-virtual-textdocument.d.ts","private":false,"scripts":{},"keywords":[],"author":{"name":"Rahul Kadyan","email":"rahulkdn@gmail.com","url":"https://znck.me/"},"license":"MIT","dependencies":{"@vuedx/compiler-sfc":"0.1.0-alpha.3","vscode-languageserver-textdocument":"^1.0.1","vscode-uri":"^2.1.1"},"_id":"@vuedx/vue-virtual-textdocument@0.1.0-alpha.3","_nodeVersion":"12.14.1","_npmVersion":"6.13.4","dist":{"integrity":"sha512-5BDUcXH7qX3X6iW4bFr57i9KiQYwql0kXJA498hV0DYSOpSaKuOAb1vbDCvSBLW9nsmCttbPb/XM6sCH+8w3hA==","shasum":"ce0d51ed160a3b38a6e5668684184c4cff32bccb","tarball":"https://registry.npmjs.org/@vuedx/vue-virtual-textdocument/-/vue-virtual-textdocument-0.1.0-alpha.3.tgz","fileCount":9,"unpackedSize":80837,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJekVIjCRA9TVsSAnZWagAADi8QAJRXaRe/MAWXlPQkoWMK\nksa+T/fxPGykscyi9801vUQ/trxPWm19BBk4FUHnzrwRTpzmMvafGlkbTiuu\nKoOud5uvW7Oi24I8TbC57mssDl5VActCVk4LrmgYBSXgaU0oGYzIwrIgmCUV\niNJ2OIe2dWMhmhfezquS/7OhV7WdK1ddB7sCKDlNPw4siNpONjYgdB3h0YNE\nuIDUfu57iql01jrN3TozmQ9EyQFAYjUe06CTut8SSwIM3jr1P9hVwl6MCXWx\ntYF+vqQ2Z5F0BxsBITPigb3d+8ZXqpGHSIuixX2Zr0NTjRzcDXhPVw7xmqjL\nf9llaEIxXoHBUqRGCufUTEoaMfmDTrk0mVt8JDbIGouGBdJY8l/t5WzkHSFc\nzLc/iorMpuIeS9x3WjbF6ssXgiQEf1cZG3N/5oojhu4tVOBRISkRM6SJ3mZE\nZtRi97gCqWBZOZhaHEXT5/Bn9B10641GrIrdwJOCfq9vyqzavzUj7bZC3xrq\ntNEyBEyNZMT+0F5Jwseo0GEKtQ6yFKlJZTdvq9blJapvKm4V5L8gkGBREf1k\nGixTmryUeP8479G9g5XNi/17Pax4xLoCEgBFXH/AOSGnyMacABGoUmoRCVye\nBGZdmBDXOxTT4dOpg7HKpJkyfIyTwUIGZZwqyYiSM3gf5CKSh6eTnBVoy3nx\n4/6d\r\n=J/kM\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIB0Zo8ghbZJzR6ws210wJpL18Rk35JoArJmNVIWVSJkwAiB9Ad3f8F9dCqEswwRP1L7/09K9d0x6/VrcYXxGzxfSQw=="}]},"maintainers":[{"name":"znck","email":"rahulkdn@gmail.com"}],"_npmUser":{"name":"znck","email":"rahulkdn@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/vue-virtual-textdocument_0.1.0-alpha.3_1586582050909_0.6212766553800384"},"_hasShrinkwrap":false},"0.1.0-alpha.4":{"name":"@vuedx/vue-virtual-textdocument","version":"0.1.0-alpha.4","description":"An implementation of virtual filesystem for accessing blocks in a `.vue` file as independent files.","main":"dist/vue-virtual-textdocument.js","module":"dist/vue-virtual-textdocument.esm.js","types":"dist/vue-virtual-textdocument.d.ts","private":false,"scripts":{},"keywords":[],"author":{"name":"Rahul Kadyan","email":"rahulkdn@gmail.com","url":"https://znck.me/"},"license":"MIT","dependencies":{"@vuedx/compiler-sfc":"0.1.0-alpha.4","vscode-languageserver-textdocument":"^1.0.1","vscode-uri":"^2.1.1"},"_id":"@vuedx/vue-virtual-textdocument@0.1.0-alpha.4","_nodeVersion":"12.14.1","_npmVersion":"6.13.4","dist":{"integrity":"sha512-R+y8eZKupLkKYGu3hPckyXYx0n1mjW2kdIf776296Qe3Sk13Mead4xKggheuiw/GkS25UC6JxSK5akMk7C4S/w==","shasum":"71ff811177b4ec94a51a77433f8805aeb1ec35cb","tarball":"https://registry.npmjs.org/@vuedx/vue-virtual-textdocument/-/vue-virtual-textdocument-0.1.0-alpha.4.tgz","fileCount":9,"unpackedSize":80837,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJekXtWCRA9TVsSAnZWagAAlhIP/iFj0cn2ujdQ5qQonhu1\nTennWcVFlBT1FdLd6KdXwdH4RstLrgyuROsV/ZVl/pQEsKscuzSmHK3TDlhD\nGImPaeQEF4tUC6DaQd0sYk9gMVdiawH0WgAbqeAQ4NqyitSRKNHChKtJj3K5\nxpx3DoYMg6ZmbqyRFuqua+9SkW5GQJ/inn8Fh6ZoeFsuoDdDo+3CtgEeDlzz\nK2lW9IFNbdAkvvhPsFIM5iVgJ72EFX7IXA6x6PxCARnkWg5bI+66TWveM118\nzNA1GOqEErM0AlurboOYQM5m91mxX8oaI4Iw6PdTcYvrdGha369mGu4Glb6G\nYp0KTY9ytqUgwBQq+erTaix5HHCEzcP+h5AaoQFQiOyX+sDWsg+nvh7VNPoJ\n6Ey49+xgWd4+3RxzUdfCZrWK9bBPAUHlPUkdSCyvYBBoswi06+abx01ej2Gp\nSFPoc1XZV+sFrmxMgW+FJC7RMoldwE4/p7hB0qK+i5E6GQ/8tus5gXvLVk04\n2yL79PI303we0eDw8PDwrfksLIKC34pyxajOCaO1hNBeS7n+DCcgwfiOgbko\n8kXa9hB40jkDcFC4lh5TMN7EiIDZDJc5SL2Hd7Is9Njp0PVd5oWJ+JPWZ8dI\neXXqRJ+EHTYnO1TCpuyP6ZaZrQx585Y7Y4oohmq2EtrdMhfKRL999Lj9OKnx\nRZdm\r\n=uTjL\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIGhx4xRyHWLfO4EZsX8cA15RTHMNoMXMAuNL41Tsx5TcAiEA9NERDeK/Rt6bdGdt6hKwIhsbCtaj0VNHel2oLSLmK/A="}]},"maintainers":[{"name":"znck","email":"rahulkdn@gmail.com"}],"_npmUser":{"name":"znck","email":"rahulkdn@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/vue-virtual-textdocument_0.1.0-alpha.4_1586592598330_0.6041416697185942"},"_hasShrinkwrap":false},"0.1.0-alpha.5":{"name":"@vuedx/vue-virtual-textdocument","version":"0.1.0-alpha.5","description":"An implementation of virtual filesystem for accessing blocks in a `.vue` file as independent files.","main":"dist/vue-virtual-textdocument.js","module":"dist/vue-virtual-textdocument.esm.js","types":"dist/vue-virtual-textdocument.d.ts","private":false,"scripts":{},"keywords":[],"author":{"name":"Rahul Kadyan","email":"rahulkdn@gmail.com","url":"https://znck.me/"},"license":"MIT","dependencies":{"@vuedx/compiler-sfc":"0.1.0-alpha.5","vscode-languageserver-textdocument":"^1.0.1","vscode-uri":"^2.1.1"},"_id":"@vuedx/vue-virtual-textdocument@0.1.0-alpha.5","_nodeVersion":"12.14.1","_npmVersion":"6.13.4","dist":{"integrity":"sha512-OkoFfsneAdYNamg0VzW4E3ghbbIQdTFOmya9DgzRLnTBntIfgKMu+4DdokrmaCOuX+DjYgqI6W654mhi1m8cFw==","shasum":"45d4d5352254d6860a3bf69ed3627e099bbaa09e","tarball":"https://registry.npmjs.org/@vuedx/vue-virtual-textdocument/-/vue-virtual-textdocument-0.1.0-alpha.5.tgz","fileCount":9,"unpackedSize":86443,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJekuHZCRA9TVsSAnZWagAADTcQAIyG5uFVCXxt69+hlQ2N\nWzEuzyTau45THzrAarvtlOs5gbJx/ubMu//slm9cJCQeSKQ5ML5LGkfgcQLd\nYRpo3DneBvQfb6hU6+X4tT1octrremgUeT/PgMjd9OqY4KHt10JBTJmzSt4F\nixN5f8qiPPJVg/cu4gYMdmbs4rv4qit3FJ7cDvDXIQGx1B+uwuTEz6Q/cLWy\nTndoB2hVrHT4mGTNYsiyxjBvqgHGzzCPthkR+BihuYyz1DvmUUDLvWqY14OY\nhj8kn0ZzeQwdg4bHqDx+gWiyoZdm2D4pFMxUZwRhuL4OdW4zRKHYy61lhpt9\n1W+8vExj5z5xnLT2jEhvQF6WVcjlK0dQ48eGXyLlEDWHyBXyNCSG35tj0bPJ\np7gzvwMePASswax+YavDCAUn/XMPVQkvKxw7bjKoivv6sTTDhoDf6mi6PXV1\nGEea0XkBOiSqScirTUWc5DRI9nzHaA69Eheh76P8Zlu8q4nQqmvy2TvuBcsy\nlNWmtx3WwIm35FPIKnPBSWPm3sFEGW90ON+BH4DxhJ+fp1OfVGVuxZO8TEGg\nEoFt8iyYSMnHu52hkaijt5hCxuwLHqixqzEvB8Gg+uxhtztuiPfDdcDrxinN\nGw3cXeTLUklMsc5vL4ZZ7wDH8ONyRJQaf+rQx8Bd1GRoNTkVWx3+NW5Wcu3V\ngb1/\r\n=jBOQ\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDgOmPYQVdygYUG3HP5HHJweyVtkaGRGTkIeOFoepIGZAIgYei82KEzcpPa5xelQwGs+dQUnu43X1/cq68lvUp4Hxc="}]},"maintainers":[{"name":"znck","email":"rahulkdn@gmail.com"}],"_npmUser":{"name":"znck","email":"rahulkdn@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/vue-virtual-textdocument_0.1.0-alpha.5_1586684376665_0.5638496805243538"},"_hasShrinkwrap":false},"0.1.0-alpha.7":{"name":"@vuedx/vue-virtual-textdocument","version":"0.1.0-alpha.7","description":"An implementation of virtual filesystem for accessing blocks in a `.vue` file as independent files.","main":"dist/vue-virtual-textdocument.js","module":"dist/vue-virtual-textdocument.esm.js","types":"dist/vue-virtual-textdocument.d.ts","private":false,"scripts":{},"keywords":[],"author":{"name":"Rahul Kadyan","email":"rahulkdn@gmail.com","url":"https://znck.me/"},"license":"MIT","dependencies":{"@vuedx/compiler-sfc":"0.1.0-alpha.7","@vuedx/compiler-typescript":"0.1.0-alpha.7","vscode-languageserver-textdocument":"^1.0.1","vscode-uri":"^2.1.1"},"_id":"@vuedx/vue-virtual-textdocument@0.1.0-alpha.7","_nodeVersion":"12.14.1","_npmVersion":"6.13.4","dist":{"integrity":"sha512-6Xtpf/Lc3hyFHb4ALukEupdIVBlpGRsPBlkcTHc7GHJZHL3RXkAPSDoRUUzrr4/rvolL/kqV1Lz9nzc2KuLY+w==","shasum":"bc0bf537fc500bf9de53be635235056bd8a5d220","tarball":"https://registry.npmjs.org/@vuedx/vue-virtual-textdocument/-/vue-virtual-textdocument-0.1.0-alpha.7.tgz","fileCount":9,"unpackedSize":141491,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJemI0ZCRA9TVsSAnZWagAAHKcP/3cqAWgwOmPg076AQ2TH\nJP4Zrfz5AGubMm6Y7Dy9HThX4/zHGNxWpVJ4MDnbikx26nGkuviVDXRDk0Rf\nbAgVmXMPS7IqokhFlS29ZO3YuvE+phmR0WlWsZzn8zc1bIOVzAo5BaPC6ytr\nkr0ZjIApnsxWiu4IK3ns6WsVhrMN+YtnmIxDnZQlFv2WhTME2Kt9Eb0KY8I9\nYT4eowyGMeV98k2N/veBmKFJ++xsdKhL2XDIEHU7MA0geTf4SQwRZNxNT8WM\nycwO2YXQ7tEPyGhyfXY4OsOGrfYuU3bK0FScKelZ8eZw+lkWrcQk2X9lUUlP\nOK9TUMdGSHei5C/+X0pxSWsrZnjC1To1LBsOLLNHSo/TXZGqoQNfTUNal/5T\nCPvVT3QYIJ+D+eunr7BiKx67XoF6HcBDeH2NcS/jFZqFZjIAxLlQpLlxDUuB\nY/Hp/VM3YbvBnlAZr1iFr61GOma1xxwMIpATCd/oDL7U/lP7dskar80MT+UR\nEyoYtJw8b7Ix05TmaqBj/J35SWTJq/YtZMMF86AEth/+IeSkDCGLS3Fzsvy6\nL+PIj5cP6gQQJxqXtA0WfJ/Q9zoGRdVhrb/CogxBRtIZjykBNpCToPndGtWK\n8jMpYtSdD3jxBncv7sqJfmPSY/s3Vea0tuM2zE0LB1HLcxWsy9b5Vy/ZZYeE\n3Amn\r\n=Srte\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDlFuEevGyWDsk7kcPokGIDCPXjveQwbCDbFdtUeTE9ywIhALrM2rnNmpaL6sj7FXRPOS/Ej6Ed5G0d12KOwSTMbAwt"}]},"maintainers":[{"name":"znck","email":"rahulkdn@gmail.com"}],"_npmUser":{"name":"znck","email":"rahulkdn@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/vue-virtual-textdocument_0.1.0-alpha.7_1587055897452_0.17479831914192334"},"_hasShrinkwrap":false},"0.1.0-alpha.8":{"name":"@vuedx/vue-virtual-textdocument","version":"0.1.0-alpha.8","description":"An implementation of virtual filesystem for accessing blocks in a `.vue` file as independent files.","main":"dist/vue-virtual-textdocument.js","module":"dist/vue-virtual-textdocument.esm.js","types":"dist/vue-virtual-textdocument.d.ts","private":false,"scripts":{},"keywords":[],"author":{"name":"Rahul Kadyan","email":"rahulkdn@gmail.com","url":"https://znck.me/"},"license":"MIT","dependencies":{"@vuedx/compiler-sfc":"0.1.0-alpha.8","@vuedx/compiler-typescript":"0.1.0-alpha.8","vscode-languageserver-textdocument":"^1.0.1","vscode-uri":"^2.1.1"},"_id":"@vuedx/vue-virtual-textdocument@0.1.0-alpha.8","_nodeVersion":"12.14.1","_npmVersion":"6.13.4","dist":{"integrity":"sha512-lz5cG5MBBKDYYBSD4omr2Nq357rDFimyunubC7cnYQ1W1YC9KioiB5vAbVh/6BYSf5/GtL0JTFWsmOyEUfIHpQ==","shasum":"f2edfae4a3b41af0e2d8df64e23c90c6ed001b9d","tarball":"https://registry.npmjs.org/@vuedx/vue-virtual-textdocument/-/vue-virtual-textdocument-0.1.0-alpha.8.tgz","fileCount":9,"unpackedSize":141627,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJenE7xCRA9TVsSAnZWagAA0kAP/R5n01I7EAu+qjCjs5ge\nkituCq3NU3XbAMVFP5P7HL156JsxWpdWotTl7Eqa/Kp0jkcynstRTerneI6r\n2KUyh0PMeA2rKy7JGQNW2t6fdlSRw5QV3jdqanqR5G/0leXPC1x2mA/y4tfh\ndSPHE0KJCU4ViuCSaCGZzDW6p5qxYsnS8XsBI7UfZhGEv+iiWKGRp/eHGrCp\nX9oykpEULAaGs5TD/D77K9c54dTg+JcrERSeM+MA+LEQfbEk7gY5jh+qpCG1\nDrda+ERxFUh1p8o92Ax0WduHvs07RLFC1sfYg3eO2porzQctfQb9/apPcuQA\n9gBTmBPiOJdrl30+BU2EHNCJyl98Tuo26+3RYjrSCWClycyGnRr9OlO9b/4P\ng+Gl4JqFxq56FGtvGw8h4Mwr2aYenski7gH5FBR01b8rU5xawr/WJd3MgqGy\nSxMKCmxGJG1svr2BYFa6tc+I9jrQ8ZsRhRcnwJCLA6E98LU0/bY3xBdN1NJc\nrsPhPl/TY/oZqCr7GriSe2oRD+6s6gxwkWd1lNRWlJFT2LEYg6msuhqlWgES\naDTKctSJkr//RA1GY16E1A/kvj6i0cR6PufFzITdmqOwboqO/weBGH/hSRXY\nWBV3RQOjrXvln0Bo7AcH2qKy/1OzyeFY8+BplBMNPJg3AJmsytlP7AUVfKmt\ng5+O\r\n=De01\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIATV9G4PG4SUt/QmAibUhJkY12CRhzsRvDst6JMyJ+5NAiAu21l3n+aL0vwwoOgApYTxy09dJ0FyRtoymmafYgz0Ig=="}]},"maintainers":[{"name":"znck","email":"rahulkdn@gmail.com"}],"_npmUser":{"name":"znck","email":"rahulkdn@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/vue-virtual-textdocument_0.1.0-alpha.8_1587302129299_0.9428369729735155"},"_hasShrinkwrap":false},"0.1.0-alpha.9":{"name":"@vuedx/vue-virtual-textdocument","version":"0.1.0-alpha.9","description":"An implementation of virtual filesystem for accessing blocks in a `.vue` file as independent files.","main":"dist/vue-virtual-textdocument.js","module":"dist/vue-virtual-textdocument.esm.js","types":"dist/vue-virtual-textdocument.d.ts","private":false,"scripts":{},"keywords":[],"author":{"name":"Rahul Kadyan","email":"rahulkdn@gmail.com","url":"https://znck.me/"},"license":"MIT","dependencies":{"@vuedx/compiler-sfc":"0.1.0-alpha.9","@vuedx/compiler-typescript":"0.1.0-alpha.9","vscode-languageserver-textdocument":"^1.0.1","vscode-uri":"^2.1.1"},"_id":"@vuedx/vue-virtual-textdocument@0.1.0-alpha.9","_nodeVersion":"12.14.1","_npmVersion":"6.13.4","dist":{"integrity":"sha512-AF/lpQ4dVhr3M+Yh5IJYH1FnRPS2k8P2+XtRj0klsS+XjeaNNv1pJM7KmDqhYfFQQD+IyT1ylGLdhrRSOCkXFA==","shasum":"01f053b5a68f1927766025c74d148418feb0b29b","tarball":"https://registry.npmjs.org/@vuedx/vue-virtual-textdocument/-/vue-virtual-textdocument-0.1.0-alpha.9.tgz","fileCount":9,"unpackedSize":141627,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeyPNoCRA9TVsSAnZWagAAeegP/jWQIAIGz/hXPaTYznnb\n3hfuXy4pa/TTgL/deIbS65XYQru4Qy3ntDGKisvPc/vPYp7ZJLM0i2dsN4/6\ngeNI4puL/9antC91FiY5P2+dlem+XcqXvI3H9rtQgKssDi50pgXFtaQOZ0MU\n2Y+0kC/1Bt6ggcNMa7uYOIjSQcmXFoYPoq6S8RERkFV+Y5Mf2mBsln+4JtMB\n0MxPdbL/la9BW4w4Sv/i0OKm0r16zQmnxJJ190rkGiOZSOXT6m5IE1VkZuBI\ntaABhZPPT48rs4yQojguY9J5Ds1C94W7tiQ1J7REAm4a5H4LnCsswxMfIm1U\nMRSrZ9rWRXzmPaxz13yVBN9W09Qe7UNXHjYVwSqB9RCmRW914GbAlHfLi7jf\nP+dmpntl1R9rjgF0kgasGnjcX1zzrrQzmO1PiMPUkDDUz+F1p7QnNKUUDZF4\nd+vk8bIcLqCytVFiU60xpnOUWq9GA8HxKowCb+xZymTKqJ6AJaQ2pDsxei/J\nS5VptV7yZ3a3i7RC99zW/oW9po3hFX/cCD2nmGcWw4Sr80/gOOH6i7+BKjfl\n5g5fpmFsEBmPOBBvRXE8tSFPOqH8aXoGNJAHVDwwPpfJApQf294CABfVIS4J\n5kBYXrMWo8DP22NPDbSzjJ9CDzzOIF9gGkHs8STu3rKEq41w7YUbg6LDpZ5D\nI1N8\r\n=gKGj\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDoG6+JGOI8e8Oj2iGJxiXr2BxWP32jKGJwoCUEG7jynQIgarcVuSqeeOtNlAibgqyNRZ8dPlv+ntvy2ReHO9xOwIk="}]},"maintainers":[{"name":"znck","email":"rahulkdn@gmail.com"}],"_npmUser":{"name":"znck","email":"rahulkdn@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/vue-virtual-textdocument_0.1.0-alpha.9_1590227816390_0.6492466481197301"},"_hasShrinkwrap":false},"0.1.0-alpha.10":{"name":"@vuedx/vue-virtual-textdocument","version":"0.1.0-alpha.10","description":"An implementation of virtual filesystem for accessing blocks in a `.vue` file as independent files.","main":"dist/vue-virtual-textdocument.js","module":"dist/vue-virtual-textdocument.esm.js","types":"dist/vue-virtual-textdocument.d.ts","private":false,"scripts":{},"keywords":[],"author":{"name":"Rahul Kadyan","email":"rahulkdn@gmail.com","url":"https://znck.me/"},"license":"MIT","dependencies":{"@vuedx/compiler-sfc":"0.1.0-alpha.10","@vuedx/compiler-typescript":"0.1.0-alpha.10","vscode-languageserver-textdocument":"^1.0.1","vscode-uri":"^2.1.1"},"_id":"@vuedx/vue-virtual-textdocument@0.1.0-alpha.10","_nodeVersion":"12.14.1","_npmVersion":"6.13.4","dist":{"integrity":"sha512-CxLWWyM5GPa+6QRI7Mz4/4nUcH55yVKcLdQIzXgjYMdrFngT4uFP+lvLPFNpqUNS9gIrfLurXqCuNAjur4b8kw==","shasum":"f07d73c54c64618e48de2ddc545b743d9eebe822","tarball":"https://registry.npmjs.org/@vuedx/vue-virtual-textdocument/-/vue-virtual-textdocument-0.1.0-alpha.10.tgz","fileCount":9,"unpackedSize":141630,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeyPhLCRA9TVsSAnZWagAAAuEP/0kLhifIy0TQFjer+S0N\nrP30kR0XQ7hFxzcuvLRqycfM6ZVZ4YyCNfbYGLBNLmoAt9rS3yUglpTUmYQj\nJCNm73Bsw/ImzpcE07SED7GRS7OV1Gm+MijP2kc6aSZDQ7DI+7XOPR/uGZqM\nOCrCTUfnJcwboyIUbIq39Px0+t35f9l254Ql9+St4hY51QtJWyj1TyJ75gV3\npOdJgAtZm8xHlzIwQF2oLsZUorr/3P3XeMXNVH3WtqxwWikeO0RRcWVbspmg\ncJZp2qO/TJhbYmoO2G3pEC+CVfknGR7i7eKDNVeKrr9rKMesrJBC7fhCkmLL\nyhJ7MJ5yaiV3QXJjybmrLuaPpcL9jOLDeLOxabmlt59m+usujiychlOv2eG3\nsID7qmXeVQ7oq+lvMO8QboGPR8okuiXqQIb1/WJZutNUibcL0W59c/8XIAug\nNswn6mmi7A2zsDGF0ClzCtAScRHVOztn1hOnOrSjsPhOkpRRGWfLcxfAf+uZ\nZXzAskDCay2kknImo4bnxlpGIygMTaW7xdBKmnBDFgjChU5GVMgY9HA5Ln6U\nh/Qx0g4lYqmZmb0rOk4OdqIdeqMiJ07WE4ql5dD4PHQSRKh3T2ND5gW7jRPy\n12d0udkWtXZWv5v/ryz/aWde1QkqQAIBCt3QizFPHm2owCmp9DO5MTpZugkd\nc9dR\r\n=aiwU\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDjXrbCYn1NqTt3+OZzjxwRM2H6MSSR21aNgBM8GKVTcAIgXMdSaSN2sKf3R0LKYDMQLx0YPoYLhaKIhvSaWNmXsxk="}]},"maintainers":[{"name":"znck","email":"rahulkdn@gmail.com"}],"_npmUser":{"name":"znck","email":"rahulkdn@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/vue-virtual-textdocument_0.1.0-alpha.10_1590229066798_0.15808427823174354"},"_hasShrinkwrap":false},"0.1.0-alpha.11":{"name":"@vuedx/vue-virtual-textdocument","version":"0.1.0-alpha.11","description":"An implementation of virtual filesystem for accessing blocks in a `.vue` file as independent files.","main":"dist/vue-virtual-textdocument.js","module":"dist/vue-virtual-textdocument.esm.js","types":"dist/vue-virtual-textdocument.d.ts","private":false,"scripts":{},"keywords":[],"author":{"name":"Rahul Kadyan","email":"rahulkdn@gmail.com","url":"https://znck.me/"},"license":"MIT","dependencies":{"@vuedx/compiler-sfc":"0.1.0-alpha.11","@vuedx/compiler-typescript":"0.1.0-alpha.11","vscode-languageserver-textdocument":"^1.0.1","vscode-uri":"^2.1.1"},"_id":"@vuedx/vue-virtual-textdocument@0.1.0-alpha.11","_nodeVersion":"12.14.1","_npmVersion":"6.13.4","dist":{"integrity":"sha512-sEZM4zvv3AjQqlk59k7cLQu19xkEeSidV0DRY9TIUUmaTp+bWHHx4pXspX67U93BswkCMC11X8OrSVNaweGrlQ==","shasum":"cc5a03a1ad4ac0035ab2a2fa4be088417e0e0b57","tarball":"https://registry.npmjs.org/@vuedx/vue-virtual-textdocument/-/vue-virtual-textdocument-0.1.0-alpha.11.tgz","fileCount":9,"unpackedSize":141634,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeyQgjCRA9TVsSAnZWagAAwXUP+wZU9jwaUS6DgvXl3wUE\n6IO2F2hC1TjX3gcneeYaKUJKPJ04yTGPV30ATQmwq6sY4xJdOrgisChxel8b\nN9QOlvRfcL06xvNgoEm5S7bcjNN6aYKkSZayuL+m2rA/R7nizb3U0L1O/k+e\n5F4JCO8Be/bT/fFQmDlj4/FwLlFHwS5qVaVDWLFdQc4Uyu6ve3XMw6gEB3fu\nC4sTH9zS8SbH4RwBpcb8FG9rywLh81DFpDISsaXHtbRuuYss4y/EwRqitn1a\nPxz6RpYWa0wfoV2hZWelakWI5T4mpcHvBmAwJJinxdMobyN4o9SwCvnCkAXl\nnCGJ0QANr/TeozyCdymsjHNqESHpict8QaIl4SMSIVSFojoRPp49PEGe8+Tm\npu1RfSzFmtOAFdQM0nTWBxole+IqA535tN3uGbNBKowyDyHmoU3rQibon79x\nbeiM5Lo7MAZC/QsPhQDIXF8DaPFsqnz/zJf8ktieUNE+xkhpG76SVCDW24DY\nAgQGscqdmWVpSzVAKERB3zjW//7k/RTB6/DWx8xJEbPVUP+LCUlmckY3rKYt\n0hUpAch+DTLWHS1ILisnMLm4HMQWY6VhFmjMBYxqpUvUHf0vB/d4x2L4eui4\nMFi2zXl0R4TmI3AjZ+w/JnzDLpR1EBIKTd5eXEgRa5D3qUg+LQTwa76n32m/\no0I2\r\n=0CF3\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIDMyFbOLm5eAGJV3pyPohN0TTmIbGP95wKlpTeYgb4fCAiEA9rFe5teroeCV9mVkogOSNfPN+fOhaMUdLkjYIYntHsY="}]},"maintainers":[{"name":"znck","email":"rahulkdn@gmail.com"}],"_npmUser":{"name":"znck","email":"rahulkdn@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/vue-virtual-textdocument_0.1.0-alpha.11_1590233122577_0.9053898436878534"},"_hasShrinkwrap":false},"0.1.0-alpha.12":{"name":"@vuedx/vue-virtual-textdocument","version":"0.1.0-alpha.12","description":"An implementation of virtual filesystem for accessing blocks in a `.vue` file as independent files.","main":"dist/vue-virtual-textdocument.js","module":"dist/vue-virtual-textdocument.esm.js","types":"dist/vue-virtual-textdocument.d.ts","private":false,"scripts":{},"keywords":[],"author":{"name":"Rahul Kadyan","email":"rahulkdn@gmail.com","url":"https://znck.me/"},"license":"MIT","dependencies":{"@vuedx/compiler-sfc":"0.1.0-alpha.12","@vuedx/compiler-typescript":"0.1.0-alpha.12","source-map":"0.6","vscode-languageserver-textdocument":"^1.0.1","vscode-uri":"^2.1.1"},"_id":"@vuedx/vue-virtual-textdocument@0.1.0-alpha.12","_nodeVersion":"12.14.1","_npmVersion":"6.13.4","dist":{"integrity":"sha512-WduXA1IT1MVDkmARvZ0gQ2evp8+1P9RiYIWced8LBhM62OOWjAZJNSC/6Cnmkj65MOQfpHfgivH8Qjy/2a/7zw==","shasum":"08af783682a17bcd521f4d0e10bc8bb45b689e8d","tarball":"https://registry.npmjs.org/@vuedx/vue-virtual-textdocument/-/vue-virtual-textdocument-0.1.0-alpha.12.tgz","fileCount":9,"unpackedSize":120658,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeyTzyCRA9TVsSAnZWagAAXQYP/3bAwxQqc/RaL8vzmR2i\njs/xJ2+JBWyiFIOzaYOglK4cGvJJkcKeBUHy4/wHwArFyU2eZ8YYmSV8FXcK\nopLoa0UTCp6JzslOguuNsKgdoY8mq9tqPLz86OZPZxGAjMdvGMJ3FdAHLlHH\ngFkp69u9ImCsxD7ylNbKBNoah+BpINOTqgh5aOa9noFPFE9H4W5iVJ7VQS17\nCHwuFu3/ow4IwTyCqO7yQbCfrKHW4KiI8vSC+wIbJmFmUQ9rgVuRQculDSey\nM6DPDGj8qoaeheEbgmlDAB3qs+XzE1e0KslGMyHFxZoFHjbDRFEhkHfY3IbA\nYg3P1A9O1VP+LPa2VWP9f50rpD+NqiG5ozJe1QrQphQC/SlAFqHtzDc05iks\nVXKJg9xspdx+Ht36RVcKUkHVmR9X7b+2oywlfPRZhX9YIqOB1WxOoBXeNzH4\nySrZAFLJxu4YYF/nXU2t3USmU4zQmhSehiFN8CXyLQGmdtjDjtrTY1ZFiu6c\nAI0hH/7kS6DEcRJDHsQcW4CccTu0I5FxQy0qT0jBJeQv54vJacnZnGS12Ot+\ngrCtAGseesVmzPU72a7yHFfApyzQCJJ+NVd1DFSvweHqDz4/rOvdyZcFSpsD\n59uIPh0bezJGMfyL/lz3ONDaJQeWdFfsY4DF5P71Mq7z4FTSFZqujgmU+USQ\n4c6k\r\n=p9Oh\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIDUd0biUDkdVECk39k11t2I5re8PZ5yAIL1uw4ZFFRQ3AiEAviGGG4FdUqPuDpyM+qVJQvdunN+zkl/zqs1me+GHWN0="}]},"maintainers":[{"name":"znck","email":"rahulkdn@gmail.com"}],"_npmUser":{"name":"znck","email":"rahulkdn@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/vue-virtual-textdocument_0.1.0-alpha.12_1590246642399_0.24282419033281477"},"_hasShrinkwrap":false},"0.1.0-alpha.13":{"name":"@vuedx/vue-virtual-textdocument","version":"0.1.0-alpha.13","description":"An implementation of virtual filesystem for accessing blocks in a `.vue` file as independent files.","main":"dist/vue-virtual-textdocument.js","module":"dist/vue-virtual-textdocument.esm.js","types":"dist/vue-virtual-textdocument.d.ts","private":false,"scripts":{},"keywords":[],"author":{"name":"Rahul Kadyan","email":"rahulkdn@gmail.com","url":"https://znck.me/"},"license":"MIT","dependencies":{"@vuedx/compiler-sfc":"0.1.0-alpha.13","@vuedx/compiler-typescript":"0.1.0-alpha.13","source-map":"0.6","vscode-languageserver-textdocument":"^1.0.1","vscode-uri":"^2.1.1"},"devDependencies":{"typescript":"^3.9.6"},"_id":"@vuedx/vue-virtual-textdocument@0.1.0-alpha.13","_nodeVersion":"14.5.0","_npmVersion":"6.14.5","dist":{"integrity":"sha512-qWCrm2ZAiQ+xl16clD7T0wdTWP7VLnT2VZiyJge5yY26oYIJQkmL6OekzvsYhO56dPIhX2f6DJSnIjzSdCJj9w==","shasum":"7c72e37f184730a49ab6b1b25b373657a3816704","tarball":"https://registry.npmjs.org/@vuedx/vue-virtual-textdocument/-/vue-virtual-textdocument-0.1.0-alpha.13.tgz","fileCount":19,"unpackedSize":127404,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfBXNXCRA9TVsSAnZWagAAs6YQAIpDnighaiVv5HyrlNOK\ngJfrC76wMygIAMioCP8LCr7r23TiAxprF1PSU6jCNu+G1lxbJxTKYXinM1Vz\nYK/ycoNOWtonYvBxnUrvOjicAWMB6Mxq2YDngipzp695NCkonVn5EJC9dJiJ\nDBBkoz57feyR9C9wFkiwztNJRRd7VlHZ4fOy/5RVmY5opkYGq6LXpXtZexXR\nnZNrDR9xdVN/0NYlaVa4eLPxOO3uEMuX5Q/v1cftUfbzaRCPCfJuua91O8ko\nSaMQmUXKS+sXuomg60P26ZJYauge7Ljac7h8YR5n7mWvOC2B/ZHq5pf4B6s4\neCAC7/A7Z/tadNDJF33LEQ3hIJMmFKMR8IUD7s1GfhIxASeCviQmseGKKHk8\n7Ea4l/Xwwsnvd1H/MFNpRM53WEJU9w0/3WfY5HyO8O8SHPxUBGNn4WzvKuNz\n/NfpS5FgdaxkbJu0XuYKiKmwMMaJ6rbUJDm3MD8Arzn58xi/zk4GiSvr6vbr\nThFlaEmqBky3KlbQRbBGKdtJuRc0t6B83F0BA/XYMA8vtUHYeZkViH37F/XX\nSt4ssiyJ14HB3lxCmntdY9Y4Om5QL9LqNy/LO2FIFER9aUkrjsC/wAcseT4+\nYKy7NqpD7K9K+0o/HzjeRmYTgh6pPDVr10mIx/fw+xq9zVx+SBKvNFg7XWda\nxl4A\r\n=HbCb\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQC7JnfjM++sT67/tGvUgN2HXC2nSrQ+wZ7tPsDcI1ngYAIhANvPXW2tUpyWUELQWUtAfQ4NgQmJCpxo4P00aybjd2Tk"}]},"maintainers":[{"name":"znck","email":"rahulkdn@gmail.com"}],"_npmUser":{"name":"znck","email":"rahulkdn@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/vue-virtual-textdocument_0.1.0-alpha.13_1594192727185_0.9209636097000491"},"_hasShrinkwrap":false},"0.1.1":{"name":"@vuedx/vue-virtual-textdocument","version":"0.1.1","description":"An implementation of virtual filesystem for accessing blocks in a `.vue` file as independent files.","main":"dist/vue-virtual-textdocument.js","module":"dist/vue-virtual-textdocument.esm.js","types":"dist/vue-virtual-textdocument.d.ts","private":false,"scripts":{},"keywords":[],"author":{"name":"Rahul Kadyan","email":"rahulkdn@gmail.com","url":"https://znck.me/"},"license":"MIT","dependencies":{"@vue/compiler-sfc":"^3.0.0-rc.5","@vue/compiler-core":"^3.0.0-rc.5","@vuedx/compiler-tsx":"0.1.1","@vuedx/sfc-inspector":"0.1.1","vscode-languageserver-textdocument":"^1.0.1","vscode-uri":"^2.1.2"},"devDependencies":{"typescript":"^3.9.7"},"_id":"@vuedx/vue-virtual-textdocument@0.1.1","_nodeVersion":"14.5.0","_npmVersion":"6.14.5","dist":{"integrity":"sha512-t8W5P9dqv0f1cMCuNloNCywdgj77Wa9BphW0ds054hKSfUm8IonrM+EcSuRIKZrbTX6rGQwkeA++Gacxkkk3yg==","shasum":"4f205fd23285dc63f88e5c7139de81454257cdb4","tarball":"https://registry.npmjs.org/@vuedx/vue-virtual-textdocument/-/vue-virtual-textdocument-0.1.1.tgz","fileCount":9,"unpackedSize":158714,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfJ8OXCRA9TVsSAnZWagAAxJQP/1G+Gnrz2cLjZIojdPZu\nFvNo3LSvMElXlXkdS7a5HPCKW6Kbz0ybfrsHx7dAvsD9W7ZSdC4XnzmxmSG0\n+2pcLIA95bz75ugQGuO9dTngp2er/LKqp0ZiyWTqn59ueD9k7bbgC805uYFq\nx5ejE1b03HDwUAUHjpYJfNcTuA1focQ5+y0zgK8iT0FOoyjGTZtU/1/rmiCM\n2LMimujhtJ5R2HtQ7LJtJQVkruxSZJhdXkeoyMEeZ/Cz4AeG2bGNAT4Xu3Ub\n46eWG1uv8fxtVRUAXckEybup88LUp3WIl/jSFYsF/HRqvqACBLt3TAeGppC0\njHBVpwTQwV7Xkb9Ru86v0Uz2Ex9RqY+ZDD3skyO549GuKskJC1ziuksPVTgo\nRCpCfsBa+2kcMeI8fpnSgfHKNWllgjFzFyndR2m14gDdQ8rdFHV15D7i1d3c\nyXtJbECGfDlvTAHkonjBQcAaud0K1ccSpK6EBkCbYBlmvMm4Ox8oODZjlLRo\nPhGjQtRtX3qjV6dsPuQN37uDCqUMUXt457gkKygna+Ch6JZAqUzkz8vdhkMA\nPgDXf4pBE/3lTzsxrausy7ZOSSjD7WaRj4KyqNU9H0D6YoNcRkhgXoif6Ou1\n16Mg3wNEnYzYmL2+zuogEviOyBhzmwBjKu0JrmA7ubDeszj+HDTU2Gk8vem9\npv51\r\n=sxn9\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCUDvvp924XEA+s4+Y631EUcgtKNsYdp9SCRhec6AcAJwIhAKocK3heNbRgy1pvKnKaPgaD4fg5Y4bTUODhfqbfs4vD"}]},"maintainers":[{"name":"znck","email":"rahulkdn@gmail.com"}],"_npmUser":{"name":"znck","email":"rahulkdn@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/vue-virtual-textdocument_0.1.1_1596441495364_0.030635177492829957"},"_hasShrinkwrap":false},"0.1.2":{"name":"@vuedx/vue-virtual-textdocument","version":"0.1.2","description":"An implementation of virtual filesystem for accessing blocks in a `.vue` file as independent files.","main":"dist/vue-virtual-textdocument.js","module":"dist/vue-virtual-textdocument.esm.js","types":"dist/vue-virtual-textdocument.d.ts","private":false,"scripts":{},"keywords":[],"author":{"name":"Rahul Kadyan","email":"rahulkdn@gmail.com","url":"https://znck.me/"},"license":"MIT","dependencies":{"@vue/compiler-core":"^3.0.0-rc.5","@vue/compiler-sfc":"^3.0.0-rc.5","@vuedx/compiler-tsx":"0.1.2","@vuedx/sfc-inspector":"0.1.2","vscode-languageserver-textdocument":"^1.0.1","vscode-uri":"^2.1.2"},"devDependencies":{"typescript":"^3.9.7"},"_id":"@vuedx/vue-virtual-textdocument@0.1.2","_nodeVersion":"14.5.0","_npmVersion":"6.14.5","dist":{"integrity":"sha512-zpOzahmznVHL14C8LFqs2LKrie+B+FMfAWAQgGFVDbK5n2017YCxgWUIiKm93RqoCleUB/LyYmsK1OawpEBIHw==","shasum":"d2e7bbc46611a340fc7554fbd1b3a861f6940d09","tarball":"https://registry.npmjs.org/@vuedx/vue-virtual-textdocument/-/vue-virtual-textdocument-0.1.2.tgz","fileCount":9,"unpackedSize":156921,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfJ+9iCRA9TVsSAnZWagAA0D0P/0EL9ydfSAYObsBt6W+2\ngxwWLB6OGZnzk6AKfaTs4GEikJ7Q09JWsR1cbBrLIPz62NPxk25purKpwtlV\nbjw+qUkGHzccPJzpVF9vBjIxqc44EvkOOwjHWGodzCqS1z+u7K9pculjWPcw\nQmnhYUxqIniTlwHZ/f8wlTmhxqODmBPZ22VGYTu4kOVglZuHle8Z6dKu1oiK\n1LawDM8Bq5yt6+tEsvptS30pCTeLz7zuhvu4VkDT+0p+iqdOiHGkkmh74d5b\nphpQqVo4D3UMQ9h+qxG17xeqI4u4AVmWKrVETV7xdkCO59eileyzah1U83zj\npYK5kZvg0nWbYL+CBjjQo6+vOEErBRcscaRK2LHLecavjOT7u5guD78rJVXZ\nH1E0wKUcG2iNPAFJMiUTWsikxAkpRfthi5gEmf6rCZgmojdOnl1Fc5eRE4oc\nUA6tfUoTgGPD+0TbN5WS/rcoz3CIScCG2Y6b0NEQweMzeTsyAxxHQ6qeGDg3\nAKuPXKFjXQGdHQ00vfpRwWb04RZqfrIEnUDPf+L4pLY8Ld/sQHggwenRGy1q\nJMJkX7LKNH0SNPcO+5+kt7Fa5JTrri4nUAfE024lZ26du5jckDT4zAYspv/n\nDQJot35BhAONRFOr1yXR3Y22n9pNJDwhpncIUtLJsl6oWsTCyUoYi7cc9jbj\ntGtL\r\n=QHSj\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIHM6c04qXN8/yk4lGdjsV7UEm3SGMWNfHQ4UfoCUV7LBAiBavHT/iLDQJMPjHAy2YXZNU9MbzGQMn0ryn3GPKHK6lg=="}]},"maintainers":[{"name":"znck","email":"rahulkdn@gmail.com"}],"_npmUser":{"name":"znck","email":"rahulkdn@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/vue-virtual-textdocument_0.1.2_1596452705573_0.9992395727782699"},"_hasShrinkwrap":false},"0.1.3":{"name":"@vuedx/vue-virtual-textdocument","version":"0.1.3","description":"An implementation of virtual filesystem for accessing blocks in a `.vue` file as independent files.","main":"dist/vue-virtual-textdocument.js","module":"dist/vue-virtual-textdocument.esm.js","types":"dist/vue-virtual-textdocument.d.ts","private":false,"scripts":{},"keywords":[],"author":{"name":"Rahul Kadyan","email":"rahulkdn@gmail.com","url":"https://znck.me/"},"license":"MIT","dependencies":{"@vue/compiler-core":"^3.0.0-rc.5","@vue/compiler-sfc":"^3.0.0-rc.5","@vuedx/compiler-tsx":"0.1.3","@vuedx/sfc-inspector":"0.1.3","vscode-languageserver-textdocument":"^1.0.1","vscode-uri":"^2.1.2"},"devDependencies":{"typescript":"^3.9.7"},"_id":"@vuedx/vue-virtual-textdocument@0.1.3","_nodeVersion":"14.5.0","_npmVersion":"6.14.5","dist":{"integrity":"sha512-qigQwW7VjyN/pDHcDNzEf95yl3Z79TiI9vlqsRPpPZb6VJoheu2MWW8Kc4j/u+gPXGJRmSFgeV5UgrqZAhQDeg==","shasum":"8534a4d7a213f1fa1f34f6d57b8e160317908004","tarball":"https://registry.npmjs.org/@vuedx/vue-virtual-textdocument/-/vue-virtual-textdocument-0.1.3.tgz","fileCount":9,"unpackedSize":156921,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfJ++6CRA9TVsSAnZWagAABLQP/20jTgYnZ4qvNZB1bi7V\nITqx9W4VBqlo2UBAjOFHYCE5CvZvvrignCoCyHCHtxBCd37Iuc6MQHCMKu3o\n4Ljj8RunklB2DeWZ+MpuSspsxh1vVgoABx6LGbYzEhuxTDuXCyrQmbvSd0bA\nxcQOJLDqsRwtETP6abmNhQEBhjHkV2qNH2GfLvxM98Fgm4z9+ikLPAeY2EWh\neRFHVVWppVUU6FQm5jS5oNibi2i9XXNIJWNLd7QFA3zulc71IPQ7HxuKVR+F\n/OQcgomBdRFpKUspN+8YcadceHsCdcxwbQxRKvgwR6du/JrQnAbcWGOnrPXz\n8ajq6TA/i+CtUy3r2MevguHP72zaABcQyucE7EQbUq9hRXFTMi7E9ZQ0r2Nd\nij7fnxdz73UmtjWa9hmUQrEQamtD23pr2Cq02DNTrtaU7tKPJUJX+Oez3U7X\nk/IQmQW+5mRtfAaBLfo0O3dD2Uhw8Bu2O+Z8GBv9RTbozqXIq9BPVACoXiVk\n7ODPrqgA6nJsBby/8kY9pKxgwFzwFM/ufJmEYXTqsCY8wcVM0CpO97Ua768K\nS8iZbQIvhXdPu9cQwN2iOi6ufJo2LSjbdeV4BxA3cx5+ByRuB9WRyOG7ycb5\nuYzrAeVDMuXEwrwkmxqxaihzWhZclUlxLeUNiG5ny0sgNxKCNvVebn2weiAA\n1Q/F\r\n=Y9og\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIALSDFeROCA96ZlSlQGKMrLf8g35E316ZO+cwiewbLEmAiAIlhXt12ZusE7zhJ0Q8o0PKqEUBcZ0q+kxSgoG3lYEHw=="}]},"maintainers":[{"name":"znck","email":"rahulkdn@gmail.com"}],"_npmUser":{"name":"znck","email":"rahulkdn@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/vue-virtual-textdocument_0.1.3_1596452793221_0.6442719434577557"},"_hasShrinkwrap":false},"0.1.4":{"name":"@vuedx/vue-virtual-textdocument","version":"0.1.4","description":"An implementation of virtual filesystem for accessing blocks in a `.vue` file as independent files.","main":"dist/vue-virtual-textdocument.js","module":"dist/vue-virtual-textdocument.esm.js","types":"dist/vue-virtual-textdocument.d.ts","private":false,"scripts":{},"keywords":[],"author":{"name":"Rahul Kadyan","email":"rahulkdn@gmail.com","url":"https://znck.me/"},"license":"MIT","dependencies":{"@vue/compiler-core":"^3.0.0-rc.5","@vue/compiler-sfc":"^3.0.0-rc.5","@vuedx/compiler-tsx":"0.1.4","@vuedx/analyze":"0.1.4","vscode-languageserver-textdocument":"^1.0.1","vscode-uri":"^2.1.2"},"devDependencies":{"typescript":"^3.9.7"},"_id":"@vuedx/vue-virtual-textdocument@0.1.4","_nodeVersion":"14.5.0","_npmVersion":"6.14.5","dist":{"integrity":"sha512-BGp7hnHXFO1vt5nFgKvMs7LBoX6k+kwhRTSCPscJLnx5fqFYBqixHxTBbi3RCcQYF/d5alFUnLmuIwwkRaiz5A==","shasum":"f49c3b01b9c5f412c73f5b500e5cdd82e390c731","tarball":"https://registry.npmjs.org/@vuedx/vue-virtual-textdocument/-/vue-virtual-textdocument-0.1.4.tgz","fileCount":9,"unpackedSize":156871,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfKA+kCRA9TVsSAnZWagAAIecP/AzLSKpy1R5NT6IP5UE+\nmckSF21NVnXmdY60vZLmgwgnrVLVXJ+w5YhdXv0cclcyrskJNE0MWjuZQBDk\nA9wNzp70lPNmwpPsqNPPBlbAo3By6WU83Iby7fiv8Nu6O6ZF/ZdSMYHR7y5g\nnB5jeEXC6AmQ3Nn4RjxdBIQDIvyONEUUwvrOuD9PykrhX4/dCPEFKI10sPhm\n+W4IXtRSmD73P31d3Kiz5NUxKR80b4mL/xrZb+YvFjjfoQ0JZRVRll3hk+BG\nnUzuMGSUQEhAjYBWYqs9aCinpAtZSA/YLWEgj1ycUIH1Y0PWV+DLu6bfOW7b\nQ5aGVraIsRAt01oC1Fw77huTR21O+MdY/DremUIjgjN3Hfa7fHjjYSgYYUFA\nWhrZU3jutFDb24tdNTTpzt3nKtCRKl3YyBBOW+ze3CD9IZhpAw/Gay+u8P0I\nXE3jaWFmLaRnOIDTdMNQm52h4k+TlvFjbUaQTw6ZagltpDBrkucEhj5eW4GK\nbWi54oG67zX+2cRL5ciuJsTj6pXwoQ1aNvTk4HfcO6jZ6JK069FMuZVhHWb/\n2TGmmz8Gz7hfBIQf42HvMG1xGXb5KGLX7KJLSYT6mwztK+wRiIDUZeYnh7B3\nSN0DJdOLH0tNiO5RiNPaV3/0bdjAS0yh5ppuC0sajwbvNiINwuixAlKpRdVP\nT1gJ\r\n=bpRi\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCICogJ0T+BxDyjWbltaIxdEE4ZK12QtW0S+B2QZAWZF0QAiAOrm5y74fx35MY+trObOu50TL5hOUlAp7L4rkbNkI7XQ=="}]},"maintainers":[{"name":"znck","email":"rahulkdn@gmail.com"}],"_npmUser":{"name":"znck","email":"rahulkdn@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/vue-virtual-textdocument_0.1.4_1596460964072_0.9843544178714603"},"_hasShrinkwrap":false},"0.1.5":{"name":"@vuedx/vue-virtual-textdocument","version":"0.1.5","description":"An implementation of virtual filesystem for accessing blocks in a `.vue` file as independent files.","main":"dist/vue-virtual-textdocument.js","module":"dist/vue-virtual-textdocument.esm.js","types":"dist/vue-virtual-textdocument.d.ts","private":false,"scripts":{},"keywords":[],"author":{"name":"Rahul Kadyan","email":"rahulkdn@gmail.com","url":"https://znck.me/"},"license":"MIT","dependencies":{"@vue/compiler-core":"^3.0.0-rc.5","@vue/compiler-sfc":"^3.0.0-rc.5","@vuedx/analyze":"0.1.5","@vuedx/compiler-tsx":"0.1.5","vscode-languageserver-textdocument":"^1.0.1","vscode-uri":"^2.1.2"},"devDependencies":{"typescript":"^3.9.7"},"_id":"@vuedx/vue-virtual-textdocument@0.1.5","_nodeVersion":"14.5.0","_npmVersion":"6.14.5","dist":{"integrity":"sha512-luzhm/t4nTkuCnEqrKnEOyEHroIUxEyKKDXrQKtRRKv+oF0miRq2am4xcpzVk15xTSw6z/KTjm/LQeo9w3MzFw==","shasum":"d9ef7ce5d868a1a4739137458f46eadcc1073533","tarball":"https://registry.npmjs.org/@vuedx/vue-virtual-textdocument/-/vue-virtual-textdocument-0.1.5.tgz","fileCount":9,"unpackedSize":156844,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfKTHfCRA9TVsSAnZWagAAX4oP/0/4pNIy4z0hHILRjawl\n6NnWJZYJtEocyjabeaMWI50pKCFU0K7oLhGJr1gs954XvwUwIBURuFCVdVgP\nfntSsM1NIjbaCjIChMaTK6q1s+yor/I7Hz8Vtda/7xspBGnV1FzCux3ozjYM\n2mCwHDuvcOOJgn8pJhgR0IeNJYNUx2tIGCJ5StqecaXMRKWiGQO0j5D76R3a\nDQ1flWTMNKXnSXmY6fkp1CFRelzK/zrb91rsbvh1Tmii4I3ME9fFGcMNKgI+\nxBDFZELsTHw0AXZ/Sj72L4Lph0rDwd0Wch+OrLt14pdsucwaTZkuWHJU9Osj\nNzKcWyZ3g9g6iisZc9slaA0rvm418Ku0+0LWh0Ezc8/vty4N2mvuQbRvGwtX\nt51oHqXXNDxIlzgs5GHM9Xo0vE2Gg5ppCgM2vZ9RUM7wMgQtRrknkvjtLvlT\nRCFgOGwbmW2spwdLNLA8uPOvRIGBs2E35/vz1Gb5MPfylNX6zRCEOpKQRUTS\niBCVjUIXMFNoaeizbauyo7OX3ElD10n64oV1cwsQwXxuYjLSP//Krxk6skfW\nEsYz73u93Kpgfsnu0NQNf+2WWIgcW62JrGzJrO/GwtOVcRUIoVnlyhE0Ers0\nTGCBCVSByct9ycimJGuzjZsTYvGkVisMNofeEKsvKLxkFKA+bXKlSou39Dn3\n7Ja2\r\n=WE7H\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCD28ZIuUJr1z0qALRId0D3Hxvc0nvaQ7VelS7Z1Lwn9AIgcuno+2l9UQlZhyh+HL28Z7akE1awdvgbsS3Dm+z8Dus="}]},"maintainers":[{"name":"znck","email":"rahulkdn@gmail.com"}],"_npmUser":{"name":"znck","email":"rahulkdn@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/vue-virtual-textdocument_0.1.5_1596535262880_0.2989612791492722"},"_hasShrinkwrap":false},"0.2.0":{"name":"@vuedx/vue-virtual-textdocument","version":"0.2.0","description":"An implementation of virtual filesystem for accessing blocks in a `.vue` file as independent files.","main":"dist/vue-virtual-textdocument.js","module":"dist/vue-virtual-textdocument.esm.js","types":"dist/vue-virtual-textdocument.d.ts","private":false,"scripts":{},"keywords":[],"author":{"name":"Rahul Kadyan","email":"rahulkdn@gmail.com","url":"https://znck.me/"},"license":"MIT","dependencies":{"@vue/compiler-core":"^3.0.0-rc.5","@vue/compiler-sfc":"^3.0.0-rc.5","@vuedx/analyze":"0.2.0","@vuedx/compiler-tsx":"0.2.0","vscode-languageserver-textdocument":"^1.0.1","vscode-uri":"^2.1.2"},"devDependencies":{"typescript":"^3.9.7"},"_id":"@vuedx/vue-virtual-textdocument@0.2.0","_nodeVersion":"14.5.0","_npmVersion":"6.14.5","dist":{"integrity":"sha512-JStsDZKTNRzmBuL8D8LN8rf4YWkNL4KZTtDSJp+FbEsV/no7cOLL0FVKQdHJb/D8fmUTygFzvuQ0GvcNVNjFoQ==","shasum":"2d41eb875166022c08806a3337d755ee622b1108","tarball":"https://registry.npmjs.org/@vuedx/vue-virtual-textdocument/-/vue-virtual-textdocument-0.2.0.tgz","fileCount":9,"unpackedSize":156852,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfLpo2CRA9TVsSAnZWagAAkzQP/1SixeNVfDfjc2XXC48V\nEC3wSwuPRlrBo3ey3Y6KjuXpO0e3JcyCY/OAzoaziG1TBDtJvahEZgqveeBX\nkbgeOxJQFeXxfFgb2vi5b/SPLmJDzoiY2OMfR9u+ROOTf0GOVZw0qrUAb82G\nlZ9T8wGqKW/9zKkrdXUIPtwRj9+jfvuyrqitb3kqYpALOYZICqFFEKiZHEoC\ni51Hn24TksoOcdsuw2pA1aWm3otkXjdV4q/mPUkJngnpjqvhjk1ZVOrTydfP\nXsk4syAXl0ydklylXezHsTaymO4CNveFpNhNb9jEMnEgVRuvt7XKG8Y7yoHC\nFyKnBoZsnWtBV/y2Z/1NmcZQLWvZJU26csK/36JIqMiwES+g0dTILpMsnsVw\nbyQR9MAll9gqSiTEeVM23c12uIeOcxFnXl2Pg3NJwcTcE4fzQKKds6S+MKHN\niHVrXBTODOI8CZzaFm9gQ5A4B1tTDkyeEZG4KILea2UjDGyKz9gpB1yNNB1P\nVpPx606j9+IHefMVXmqU16xfe5lZSXZxYgwxB7m6dKyddd3xL4toNbyXCxUl\n52KLgxawlf3NHELdU0N8UhHTccia7kxyP+8tx/nvkDxOo77EddQsiaw2rm0u\nq95L6dw3h+aIqfAtDM4uTVuHcJ+uNXcJv08TcuMHdHBzuv2w605+VBGZXCib\nOC/p\r\n=LYMb\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCyf8udldNzxccOyetkpdv7z8MKt2OJ0+0l5g4TFVK/6wIhAMJ9RaAWrj/iKhfALOsHENjig5yjvFlrr5Hi9lloUSvk"}]},"maintainers":[{"name":"znck","email":"rahulkdn@gmail.com"}],"_npmUser":{"name":"znck","email":"rahulkdn@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/vue-virtual-textdocument_0.2.0_1596889653947_0.4141712394591126"},"_hasShrinkwrap":false},"0.2.1":{"name":"@vuedx/vue-virtual-textdocument","version":"0.2.1","description":"An implementation of virtual filesystem for accessing blocks in a `.vue` file as independent files.","main":"dist/vue-virtual-textdocument.js","module":"dist/vue-virtual-textdocument.esm.js","types":"dist/vue-virtual-textdocument.d.ts","private":false,"scripts":{},"keywords":[],"author":{"name":"Rahul Kadyan","email":"rahulkdn@gmail.com","url":"https://znck.me/"},"license":"MIT","dependencies":{"@vue/compiler-core":"^3.0.0-rc.5","@vue/compiler-sfc":"^3.0.0-rc.5","@vuedx/analyze":"0.2.1","@vuedx/compiler-tsx":"0.2.1","vscode-languageserver-textdocument":"^1.0.1","vscode-uri":"^2.1.2"},"devDependencies":{"typescript":"^3.9.7"},"_id":"@vuedx/vue-virtual-textdocument@0.2.1","_nodeVersion":"14.5.0","_npmVersion":"6.14.5","dist":{"integrity":"sha512-Xh2STdShfBANOohGXx9JlJTvAqH9xF5hYnGBB7Q+fzRTmwWd2tIBRoys5QITpVsJY01c+DjspOHNO0c+eheywQ==","shasum":"c833251e263340bcf0a5e20c274f974368f915c7","tarball":"https://registry.npmjs.org/@vuedx/vue-virtual-textdocument/-/vue-virtual-textdocument-0.2.1.tgz","fileCount":9,"unpackedSize":156852,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfLrwiCRA9TVsSAnZWagAAcosP/iYOTcmlCBnf7jY2hjtR\n9K1W+vAWE349Ao0obrz3Okk4hKdT1KIAy7z0tRsvJsMejZ0Fn+OxBEUgT6PD\nWjzNrqF24/dd9mfpS5tYANcA5d2DJ2jzvoS/fkz0Ay/crJTiIF2p/7769BQE\nL0VDdCz0XWVFKMnILXQBSvlNI++0C2ZHx4eMLPYjTdk+XI3EzPWsilTO+1Nb\nXm7ATTFPwE+AMS+RDpngs8UpgviyEqgL94D0Zjg+EKUBXNI+B0tLtiPQ/5T9\n2rhkTRcDoOrHG/54t38NQFJ4abzi0nVroDbsdonat6HtvfxVy/of10a5h3U0\nw2J16+py+4tHAn+wCdzQtuZ9lcEoFWG4ybOP5khlWT95bK4XmbM+iC3DAZWE\nyZwOG6rjQzGHUL83ljxDA/xdlK0SvgvK+da/TOkyuPQsidVmxOGUDnqowGiT\n46/AeYYgC4e5zTdKwiV9TfICTIQcXp2VQruKJMAXAJv2JJEfoqYfOlQMNnv5\nvgQxjwWn+RrSpGkvcPfkEi8QnAJUbfV/v2MnmiSpU8VxKeWuBamicWaCDQ4S\nnjj3hq+Ak+HAahkuEEIAE88+KAA6F625nIpGRkK4Wlv6XoDi/1qNICS+wtxD\nyilbttRdWfdT8Dfm19h+VWlQced+sJ5091Xa2KQKyJZX3ZgeEFzPXflrZ0wY\niKBw\r\n=BUfr\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDIV8YXzZFQVhRO4LWh+jJLrTc20xH8vNA5OiZBUq6FoAIgEnqpOJG8Cf0oeXwZdhxLG/d/MX9w5HGL9txggiygqus="}]},"maintainers":[{"name":"znck","email":"rahulkdn@gmail.com"}],"_npmUser":{"name":"znck","email":"rahulkdn@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/vue-virtual-textdocument_0.2.1_1596898338013_0.36471270245750076"},"_hasShrinkwrap":false},"0.2.2":{"name":"@vuedx/vue-virtual-textdocument","version":"0.2.2","description":"An implementation of virtual filesystem for accessing blocks in a `.vue` file as independent files.","main":"dist/vue-virtual-textdocument.js","module":"dist/vue-virtual-textdocument.esm.js","types":"dist/vue-virtual-textdocument.d.ts","private":false,"scripts":{},"keywords":[],"author":{"name":"Rahul Kadyan","email":"rahulkdn@gmail.com","url":"https://znck.me/"},"license":"MIT","dependencies":{"@vue/compiler-core":"^3.0.0-rc.5","@vue/compiler-sfc":"^3.0.0-rc.5","@vuedx/analyze":"0.2.2","@vuedx/compiler-tsx":"0.2.2","vscode-languageserver-textdocument":"^1.0.1","vscode-uri":"^2.1.2"},"devDependencies":{"fast-glob":"^3.2.4","typescript":"^3.9.7"},"_id":"@vuedx/vue-virtual-textdocument@0.2.2","_nodeVersion":"14.5.0","_npmVersion":"6.14.5","dist":{"integrity":"sha512-IZvhtC6CpIB+E3EC8vtDF+HS1Mfe1Fue/18tPjKT7vX2EnzU6LDeQTcapABkdY26zIH2yxPjOKLDF2cv7vWmgg==","shasum":"e32070f76077146734a0200241659875791f0ef2","tarball":"https://registry.npmjs.org/@vuedx/vue-virtual-textdocument/-/vue-virtual-textdocument-0.2.2.tgz","fileCount":9,"unpackedSize":157296,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfL1H0CRA9TVsSAnZWagAAhwcP+gIrGFcE1kKmX7K+JZ1R\n6z7bMw6kMnktJ3TcX0/FP+RPF+UgVq44CX+eZnVQwKOpYqmVgi5hndTcu2fQ\nQpec1hhlRXlSyx7sTngIZRtYQ2yJkGVMDbGhBqlDbWVBrSBklsq6uj74kvPl\nPlevGIv2uV1yRpSeDopw7yhS1R59W690gixzjQxeOJyu1sH+lnbM8oQhJrKL\nDS9w96awaCzKxkE4MzFbGgd66DbuvYKsWXg/0TwmLhts01zs32TVs6g+gPn6\nN8UxomwzKHNveBHrjc0z4mWs3Mzg84wJONE3fBwCGJoPO84Iw9RMevo5l2/1\nxWEUoShkNz3mKFaEA9uUDKTr9a+iPh9LrPvqlcdjg3hdkqyzGIHrbewNY3wT\nj/KNrwsiuRsqWn/fUZ34tcEByp3Dac9cT1P3Fo+JLKLzWS1HicuurQrHmlri\n1AJMBVf01zs0Du6qvTVVnn4IFsg4ewMwVK2fcb1it9gpap8Sk+HvGwZ7Wp/w\nB1wz7/kWfitBFIUiihwCfpuuvp19CErGEWoUHmhZotc9ItI+d6+NMJ0O1X60\nguFNjiUdqemFbv5VFJWyiInbe1zMnGaDazUgmjaeTVbLfJd7eJ7cRrQzkxLw\nuC7+Dgl5aaXeZrYtTLsWtr+Q/ugds7J/8NZch8vnER5lFNfdkJnPUQp0B8XR\nTRGe\r\n=LB3s\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIBwc9x/nkFNguqcMKbxYYATToqTX23OqtsYUll6Y5pPAAiEAvrnwfJsjknH4+qx7qwxsVzv234xglMwVFC4WUUrLTQ8="}]},"maintainers":[{"name":"znck","email":"rahulkdn@gmail.com"}],"_npmUser":{"name":"znck","email":"rahulkdn@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/vue-virtual-textdocument_0.2.2_1596936692310_0.45538342263603493"},"_hasShrinkwrap":false},"0.2.3":{"name":"@vuedx/vue-virtual-textdocument","version":"0.2.3","description":"An implementation of virtual filesystem for accessing blocks in a `.vue` file as independent files.","main":"dist/vue-virtual-textdocument.js","module":"dist/vue-virtual-textdocument.esm.js","types":"dist/vue-virtual-textdocument.d.ts","private":false,"scripts":{},"keywords":[],"author":{"name":"Rahul Kadyan","email":"rahulkdn@gmail.com","url":"https://znck.me/"},"license":"MIT","dependencies":{"@vue/compiler-core":"^3.0.0-rc.5","@vue/compiler-sfc":"^3.0.0-rc.5","@vuedx/analyze":"0.2.3","@vuedx/compiler-tsx":"0.2.3","vscode-languageserver-textdocument":"^1.0.1","vscode-uri":"^2.1.2"},"devDependencies":{"fast-glob":"^3.2.4","typescript":"^3.9.7"},"readme":"# Vue Virtual TextDocument\n\nAn implementation of virtual filesystem for accessing blocks in a `.vue` file as independent files.\n","readmeFilename":"readme.md","_id":"@vuedx/vue-virtual-textdocument@0.2.3","_nodeVersion":"14.5.0","_npmVersion":"6.14.5","dist":{"integrity":"sha512-FcFd0S34Ffs3stb3E1zC0LYeJdLNsvKr0CqHMRkdCmHHlp9h4vYKFigBkzzPiT8G6pNyWGrniwi33o4CmKvedQ==","shasum":"8629dbd0101aacc77f4a7f928816e4a6903ac57f","tarball":"https://registry.npmjs.org/@vuedx/vue-virtual-textdocument/-/vue-virtual-textdocument-0.2.3.tgz","fileCount":9,"unpackedSize":157296,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfL1bXCRA9TVsSAnZWagAAcIAP/1BsKrbeDbpS9Li9L90T\n99LhxyBc9xz9jqKB6pbPQQHod0Y3bCCAf0OiBxYfcUq371XfxpesyeE/PW6T\nurszRuVwjz3RHI5HRNcq9BaFYCz+rZm/53vBZUcKV8YfPvR/CYTLQzSobaOF\n+6mLP6g5uHstEjduJQsRtC3gltK8iqziA4Kp24JBYDAPyP1w9uZkw+/TMOKh\nVFj3DfoPgpC9TXKkEdswCaomQUYDS/yXq2SvgLZLjBYMW3iVZiiazC+RePH2\n/VQQzPxZYnzxnVP5CLqH/g1dqJfDO8q7NTo3dsPKlLTaDzhcEsqY6MH5FMG2\nRF/jHjMKrfupFVX8xK0JF8fpvoJdPdVaI3l9hQnzSnlar+kSq7741p/YUno2\nwHLIKp+k/bmzG2Lp9rVy1y8z1GAPBzlk8Lt2wPSejB30VYcpV206RgwWcNJE\n2rLHqACR7De6KqjV91R/+U9YJiROUjovVjfiiYRWVZ4XNnup9GBuG9x91sAS\nd3yw7TGCl6VNoRRojWhDuxnFYZHnCAYEQXkPJ7sJOqnyp9bPfsIBuogH7Put\nlUDeeTnk3fSACnRuK+Bx3vzHNwjAam7UNYUb74apZpvOfjZQu3rMJyI7ZmpN\noLC5XdGkulQSQlBBlV9Qmx8eu80fT6EgX7pm5msl3icQuFPWwK1eBM84fXUc\nRVH5\r\n=Apdk\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIDfHfK9qsOw4Y+Rx2ENgcG7wTxpOsCFmxIyO0HGiH8ajAiABUy5F8K/qS5d3VZ2oMYcWayKfJZKLiOxYVa+YdKQMVQ=="}]},"maintainers":[{"name":"znck","email":"rahulkdn@gmail.com"}],"_npmUser":{"name":"znck","email":"rahulkdn@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/vue-virtual-textdocument_0.2.3_1596937943513_0.41204592384148175"},"_hasShrinkwrap":false},"0.2.4-0":{"name":"@vuedx/vue-virtual-textdocument","version":"0.2.4-0","description":"An implementation of virtual filesystem for accessing blocks in a `.vue` file as independent files.","main":"dist/vue-virtual-textdocument.js","module":"dist/vue-virtual-textdocument.esm.js","types":"dist/vue-virtual-textdocument.d.ts","private":false,"scripts":{},"keywords":[],"author":{"name":"Rahul Kadyan","email":"rahulkdn@gmail.com","url":"https://znck.me/"},"license":"MIT","dependencies":{"@vue/compiler-core":"^3.0.0-rc.5","@vue/compiler-sfc":"^3.0.0-rc.5","@vuedx/analyze":"0.2.4-0","@vuedx/compiler-tsx":"0.2.4-0","vscode-languageserver-textdocument":"^1.0.1","vscode-uri":"^2.1.2"},"devDependencies":{"fast-glob":"^3.2.4","typescript":"^3.9.7"},"_id":"@vuedx/vue-virtual-textdocument@0.2.4-0","_nodeVersion":"14.10.1","_npmVersion":"6.14.8","dist":{"integrity":"sha512-eCgyvN5/O27UWlAohwuHzlPftoxEIrEz6zEDncXKFb7Gzzp5EoNlptXN16tJoYGHi1duz4aMnEg6p5xoBSqArQ==","shasum":"ea5eb9d17b83b1ebf1e5b4e7313634bc2c4c2a54","tarball":"https://registry.npmjs.org/@vuedx/vue-virtual-textdocument/-/vue-virtual-textdocument-0.2.4-0.tgz","fileCount":9,"unpackedSize":159193,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfYXHFCRA9TVsSAnZWagAAlosQAJt96VNf9E7Q3lJxXo0+\nFnNqBXVDSyzYPJgowsBg5Njoajqo7JWg11dg98DpmKWGu6bksKcjjWm/u/eW\nkgoq+vkBmRAQcAKIpK7DZQqVWplGA7y7yp6co9tjnbmbC3xPHkanvJ2cT94f\ngbgK1onaSpn5UAcVFb33lWKr8/VqpPuAyP7iCjq2C6LrYxL6lSFol8mk3/le\nB+NafYmoRIm801kgdyBeg3pbmh5sCtl35FUJZsaZOyaG2+1AirgdwpMl3tR+\n0LBUAEoAwZEaXZdqITuDOz3b/nOtLsbpe1kb1y530lerXte1uMSO9TGNsWMK\n15zSm/AwsYvr2Lbbc6pcgGZPQy2yksqupIGmqBQrgkV77uWUrxkCmF8wXjVO\najFPc3pgTokzlwql0q5MXSNHZhNsw+vEBL9jT44RowMpgrWXsC6HN54+/Lt9\n70+cI7/980kf1JnQ4CJ199NDEHNu+m4grlBE6rSinElU4nwi5EUuEII+wmMN\nII2/FUTGlT1iDewab0cEj+kYmPE5ppRXmdJd721qdVeqSKRdIhSJmFwqY3K8\nnoFhBebX/UuNAVBD3gdHhzcyp+6TaEKwfcDnIzXsLzONqqsZgPnKA469ahIP\nr8bY7Pv+O3G+tsevnz1ZuCzJZrgD8sc+IaHT7yGbLXUmTyZgn2ZggHet69rE\nIiV+\r\n=Ca3x\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIC2GhsNxWb+gZnQx9B3o989w3CMblrasATwV1wMgOXDqAiAFUnAXdVEVUFwpAsWqwKLwpPaveQb+z3RQFezSQ0J4Jw=="}]},"maintainers":[{"name":"znck","email":"rahulkdn@gmail.com"}],"_npmUser":{"name":"znck","email":"rahulkdn@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/vue-virtual-textdocument_0.2.4-0_1600221637099_0.14552054661031555"},"_hasShrinkwrap":false},"0.3.1-insiders-1604106530.0":{"name":"@vuedx/vue-virtual-textdocument","version":"0.3.1-insiders-1604106530.0","description":"An implementation of virtual filesystem for accessing blocks in a `.vue` file as independent files.","main":"dist/index.cjs.js","module":"dist/index.esm.js","types":"dist/index.d.ts","private":false,"scripts":{},"keywords":[],"author":{"name":"Rahul Kadyan","email":"rahulkdn@gmail.com","url":"https://znck.me/"},"license":"MIT","dependencies":{"@vuedx/analyze":"0.3.1-insiders-1604106530.0","@vuedx/compiler-sfc":"0.3.1-insiders-1604106530.0","@vuedx/compiler-tsx":"0.3.1-insiders-1604106530.0","source-map":"^0.6.1","vscode-languageserver-textdocument":"^1.0.1","vscode-uri":"^2.1.2"},"devDependencies":{"fast-glob":"^3.2.4","typescript":"^4.0.3"},"readme":"# Vue Virtual TextDocument\n\nAn implementation of virtual filesystem for accessing blocks in a `.vue` file as independent files.\n","readmeFilename":"readme.md","_id":"@vuedx/vue-virtual-textdocument@0.3.1-insiders-1604106530.0","_nodeVersion":"14.14.0","_npmVersion":"6.14.8","dist":{"integrity":"sha512-jDvUYurFodAuo8j9wf6Ripk6k/Wn6pkDCVwV7P7vpEb91/TbBOnz6WvyyF9sBGTSnVrB57F6cMbtBSzjo+3k2g==","shasum":"6bc2a672544a690857de6892160411d3f68802e8","tarball":"https://registry.npmjs.org/@vuedx/vue-virtual-textdocument/-/vue-virtual-textdocument-0.3.1-insiders-1604106530.0.tgz","fileCount":8,"unpackedSize":198270,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfnLm9CRA9TVsSAnZWagAAsMwP/07xolid4HXrmOg1shNY\n6TLuGl/Ws65PEoZWOMhZ8AVgpfcRXc6aVl4uuFL4IF/hqIaxpi4JyCRZdY8L\nLbjlim0/dTxZDVjAQXH/2Odm+RjMJWNr5+1mm+rgwwtnwJS/Wjrn2ufQeVuS\n91/QJZU3Ffw8M2TZBAR88otV/cmlq0jQijtt5LWObcrpM6YhpVotlHcsR7MT\nolgge5R+8PEug1slIy1UAosApnCW0uOL1tjN2wpCrNAj5us93m0Oucssndaq\nMOLqwUu9pa9GMbJCGskBZb6IHnM97pZ/5Xkg0k7pWsl3jijXnUPJPB3qbJRq\n0jutmr0vDrpWEHrc8Uqd36Ec9xf2Gq1oYZ8O/aFIF3CNNBrGuSETUR3hgu2x\nv1IErFqVJXdEicdzBvqcfYKwriwnPbiRjgUfbvHvlWRevMMjyWpiyynWztn7\n0GTsR/C+5cfmvx599xE11e3CRCFYwogGC6bhcTIA9kBnOKQS9wtaIYdtk3UL\n1N+HpxRX7xEOZNbE35Cqm6hpLYMN16taOcUonRC81en9IQ47ZvZQszXxSggy\nq4x/hx3wsBOHtqkJcAN5ZLxK4TukHDXs+fYcWwjzoAQpveshEquSHhiALi/B\ny+nZXIKwjCbM3xQXaHtRl2unrhe+gM6HNdphJ6FnS+tbrd517ytYkNBDZBgP\nqFxq\r\n=v/CU\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCOZ72TQp2mxtGgROLn31pCZum8M+7D7Ph6coOs/uM4LgIhAKjxHNt+bWaMRKbQhagRY4VwylsHd0X++BZCEueU5ETM"}]},"maintainers":[{"name":"znck","email":"rahulkdn@gmail.com"}],"_npmUser":{"name":"znck","email":"rahulkdn@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/vue-virtual-textdocument_0.3.1-insiders-1604106530.0_1604106684803_0.9145762763167127"},"_hasShrinkwrap":false},"0.3.1-insiders-1604576237.0":{"name":"@vuedx/vue-virtual-textdocument","version":"0.3.1-insiders-1604576237.0","description":"An implementation of virtual filesystem for accessing blocks in a `.vue` file as independent files.","main":"dist/index.cjs.js","module":"dist/index.esm.js","types":"dist/index.d.ts","private":false,"scripts":{},"keywords":[],"author":{"name":"Rahul Kadyan","email":"rahulkdn@gmail.com","url":"https://znck.me/"},"license":"MIT","dependencies":{"@vuedx/analyze":"0.3.1-insiders-1604576237.0","@vuedx/compiler-sfc":"0.3.1-insiders-1604576237.0","@vuedx/compiler-tsx":"0.3.1-insiders-1604576237.0","source-map":"^0.6.1","vscode-languageserver-textdocument":"^1.0.1","vscode-uri":"^2.1.2"},"devDependencies":{"fast-glob":"^3.2.4","typescript":"^4.0.3"},"readme":"# Vue Virtual TextDocument\n\nAn implementation of virtual filesystem for accessing blocks in a `.vue` file as independent files.\n","readmeFilename":"readme.md","_id":"@vuedx/vue-virtual-textdocument@0.3.1-insiders-1604576237.0","_nodeVersion":"14.14.0","_npmVersion":"6.14.8","dist":{"integrity":"sha512-u+205P9wgMDvs4WN6q9fpGUiNkrfb0R85E56PH9Yqh1SKcD2ZG2tfVRiLbtBFkfZmlGjVX37dPZuMRE/dy/Mbg==","shasum":"604922ec5228b814fed27792b0ac62635ff6ba4c","tarball":"https://registry.npmjs.org/@vuedx/vue-virtual-textdocument/-/vue-virtual-textdocument-0.3.1-insiders-1604576237.0.tgz","fileCount":8,"unpackedSize":209579,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfo+RpCRA9TVsSAnZWagAAsj4P/3nAnx6EWORECfjfJYvX\nJD3lRyT1uh8+I2e7ECEAGp6R3ON39DJ9fLC3ISh2CtPjGPAYstyTehFlKyPu\nY3iSjAPHV/gpuCx2xS9DYk2nRftFxWHLjKtdnB7aYAJm1CgwjXGTGPe/DrwO\n+5U1okGKsujTj8pvV7trb1gAAfGxtAE65eOfsaUKfMETPBZC7ecN8kYDhouZ\n7KkEa/3kbQpumtB0HmkoNAAMLXm8ZjcAgvz5EsWIeU6yBxVOaYcgfsxVpH8A\n7Itar4sC/yogCppv/J/ziHGTL6ww140x+TkApEyIm6IBPKQwNajRb9EZLZTZ\nS53xF04hVpncavLBNacjx2fORGfg6Cno44fQP9Y9sWz8BvFTvkmVVt0e8Mlb\nkMq+40hdcis60uCN0xds8fRHnr5IFe2gwBGsw+dQxAnBsuPEaaZ11BlT3WC8\nHwBqEuddcPJsh7SJkpvnahLug7gCD3R7DlTujrPQXllwBk7ba4nxbhAeNB3x\noh+gv7ChXkNlyevk6MCO2Re/fc1I4PVrC86NVcQYO6JIb0uoICNVH5SnYrWp\nZycH5XmdykVgFXJzKC9+H4HaFAE/bRFlLQ++Y182N9dCgrO+AknQIOT6qxLK\nj16+YnxxaDBufIgtZ04tCQmA/VFIQQgN1JralESPH7TMWFeCSdre2lSrbqrW\nL9S1\r\n=EyBo\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIFsxL2QFmqkBY3ZSKbCDP54t6rU5CDyNWMlKvN1blImZAiAhq5d0BuBqDQLb0t9Lo95YbGOZgHa6C7gh5aVQIog1IA=="}]},"_npmUser":{"name":"znck","email":"rahulkdn@gmail.com"},"directories":{},"maintainers":[{"name":"znck","email":"rahulkdn@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/vue-virtual-textdocument_0.3.1-insiders-1604576237.0_1604576360971_0.8958544820626384"},"_hasShrinkwrap":false},"0.3.1-insiders-1604891675.0":{"name":"@vuedx/vue-virtual-textdocument","version":"0.3.1-insiders-1604891675.0","description":"An implementation of virtual filesystem for accessing blocks in a `.vue` file as independent files.","main":"dist/index.cjs.js","module":"dist/index.esm.js","types":"dist/index.d.ts","private":false,"scripts":{},"keywords":[],"author":{"name":"Rahul Kadyan","email":"rahulkdn@gmail.com","url":"https://znck.me/"},"license":"MIT","dependencies":{"@vuedx/analyze":"0.3.1-insiders-1604891675.0","@vuedx/compiler-sfc":"0.3.1-insiders-1604891675.0","@vuedx/compiler-tsx":"0.3.1-insiders-1604891675.0","source-map":"^0.6.1","vscode-languageserver-textdocument":"^1.0.1","vscode-uri":"^2.1.2"},"devDependencies":{"fast-glob":"^3.2.4","typescript":"^4.0.3"},"readme":"# Vue Virtual TextDocument\n\nAn implementation of virtual filesystem for accessing blocks in a `.vue` file as independent files.\n","readmeFilename":"readme.md","_id":"@vuedx/vue-virtual-textdocument@0.3.1-insiders-1604891675.0","_nodeVersion":"14.14.0","_npmVersion":"6.14.8","dist":{"integrity":"sha512-Yv1KLTCIaoYbj2SSLesXFo3t3HEBJb2d1kc23jF948rBOR2ehhS6jQeNu2Ube3D7QYsMHnIukx+LNEe6YzJ9cQ==","shasum":"4af9a116d70e6f42a7ed6aa6a6248da27dfd7563","tarball":"https://registry.npmjs.org/@vuedx/vue-virtual-textdocument/-/vue-virtual-textdocument-0.3.1-insiders-1604891675.0.tgz","fileCount":8,"unpackedSize":209579,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfqLQwCRA9TVsSAnZWagAAMlAP/0frKoHLpUoNhRZ/Q24T\nGhrfFyUqtC/YevhzIJ50i5yrNJ+WIYLduz/pozdxooadlTtOYuOYgbx7mrLj\n2zpDN9pl5or2eKQqleaMwNHRZK+vUuxgqaTvRYVfoCSuEfUN+y48AnCY3454\nNxo9Gc8L2SyPnKHCVJLj1i8UzECYAxiFHm4okGQGz1HRqdi1/X5r1YpNQedT\njhdo90FndHvAbb7oljhxQwVjyh2DqYiaCbL0QasZzWI2z55Xgy74+p+qPakf\nADd8F2cvSlep8JawWOgZ4NOAD5a0o9mvybEwwJakp4tW9yq4bxXR5QNsW9zE\n/lusHg+AvfcxRTG8vocK18WXM/SViSky6PM6ATFKicdsNZjMuNIw5uP1R90P\nRQnWl/vjqv3KSlEI6PsvEXMphJFgbw2QcCa2FSUJWc+OK7Z337zZjSREbHIF\ncgqMlG0NC3CMHCmFCzg7PIOE50uWhvQe9DNKPXjr5xU9kE0XbaZ3CzsorJq2\nJbGXEeD3WsxxMai0KTgBPesrhlCMi5S95gmejtJ0LBNQLUjd/UvmzG5xtxAP\ncOXGIoZOYqs5IWjyUVakp9sgd+3d7SCeLkOy3uY+ZPXklhYQb0RI4SmryoLe\n1/7hcyFkkxqRK22CK+q2OGUsjhVjCDclCA+5G2xCujidxiaFEpHZsQDRBNuz\nRYLD\r\n=flPw\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCmlWx+xV3ccimSmcO22VVDqHlgwsyn7UnOTOHC9S8P7gIgc/3Tewlvf+FMcwTkD9yaHp4trq9x5cm93B8Lh00Pbcw="}]},"_npmUser":{"name":"znck","email":"rahulkdn@gmail.com"},"directories":{},"maintainers":[{"name":"znck","email":"rahulkdn@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/vue-virtual-textdocument_0.3.1-insiders-1604891675.0_1604891696016_0.2444357045314005"},"_hasShrinkwrap":false},"0.3.1-insiders-1605496438.0":{"name":"@vuedx/vue-virtual-textdocument","version":"0.3.1-insiders-1605496438.0","description":"An implementation of virtual filesystem for accessing blocks in a `.vue` file as independent files.","main":"dist/index.cjs.js","module":"dist/index.esm.js","types":"dist/index.d.ts","private":false,"scripts":{},"keywords":[],"author":{"name":"Rahul Kadyan","email":"rahulkdn@gmail.com","url":"https://znck.me/"},"license":"MIT","dependencies":{"@vuedx/analyze":"0.3.1-insiders-1605496438.0","@vuedx/compiler-sfc":"0.3.1-insiders-1605496438.0","@vuedx/compiler-tsx":"0.3.1-insiders-1605496438.0","source-map":"^0.6.1","vscode-languageserver-textdocument":"^1.0.1","vscode-uri":"^2.1.2"},"devDependencies":{"fast-glob":"^3.2.4","typescript":"^4.0.3"},"readme":"# Vue Virtual TextDocument\n\nAn implementation of virtual filesystem for accessing blocks in a `.vue` file as independent files.\n","readmeFilename":"readme.md","_id":"@vuedx/vue-virtual-textdocument@0.3.1-insiders-1605496438.0","_nodeVersion":"14.14.0","_npmVersion":"6.14.8","dist":{"integrity":"sha512-xa5mB5F5djTtI5lpusnX6uS6ywcT+sGJJyp5SK77dDZZEXDOVeqv3pF5sAykl0h1NfChFQoVNt83JKVKEmZM5w==","shasum":"981c7c3ff617d6afdfbeea4bfba5a09312020aa5","tarball":"https://registry.npmjs.org/@vuedx/vue-virtual-textdocument/-/vue-virtual-textdocument-0.3.1-insiders-1605496438.0.tgz","fileCount":8,"unpackedSize":209579,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfse6MCRA9TVsSAnZWagAAdrkQAIm9BIMqsLMbKUp7IvUf\nAgkWeD7KDt158g/W/P0yqUPKtSjXFNpGWYRo07QIiZLI1oI3K5SLcPVnszJN\nT7YG4V1I86cB6z4t7anQYEwi+VL4CkJk+pxZZwyitsT6+XsY4zPtHzKRpYd0\n7uWducxDGPdYx8T5gOYRAtEVdtaP/AOeWkryhBFhpRCFRSVRgr/bA0TpDlug\nr03bqyp9pKNqyo96bQrcJ8UkiUdGoxD+oKqnNeSBbIC14OZPX6PgShJr81Yf\n3ru6LX1z18P3gVGGqdU/yB+iCun3d6mN6JGRNmSBx6iOQ7SSTDw0+iQaqY0E\nv34XEnRpz+59E4DD9dl4rrWdgC38FXAhDkEF1LNDh8Ci4mvfzj4iFOVzx1ft\nxznYcqqxUKwJlkS63OBbX2ty0o2Umobp0VqbAwLMpONQSCB6ZJ+2JZDkIaZa\n2XBkmxCdiB/FDTD8jKw253NKJwEeW+YwjJx/gpP7SEOpZI9kkJhwlfHKc+Aj\nb4qrYHDy9EL/aJLvsIuF5nWJFScR97RA359vF/lKrDK6wbMJ+I/9/e8tpvgV\nLYO8ZrGHb7b0SoA//2iuWziULRFfJ3fCmY2Ahc0vLk6mxVrt4vbwUHmvyBhk\nw8hoP40GkTqwekYcy+RRYnGcE4Tw9AgfyttKne+0FBuP60lT++SUHXQp1pEz\newJT\r\n=Gv1a\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCE1SlLCUuAv4RDx7oPEPn4RNz5kpiBDQydt6jXIxJKTwIhAIq/qyQahNfgaX3nMv6JGz8A4GqSt70/aPph9H8RTQL5"}]},"_npmUser":{"name":"znck","email":"rahulkdn@gmail.com"},"directories":{},"maintainers":[{"name":"znck","email":"rahulkdn@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/vue-virtual-textdocument_0.3.1-insiders-1605496438.0_1605496459898_0.606147576367807"},"_hasShrinkwrap":false},"0.3.1-insiders-1605961078.0":{"name":"@vuedx/vue-virtual-textdocument","version":"0.3.1-insiders-1605961078.0","description":"An implementation of virtual filesystem for accessing blocks in a `.vue` file as independent files.","main":"dist/index.cjs.js","module":"dist/index.esm.js","types":"dist/index.d.ts","private":false,"scripts":{},"keywords":[],"author":{"name":"Rahul Kadyan","email":"rahulkdn@gmail.com","url":"https://znck.me/"},"license":"MIT","dependencies":{"@vuedx/analyze":"0.3.1-insiders-1605961078.0","@vuedx/compiler-sfc":"0.3.1-insiders-1605961078.0","@vuedx/compiler-tsx":"0.3.1-insiders-1605961078.0","source-map":"^0.6.1","vscode-languageserver-textdocument":"^1.0.1","vscode-uri":"^2.1.2"},"devDependencies":{"fast-glob":"^3.2.4","typescript":"^4.0.3"},"readme":"# Vue Virtual TextDocument\n\nAn implementation of virtual filesystem for accessing blocks in a `.vue` file as independent files.\n","readmeFilename":"readme.md","_id":"@vuedx/vue-virtual-textdocument@0.3.1-insiders-1605961078.0","_nodeVersion":"14.14.0","_npmVersion":"6.14.8","dist":{"integrity":"sha512-H7X4tJWvL2VolitJtqaqImwgkjxG+leJ5pa3ZwCOcFQ9UaEsNSxowLHx/2TcHA4ICbgmype0aKTnxrx0keuGww==","shasum":"f67889793fb9e6bad749f1e05bdb303aadecd2a6","tarball":"https://registry.npmjs.org/@vuedx/vue-virtual-textdocument/-/vue-virtual-textdocument-0.3.1-insiders-1605961078.0.tgz","fileCount":8,"unpackedSize":224381,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfuQWQCRA9TVsSAnZWagAAjUIP/1P5IEp0oZQ/fDuxSbT2\nh+CHYrFPFd2bgMxtzelgLSFlHugEFm3b80qe1WElYUokGITbaBxts1j+quto\n60OGCTwDEgVU4hqLYuSVH7CxhLWK2A70H8CD3lHWOq11iKo7fDf148M7wFOy\nKG+8BH7DJacnuJpvECc7cOfhXgymyAthfz0t1cXwlc0ipG5HqTg1a2e0OzNg\n7lsajglMdkvMdyJBjRMZeARIViynAUwsThFfLdP2zdwDly3V3rFi69Hk9/rR\nOWDCSNhok259sZpx64IdtIGjWCAQ0bxa6MXnmPokRYmZcVdgo/9Bz6kJpkKp\nXZ8F+BbwK3vBXd+GjVS8UZalPr+UToG/gMEhjGB3aR7av7H/5X7xMFgRf6fv\nDVH+vqIsiWxpu9k5zNgfi1tFdOIifVQcgJ0I8ROPv+t46I4UO/t5syzcJG24\noI+rqJYmn8enjpqip7Y2lWPhI48F0UjaUOT7PsCgb0K0tbmYi6hRDnkfiLQX\nrGQYYfiWv0+c8Ogqg8whgbMyAxBtkmS+AIAOm3ydicHwyaOiHi14z2PNYSMq\nuLXdCuDlJ79Pb+nIztQo2givT10IY8yAi/VY9ydstTW3IM7WcKWLtyWivkAv\nr+biQLtJOqDVE+Z7BVKGy1Y7knu87jU81e3ChPPrNOEE/a4uQ94IcigNOnhY\nQoqp\r\n=E9gO\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIEkWfYT8W1V+D55SOH3mmWBaztUR2VODfQ7NVCBXj1IdAiBuQXAoroF5gu9z6XdX4Xd8zBrz7VsXBweGNcbjIMtrNA=="}]},"_npmUser":{"name":"znck","email":"rahulkdn@gmail.com"},"directories":{},"maintainers":[{"name":"znck","email":"rahulkdn@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/vue-virtual-textdocument_0.3.1-insiders-1605961078.0_1605961103827_0.8430647211369517"},"_hasShrinkwrap":false},"0.3.1-insiders-1606047354.0":{"name":"@vuedx/vue-virtual-textdocument","version":"0.3.1-insiders-1606047354.0","description":"An implementation of virtual filesystem for accessing blocks in a `.vue` file as independent files.","main":"dist/index.cjs.js","module":"dist/index.esm.js","types":"dist/index.d.ts","private":false,"scripts":{},"keywords":[],"author":{"name":"Rahul Kadyan","email":"rahulkdn@gmail.com","url":"https://znck.me/"},"license":"MIT","dependencies":{"@vuedx/analyze":"0.3.1-insiders-1606047354.0","@vuedx/compiler-sfc":"0.3.1-insiders-1606047354.0","@vuedx/compiler-tsx":"0.3.1-insiders-1606047354.0","source-map":"^0.6.1","vscode-languageserver-textdocument":"^1.0.1","vscode-uri":"^2.1.2"},"devDependencies":{"fast-glob":"^3.2.4","typescript":"^4.0.3"},"readme":"# Vue Virtual TextDocument\n\nAn implementation of virtual filesystem for accessing blocks in a `.vue` file as independent files.\n","readmeFilename":"readme.md","_id":"@vuedx/vue-virtual-textdocument@0.3.1-insiders-1606047354.0","_nodeVersion":"14.14.0","_npmVersion":"6.14.8","dist":{"integrity":"sha512-F1T4NQoTFSL3ozEb6M1m0T7Nax+dav9zXD4UPG2Wwv2U9Z5h0gpasVYWGoYnXOPCWH3KF6R2wEOzYGPa2r8+zg==","shasum":"39d0dba1b91a738ff1de4d4decb4902addd072ec","tarball":"https://registry.npmjs.org/@vuedx/vue-virtual-textdocument/-/vue-virtual-textdocument-0.3.1-insiders-1606047354.0.tgz","fileCount":8,"unpackedSize":224381,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfulaXCRA9TVsSAnZWagAAAlkP/jc1DlvsIaVm/cSl9RKR\npjfp+8B07MF0KB8sTn3vDdzVsE0/HiAJlyLJQafiqHKMmiu/9hY08oLKIjAL\nSFTuEyoQMw41B6Cx/78LC0f/U12c5lZ+Pu/XPYkoPsgDuOvatVlz4mAZ1e4u\nMtBuZCqw9b4e3FxEBObcezt/yd4/ul6k9ywXBq2NUtmvW/TuBJHcTdssYgZN\nYLYkQ11L3J/8FbztOf+Z32Skrp5LObBqBRoS4EJU6NfiGzHDtKRcHmEWQ3hR\nyIVIw2RKKFXB4ZyQ928ctFRDAadObToDHjsmRcaU/R46cSke0GcB+tdfBnfS\nvADlhwBeKeUrcWMU7cxGzxePLxWprMT/4B0CXuokLqiPJJcALBR54z8RQ/M4\nSe4LxBnXppYRF95d4UBb1VSZkwvr6CXXn8Px969eACbwMY7P6csJWyCcXSCy\noC5sd8psJbTvnrcTXLgqKueEP/5ZNYyYH+B6qs3IdfALy7P4NXeU4mhlSQyv\n6cYDtnoYC+f0UOVWkm7/k5SeBfbEN6UwUU2JZ5Y/dra7lTfF3IHDg49IugwK\nUvCb7IkJkz30EyI2KKhcmR7dRkS8EhwFIm6ZgNMD7uFZCW2PhPf3W13faLOv\nDeNQt9dpWUjo908K31J+ySGJthNSWViYChOZajl161VK5mllUBhGVk3k/NQg\nTNS/\r\n=m3G5\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCID4QQBhiTm5N1P1vE4o6A8GC79NG0X6cCd/pRGnq+J7SAiBDwJxU4lBAETgajx2rmX0CEOtoC3fJCbT0hz4uG01Gzg=="}]},"_npmUser":{"name":"znck","email":"rahulkdn@gmail.com"},"directories":{},"maintainers":[{"name":"znck","email":"rahulkdn@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/vue-virtual-textdocument_0.3.1-insiders-1606047354.0_1606047383423_0.16842102914459556"},"_hasShrinkwrap":false},"0.3.1-insiders-1606101276.0":{"name":"@vuedx/vue-virtual-textdocument","version":"0.3.1-insiders-1606101276.0","description":"An implementation of virtual filesystem for accessing blocks in a `.vue` file as independent files.","main":"dist/index.cjs.js","module":"dist/index.esm.js","types":"dist/index.d.ts","private":false,"scripts":{},"keywords":[],"author":{"name":"Rahul Kadyan","email":"rahulkdn@gmail.com","url":"https://znck.me/"},"license":"MIT","dependencies":{"@vuedx/analyze":"0.3.1-insiders-1606101276.0","@vuedx/compiler-sfc":"0.3.1-insiders-1606101276.0","@vuedx/compiler-tsx":"0.3.1-insiders-1606101276.0","source-map":"^0.6.1","vscode-languageserver-textdocument":"^1.0.1","vscode-uri":"^2.1.2"},"devDependencies":{"fast-glob":"^3.2.4","typescript":"^4.0.3"},"readme":"# Vue Virtual TextDocument\n\nAn implementation of virtual filesystem for accessing blocks in a `.vue` file as independent files.\n","readmeFilename":"readme.md","_id":"@vuedx/vue-virtual-textdocument@0.3.1-insiders-1606101276.0","_nodeVersion":"14.14.0","_npmVersion":"6.14.8","dist":{"integrity":"sha512-HR4Wgq4NevC2m9yv6WCH66qUQnPPV7kAtqPpWog4DgaMi4G/GySWiJeSTs/4GDmh86PHhoLirfLqUoJD2ZtfHg==","shasum":"b0921d65582d7cffc3738f7461e8a2fdb774d942","tarball":"https://registry.npmjs.org/@vuedx/vue-virtual-textdocument/-/vue-virtual-textdocument-0.3.1-insiders-1606101276.0.tgz","fileCount":8,"unpackedSize":224381,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfuyk6CRA9TVsSAnZWagAAWX8QAIcEajwV0L+dCPrRZf1p\nI7OUzE7OIjNHMkpqNpOtgRJf1BAoSNwqYmyfDduSSVCErNXU9ajCr9d30LTM\nDuwPv/0l/xFo7Nla+j1Mlm7zapDQJGDFRphsNG9E83/aUFNH4uabzJw6O6C1\nsWtjPYZXMIUMTR7dDx7AlmvHMkrIvZitdtAObt5ZL7Iersu9V5Br17iLhF9c\nNZpCzbaMdEQLGJ5yp1cMkI6PeiQ4fpvhxfxuZ6hpWFnImJHWFjom+cbILO22\nZPnZEviyPn6yRhXsUxnABYD5v13mbccK1+tyJ4WsZxo+g7xwGmUdjxeO/VuA\nJL4EGtuTHQaKBQruZ4QChJQV+eI1l7iYge7lJevU7uBxmMVOvpZk9drwuvBq\nkSlZMdx/p/8UtRRKKMxX2KXPUdc52xKqmZIMp54yvICE/f0peaWc1jpVuwGB\naQxtNtV/96+FY3TKSdZY3EBISXV8Cz3s3qQ9DzRPnLfFLFStlFPhUH7dVOSp\nhp4a4addQ2YP9IiQ1xRKHLz4jGKdFWVRJXKo7RQnr458IrngNDR9g1JUZhi6\nNS6d1reSFmv10pLKHC+k1AVhUgfDBjDPLVjY5RfVxid+by7Gx9/0Nr/FXipc\nhprzeMmziSxuYJpa/835ASbuz5zFmsLYWk4t/EqYii38SJ7xSzJ99RQvvZ2p\nydOj\r\n=2jOn\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDQ8laJmBZ1hy6M0Awn4gvQocY6tZRJVmdURShfjqETHgIhAML/xcmva+sDXDfM4HY3kfts3nkwoDo4Ohi0Va376prE"}]},"_npmUser":{"name":"znck","email":"rahulkdn@gmail.com"},"directories":{},"maintainers":[{"name":"znck","email":"rahulkdn@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/vue-virtual-textdocument_0.3.1-insiders-1606101276.0_1606101305793_0.7914066338916979"},"_hasShrinkwrap":false},"0.3.1-insiders-1606300525.0":{"name":"@vuedx/vue-virtual-textdocument","version":"0.3.1-insiders-1606300525.0","description":"An implementation of virtual filesystem for accessing blocks in a `.vue` file as independent files.","main":"dist/index.cjs.js","module":"dist/index.esm.js","types":"dist/index.d.ts","private":false,"scripts":{},"keywords":[],"author":{"name":"Rahul Kadyan","email":"rahulkdn@gmail.com","url":"https://znck.me/"},"license":"MIT","dependencies":{"@vuedx/analyze":"0.3.1-insiders-1606300525.0","@vuedx/compiler-sfc":"0.3.1-insiders-1606300525.0","@vuedx/compiler-tsx":"0.3.1-insiders-1606300525.0","source-map":"^0.6.1","vscode-languageserver-textdocument":"^1.0.1","vscode-uri":"^2.1.2"},"devDependencies":{"fast-glob":"^3.2.4","typescript":"^4.0.3"},"readme":"# Vue Virtual TextDocument\n\nAn implementation of virtual filesystem for accessing blocks in a `.vue` file as independent files.\n","readmeFilename":"readme.md","_id":"@vuedx/vue-virtual-textdocument@0.3.1-insiders-1606300525.0","_nodeVersion":"14.14.0","_npmVersion":"6.14.8","dist":{"integrity":"sha512-djMzz1mkcMuDD3nMzu+7JBo4xo4FlKc6F+qrcsZXLp0PG7hSIwNq91S8F1hT5Ik8Tm8GBkXJq4Q0wu58396Ngg==","shasum":"dc79e26b96b58adf9c86587a439bde9eeba1d242","tarball":"https://registry.npmjs.org/@vuedx/vue-virtual-textdocument/-/vue-virtual-textdocument-0.3.1-insiders-1606300525.0.tgz","fileCount":8,"unpackedSize":224381,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfvjOICRA9TVsSAnZWagAAZK4P/03RgydIkcPXeI5FP40r\nvEAP3SGH1OeUZrHgd+KJvxTAxyH8mRwEkd2UTZFP4llgPi6dNvpoaWXvnL1s\nRx2VvhW9B+OslWg7CbOhVHZiDNVLSapKIjOaz3CDz1sjZQXkiyxooJXCTqTR\nxcPzFesg6c7K5ER0ljVeFcfN00DsZQdxBN+W6Q4sLrn04XpnrbFP0L5iB/Yk\nukHhjx8R7hInrhhHfwqpeW5UoRZGNHH7ywU0+e7w9ecgju9Bgs8CyWyTnf1/\n1fqsffs5ssx5DDvfcRNpOn8qck6cjDH6AMmVYGLKBHdJ8odRi4NjI8ctzDb0\nQVR/XYJhO6KRZExxlAVmacrL/1X8AJUTu3zYCCWddi47EeygtCpIhElAt4xp\n+gMJr8Mssj4/CEPwWWKUiPAKrD0Re6HYjRwEdpp8hq4VvBoVFn6KAJovTjWP\nf13OZhBXoMIdi3FxfplDN32PZqXPEm32TvYilbsr6+RTeHQO43OlK9Cukk4D\n4SrcPnjhp/WXmqVLK7BhkEdJvACgMwBecnrGVYa/jMpfdqm8vZANaPK8BsdZ\nMQQ7zf4ZV6LlChQn+m5SqFNqzFvq2G2v/0LJCBDJODLQBeVFkGmK2TkLiaC2\na0ClaJ2nOqUzraynzBd6Ai2qeT0M3SHbTNrKJ1LoyBQB+Vm7lbpFFR7yFBLp\nQsus\r\n=AzML\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDW+HEz9QxuqomMz/WwNs0/1xIkI+3vg0u7BdX3+wjH5AIgXY+69ppgh840UV2iK39UEEjAPISnLJdAzvGIPAt+ySE="}]},"_npmUser":{"name":"znck","email":"rahulkdn@gmail.com"},"directories":{},"maintainers":[{"name":"znck","email":"rahulkdn@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/vue-virtual-textdocument_0.3.1-insiders-1606300525.0_1606300551990_0.02206194019498864"},"_hasShrinkwrap":false},"0.3.1-insiders-1606311019.0":{"name":"@vuedx/vue-virtual-textdocument","version":"0.3.1-insiders-1606311019.0","description":"An implementation of virtual filesystem for accessing blocks in a `.vue` file as independent files.","main":"dist/index.cjs.js","module":"dist/index.esm.js","types":"dist/index.d.ts","private":false,"scripts":{},"keywords":[],"author":{"name":"Rahul Kadyan","email":"rahulkdn@gmail.com","url":"https://znck.me/"},"license":"MIT","dependencies":{"@vuedx/analyze":"0.3.1-insiders-1606311019.0","@vuedx/compiler-sfc":"0.3.1-insiders-1606311019.0","@vuedx/compiler-tsx":"0.3.1-insiders-1606311019.0","source-map":"^0.6.1","vscode-languageserver-textdocument":"^1.0.1","vscode-uri":"^2.1.2"},"devDependencies":{"fast-glob":"^3.2.4","typescript":"^4.0.3"},"readme":"# Vue Virtual TextDocument\n\nAn implementation of virtual filesystem for accessing blocks in a `.vue` file as independent files.\n","readmeFilename":"readme.md","_id":"@vuedx/vue-virtual-textdocument@0.3.1-insiders-1606311019.0","_nodeVersion":"14.14.0","_npmVersion":"6.14.8","dist":{"integrity":"sha512-kNgLyKQQHHaBkYg0PtyaSB7hGDE+hzSPerKgR+0Sf5N9u10bphUdryx64JAWTxQK3AvRBmnepG3hPhqqRl/eJw==","shasum":"c7147530c7b99a0db0ee8513f1c2ad711ab9084d","tarball":"https://registry.npmjs.org/@vuedx/vue-virtual-textdocument/-/vue-virtual-textdocument-0.3.1-insiders-1606311019.0.tgz","fileCount":8,"unpackedSize":224381,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfvlyFCRA9TVsSAnZWagAAyz4P/A0TcDPqd4elVfAH6pzN\n03JVUqIJweyrtGo/eakKTbRdcM2WqCsMDSy51wscjphNVd/ZP8RzoigsZN6E\ngLJlt2xfUjt2SGFKbfr2DnWA9XzKCQdJhJuTFRM5MxtP+BZfoZ4kuHkenEVX\nDi3VseF7+1HBhhZ7TOTjQwCGAJI4idVUTJNKONlBt/0NVdKU8/vFQgvCWWmV\nxpjsBoFcaiV9FNH6g6FIBNtApnbaFs2zFX7JQolf8gRbIGPXKufScjRYJny4\nCeDH5s7g/B+FmpBprzL7FVUFHzYa2t/6jJcS3bcsZ6FWTaV1dWg2gup0doTV\nzcgEp5HZmAPZMyr5JycK9Ql3K22CPIQrFduTekGodpxOfV7nuK4oTm45iP2J\nN3FfHEkLaqUYN8FzLz1Mj62bOOp24XB1+XERwN7D+/48EURaBWHBJiDA4Xx1\nv7nNbNEpk+1lURv7SjMX4hdmMfeHmsl0Fq949S7/sxtW4R/RRlsI3UcNDpIe\ntSabSY3TI+WLk8+Ua021PXIzqKBarQ/kfnh1h3kJzTbzNlK6g8MK2MXdH/fF\nIT0kqWJ9srVDA8RBRxnmExqvRFaW2O5pS6NKWYyrOQxOV4f4UR2aldsVkDuy\nQ3tJMK2Lhy1XXPf2Dt1JU7JG6ccE4uKr7eNIP80nM1kh9cTMI/gvbJdMQQZq\ndlmW\r\n=Saou\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIDN2/7pqw6c48q5kpaUN2mpXAC/QkcWKTuZpkiq5mJwpAiEA2J5yLm3gwQTjkHa5iVSZ9j8W+Tc1ZhWeG+uBY9lNjdE="}]},"_npmUser":{"name":"znck","email":"rahulkdn@gmail.com"},"directories":{},"maintainers":[{"name":"znck","email":"rahulkdn@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/vue-virtual-textdocument_0.3.1-insiders-1606311019.0_1606311044903_0.05697658093561242"},"_hasShrinkwrap":false},"0.3.1-insiders-1606467106.0":{"name":"@vuedx/vue-virtual-textdocument","version":"0.3.1-insiders-1606467106.0","description":"An implementation of virtual filesystem for accessing blocks in a `.vue` file as independent files.","main":"dist/index.cjs.js","module":"dist/index.esm.js","types":"dist/index.d.ts","private":false,"scripts":{},"keywords":[],"author":{"name":"Rahul Kadyan","email":"rahulkdn@gmail.com","url":"https://znck.me/"},"license":"MIT","dependencies":{"@vuedx/analyze":"0.3.1-insiders-1606467106.0","@vuedx/compiler-sfc":"0.3.1-insiders-1606467106.0","@vuedx/compiler-tsx":"0.3.1-insiders-1606467106.0","source-map":"^0.6.1","vscode-languageserver-textdocument":"^1.0.1","vscode-uri":"^2.1.2"},"devDependencies":{"fast-glob":"^3.2.4","typescript":"^4.0.3"},"readme":"# Vue Virtual TextDocument\n\nAn implementation of virtual filesystem for accessing blocks in a `.vue` file as independent files.\n","readmeFilename":"readme.md","_id":"@vuedx/vue-virtual-textdocument@0.3.1-insiders-1606467106.0","_nodeVersion":"14.14.0","_npmVersion":"6.14.8","dist":{"integrity":"sha512-HFTvHq3aIuLriyALuSUHqDqsgf5034fCW/qORTnLY99IofVUG5DI0PBBX0JI+/c+8iFkvmr8DSpPtpsx4PCA+w==","shasum":"2790889f040b365cd20add940a0c8c40b69dd2fa","tarball":"https://registry.npmjs.org/@vuedx/vue-virtual-textdocument/-/vue-virtual-textdocument-0.3.1-insiders-1606467106.0.tgz","fileCount":8,"unpackedSize":224381,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfwL4+CRA9TVsSAnZWagAAkiQP/j1NVd00VBGQge8Piq2w\nzuuh1zdXwwoaw4urXwfP8poXtJyH3RcWCEMJODMm3hqbXHICOCLLOwFqeDfU\ndLgTVh03WBshEVt23WKaOc5jyLYjAWLPoWNAbQ24miNF7OFXA6lXEB6POuo3\n5N+klLdYzUClVF8jSCufaWBREfe5PO/2kiw2CGkd0nvGjFltbMiy/V+Pp3Ou\nThdzeoOoACIwTQHu6F7qsu6SB9AshLLV8pHi2obAR4K5ZlLsvCKGZxUUVwW+\nw5o5EeQBET6Nz1AbeEKEE+Jp/DOHn6CepA3eNqnTQ2xg+C6ESi2w/JhWOhh+\n4t55R3dj16oCy6cQrBs0BAia55uOr4P8ZXqhKY6mq2DS2Y7vvQQD7Mt5Siv+\nJu0PZ5M3Jq9b7lQfkvUF213GrR6sKVl8aisdEYY6cLkV0frWsO11J78bJnq3\nKxEDuEA+hMt/b4OQfLXHh1ZDm4mEN8Ip1pzFsJuSJ8LIj/kHYUSIzotMPSwy\niseB09xu1o5OfcEkrg7uUBUvbFp6ZJGmViixE7HMFLnFKVpd6WT0ltyAjLfN\noMo74IzODWbGvaEmAlDxCTksX5F3RXeY3stZYccSRGK2AWYrjDzMzM7QUlqO\n4Nvbvix6VfFikU3z6rMCmMxOXjaxV/bM7Nnl2b/O5TdN+sr0nDl5mFMJdV36\nEbCO\r\n=HpzA\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDlSpbZvLkWWtEC3tOWTznv8PSCogw7nblBJ+GgV/u/HwIhAPYmnL2I3MLIa4HWIYOcGpzTrAyMqti6ffK0QBtCtkVB"}]},"_npmUser":{"name":"znck","email":"rahulkdn@gmail.com"},"directories":{},"maintainers":[{"name":"znck","email":"rahulkdn@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/vue-virtual-textdocument_0.3.1-insiders-1606467106.0_1606467133523_0.2954650201498952"},"_hasShrinkwrap":false},"0.3.1-insiders-1606884529.0":{"name":"@vuedx/vue-virtual-textdocument","version":"0.3.1-insiders-1606884529.0","description":"An implementation of virtual filesystem for accessing blocks in a `.vue` file as independent files.","main":"dist/index.cjs.js","module":"dist/index.esm.js","types":"dist/index.d.ts","private":false,"scripts":{},"keywords":[],"author":{"name":"Rahul Kadyan","email":"rahulkdn@gmail.com","url":"https://znck.me/"},"license":"MIT","dependencies":{"@vuedx/analyze":"0.3.1-insiders-1606884529.0","@vuedx/compiler-sfc":"0.3.1-insiders-1606884529.0","@vuedx/compiler-tsx":"0.3.1-insiders-1606884529.0","source-map":"^0.6.1","vscode-languageserver-textdocument":"^1.0.1","vscode-uri":"^2.1.2"},"devDependencies":{"fast-glob":"^3.2.4","typescript":"^4.0.3"},"readme":"# Vue Virtual TextDocument\n\nAn implementation of virtual filesystem for accessing blocks in a `.vue` file as independent files.\n","readmeFilename":"readme.md","_id":"@vuedx/vue-virtual-textdocument@0.3.1-insiders-1606884529.0","_nodeVersion":"14.14.0","_npmVersion":"6.14.8","dist":{"integrity":"sha512-tUJSzFnMZBx94HykDmTiNBdgL1XSWbb/e8rzFBus8LlFRvW01rr/ZdskhOH8vJsPg2CQujbiBTw5v+9Pb/FHoA==","shasum":"b0e6ac15234b16a6e04924d600ea709fbc52d554","tarball":"https://registry.npmjs.org/@vuedx/vue-virtual-textdocument/-/vue-virtual-textdocument-0.3.1-insiders-1606884529.0.tgz","fileCount":8,"unpackedSize":226112,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfxxzLCRA9TVsSAnZWagAAD4sP/21jVh00aObIGgVBa1hC\nddr0zZ1kmRxA4n7V871brY4+0RPPu05CIf9Zk4S82DlmJvJJN3wsRSmbtatY\nUwPRfl8tSBxcYRKycjBpggEVEd0jCcJ7rAD63thQL4gPhdd52khj60A3LhLI\nI5oJqnbdGwPCrzkgTkkYk928XqC3ppFIaT/alxJdwWUgHNxKYCbrtHi2LKvF\nkp6SkZLTrtlqn7glBf3fqJeYgB3HdERF/m5kKv9LdiUMCWZ4/ajggZG68j04\nPetG7VvOAWJA8De/4Iy/uv67OilTGM5sGcbOki3zkdkS9J36G7X9qoVdu6AP\nu1AOx+1ekF3JlXxKNua6WTtCFEFdv/fuA9EvEWiEwD6EcvDnLcLhyRDGP4+n\naf58FbfovdEuol6yv1A8gI2Xe5IZDM7r33Qmxn4b14fc8ESuvVW32J2ZJ5qr\nAvFyVOrPaTesI3GBP5LF1rrShZp8L6hTmbO8UBq6a/kM/GGurHgvQYAX5Jl1\nMb6N17BbnhVQjpy6HJWpBybft84ppd7ImMjokHxpweq/91V3Zv0BL+KVL5sV\nCv6HEEHj9iqSNi7oZTcCN46OR1beeRO6+1p4xl2nshEnkaauG/Kv/Y1jo/Yu\nI2wQjsKJrKDN0vofkiJpjW7xrxF0HA0PBw0+MkwBza123rAJZU2Oo9Zta60u\nkUwA\r\n=QAoX\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDD50V239yBM80+pnHpVURatDArI/wUBzqKUDBqHIZSdQIhALKp5Fz5xiqchatdlSrprJChAuYQzhBXCKTmHkaOzv2K"}]},"_npmUser":{"name":"znck","email":"rahulkdn@gmail.com"},"directories":{},"maintainers":[{"name":"znck","email":"rahulkdn@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/vue-virtual-textdocument_0.3.1-insiders-1606884529.0_1606884555407_0.09632082426806643"},"_hasShrinkwrap":false},"0.3.1-insiders-1607121235.0":{"name":"@vuedx/vue-virtual-textdocument","version":"0.3.1-insiders-1607121235.0","description":"An implementation of virtual filesystem for accessing blocks in a `.vue` file as independent files.","main":"dist/index.cjs.js","module":"dist/index.esm.js","types":"dist/index.d.ts","private":false,"scripts":{},"keywords":[],"author":{"name":"Rahul Kadyan","email":"rahulkdn@gmail.com","url":"https://znck.me/"},"license":"MIT","dependencies":{"@vuedx/analyze":"0.3.1-insiders-1607121235.0","@vuedx/compiler-sfc":"0.3.1-insiders-1607121235.0","@vuedx/compiler-tsx":"0.3.1-insiders-1607121235.0","source-map":"^0.6.1","vscode-languageserver-textdocument":"^1.0.1","vscode-uri":"^2.1.2"},"devDependencies":{"fast-glob":"^3.2.4","typescript":"^4.0.3"},"readme":"# Vue Virtual TextDocument\n\nAn implementation of virtual filesystem for accessing blocks in a `.vue` file as independent files.\n","readmeFilename":"readme.md","_id":"@vuedx/vue-virtual-textdocument@0.3.1-insiders-1607121235.0","_nodeVersion":"14.14.0","_npmVersion":"6.14.8","dist":{"integrity":"sha512-c8a+9Nny3BgO8v4vHnV3TEWStCy0lH0tWa84VCUyhYaOLmQiibSHZs7WvJDMOQGlBGTA/3Dn8BPPfbHIffiBGA==","shasum":"8389e7c820e97025be67494034049b51c0578958","tarball":"https://registry.npmjs.org/@vuedx/vue-virtual-textdocument/-/vue-virtual-textdocument-0.3.1-insiders-1607121235.0.tgz","fileCount":8,"unpackedSize":226112,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfyrltCRA9TVsSAnZWagAAfjoQAI8N2obABc86Q7avjOPf\nu2WuGr1Ry8mTz3767Z/vjS0Qk5sqi+pWoGkUgL4G0r6LzAeaS0BordO/TKTL\nkc7HxqzLLvPiyjpNEksO+yULqQMhmPZI76tI4afyl3mfyyBZuSeTCsRz4xAC\nNJHdRGkZLi0eTRDvfBnX4kJ2Oz4MgnPo5YfAx0+m0owApBsUUtVAkViMgKgj\nNHUWZGaF2rCwV4YEKNZAa+l+1GcDAJkTm/jdIqsYL/eIsJQQicAOC2P1PpdM\nck+l2A8tMVWZ5vXUCRQH7BFhP9vOrm5uP9j7dCG3ZDeqM1WwODor4A2UbAba\nB0Ymo8dEQYDm/oFxeQ5iaqj2aoAbI+Tyh/+d8tTF47FesjbroENl6CuZO89e\nsUFyOd6gnhIeUx45haQ32KgCjVlHNOi9FKtExw2vAz5dbHl6xIZEMhxsoK72\nrL2jcTud6kLNHBDgjahf+/+tiDd6KwoXhGvuP5zT5R+n6q+Ou3I2uC+QBa18\nxotRTlWlhBjd+xPNEMgupEd0MYOSKMjLBZ9E2HOfwDf2DLXxXDvitp7/CzWq\nrKVINevMfuG6cXb3GeZyqpR60Igza5i5zRS0vTvFg3Ooae9FVNsc3iT4yis3\nVqsLDpHadUTgRYUm9gB7YnPB519SINGKVaP2VHkxlcsGan+aIEFyarQwg5Ur\nZH1p\r\n=+vp1\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCNk1OJkdrTyK0KT4mBNVmelpyJ+lSi1rsZPRm99nBDKgIhALy7aXRCnssRMrtGNit3SWFRUALHulWR3jTJXt5pRYF+"}]},"_npmUser":{"name":"znck","email":"rahulkdn@gmail.com"},"directories":{},"maintainers":[{"name":"znck","email":"rahulkdn@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/vue-virtual-textdocument_0.3.1-insiders-1607121235.0_1607121261243_0.2777059856627577"},"_hasShrinkwrap":false},"0.3.1-insiders-1607543873.0":{"name":"@vuedx/vue-virtual-textdocument","version":"0.3.1-insiders-1607543873.0","description":"An implementation of virtual filesystem for accessing blocks in a `.vue` file as independent files.","main":"dist/index.cjs.js","module":"dist/index.esm.js","types":"dist/index.d.ts","private":false,"scripts":{},"keywords":[],"author":{"name":"Rahul Kadyan","email":"rahulkdn@gmail.com","url":"https://znck.me/"},"license":"MIT","dependencies":{"@vuedx/analyze":"0.3.1-insiders-1607543873.0","@vuedx/compiler-sfc":"0.3.1-insiders-1607543873.0","@vuedx/compiler-tsx":"0.3.1-insiders-1607543873.0","source-map":"^0.6.1","vscode-languageserver-textdocument":"^1.0.1","vscode-uri":"^2.1.2"},"devDependencies":{"fast-glob":"^3.2.4","typescript":"^4.0.3"},"readme":"# Vue Virtual TextDocument\n\nAn implementation of virtual filesystem for accessing blocks in a `.vue` file as independent files.\n","readmeFilename":"readme.md","_id":"@vuedx/vue-virtual-textdocument@0.3.1-insiders-1607543873.0","_nodeVersion":"14.14.0","_npmVersion":"6.14.8","dist":{"integrity":"sha512-HiMIGj1VGacRVI0UjMJwsfLkpEkriXCWAd12Xe1aymZ+8DoQhMs19UoOWlhollJFTcUZ3s5wq3+2pa26kqncnw==","shasum":"a2177299263ac1a3297a8f172c525c22c5d11b3b","tarball":"https://registry.npmjs.org/@vuedx/vue-virtual-textdocument/-/vue-virtual-textdocument-0.3.1-insiders-1607543873.0.tgz","fileCount":8,"unpackedSize":226112,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJf0SxdCRA9TVsSAnZWagAANREP/jFWwc+QJ4jbPUO0PYmo\nb7gwodax/FEt4raBG2dZkDL/uPO3MoyKGk7dN7xCRWqZKqFl1b0ji7vuuG3I\nq+GRa6/DBJ78nU8uZRbgyVHAzDANwCwXYVDBSKYNOoY8TRHsvytvN08SRkyZ\nVJrtq3z6UayyaJabB53Hjubw76Ih3ONpw8/8QsO4ajLy+mMjIGq7r/LyY0/L\ng8J4s3AEfmWx9chAF3gnCsgL+lvYEM/p8Qw3f/6njl4H+BjlprclQRnlWzln\no2n3EbVeu0kpzu8c6k618RcJZ/F5HHujjdRYebb9dJccXQWOjs+OhSKQaPsn\nvJL2mQq1StY6ktwhMd4jpDRlYMzhNjnquDv6Wxk4NF/0qUT8WRL8PFcSem16\nsfaKc7+pStqVRxwiX1viu9zLHUQdJ++6PW2/Trx9qwhKWeXK3BG8Nh6gZd69\nrJ/gwRisDgzynHFGQznXSk/Ojcsjs9q+R2yUSfmH+sxr07gyRjzUve0GBB5R\ngHKn1xex0ZClGtfB6Yl2B8QSsZxaynPO+Rl2/va0FXFscmWsYw/P9EfO0Yqf\n/jf8unyMOiAUTgr9XoNnvkrxtzxPVPwfG3JOuXvhyyfaTBmmeoST8IStPVOW\nxSCLQaNytPkZ0m2aAoTXkH47zDUTbZuCdQaIC+JdvcgqMy7WwUnmxyQqlppS\nQu5x\r\n=cH2P\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDut17EC7tEUxMNiuhpR9S9axN1PVs2acshwtXtf0h5EwIhAOKoXnczlYZghC6i8XHalxZUvVvgb2EDZze2e9x4usfV"}]},"_npmUser":{"name":"znck","email":"rahulkdn@gmail.com"},"directories":{},"maintainers":[{"name":"znck","email":"rahulkdn@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/vue-virtual-textdocument_0.3.1-insiders-1607543873.0_1607543900631_0.4713349625209675"},"_hasShrinkwrap":false},"0.3.1-insiders-1607576406.0":{"name":"@vuedx/vue-virtual-textdocument","version":"0.3.1-insiders-1607576406.0","description":"An implementation of virtual filesystem for accessing blocks in a `.vue` file as independent files.","main":"dist/index.cjs.js","module":"dist/index.esm.js","types":"dist/index.d.ts","private":false,"scripts":{},"keywords":[],"author":{"name":"Rahul Kadyan","email":"rahulkdn@gmail.com","url":"https://znck.me/"},"license":"MIT","dependencies":{"@vuedx/analyze":"0.3.1-insiders-1607576406.0","@vuedx/compiler-sfc":"0.3.1-insiders-1607576406.0","@vuedx/compiler-tsx":"0.3.1-insiders-1607576406.0","source-map":"^0.6.1","vscode-languageserver-textdocument":"^1.0.1","vscode-uri":"^2.1.2"},"devDependencies":{"fast-glob":"^3.2.4","typescript":"^4.0.3"},"readme":"# Vue Virtual TextDocument\n\nAn implementation of virtual filesystem for accessing blocks in a `.vue` file as independent files.\n","readmeFilename":"readme.md","_id":"@vuedx/vue-virtual-textdocument@0.3.1-insiders-1607576406.0","_nodeVersion":"14.14.0","_npmVersion":"6.14.8","dist":{"integrity":"sha512-hX8iTDvMJonwP9QGX9F5vpFKEVuBmNtWUzLwUHoQzYFD9eJ5hEa2UjrRNKxuY4V4lRVtF/qkyj8UBRg+ceF4EQ==","shasum":"a21f4c2f5a34c31adc1c94a75dc92823f4587e11","tarball":"https://registry.npmjs.org/@vuedx/vue-virtual-textdocument/-/vue-virtual-textdocument-0.3.1-insiders-1607576406.0.tgz","fileCount":8,"unpackedSize":226112,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJf0atyCRA9TVsSAnZWagAAmmUP/0GNeeRcJFBmsD0js2kM\nznLzHwvAmdr1DcDtFe3zb226XwseW5iuLvS4aHU6dSBhtQ+4AqARS+NUhPjw\nb0bl/nlcrUQvJ6amdusaslIK0Sa5JzHFH4bUgAYm1omefLjvIio1ej2O8k9f\n3+9FTpL5AdiazNRmQgd7Hk4pItOBLTGhbFEG7zR4yxuoZwckLqdTC914ICNx\nI6H8223p+Ox+4hDQcF0jdmyWZvRM4Frf4lMUKxeTE0oK5aHW3tRtQqCVpRgQ\nni6K831XLz/zTA0jztsIGbDBl2Yc4KgXuo8cZH7nN4k8Pto+hiRf6SKAP/tV\n6YsCgQyI7Hg0rptFEvT4V6uzP4KjVTfCy9mnmp+VcdFSqHuoVobeMstSvVkW\n9hRsDMJ0OrnzFkNeJvJDIaIouWOIByqBzXQeKqwfBvPnWx3eFttyAoYyj7D1\nUbTTlgwwSRTMbtQ8SQSPIv7yQuJOpW3mveHHr+rGmUGJeuahEZR7jD0o59n5\nbuAMUGKXJNbcaLZfBaohdqANB9JhI+2Hx7U75D1m402mlRGcOcTUH1ivH0w2\nfzT9eEzJVrpVKPXDzSiSbcmXta7ZWyp3bZawpY6qQCqNBQum2/YH/57r7cjk\nHNkLxEgkMr9EyRDM6xMIAkGIX9iDVWzxO/chm+7p5QzOHObRWHhnBV210UT7\n9O60\r\n=t2mc\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCKcAEV9XObYMC4ZE/YcUuQ+FgJCi+0YUu2kzImAmvzEAIgBwu4+AgtgErEhd7bg2s25B3TpCzkYWsPbi9ieHSB25g="}]},"_npmUser":{"name":"znck","email":"rahulkdn@gmail.com"},"directories":{},"maintainers":[{"name":"znck","email":"rahulkdn@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/vue-virtual-textdocument_0.3.1-insiders-1607576406.0_1607576433702_0.931221329006884"},"_hasShrinkwrap":false},"0.3.1-insiders-1607576746.0":{"name":"@vuedx/vue-virtual-textdocument","version":"0.3.1-insiders-1607576746.0","description":"An implementation of virtual filesystem for accessing blocks in a `.vue` file as independent files.","main":"dist/index.cjs.js","module":"dist/index.esm.js","types":"dist/index.d.ts","private":false,"scripts":{},"keywords":[],"author":{"name":"Rahul Kadyan","email":"rahulkdn@gmail.com","url":"https://znck.me/"},"license":"MIT","dependencies":{"@vuedx/analyze":"0.3.1-insiders-1607576746.0","@vuedx/compiler-sfc":"0.3.1-insiders-1607576746.0","@vuedx/compiler-tsx":"0.3.1-insiders-1607576746.0","source-map":"^0.6.1","vscode-languageserver-textdocument":"^1.0.1","vscode-uri":"^2.1.2"},"devDependencies":{"fast-glob":"^3.2.4","typescript":"^4.0.3"},"readme":"# Vue Virtual TextDocument\n\nAn implementation of virtual filesystem for accessing blocks in a `.vue` file as independent files.\n","readmeFilename":"readme.md","_id":"@vuedx/vue-virtual-textdocument@0.3.1-insiders-1607576746.0","_nodeVersion":"14.14.0","_npmVersion":"6.14.8","dist":{"integrity":"sha512-1VuxG4MWA60b9tJbHoAj0LeHmwGh3TizLmibZN1xsMWDPL8Afu+llLPh/NYGmqLEVphcJd8OLSB33KjDb67STQ==","shasum":"688ef17ae95852e895d177de2805071431c8db4a","tarball":"https://registry.npmjs.org/@vuedx/vue-virtual-textdocument/-/vue-virtual-textdocument-0.3.1-insiders-1607576746.0.tgz","fileCount":8,"unpackedSize":226112,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJf0azFCRA9TVsSAnZWagAAd/4P/3afk9ejh/vghIXEYc6h\n3vws++RdwZmZld9kg7C7vqyl/4+qLJuUPYayGtPXymXisOZ1KMTazg7UOzQa\nMHZAxIDSurrFLTYXJnbetxeOfjeg5kGvJmAmYggG+12eQ38hA0BvspU6TGtv\nVa8zWR96wL0LBf4NbrKcZ3+V7/Ya5HtkXHPLAPmqCxdgHZmbMlWDkpBx2gVJ\nvNajBpou1TTgF1g5iBRSnnC1F5NInZMq1+SxHP8/VypRH8+CXcQHNGl789mr\nw07jooYnhHNn7J8iM1g4tyLqKVGfVmEo5YEigPpSV3+I0F6J9Xu++oyhM7C/\nP4ERGHXtqbMZBv+ptV0cLU0In2eTr0HX4fl2u/nF/J6L0lLpHzpUxI103Osz\nILIjDOaxDhntSD7t4fgFBhG3WlbVzsRZyO0iE8Y0G4Kme8rt8mHccgwBreZE\nLygVudvAWLvzFxRauwmOa1pAzDf2R6IFifZz46BEjiVlWrG613zGRVB5n4K3\nOqUtEr3Lt5UhLIAflreGSG71BN1AKSeiCuHgl2VInOc6ayi/TGRoXJ46tqou\nNwu7f6rES3kQ7ee2aZSwFrxr/OAcoycA8IUe79VcGJ1mabxxRSqINEZJRlpN\ngt6PZvobQX8hd2pnpMI98okRsIRD89MAibfk9ltQiZ+j5T2z76GREnaHw18I\nnenv\r\n=XqS1\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCICvMsSPynf3FDOdiACpbuEGAd5VjGYC6NINozh/LO/xGAiEA08TXd+vxBwmIL81XJq7p+b0y1Y0eHmUxGHv7Esx3UFY="}]},"_npmUser":{"name":"znck","email":"rahulkdn@gmail.com"},"directories":{},"maintainers":[{"name":"znck","email":"rahulkdn@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/vue-virtual-textdocument_0.3.1-insiders-1607576746.0_1607576772967_0.49337831875158633"},"_hasShrinkwrap":false},"0.3.1-insiders-1607577772.0":{"name":"@vuedx/vue-virtual-textdocument","version":"0.3.1-insiders-1607577772.0","description":"An implementation of virtual filesystem for accessing blocks in a `.vue` file as independent files.","main":"dist/index.cjs.js","module":"dist/index.esm.js","types":"dist/index.d.ts","private":false,"scripts":{},"keywords":[],"author":{"name":"Rahul Kadyan","email":"rahulkdn@gmail.com","url":"https://znck.me/"},"license":"MIT","dependencies":{"@vuedx/analyze":"0.3.1-insiders-1607577772.0","@vuedx/compiler-sfc":"0.3.1-insiders-1607577772.0","@vuedx/compiler-tsx":"0.3.1-insiders-1607577772.0","source-map":"^0.6.1","vscode-languageserver-textdocument":"^1.0.1","vscode-uri":"^2.1.2"},"devDependencies":{"@vuedx/shared":"0.0.1-insiders-1607577772.0","fast-glob":"^3.2.4","typescript":"^4.0.3"},"readme":"# Vue Virtual TextDocument\n\nAn implementation of virtual filesystem for accessing blocks in a `.vue` file as independent files.\n","readmeFilename":"readme.md","_id":"@vuedx/vue-virtual-textdocument@0.3.1-insiders-1607577772.0","_nodeVersion":"14.14.0","_npmVersion":"6.14.8","dist":{"integrity":"sha512-L9gJGVtvu5iJOiIm5KJ6EqAAY504E4aaAPj6pDmqmybKmeCYlLlLVWLezkC82u/rvo3R+kftofaP9VQCNOIpkQ==","shasum":"5be129f74251c19f5150ac92aa79aa8d18883919","tarball":"https://registry.npmjs.org/@vuedx/vue-virtual-textdocument/-/vue-virtual-textdocument-0.3.1-insiders-1607577772.0.tgz","fileCount":8,"unpackedSize":233656,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJf0bDGCRA9TVsSAnZWagAA3uEP/i9Dh1Dq3lu47ytCegDj\nUSCn+YFJEmhnZDLdPWBdaz+EKG81Nf5PfWsizcmkb06d/vP37ci6gDSvnpUx\nxbahk0BgWXPqLMBuqnvKZHGHA4bEGXRyOg9hTpH6QmHsdlPleWRCcP1uLH6C\nTMzO7QKb796zt9aGgGs8w8sxgWvkIel67QGR1e0XkD66iNlacLw6rfLLeXrW\nDIQYEiaBSStoFbscT1wUOBJh3jAZtHn9BQVBZsfaRgBA6cK8qfzDqhyl4Khq\nc3ptptgOvwiijeP1XQw6Rn+x7zvjvzXqzKlnn/Rk6kFoIvxLhMW3hL7dKc8T\nj95rAXlArYHYzZpBk7kt1TKwLRytNflLYos5WPF4a0PDBK2f4WKLvGjwGHo6\nBf3H/AoTp9JnfKhYkd+2lQAFi0w4mEb0aBNc6aM5Bv2hi6w/3RWWkxQpw23k\nIgOabp81bfd3BrT2QNenojSo80SnxzHQWkneKRM7ppufaHTk14flCXLoU3K5\nKnjSwkndaTMeRvWQKjbbGg8+tnyeDDqjdBP1YKndJ/WgBRQ2N4IBs3Q16W7T\nCid7DmZ1haFxeLJKfM7hWDsGM3pD5XC3Am8C5LiJg+LvzFO0a3xTFR7YC6P6\nN+DQ53TPP8qPa4Iat20VrlOhw8L2ZrK4tVYRF0FwyJQ4zJGDDMWU8eGPAP/r\n0iwD\r\n=Cgdo\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCc/Dmcwhj7iFv7uA8n8gBz38cSXaNpO8U4DgIbp73FZwIgZNDV/mmXt+JOQj+yb1rytkjxcnAONV+UdAvEMvlR2/w="}]},"_npmUser":{"name":"znck","email":"rahulkdn@gmail.com"},"directories":{},"maintainers":[{"name":"znck","email":"rahulkdn@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/vue-virtual-textdocument_0.3.1-insiders-1607577772.0_1607577797945_0.6426799484204735"},"_hasShrinkwrap":false},"0.3.1-insiders-1607631204.0":{"name":"@vuedx/vue-virtual-textdocument","version":"0.3.1-insiders-1607631204.0","description":"An implementation of virtual filesystem for accessing blocks in a `.vue` file as independent files.","main":"dist/index.cjs.js","module":"dist/index.esm.js","types":"dist/index.d.ts","private":false,"scripts":{},"keywords":["vue","vue sfc","sfc","vue virtual files"],"repository":{"type":"git","url":"git+https://github.com/znck/vue-developer-experience.git"},"author":{"name":"Rahul Kadyan","email":"rahulkdn@gmail.com","url":"https://znck.me/"},"funding":{"type":"individual","url":"https://github.com/sponsors/znck"},"license":"MIT","bugs":{"url":"https://github.com/znck/vue-developer-experience/issues"},"homepage":"https://github.com/znck/vue-developer-experience#readme","dependencies":{"@vuedx/analyze":"0.3.1-insiders-1607631204.0","@vuedx/compiler-sfc":"0.3.1-insiders-1607631204.0","@vuedx/compiler-tsx":"0.3.1-insiders-1607631204.0","source-map":"^0.6.1","vscode-languageserver-textdocument":"^1.0.1","vscode-uri":"^2.1.2"},"devDependencies":{"@vuedx/shared":"0.0.1-insiders-1607631204.0","fast-glob":"^3.2.4","typescript":"^4.0.3"},"readme":"# Vue Virtual TextDocument\n\nAn implementation of virtual filesystem for accessing blocks in a `.vue` file as independent files.\n\n## Support\n\nThis package is part of [VueDX project](https://github.com/znck/vue-developer-experience), maintained by [Rahul Kadyan](https://github.com/znck). You can [💖 sponsor him](https://github.com/sponsors/znck) for continued development of this package and other VueDX tools.\n\n```\nnpm add @vuedx/vue-virtual-textdocument\n```\n<!-- #region API-DOCS -->\n<!-- Do not edit this file. It is a report generated by [scripts/docgen.js](https://github.com/znck/vue-developer-experience/tree/master/scripts/docgen.js). -->\n\n## API\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-AsyncDocumentStore-class\" id=\"-vuedx-vue-virtual-textdocument-AsyncDocumentStore-class\"></a>\n\n### [AsyncDocumentStore](#-vuedx-vue-virtual-textdocument-AsyncDocumentStore-class)\n\n\n\n<details><summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare class AsyncDocumentStore<T> extends DocumentStore<T> {\n  constructor(resolve: (uri: string) => T | Promise<T | null> | null, normalize?: (uri: string) => string);\n  get(uri: string): T | null;\n  get(uri: string): Promise<T | null>;\n}\n```\n\n**Members:**\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-AsyncDocumentStore-get-member-1-\" id=\"-vuedx-vue-virtual-textdocument-AsyncDocumentStore-get-member-1-\"></a>\n\n#### [get](#-vuedx-vue-virtual-textdocument-AsyncDocumentStore-get-member-1-)\n\n\n\n**Signature:**\n```ts\nget(uri: string): T | null;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-AsyncDocumentStore-get-member-2-\" id=\"-vuedx-vue-virtual-textdocument-AsyncDocumentStore-get-member-2-\"></a>\n\n#### [get](#-vuedx-vue-virtual-textdocument-AsyncDocumentStore-get-member-2-)\n\n\n\n**Signature:**\n```ts\nget(uri: string): Promise<T | null>;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n\n<br>\n</details>\n\n<br>\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-class\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-class\"></a>\n\n### [DocumentStore](#-vuedx-vue-virtual-textdocument-DocumentStore-class)\n\n\n\n<details><summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare class DocumentStore<T> {\n  constructor(resolve: (uri: string) => T | null, normalize?: (uri: string) => string);\n  all(): string[];\n  delete(uri: string): boolean;\n  dispose(): void;\n  get(uri: string): T | null;\n  protected getNormalizedUri(uri: string): string;\n  has(uri: string): boolean;\n  protected map: Map<string, T>;\n  normalize: (uri: string) => string;\n  protected resolve: (uri: string) => T | null;\n  protected reverseUriMap: Map<string, string>;\n  set(uri: string, document: T): void;\n}\n```\n\n**Members:**\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-all-member-1-\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-all-member-1-\"></a>\n\n#### [all](#-vuedx-vue-virtual-textdocument-DocumentStore-all-member-1-)\n\n\n\n**Signature:**\n```ts\nall(): string[];\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-delete-member-1-\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-delete-member-1-\"></a>\n\n#### [delete](#-vuedx-vue-virtual-textdocument-DocumentStore-delete-member-1-)\n\n\n\n**Signature:**\n```ts\ndelete(uri: string): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-dispose-member-1-\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-dispose-member-1-\"></a>\n\n#### [dispose](#-vuedx-vue-virtual-textdocument-DocumentStore-dispose-member-1-)\n\n\n\n**Signature:**\n```ts\ndispose(): void;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-get-member-1-\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-get-member-1-\"></a>\n\n#### [get](#-vuedx-vue-virtual-textdocument-DocumentStore-get-member-1-)\n\n\n\n**Signature:**\n```ts\nget(uri: string): T | null;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-getNormalizedUri-member-1-\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-getNormalizedUri-member-1-\"></a>\n\n#### [getNormalizedUri](#-vuedx-vue-virtual-textdocument-DocumentStore-getNormalizedUri-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected getNormalizedUri(uri: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-has-member-1-\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-has-member-1-\"></a>\n\n#### [has](#-vuedx-vue-virtual-textdocument-DocumentStore-has-member-1-)\n\n\n\n**Signature:**\n```ts\nhas(uri: string): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-set-member-1-\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-set-member-1-\"></a>\n\n#### [set](#-vuedx-vue-virtual-textdocument-DocumentStore-set-member-1-)\n\n\n\n**Signature:**\n```ts\nset(uri: string, document: T): void;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n| document | <code>T</code> | - |\n\n<br>\n</details>\n\n<br>\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-class\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-class\"></a>\n\n### [RenderFunctionTextDocument](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-class)\n\n\n\n<details><summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare class RenderFunctionTextDocument extends TransformedBlockTextDocument {\n  constructor(container: VueTextDocument, selector: Selector, transformed: TextDocument, source: TextDocument);\n  get ast(): CodegenResult['ast'] | undefined;\n  get contextCompletionsTriggerOffset(): number;\n  static create(options: CreateVirtualTextDocumentOptions): RenderFunctionTextDocument;\n  findExpression(offset: number, length: number): undefined | {\n        offset: number;\n        length: number;\n    };\n  protected generate(): string;\n  getAllGeneratedOffsetsAt(offset: number): undefined | Array<{\n        length: number;\n        offset: number;\n    }>;\n  getGeneratedOffsetAt(offset: number): undefined | {\n        length: number;\n        offset: number;\n    };\n  protected getKnownComponents(): Record<string, ComponentImport>;\n  getOriginalOffsetAt(offset: number): undefined | {\n        offset: number;\n        length: number;\n    };\n  isInGeneratedRange(offset: number): boolean;\n  get parserErrors(): CodegenResult['errors'];\n  get tagCompletionsTriggerOffset(): number;\n  toDisplayMappings(): string;\n  protected tryGenerate(): string;\n}\n```\n\n**Members:**\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-create-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-create-member-1-\"></a>\n\n#### [create](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-create-member-1-)\n\n\n\n**Signature:**\n```ts\nstatic create(options: CreateVirtualTextDocumentOptions): RenderFunctionTextDocument;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| options | <code><a href=\"#-vuedx-vue-virtual-textdocument--CreateVirtualTextDocumentOptions-interface\">CreateVirtualTextDocumentOptions</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-findExpression-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-findExpression-member-1-\"></a>\n\n#### [findExpression](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-findExpression-member-1-)\n\n\n\n**Signature:**\n```ts\nfindExpression(offset: number, length: number): undefined | {\n        offset: number;\n        length: number;\n    };\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n| length | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-generate-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-generate-member-1-\"></a>\n\n#### [generate](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-generate-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected generate(): string;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getAllGeneratedOffsetsAt-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getAllGeneratedOffsetsAt-member-1-\"></a>\n\n#### [getAllGeneratedOffsetsAt](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getAllGeneratedOffsetsAt-member-1-)\n\n\n\n**Signature:**\n```ts\ngetAllGeneratedOffsetsAt(offset: number): undefined | Array<{\n        length: number;\n        offset: number;\n    }>;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getGeneratedOffsetAt-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getGeneratedOffsetAt-member-1-\"></a>\n\n#### [getGeneratedOffsetAt](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getGeneratedOffsetAt-member-1-)\n\n\n\n**Signature:**\n```ts\ngetGeneratedOffsetAt(offset: number): undefined | {\n        length: number;\n        offset: number;\n    };\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getKnownComponents-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getKnownComponents-member-1-\"></a>\n\n#### [getKnownComponents](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getKnownComponents-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected getKnownComponents(): Record<string, ComponentImport>;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getOriginalOffsetAt-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getOriginalOffsetAt-member-1-\"></a>\n\n#### [getOriginalOffsetAt](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getOriginalOffsetAt-member-1-)\n\n\n\n**Signature:**\n```ts\ngetOriginalOffsetAt(offset: number): undefined | {\n        offset: number;\n        length: number;\n    };\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-isInGeneratedRange-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-isInGeneratedRange-member-1-\"></a>\n\n#### [isInGeneratedRange](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-isInGeneratedRange-member-1-)\n\n\n\n**Signature:**\n```ts\nisInGeneratedRange(offset: number): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-toDisplayMappings-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-toDisplayMappings-member-1-\"></a>\n\n#### [toDisplayMappings](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-toDisplayMappings-member-1-)\n\n\n\n**Signature:**\n```ts\ntoDisplayMappings(): string;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-tryGenerate-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-tryGenerate-member-1-\"></a>\n\n#### [tryGenerate](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-tryGenerate-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected tryGenerate(): string;\n```\n\n\n<br>\n</details>\n\n<br>\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-class\" id=\"-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-class\"></a>\n\n### [TransformedBlockTextDocument](#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-class)\n\n\n\n<details><summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare class TransformedBlockTextDocument extends VirtualTextDocument {\n  protected constructor(container: VueTextDocument, selector: Selector, transformed: TextDocument, source: TextDocument | VirtualTextDocument, _transform: (document: TransformedBlockTextDocument) => BlockTransformResult);\n  static create(options: CreateTransformedBlockTextDocumentOptions): TransformedBlockTextDocument;\n  protected refresh(): void;\n  transform(): BlockTransformResult;\n  tryGetGeneratedOffset(offset: number): number | undefined;\n  tryGetSourceOffset(offset: number): number | undefined;\n}\n```\n\n**Members:**\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-create-member-1-\" id=\"-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-create-member-1-\"></a>\n\n#### [create](#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-create-member-1-)\n\n\n\n**Signature:**\n```ts\nstatic create(options: CreateTransformedBlockTextDocumentOptions): TransformedBlockTextDocument;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| options | <code><a href=\"#-vuedx-vue-virtual-textdocument--CreateTransformedBlockTextDocumentOptions-interface\">CreateTransformedBlockTextDocumentOptions</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-refresh-member-1-\" id=\"-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-refresh-member-1-\"></a>\n\n#### [refresh](#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-refresh-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected refresh(): void;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-transform-member-1-\" id=\"-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-transform-member-1-\"></a>\n\n#### [transform](#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-transform-member-1-)\n\n\n\n**Signature:**\n```ts\ntransform(): BlockTransformResult;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-tryGetGeneratedOffset-member-1-\" id=\"-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-tryGetGeneratedOffset-member-1-\"></a>\n\n#### [tryGetGeneratedOffset](#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-tryGetGeneratedOffset-member-1-)\n\n\n\n**Signature:**\n```ts\ntryGetGeneratedOffset(offset: number): number | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-tryGetSourceOffset-member-1-\" id=\"-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-tryGetSourceOffset-member-1-\"></a>\n\n#### [tryGetSourceOffset](#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-tryGetSourceOffset-member-1-)\n\n\n\n**Signature:**\n```ts\ntryGetSourceOffset(offset: number): number | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n</details>\n\n<br>\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VirtualTextDocument-class\" id=\"-vuedx-vue-virtual-textdocument-VirtualTextDocument-class\"></a>\n\n### [VirtualTextDocument](#-vuedx-vue-virtual-textdocument-VirtualTextDocument-class)\n\n\n\n<details><summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare class VirtualTextDocument extends ProxyTextDocument {\n  protected constructor(container: VueTextDocument, selector: Selector, doc: TextDocument);\n  readonly container: VueTextDocument;\n  static create(options: CreateVirtualTextDocumentOptions): VirtualTextDocument;\n  protected isDirty: boolean;\n  markDirty(): void;\n  protected refresh(): void;\n  readonly selector: Selector;\n}\n```\n\n**Members:**\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VirtualTextDocument-create-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VirtualTextDocument-create-member-1-\"></a>\n\n#### [create](#-vuedx-vue-virtual-textdocument-VirtualTextDocument-create-member-1-)\n\n\n\n**Signature:**\n```ts\nstatic create(options: CreateVirtualTextDocumentOptions): VirtualTextDocument;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| options | <code><a href=\"#-vuedx-vue-virtual-textdocument--CreateVirtualTextDocumentOptions-interface\">CreateVirtualTextDocumentOptions</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VirtualTextDocument-markDirty-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VirtualTextDocument-markDirty-member-1-\"></a>\n\n#### [markDirty](#-vuedx-vue-virtual-textdocument-VirtualTextDocument-markDirty-member-1-)\n\n\n\n**Signature:**\n```ts\nmarkDirty(): void;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VirtualTextDocument-refresh-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VirtualTextDocument-refresh-member-1-\"></a>\n\n#### [refresh](#-vuedx-vue-virtual-textdocument-VirtualTextDocument-refresh-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected refresh(): void;\n```\n\n\n<br>\n</details>\n\n<br>\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-class\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-class\"></a>\n\n### [VueTextDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-class)\n\n\n\n<details><summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare class VueTextDocument extends ProxyTextDocument {\n  constructor(doc: TextDocument, options?: VueTextDocumentOptions, parseOptions?: SFCParseOptions);\n  all(): VirtualTextDocument[];\n  blockAt(position: Position | number): SFCBlock | null | undefined;\n  static create(uri: string, languageId: string, version: number, content: string, options?: VueTextDocumentOptions, parseOptions?: SFCParseOptions): VueTextDocument;\n  protected createBlockDocument(selector: BlockSelector): VirtualTextDocument | undefined;\n  protected createInternalModuleDocument(): TransformedBlockTextDocument;\n  protected createModuleDocument(): TransformedBlockTextDocument;\n  protected createRenderDocument(): RenderFunctionTextDocument;\n  get descriptor(): SFCDescriptor;\n  documentAt(position: Position | number): VirtualTextDocument | undefined;\n  getBlock(selector: BlockSelector): SFCBlock | null | undefined;\n  getBlockSelector(block: SFCBlock): BlockSelector | undefined;\n  getDocument(selector: typeof RENDER_SELECTOR): RenderFunctionTextDocument;\n  getDocument(selector: SelectorLike): VirtualTextDocument;\n  getDocument(selector: string): VirtualTextDocument | undefined;\n  getDocumentFileName(selectorLike: SelectorLike): string;\n  protected getDocumentId(selector: Selector): string;\n  protected getDocumentLanguage(selector: Selector): string;\n  markDirty(): void;\n  readonly options: VueTextDocumentOptions;\n  protected parse(): void;\n  static update(document: VueTextDocument, changes: TextDocumentContentChangeEvent[], version: number): VueTextDocument;\n}\n```\n\n**Members:**\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-all-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-all-member-1-\"></a>\n\n#### [all](#-vuedx-vue-virtual-textdocument-VueTextDocument-all-member-1-)\n\n\n\n**Signature:**\n```ts\nall(): VirtualTextDocument[];\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-blockAt-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-blockAt-member-1-\"></a>\n\n#### [blockAt](#-vuedx-vue-virtual-textdocument-VueTextDocument-blockAt-member-1-)\n\n\n\n**Signature:**\n```ts\nblockAt(position: Position | number): SFCBlock | null | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| position | <code><a href=\"#vscode-languageserver-textdocument-Position-interface\">Position</a> &#124; number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-create-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-create-member-1-\"></a>\n\n#### [create](#-vuedx-vue-virtual-textdocument-VueTextDocument-create-member-1-)\n\n\n\n**Signature:**\n```ts\nstatic create(uri: string, languageId: string, version: number, content: string, options?: VueTextDocumentOptions, parseOptions?: SFCParseOptions): VueTextDocument;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n| languageId | <code>string</code> | - |\n| version | <code>number</code> | - |\n| content | <code>string</code> | - |\n| options | <code><a href=\"#-vuedx-vue-virtual-textdocument--VueTextDocumentOptions-interface\">VueTextDocumentOptions</a></code> | - |\n| parseOptions | <code><a href=\"#-vue-compiler-sfc-SFCParseOptions-interface\">SFCParseOptions</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-createBlockDocument-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-createBlockDocument-member-1-\"></a>\n\n#### [createBlockDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-createBlockDocument-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected createBlockDocument(selector: BlockSelector): VirtualTextDocument | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selector | <code><a href=\"#-vuedx-vue-virtual-textdocument--BlockSelector-type\">BlockSelector</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-createInternalModuleDocument-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-createInternalModuleDocument-member-1-\"></a>\n\n#### [createInternalModuleDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-createInternalModuleDocument-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected createInternalModuleDocument(): TransformedBlockTextDocument;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-createModuleDocument-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-createModuleDocument-member-1-\"></a>\n\n#### [createModuleDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-createModuleDocument-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected createModuleDocument(): TransformedBlockTextDocument;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-createRenderDocument-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-createRenderDocument-member-1-\"></a>\n\n#### [createRenderDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-createRenderDocument-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected createRenderDocument(): RenderFunctionTextDocument;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-documentAt-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-documentAt-member-1-\"></a>\n\n#### [documentAt](#-vuedx-vue-virtual-textdocument-VueTextDocument-documentAt-member-1-)\n\n\n\n**Signature:**\n```ts\ndocumentAt(position: Position | number): VirtualTextDocument | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| position | <code><a href=\"#vscode-languageserver-textdocument-Position-interface\">Position</a> &#124; number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getBlock-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getBlock-member-1-\"></a>\n\n#### [getBlock](#-vuedx-vue-virtual-textdocument-VueTextDocument-getBlock-member-1-)\n\n\n\n**Signature:**\n```ts\ngetBlock(selector: BlockSelector): SFCBlock | null | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selector | <code><a href=\"#-vuedx-vue-virtual-textdocument--BlockSelector-type\">BlockSelector</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getBlockSelector-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getBlockSelector-member-1-\"></a>\n\n#### [getBlockSelector](#-vuedx-vue-virtual-textdocument-VueTextDocument-getBlockSelector-member-1-)\n\n\n\n**Signature:**\n```ts\ngetBlockSelector(block: SFCBlock): BlockSelector | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| block | <code><a href=\"#-vue-compiler-sfc-SFCBlock-interface\">SFCBlock</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-1-\"></a>\n\n#### [getDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-1-)\n\n\n\n**Signature:**\n```ts\ngetDocument(selector: typeof RENDER_SELECTOR): RenderFunctionTextDocument;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selector | <code>typeof <a href=\"#-vuedx-vue-virtual-textdocument--RENDER-SELECTOR-var\">RENDER_SELECTOR</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-2-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-2-\"></a>\n\n#### [getDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-2-)\n\n\n\n**Signature:**\n```ts\ngetDocument(selector: SelectorLike): VirtualTextDocument;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selector | <code><a href=\"#-vuedx-vue-virtual-textdocument--SelectorLike-type\">SelectorLike</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-3-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-3-\"></a>\n\n#### [getDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-3-)\n\n\n\n**Signature:**\n```ts\ngetDocument(selector: string): VirtualTextDocument | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selector | <code>string</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentFileName-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentFileName-member-1-\"></a>\n\n#### [getDocumentFileName](#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentFileName-member-1-)\n\n\n\n**Signature:**\n```ts\ngetDocumentFileName(selectorLike: SelectorLike): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selectorLike | <code><a href=\"#-vuedx-vue-virtual-textdocument--SelectorLike-type\">SelectorLike</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentId-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentId-member-1-\"></a>\n\n#### [getDocumentId](#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentId-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected getDocumentId(selector: Selector): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selector | <code><a href=\"#-vuedx-vue-virtual-textdocument--Selector-type\">Selector</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentLanguage-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentLanguage-member-1-\"></a>\n\n#### [getDocumentLanguage](#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentLanguage-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected getDocumentLanguage(selector: Selector): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selector | <code><a href=\"#-vuedx-vue-virtual-textdocument--Selector-type\">Selector</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-markDirty-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-markDirty-member-1-\"></a>\n\n#### [markDirty](#-vuedx-vue-virtual-textdocument-VueTextDocument-markDirty-member-1-)\n\n\n\n**Signature:**\n```ts\nmarkDirty(): void;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-parse-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-parse-member-1-\"></a>\n\n#### [parse](#-vuedx-vue-virtual-textdocument-VueTextDocument-parse-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected parse(): void;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-update-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-update-member-1-\"></a>\n\n#### [update](#-vuedx-vue-virtual-textdocument-VueTextDocument-update-member-1-)\n\n\n\n**Signature:**\n```ts\nstatic update(document: VueTextDocument, changes: TextDocumentContentChangeEvent[], version: number): VueTextDocument;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| document | <code><a href=\"#-vuedx-vue-virtual-textdocument--VueTextDocument-class\">VueTextDocument</a></code> | - |\n| changes | <code><a href=\"#vscode-languageserver-textdocument-TextDocumentContentChangeEvent-type\">TextDocumentContentChangeEvent</a>[]</code> | - |\n| version | <code>number</code> | - |\n\n<br>\n</details>\n\n<br>\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-asFsPath-function-1-\" id=\"-vuedx-vue-virtual-textdocument-asFsPath-function-1-\"></a>\n\n### [asFsPath](#-vuedx-vue-virtual-textdocument-asFsPath-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function asFsPath(uri: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-asFsUri-function-1-\" id=\"-vuedx-vue-virtual-textdocument-asFsUri-function-1-\"></a>\n\n### [asFsUri](#-vuedx-vue-virtual-textdocument-asFsUri-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function asFsUri(fileName: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-asUri-function-1-\" id=\"-vuedx-vue-virtual-textdocument-asUri-function-1-\"></a>\n\n### [asUri](#-vuedx-vue-virtual-textdocument-asUri-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function asUri(fileNameOrUri: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileNameOrUri | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-basename-function-1-\" id=\"-vuedx-vue-virtual-textdocument-basename-function-1-\"></a>\n\n### [basename](#-vuedx-vue-virtual-textdocument-basename-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function basename(fileName: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-binarySearch-function-1-\" id=\"-vuedx-vue-virtual-textdocument-binarySearch-function-1-\"></a>\n\n### [binarySearch](#-vuedx-vue-virtual-textdocument-binarySearch-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function binarySearch<T>(array: T[], isMatch: (a: T) => number, returnMin?: boolean): T | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| array | <code>T[]</code> | - |\n| isMatch | <code>(a: T) => number</code> | - |\n| returnMin | <code>boolean</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-getBlockLanguage-function-1-\" id=\"-vuedx-vue-virtual-textdocument-getBlockLanguage-function-1-\"></a>\n\n### [getBlockLanguage](#-vuedx-vue-virtual-textdocument-getBlockLanguage-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function getBlockLanguage(block?: SFCBlock | null): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| block | <code><a href=\"#-vue-compiler-sfc-SFCBlock-interface\">SFCBlock</a> &#124; null</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-getContainingFile-function-1-\" id=\"-vuedx-vue-virtual-textdocument-getContainingFile-function-1-\"></a>\n\n### [getContainingFile](#-vuedx-vue-virtual-textdocument-getContainingFile-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function getContainingFile(fileName: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-getLanguageExtension-function-1-\" id=\"-vuedx-vue-virtual-textdocument-getLanguageExtension-function-1-\"></a>\n\n### [getLanguageExtension](#-vuedx-vue-virtual-textdocument-getLanguageExtension-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function getLanguageExtension(lang: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| lang | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-getLanguageIdFromExtension-function-1-\" id=\"-vuedx-vue-virtual-textdocument-getLanguageIdFromExtension-function-1-\"></a>\n\n### [getLanguageIdFromExtension](#-vuedx-vue-virtual-textdocument-getLanguageIdFromExtension-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function getLanguageIdFromExtension(ext: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| ext | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-isOffsetInBlock-function-1-\" id=\"-vuedx-vue-virtual-textdocument-isOffsetInBlock-function-1-\"></a>\n\n### [isOffsetInBlock](#-vuedx-vue-virtual-textdocument-isOffsetInBlock-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function isOffsetInBlock(offset: number, block?: SFCBlock | null): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n| block | <code><a href=\"#-vue-compiler-sfc-SFCBlock-interface\">SFCBlock</a> &#124; null</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-isVirtualFile-function-1-\" id=\"-vuedx-vue-virtual-textdocument-isVirtualFile-function-1-\"></a>\n\n### [isVirtualFile](#-vuedx-vue-virtual-textdocument-isVirtualFile-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function isVirtualFile(fileName: string): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-isVirtualFileOfType-function-1-\" id=\"-vuedx-vue-virtual-textdocument-isVirtualFileOfType-function-1-\"></a>\n\n### [isVirtualFileOfType](#-vuedx-vue-virtual-textdocument-isVirtualFileOfType-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function isVirtualFileOfType(fileName: string, type: '_render' | '_module' | '_internal' | 'script' | 'scriptSetup'): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n| type | <code>'_render' &#124; '_module' &#124; '_internal' &#124; 'script' &#124; 'scriptSetup'</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-isVueFile-function-1-\" id=\"-vuedx-vue-virtual-textdocument-isVueFile-function-1-\"></a>\n\n### [isVueFile](#-vuedx-vue-virtual-textdocument-isVueFile-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function isVueFile(fileName: string): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-parseVirtualFileName-function-1-\" id=\"-vuedx-vue-virtual-textdocument-parseVirtualFileName-function-1-\"></a>\n\n### [parseVirtualFileName](#-vuedx-vue-virtual-textdocument-parseVirtualFileName-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function parseVirtualFileName(fileName: string): {\n    uri: string;\n    selector: Selector;\n} | null;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-relativeVirtualImportPath-function-1-\" id=\"-vuedx-vue-virtual-textdocument-relativeVirtualImportPath-function-1-\"></a>\n\n### [relativeVirtualImportPath](#-vuedx-vue-virtual-textdocument-relativeVirtualImportPath-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function relativeVirtualImportPath(fileName: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-replaceSlashes-function-1-\" id=\"-vuedx-vue-virtual-textdocument-replaceSlashes-function-1-\"></a>\n\n### [replaceSlashes](#-vuedx-vue-virtual-textdocument-replaceSlashes-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function replaceSlashes(fileName: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n<!-- #region API-DOCS -->\n","readmeFilename":"readme.md","_id":"@vuedx/vue-virtual-textdocument@0.3.1-insiders-1607631204.0","_nodeVersion":"14.14.0","_npmVersion":"6.14.8","dist":{"integrity":"sha512-HK5U10RIYccIYIAtCn0AkTD8KrGcmBdvr1kDJpyMMQVNA4SfQ+C3Att7Fu4lTXTBQ9rlP8XFLdK8FTOpOsE8MQ==","shasum":"9cb0322ce64edfd90d066369774e8a4a982f2c18","tarball":"https://registry.npmjs.org/@vuedx/vue-virtual-textdocument/-/vue-virtual-textdocument-0.3.1-insiders-1607631204.0.tgz","fileCount":8,"unpackedSize":270133,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJf0oF/CRA9TVsSAnZWagAA5Z0QAIUzjGdhHxaIRIVnYr9a\nvj9wDI4/bEz4JvFTnWqo0EJY7YbUaN9cwporRW/cVp4skCSBUVc+vZBPNqt4\nB5e1ea+f93ZRFCL9vf9qMA5B45ODhecMSx/xQedeVpPJyRrPYnXDZ6z1mziO\nlh7330I2v7hdpQM68cuZ9mKTrKjJikxVrxsZf5iCxedKVImrmx2e3ate97vw\nvRnHyW1EiuyOFESwKtqCfokL+K4azfp+XXm4sh2mhl4xtd2KVpiLH+F9S7V3\nbFklgU8tj2SwWjMjZ28cUJXfR5Uwa0JXjqHDfRVg0hZ/i4d1L1P/DYCHitpa\nt028/jz/Gb7dChoX1iobN3gIiLpEd9Gq+6dobNQE0XMCJTGtF5OXRZq7HQuD\nLefMNt0cYrdkGV7dosrF+P5RqMOqXVQNMUaXPrCUXLHGoXMWZTJvXfj3/WVQ\nE4yvpku1oLyt+cuWzdVpd4MNMbTgUURnN8T/Rodk4RW5BJRlDD/aYKQjJaDl\nRJMBHCtpPxmeQHEU6pbyBmQCBXgXWPwSr7GZETil7+/zNTeYGuC4JmsoTFg9\norjFu2TW7qT7XTs+cuiSZCu0JOjtAVHg51CRPWjoqycBEXsPJY2kLVXGjJBP\nUfjZbUwiAqcbq2bF72mrK6SgFqUdIgLUL0VuF15p9iTS1RuCVx7+0Inym5T9\nnL7t\r\n=mBBw\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCICDR0mHfmVAllsfW8R7pr0pka5PnAKws/VLaNPQbr/xEAiEA4Dk3HhuO9e6N7FkJu++NFVcRZ9Oph1DL0ava9J/18DU="}]},"_npmUser":{"name":"znck","email":"rahulkdn@gmail.com"},"directories":{},"maintainers":[{"name":"znck","email":"rahulkdn@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/vue-virtual-textdocument_0.3.1-insiders-1607631204.0_1607631231123_0.48299779020499156"},"_hasShrinkwrap":false},"0.3.1-insiders-1607632537.0":{"name":"@vuedx/vue-virtual-textdocument","version":"0.3.1-insiders-1607632537.0","description":"An implementation of virtual filesystem for accessing blocks in a `.vue` file as independent files.","main":"dist/index.cjs.js","module":"dist/index.esm.js","types":"dist/index.d.ts","private":false,"scripts":{},"keywords":["vue","vue sfc","sfc","vue virtual files"],"repository":{"type":"git","url":"git+https://github.com/znck/vue-developer-experience.git"},"author":{"name":"Rahul Kadyan","email":"rahulkdn@gmail.com","url":"https://znck.me/"},"funding":{"type":"individual","url":"https://github.com/sponsors/znck"},"license":"MIT","bugs":{"url":"https://github.com/znck/vue-developer-experience/issues"},"homepage":"https://github.com/znck/vue-developer-experience#readme","dependencies":{"@vuedx/analyze":"0.3.1-insiders-1607632537.0","@vuedx/compiler-sfc":"0.3.1-insiders-1607632537.0","@vuedx/compiler-tsx":"0.3.1-insiders-1607632537.0","source-map":"^0.6.1","vscode-languageserver-textdocument":"^1.0.1","vscode-uri":"^2.1.2"},"devDependencies":{"@vuedx/shared":"0.0.1-insiders-1607632537.0","fast-glob":"^3.2.4","typescript":"^4.0.3"},"readme":"# Vue Virtual TextDocument\n\nAn implementation of virtual filesystem for accessing blocks in a `.vue` file as independent files.\n\n## Support\n\nThis package is part of [VueDX project](https://github.com/znck/vue-developer-experience), maintained by [Rahul Kadyan](https://github.com/znck). You can [💖 sponsor him](https://github.com/sponsors/znck) for continued development of this package and other VueDX tools.\n\n```\nnpm add @vuedx/vue-virtual-textdocument\n```\n<!-- #region API-DOCS -->\n<!-- Do not edit this file. It is a report generated by [scripts/docgen.js](https://github.com/znck/vue-developer-experience/tree/master/scripts/docgen.js). -->\n\n## API\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-AsyncDocumentStore-class\" id=\"-vuedx-vue-virtual-textdocument-AsyncDocumentStore-class\"></a>\n\n### [AsyncDocumentStore](#-vuedx-vue-virtual-textdocument-AsyncDocumentStore-class)\n\n\n\n<details><summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare class AsyncDocumentStore<T> extends DocumentStore<T> {\n  constructor(resolve: (uri: string) => T | Promise<T | null> | null, normalize?: (uri: string) => string);\n  get(uri: string): T | null;\n  get(uri: string): Promise<T | null>;\n}\n```\n\n**Members:**\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-AsyncDocumentStore-get-member-1-\" id=\"-vuedx-vue-virtual-textdocument-AsyncDocumentStore-get-member-1-\"></a>\n\n#### [get](#-vuedx-vue-virtual-textdocument-AsyncDocumentStore-get-member-1-)\n\n\n\n**Signature:**\n```ts\nget(uri: string): T | null;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-AsyncDocumentStore-get-member-2-\" id=\"-vuedx-vue-virtual-textdocument-AsyncDocumentStore-get-member-2-\"></a>\n\n#### [get](#-vuedx-vue-virtual-textdocument-AsyncDocumentStore-get-member-2-)\n\n\n\n**Signature:**\n```ts\nget(uri: string): Promise<T | null>;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n\n<br>\n</details>\n\n<br>\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-class\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-class\"></a>\n\n### [DocumentStore](#-vuedx-vue-virtual-textdocument-DocumentStore-class)\n\n\n\n<details><summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare class DocumentStore<T> {\n  constructor(resolve: (uri: string) => T | null, normalize?: (uri: string) => string);\n  all(): string[];\n  delete(uri: string): boolean;\n  dispose(): void;\n  get(uri: string): T | null;\n  protected getNormalizedUri(uri: string): string;\n  has(uri: string): boolean;\n  protected map: Map<string, T>;\n  normalize: (uri: string) => string;\n  protected resolve: (uri: string) => T | null;\n  protected reverseUriMap: Map<string, string>;\n  set(uri: string, document: T): void;\n}\n```\n\n**Members:**\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-all-member-1-\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-all-member-1-\"></a>\n\n#### [all](#-vuedx-vue-virtual-textdocument-DocumentStore-all-member-1-)\n\n\n\n**Signature:**\n```ts\nall(): string[];\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-delete-member-1-\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-delete-member-1-\"></a>\n\n#### [delete](#-vuedx-vue-virtual-textdocument-DocumentStore-delete-member-1-)\n\n\n\n**Signature:**\n```ts\ndelete(uri: string): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-dispose-member-1-\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-dispose-member-1-\"></a>\n\n#### [dispose](#-vuedx-vue-virtual-textdocument-DocumentStore-dispose-member-1-)\n\n\n\n**Signature:**\n```ts\ndispose(): void;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-get-member-1-\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-get-member-1-\"></a>\n\n#### [get](#-vuedx-vue-virtual-textdocument-DocumentStore-get-member-1-)\n\n\n\n**Signature:**\n```ts\nget(uri: string): T | null;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-getNormalizedUri-member-1-\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-getNormalizedUri-member-1-\"></a>\n\n#### [getNormalizedUri](#-vuedx-vue-virtual-textdocument-DocumentStore-getNormalizedUri-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected getNormalizedUri(uri: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-has-member-1-\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-has-member-1-\"></a>\n\n#### [has](#-vuedx-vue-virtual-textdocument-DocumentStore-has-member-1-)\n\n\n\n**Signature:**\n```ts\nhas(uri: string): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-set-member-1-\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-set-member-1-\"></a>\n\n#### [set](#-vuedx-vue-virtual-textdocument-DocumentStore-set-member-1-)\n\n\n\n**Signature:**\n```ts\nset(uri: string, document: T): void;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n| document | <code>T</code> | - |\n\n<br>\n</details>\n\n<br>\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-class\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-class\"></a>\n\n### [RenderFunctionTextDocument](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-class)\n\n\n\n<details><summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare class RenderFunctionTextDocument extends TransformedBlockTextDocument {\n  constructor(container: VueTextDocument, selector: Selector, transformed: TextDocument, source: TextDocument);\n  get ast(): CodegenResult['ast'] | undefined;\n  get contextCompletionsTriggerOffset(): number;\n  static create(options: CreateVirtualTextDocumentOptions): RenderFunctionTextDocument;\n  findExpression(offset: number, length: number): undefined | {\n        offset: number;\n        length: number;\n    };\n  protected generate(): string;\n  getAllGeneratedOffsetsAt(offset: number): undefined | Array<{\n        length: number;\n        offset: number;\n    }>;\n  getGeneratedOffsetAt(offset: number): undefined | {\n        length: number;\n        offset: number;\n    };\n  protected getKnownComponents(): Record<string, ComponentImport>;\n  getOriginalOffsetAt(offset: number): undefined | {\n        offset: number;\n        length: number;\n    };\n  isInGeneratedRange(offset: number): boolean;\n  get parserErrors(): CodegenResult['errors'];\n  get tagCompletionsTriggerOffset(): number;\n  toDisplayMappings(): string;\n  protected tryGenerate(): string;\n}\n```\n\n**Members:**\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-create-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-create-member-1-\"></a>\n\n#### [create](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-create-member-1-)\n\n\n\n**Signature:**\n```ts\nstatic create(options: CreateVirtualTextDocumentOptions): RenderFunctionTextDocument;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| options | <code><a href=\"#-vuedx-vue-virtual-textdocument--CreateVirtualTextDocumentOptions-interface\">CreateVirtualTextDocumentOptions</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-findExpression-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-findExpression-member-1-\"></a>\n\n#### [findExpression](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-findExpression-member-1-)\n\n\n\n**Signature:**\n```ts\nfindExpression(offset: number, length: number): undefined | {\n        offset: number;\n        length: number;\n    };\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n| length | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-generate-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-generate-member-1-\"></a>\n\n#### [generate](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-generate-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected generate(): string;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getAllGeneratedOffsetsAt-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getAllGeneratedOffsetsAt-member-1-\"></a>\n\n#### [getAllGeneratedOffsetsAt](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getAllGeneratedOffsetsAt-member-1-)\n\n\n\n**Signature:**\n```ts\ngetAllGeneratedOffsetsAt(offset: number): undefined | Array<{\n        length: number;\n        offset: number;\n    }>;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getGeneratedOffsetAt-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getGeneratedOffsetAt-member-1-\"></a>\n\n#### [getGeneratedOffsetAt](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getGeneratedOffsetAt-member-1-)\n\n\n\n**Signature:**\n```ts\ngetGeneratedOffsetAt(offset: number): undefined | {\n        length: number;\n        offset: number;\n    };\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getKnownComponents-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getKnownComponents-member-1-\"></a>\n\n#### [getKnownComponents](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getKnownComponents-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected getKnownComponents(): Record<string, ComponentImport>;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getOriginalOffsetAt-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getOriginalOffsetAt-member-1-\"></a>\n\n#### [getOriginalOffsetAt](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getOriginalOffsetAt-member-1-)\n\n\n\n**Signature:**\n```ts\ngetOriginalOffsetAt(offset: number): undefined | {\n        offset: number;\n        length: number;\n    };\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-isInGeneratedRange-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-isInGeneratedRange-member-1-\"></a>\n\n#### [isInGeneratedRange](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-isInGeneratedRange-member-1-)\n\n\n\n**Signature:**\n```ts\nisInGeneratedRange(offset: number): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-toDisplayMappings-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-toDisplayMappings-member-1-\"></a>\n\n#### [toDisplayMappings](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-toDisplayMappings-member-1-)\n\n\n\n**Signature:**\n```ts\ntoDisplayMappings(): string;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-tryGenerate-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-tryGenerate-member-1-\"></a>\n\n#### [tryGenerate](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-tryGenerate-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected tryGenerate(): string;\n```\n\n\n<br>\n</details>\n\n<br>\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-class\" id=\"-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-class\"></a>\n\n### [TransformedBlockTextDocument](#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-class)\n\n\n\n<details><summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare class TransformedBlockTextDocument extends VirtualTextDocument {\n  protected constructor(container: VueTextDocument, selector: Selector, transformed: TextDocument, source: TextDocument | VirtualTextDocument, _transform: (document: TransformedBlockTextDocument) => BlockTransformResult);\n  static create(options: CreateTransformedBlockTextDocumentOptions): TransformedBlockTextDocument;\n  protected refresh(): void;\n  transform(): BlockTransformResult;\n  tryGetGeneratedOffset(offset: number): number | undefined;\n  tryGetSourceOffset(offset: number): number | undefined;\n}\n```\n\n**Members:**\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-create-member-1-\" id=\"-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-create-member-1-\"></a>\n\n#### [create](#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-create-member-1-)\n\n\n\n**Signature:**\n```ts\nstatic create(options: CreateTransformedBlockTextDocumentOptions): TransformedBlockTextDocument;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| options | <code><a href=\"#-vuedx-vue-virtual-textdocument--CreateTransformedBlockTextDocumentOptions-interface\">CreateTransformedBlockTextDocumentOptions</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-refresh-member-1-\" id=\"-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-refresh-member-1-\"></a>\n\n#### [refresh](#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-refresh-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected refresh(): void;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-transform-member-1-\" id=\"-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-transform-member-1-\"></a>\n\n#### [transform](#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-transform-member-1-)\n\n\n\n**Signature:**\n```ts\ntransform(): BlockTransformResult;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-tryGetGeneratedOffset-member-1-\" id=\"-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-tryGetGeneratedOffset-member-1-\"></a>\n\n#### [tryGetGeneratedOffset](#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-tryGetGeneratedOffset-member-1-)\n\n\n\n**Signature:**\n```ts\ntryGetGeneratedOffset(offset: number): number | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-tryGetSourceOffset-member-1-\" id=\"-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-tryGetSourceOffset-member-1-\"></a>\n\n#### [tryGetSourceOffset](#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-tryGetSourceOffset-member-1-)\n\n\n\n**Signature:**\n```ts\ntryGetSourceOffset(offset: number): number | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n</details>\n\n<br>\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VirtualTextDocument-class\" id=\"-vuedx-vue-virtual-textdocument-VirtualTextDocument-class\"></a>\n\n### [VirtualTextDocument](#-vuedx-vue-virtual-textdocument-VirtualTextDocument-class)\n\n\n\n<details><summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare class VirtualTextDocument extends ProxyTextDocument {\n  protected constructor(container: VueTextDocument, selector: Selector, doc: TextDocument);\n  readonly container: VueTextDocument;\n  static create(options: CreateVirtualTextDocumentOptions): VirtualTextDocument;\n  protected isDirty: boolean;\n  markDirty(): void;\n  protected refresh(): void;\n  readonly selector: Selector;\n}\n```\n\n**Members:**\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VirtualTextDocument-create-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VirtualTextDocument-create-member-1-\"></a>\n\n#### [create](#-vuedx-vue-virtual-textdocument-VirtualTextDocument-create-member-1-)\n\n\n\n**Signature:**\n```ts\nstatic create(options: CreateVirtualTextDocumentOptions): VirtualTextDocument;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| options | <code><a href=\"#-vuedx-vue-virtual-textdocument--CreateVirtualTextDocumentOptions-interface\">CreateVirtualTextDocumentOptions</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VirtualTextDocument-markDirty-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VirtualTextDocument-markDirty-member-1-\"></a>\n\n#### [markDirty](#-vuedx-vue-virtual-textdocument-VirtualTextDocument-markDirty-member-1-)\n\n\n\n**Signature:**\n```ts\nmarkDirty(): void;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VirtualTextDocument-refresh-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VirtualTextDocument-refresh-member-1-\"></a>\n\n#### [refresh](#-vuedx-vue-virtual-textdocument-VirtualTextDocument-refresh-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected refresh(): void;\n```\n\n\n<br>\n</details>\n\n<br>\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-class\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-class\"></a>\n\n### [VueTextDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-class)\n\n\n\n<details><summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare class VueTextDocument extends ProxyTextDocument {\n  constructor(doc: TextDocument, options?: VueTextDocumentOptions, parseOptions?: SFCParseOptions);\n  all(): VirtualTextDocument[];\n  blockAt(position: Position | number): SFCBlock | null | undefined;\n  static create(uri: string, languageId: string, version: number, content: string, options?: VueTextDocumentOptions, parseOptions?: SFCParseOptions): VueTextDocument;\n  protected createBlockDocument(selector: BlockSelector): VirtualTextDocument | undefined;\n  protected createInternalModuleDocument(): TransformedBlockTextDocument;\n  protected createModuleDocument(): TransformedBlockTextDocument;\n  protected createRenderDocument(): RenderFunctionTextDocument;\n  get descriptor(): SFCDescriptor;\n  documentAt(position: Position | number): VirtualTextDocument | undefined;\n  getBlock(selector: BlockSelector): SFCBlock | null | undefined;\n  getBlockSelector(block: SFCBlock): BlockSelector | undefined;\n  getDocument(selector: typeof RENDER_SELECTOR): RenderFunctionTextDocument;\n  getDocument(selector: SelectorLike): VirtualTextDocument;\n  getDocument(selector: string): VirtualTextDocument | undefined;\n  getDocumentFileName(selectorLike: SelectorLike): string;\n  protected getDocumentId(selector: Selector): string;\n  protected getDocumentLanguage(selector: Selector): string;\n  markDirty(): void;\n  readonly options: VueTextDocumentOptions;\n  protected parse(): void;\n  static update(document: VueTextDocument, changes: TextDocumentContentChangeEvent[], version: number): VueTextDocument;\n}\n```\n\n**Members:**\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-all-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-all-member-1-\"></a>\n\n#### [all](#-vuedx-vue-virtual-textdocument-VueTextDocument-all-member-1-)\n\n\n\n**Signature:**\n```ts\nall(): VirtualTextDocument[];\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-blockAt-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-blockAt-member-1-\"></a>\n\n#### [blockAt](#-vuedx-vue-virtual-textdocument-VueTextDocument-blockAt-member-1-)\n\n\n\n**Signature:**\n```ts\nblockAt(position: Position | number): SFCBlock | null | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| position | <code><a href=\"#vscode-languageserver-textdocument-Position-interface\">Position</a> &#124; number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-create-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-create-member-1-\"></a>\n\n#### [create](#-vuedx-vue-virtual-textdocument-VueTextDocument-create-member-1-)\n\n\n\n**Signature:**\n```ts\nstatic create(uri: string, languageId: string, version: number, content: string, options?: VueTextDocumentOptions, parseOptions?: SFCParseOptions): VueTextDocument;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n| languageId | <code>string</code> | - |\n| version | <code>number</code> | - |\n| content | <code>string</code> | - |\n| options | <code><a href=\"#-vuedx-vue-virtual-textdocument--VueTextDocumentOptions-interface\">VueTextDocumentOptions</a></code> | - |\n| parseOptions | <code><a href=\"#-vue-compiler-sfc-SFCParseOptions-interface\">SFCParseOptions</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-createBlockDocument-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-createBlockDocument-member-1-\"></a>\n\n#### [createBlockDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-createBlockDocument-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected createBlockDocument(selector: BlockSelector): VirtualTextDocument | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selector | <code><a href=\"#-vuedx-vue-virtual-textdocument--BlockSelector-type\">BlockSelector</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-createInternalModuleDocument-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-createInternalModuleDocument-member-1-\"></a>\n\n#### [createInternalModuleDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-createInternalModuleDocument-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected createInternalModuleDocument(): TransformedBlockTextDocument;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-createModuleDocument-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-createModuleDocument-member-1-\"></a>\n\n#### [createModuleDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-createModuleDocument-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected createModuleDocument(): TransformedBlockTextDocument;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-createRenderDocument-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-createRenderDocument-member-1-\"></a>\n\n#### [createRenderDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-createRenderDocument-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected createRenderDocument(): RenderFunctionTextDocument;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-documentAt-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-documentAt-member-1-\"></a>\n\n#### [documentAt](#-vuedx-vue-virtual-textdocument-VueTextDocument-documentAt-member-1-)\n\n\n\n**Signature:**\n```ts\ndocumentAt(position: Position | number): VirtualTextDocument | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| position | <code><a href=\"#vscode-languageserver-textdocument-Position-interface\">Position</a> &#124; number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getBlock-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getBlock-member-1-\"></a>\n\n#### [getBlock](#-vuedx-vue-virtual-textdocument-VueTextDocument-getBlock-member-1-)\n\n\n\n**Signature:**\n```ts\ngetBlock(selector: BlockSelector): SFCBlock | null | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selector | <code><a href=\"#-vuedx-vue-virtual-textdocument--BlockSelector-type\">BlockSelector</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getBlockSelector-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getBlockSelector-member-1-\"></a>\n\n#### [getBlockSelector](#-vuedx-vue-virtual-textdocument-VueTextDocument-getBlockSelector-member-1-)\n\n\n\n**Signature:**\n```ts\ngetBlockSelector(block: SFCBlock): BlockSelector | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| block | <code><a href=\"#-vue-compiler-sfc-SFCBlock-interface\">SFCBlock</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-1-\"></a>\n\n#### [getDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-1-)\n\n\n\n**Signature:**\n```ts\ngetDocument(selector: typeof RENDER_SELECTOR): RenderFunctionTextDocument;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selector | <code>typeof <a href=\"#-vuedx-vue-virtual-textdocument--RENDER-SELECTOR-var\">RENDER_SELECTOR</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-2-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-2-\"></a>\n\n#### [getDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-2-)\n\n\n\n**Signature:**\n```ts\ngetDocument(selector: SelectorLike): VirtualTextDocument;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selector | <code><a href=\"#-vuedx-vue-virtual-textdocument--SelectorLike-type\">SelectorLike</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-3-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-3-\"></a>\n\n#### [getDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-3-)\n\n\n\n**Signature:**\n```ts\ngetDocument(selector: string): VirtualTextDocument | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selector | <code>string</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentFileName-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentFileName-member-1-\"></a>\n\n#### [getDocumentFileName](#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentFileName-member-1-)\n\n\n\n**Signature:**\n```ts\ngetDocumentFileName(selectorLike: SelectorLike): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selectorLike | <code><a href=\"#-vuedx-vue-virtual-textdocument--SelectorLike-type\">SelectorLike</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentId-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentId-member-1-\"></a>\n\n#### [getDocumentId](#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentId-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected getDocumentId(selector: Selector): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selector | <code><a href=\"#-vuedx-vue-virtual-textdocument--Selector-type\">Selector</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentLanguage-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentLanguage-member-1-\"></a>\n\n#### [getDocumentLanguage](#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentLanguage-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected getDocumentLanguage(selector: Selector): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selector | <code><a href=\"#-vuedx-vue-virtual-textdocument--Selector-type\">Selector</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-markDirty-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-markDirty-member-1-\"></a>\n\n#### [markDirty](#-vuedx-vue-virtual-textdocument-VueTextDocument-markDirty-member-1-)\n\n\n\n**Signature:**\n```ts\nmarkDirty(): void;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-parse-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-parse-member-1-\"></a>\n\n#### [parse](#-vuedx-vue-virtual-textdocument-VueTextDocument-parse-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected parse(): void;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-update-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-update-member-1-\"></a>\n\n#### [update](#-vuedx-vue-virtual-textdocument-VueTextDocument-update-member-1-)\n\n\n\n**Signature:**\n```ts\nstatic update(document: VueTextDocument, changes: TextDocumentContentChangeEvent[], version: number): VueTextDocument;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| document | <code><a href=\"#-vuedx-vue-virtual-textdocument--VueTextDocument-class\">VueTextDocument</a></code> | - |\n| changes | <code><a href=\"#vscode-languageserver-textdocument-TextDocumentContentChangeEvent-type\">TextDocumentContentChangeEvent</a>[]</code> | - |\n| version | <code>number</code> | - |\n\n<br>\n</details>\n\n<br>\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-asFsPath-function-1-\" id=\"-vuedx-vue-virtual-textdocument-asFsPath-function-1-\"></a>\n\n### [asFsPath](#-vuedx-vue-virtual-textdocument-asFsPath-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function asFsPath(uri: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-asFsUri-function-1-\" id=\"-vuedx-vue-virtual-textdocument-asFsUri-function-1-\"></a>\n\n### [asFsUri](#-vuedx-vue-virtual-textdocument-asFsUri-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function asFsUri(fileName: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-asUri-function-1-\" id=\"-vuedx-vue-virtual-textdocument-asUri-function-1-\"></a>\n\n### [asUri](#-vuedx-vue-virtual-textdocument-asUri-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function asUri(fileNameOrUri: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileNameOrUri | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-basename-function-1-\" id=\"-vuedx-vue-virtual-textdocument-basename-function-1-\"></a>\n\n### [basename](#-vuedx-vue-virtual-textdocument-basename-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function basename(fileName: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-binarySearch-function-1-\" id=\"-vuedx-vue-virtual-textdocument-binarySearch-function-1-\"></a>\n\n### [binarySearch](#-vuedx-vue-virtual-textdocument-binarySearch-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function binarySearch<T>(array: T[], isMatch: (a: T) => number, returnMin?: boolean): T | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| array | <code>T[]</code> | - |\n| isMatch | <code>(a: T) => number</code> | - |\n| returnMin | <code>boolean</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-getBlockLanguage-function-1-\" id=\"-vuedx-vue-virtual-textdocument-getBlockLanguage-function-1-\"></a>\n\n### [getBlockLanguage](#-vuedx-vue-virtual-textdocument-getBlockLanguage-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function getBlockLanguage(block?: SFCBlock | null): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| block | <code><a href=\"#-vue-compiler-sfc-SFCBlock-interface\">SFCBlock</a> &#124; null</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-getContainingFile-function-1-\" id=\"-vuedx-vue-virtual-textdocument-getContainingFile-function-1-\"></a>\n\n### [getContainingFile](#-vuedx-vue-virtual-textdocument-getContainingFile-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function getContainingFile(fileName: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-getLanguageExtension-function-1-\" id=\"-vuedx-vue-virtual-textdocument-getLanguageExtension-function-1-\"></a>\n\n### [getLanguageExtension](#-vuedx-vue-virtual-textdocument-getLanguageExtension-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function getLanguageExtension(lang: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| lang | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-getLanguageIdFromExtension-function-1-\" id=\"-vuedx-vue-virtual-textdocument-getLanguageIdFromExtension-function-1-\"></a>\n\n### [getLanguageIdFromExtension](#-vuedx-vue-virtual-textdocument-getLanguageIdFromExtension-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function getLanguageIdFromExtension(ext: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| ext | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-isOffsetInBlock-function-1-\" id=\"-vuedx-vue-virtual-textdocument-isOffsetInBlock-function-1-\"></a>\n\n### [isOffsetInBlock](#-vuedx-vue-virtual-textdocument-isOffsetInBlock-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function isOffsetInBlock(offset: number, block?: SFCBlock | null): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n| block | <code><a href=\"#-vue-compiler-sfc-SFCBlock-interface\">SFCBlock</a> &#124; null</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-isVirtualFile-function-1-\" id=\"-vuedx-vue-virtual-textdocument-isVirtualFile-function-1-\"></a>\n\n### [isVirtualFile](#-vuedx-vue-virtual-textdocument-isVirtualFile-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function isVirtualFile(fileName: string): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-isVirtualFileOfType-function-1-\" id=\"-vuedx-vue-virtual-textdocument-isVirtualFileOfType-function-1-\"></a>\n\n### [isVirtualFileOfType](#-vuedx-vue-virtual-textdocument-isVirtualFileOfType-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function isVirtualFileOfType(fileName: string, type: '_render' | '_module' | '_internal' | 'script' | 'scriptSetup'): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n| type | <code>'_render' &#124; '_module' &#124; '_internal' &#124; 'script' &#124; 'scriptSetup'</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-isVueFile-function-1-\" id=\"-vuedx-vue-virtual-textdocument-isVueFile-function-1-\"></a>\n\n### [isVueFile](#-vuedx-vue-virtual-textdocument-isVueFile-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function isVueFile(fileName: string): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-parseVirtualFileName-function-1-\" id=\"-vuedx-vue-virtual-textdocument-parseVirtualFileName-function-1-\"></a>\n\n### [parseVirtualFileName](#-vuedx-vue-virtual-textdocument-parseVirtualFileName-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function parseVirtualFileName(fileName: string): {\n    uri: string;\n    selector: Selector;\n} | null;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-relativeVirtualImportPath-function-1-\" id=\"-vuedx-vue-virtual-textdocument-relativeVirtualImportPath-function-1-\"></a>\n\n### [relativeVirtualImportPath](#-vuedx-vue-virtual-textdocument-relativeVirtualImportPath-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function relativeVirtualImportPath(fileName: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-replaceSlashes-function-1-\" id=\"-vuedx-vue-virtual-textdocument-replaceSlashes-function-1-\"></a>\n\n### [replaceSlashes](#-vuedx-vue-virtual-textdocument-replaceSlashes-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function replaceSlashes(fileName: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n<!-- #region API-DOCS -->\n","readmeFilename":"readme.md","_id":"@vuedx/vue-virtual-textdocument@0.3.1-insiders-1607632537.0","_nodeVersion":"14.14.0","_npmVersion":"6.14.8","dist":{"integrity":"sha512-5Fyy6xfq9eL+Fu1p56kAoxQ2Gk7K4yLMyjComJ3xMdFC60tZVRWQg6vPyVxs5PVu8tK254JlbaWSYL03fVr9HA==","shasum":"7a9b6e3e0a6cabaedef40fb18190c600117c3d8c","tarball":"https://registry.npmjs.org/@vuedx/vue-virtual-textdocument/-/vue-virtual-textdocument-0.3.1-insiders-1607632537.0.tgz","fileCount":8,"unpackedSize":270133,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJf0oa0CRA9TVsSAnZWagAAZX8P/RjEUirvv+zE7WG3mVNu\n6D9VS36zKxgD8xcqZXsHPxmFY9H/RnA8VhcPs8n7PD8hKr5u1zgletwHhEc6\n96m0/vduCj74hF4T1aA1PUTICo/DdJSyblpQzym30KZKKRMBGkZcS1lJPlFw\nV072orfgxVCJ1mr7YShkEwKYjsuouVCQYlmyZe3d8AbDTsoHxn1Zv+pEF/2X\nkIzmrweDq25XRoLReFIkYow7uPjcd2En+yTPlYoGapBF8KfN9sL/CVyXiT3C\nKqQT6cNvbMIjT4rgeRqy1UjzYbOgLQHoqyFRxGnsXE6/rHi+bdHfh1H5hYBB\nW6l6VnushnshFleIGMKIH8pKeRVnljwXmuaLNwsEg2A71q6x+xPSt4QsWD0x\n1JrwMNqmjO4WocxMEP8HgfpXLYATvaemiLa5kXR7t5SoFwr+CtwkyfbPoufe\nNWceNO/jmg3eWNoNW8WZERpYDIPokG1VyJEdxAuGb1XQDQn67SV0JWPjD8W8\nnhd4XPBCY/NBG8PE1ZYtvCRcR8vu7a51rwjJ5JUowZkf/etYuRxKfIFS2RWl\n/XSJO9cKFhq/5LCEQgUik0Ylmxk0RAth85L5XYICuzuIiukxfh7a9FYbFzqY\nul1vakPiBjy65OXQXqBmdzZ/H6qdp81DUd0fLfvr5qRASiWbCp9Z4k8uC+RQ\nm71Z\r\n=Rk3U\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQC0zckfbkY/MPDmLLYdgukATfh9dmvgua2zqOykZiSYZAIgB3APGpwxpUevwgoCFPHvHICSqM0CQGRdXBNy8TN1oBM="}]},"_npmUser":{"name":"znck","email":"rahulkdn@gmail.com"},"directories":{},"maintainers":[{"name":"znck","email":"rahulkdn@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/vue-virtual-textdocument_0.3.1-insiders-1607632537.0_1607632564316_0.8329634494991358"},"_hasShrinkwrap":false},"0.3.1-insiders-1608185511.0":{"name":"@vuedx/vue-virtual-textdocument","version":"0.3.1-insiders-1608185511.0","description":"An implementation of virtual filesystem for accessing blocks in a `.vue` file as independent files.","main":"dist/index.cjs.js","module":"dist/index.esm.js","types":"dist/index.d.ts","private":false,"scripts":{},"keywords":["vue","vue sfc","sfc","vue virtual files"],"repository":{"type":"git","url":"git+https://github.com/znck/vue-developer-experience.git"},"author":{"name":"Rahul Kadyan","email":"rahulkdn@gmail.com","url":"https://znck.me/"},"funding":{"type":"individual","url":"https://github.com/sponsors/znck"},"license":"MIT","bugs":{"url":"https://github.com/znck/vue-developer-experience/issues"},"homepage":"https://github.com/znck/vue-developer-experience#readme","dependencies":{"@vuedx/analyze":"0.3.1-insiders-1608185511.0","@vuedx/compiler-sfc":"0.3.1-insiders-1608185511.0","@vuedx/compiler-tsx":"0.3.1-insiders-1608185511.0","source-map":"^0.6.1","vscode-languageserver-textdocument":"^1.0.1","vscode-uri":"^2.1.2"},"devDependencies":{"@vuedx/shared":"0.0.1-insiders-1608185511.0","fast-glob":"^3.2.4","typescript":"^4.0.3"},"readme":"# Vue Virtual TextDocument\n\nAn implementation of virtual filesystem for accessing blocks in a `.vue` file as independent files.\n\n## Support\n\nThis package is part of [VueDX project](https://github.com/znck/vue-developer-experience), maintained by [Rahul Kadyan](https://github.com/znck). You can [💖 sponsor him](https://github.com/sponsors/znck) for continued development of this package and other VueDX tools.\n\n```\nnpm add @vuedx/vue-virtual-textdocument\n```\n<!-- #region API-DOCS -->\n<!-- Do not edit this file. It is a report generated by [scripts/docgen.js](https://github.com/znck/vue-developer-experience/tree/master/scripts/docgen.js). -->\n\n## API\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-AsyncDocumentStore-class\" id=\"-vuedx-vue-virtual-textdocument-AsyncDocumentStore-class\"></a>\n\n### [AsyncDocumentStore](#-vuedx-vue-virtual-textdocument-AsyncDocumentStore-class)\n\n\n\n<details><summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare class AsyncDocumentStore<T> extends DocumentStore<T> {\n  constructor(resolve: (uri: string) => T | Promise<T | null> | null, normalize?: (uri: string) => string);\n  get(uri: string): T | null;\n  get(uri: string): Promise<T | null>;\n}\n```\n\n**Members:**\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-AsyncDocumentStore-get-member-1-\" id=\"-vuedx-vue-virtual-textdocument-AsyncDocumentStore-get-member-1-\"></a>\n\n#### [get](#-vuedx-vue-virtual-textdocument-AsyncDocumentStore-get-member-1-)\n\n\n\n**Signature:**\n```ts\nget(uri: string): T | null;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-AsyncDocumentStore-get-member-2-\" id=\"-vuedx-vue-virtual-textdocument-AsyncDocumentStore-get-member-2-\"></a>\n\n#### [get](#-vuedx-vue-virtual-textdocument-AsyncDocumentStore-get-member-2-)\n\n\n\n**Signature:**\n```ts\nget(uri: string): Promise<T | null>;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n\n<br>\n</details>\n\n<br>\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-class\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-class\"></a>\n\n### [DocumentStore](#-vuedx-vue-virtual-textdocument-DocumentStore-class)\n\n\n\n<details><summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare class DocumentStore<T> {\n  constructor(resolve: (uri: string) => T | null, normalize?: (uri: string) => string);\n  all(): string[];\n  delete(uri: string): boolean;\n  dispose(): void;\n  get(uri: string): T | null;\n  protected getNormalizedUri(uri: string): string;\n  has(uri: string): boolean;\n  protected map: Map<string, T>;\n  normalize: (uri: string) => string;\n  protected resolve: (uri: string) => T | null;\n  protected reverseUriMap: Map<string, string>;\n  set(uri: string, document: T): void;\n}\n```\n\n**Members:**\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-all-member-1-\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-all-member-1-\"></a>\n\n#### [all](#-vuedx-vue-virtual-textdocument-DocumentStore-all-member-1-)\n\n\n\n**Signature:**\n```ts\nall(): string[];\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-delete-member-1-\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-delete-member-1-\"></a>\n\n#### [delete](#-vuedx-vue-virtual-textdocument-DocumentStore-delete-member-1-)\n\n\n\n**Signature:**\n```ts\ndelete(uri: string): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-dispose-member-1-\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-dispose-member-1-\"></a>\n\n#### [dispose](#-vuedx-vue-virtual-textdocument-DocumentStore-dispose-member-1-)\n\n\n\n**Signature:**\n```ts\ndispose(): void;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-get-member-1-\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-get-member-1-\"></a>\n\n#### [get](#-vuedx-vue-virtual-textdocument-DocumentStore-get-member-1-)\n\n\n\n**Signature:**\n```ts\nget(uri: string): T | null;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-getNormalizedUri-member-1-\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-getNormalizedUri-member-1-\"></a>\n\n#### [getNormalizedUri](#-vuedx-vue-virtual-textdocument-DocumentStore-getNormalizedUri-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected getNormalizedUri(uri: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-has-member-1-\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-has-member-1-\"></a>\n\n#### [has](#-vuedx-vue-virtual-textdocument-DocumentStore-has-member-1-)\n\n\n\n**Signature:**\n```ts\nhas(uri: string): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-set-member-1-\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-set-member-1-\"></a>\n\n#### [set](#-vuedx-vue-virtual-textdocument-DocumentStore-set-member-1-)\n\n\n\n**Signature:**\n```ts\nset(uri: string, document: T): void;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n| document | <code>T</code> | - |\n\n<br>\n</details>\n\n<br>\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-class\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-class\"></a>\n\n### [RenderFunctionTextDocument](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-class)\n\n\n\n<details><summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare class RenderFunctionTextDocument extends TransformedBlockTextDocument {\n  constructor(container: VueTextDocument, selector: Selector, transformed: TextDocument, source: TextDocument);\n  get ast(): CodegenResult['ast'] | undefined;\n  get contextCompletionsTriggerOffset(): number;\n  static create(options: CreateVirtualTextDocumentOptions): RenderFunctionTextDocument;\n  findExpression(offset: number, length: number): undefined | {\n        offset: number;\n        length: number;\n    };\n  protected generate(): string;\n  getAllGeneratedOffsetsAt(offset: number): undefined | Array<{\n        length: number;\n        offset: number;\n    }>;\n  getGeneratedOffsetAt(offset: number): undefined | {\n        length: number;\n        offset: number;\n    };\n  protected getKnownComponents(): Record<string, ComponentImport>;\n  getOriginalOffsetAt(offset: number): undefined | {\n        offset: number;\n        length: number;\n    };\n  isInGeneratedRange(offset: number): boolean;\n  get parserErrors(): CodegenResult['errors'];\n  get tagCompletionsTriggerOffset(): number;\n  toDisplayMappings(): string;\n  protected tryGenerate(): string;\n}\n```\n\n**Members:**\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-create-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-create-member-1-\"></a>\n\n#### [create](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-create-member-1-)\n\n\n\n**Signature:**\n```ts\nstatic create(options: CreateVirtualTextDocumentOptions): RenderFunctionTextDocument;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| options | <code><a href=\"#-vuedx-vue-virtual-textdocument--CreateVirtualTextDocumentOptions-interface\">CreateVirtualTextDocumentOptions</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-findExpression-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-findExpression-member-1-\"></a>\n\n#### [findExpression](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-findExpression-member-1-)\n\n\n\n**Signature:**\n```ts\nfindExpression(offset: number, length: number): undefined | {\n        offset: number;\n        length: number;\n    };\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n| length | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-generate-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-generate-member-1-\"></a>\n\n#### [generate](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-generate-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected generate(): string;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getAllGeneratedOffsetsAt-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getAllGeneratedOffsetsAt-member-1-\"></a>\n\n#### [getAllGeneratedOffsetsAt](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getAllGeneratedOffsetsAt-member-1-)\n\n\n\n**Signature:**\n```ts\ngetAllGeneratedOffsetsAt(offset: number): undefined | Array<{\n        length: number;\n        offset: number;\n    }>;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getGeneratedOffsetAt-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getGeneratedOffsetAt-member-1-\"></a>\n\n#### [getGeneratedOffsetAt](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getGeneratedOffsetAt-member-1-)\n\n\n\n**Signature:**\n```ts\ngetGeneratedOffsetAt(offset: number): undefined | {\n        length: number;\n        offset: number;\n    };\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getKnownComponents-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getKnownComponents-member-1-\"></a>\n\n#### [getKnownComponents](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getKnownComponents-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected getKnownComponents(): Record<string, ComponentImport>;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getOriginalOffsetAt-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getOriginalOffsetAt-member-1-\"></a>\n\n#### [getOriginalOffsetAt](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getOriginalOffsetAt-member-1-)\n\n\n\n**Signature:**\n```ts\ngetOriginalOffsetAt(offset: number): undefined | {\n        offset: number;\n        length: number;\n    };\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-isInGeneratedRange-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-isInGeneratedRange-member-1-\"></a>\n\n#### [isInGeneratedRange](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-isInGeneratedRange-member-1-)\n\n\n\n**Signature:**\n```ts\nisInGeneratedRange(offset: number): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-toDisplayMappings-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-toDisplayMappings-member-1-\"></a>\n\n#### [toDisplayMappings](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-toDisplayMappings-member-1-)\n\n\n\n**Signature:**\n```ts\ntoDisplayMappings(): string;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-tryGenerate-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-tryGenerate-member-1-\"></a>\n\n#### [tryGenerate](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-tryGenerate-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected tryGenerate(): string;\n```\n\n\n<br>\n</details>\n\n<br>\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-class\" id=\"-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-class\"></a>\n\n### [TransformedBlockTextDocument](#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-class)\n\n\n\n<details><summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare class TransformedBlockTextDocument extends VirtualTextDocument {\n  protected constructor(container: VueTextDocument, selector: Selector, transformed: TextDocument, source: TextDocument | VirtualTextDocument, _transform: (document: TransformedBlockTextDocument) => BlockTransformResult);\n  static create(options: CreateTransformedBlockTextDocumentOptions): TransformedBlockTextDocument;\n  protected refresh(): void;\n  transform(): BlockTransformResult;\n  tryGetGeneratedOffset(offset: number): number | undefined;\n  tryGetSourceOffset(offset: number): number | undefined;\n}\n```\n\n**Members:**\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-create-member-1-\" id=\"-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-create-member-1-\"></a>\n\n#### [create](#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-create-member-1-)\n\n\n\n**Signature:**\n```ts\nstatic create(options: CreateTransformedBlockTextDocumentOptions): TransformedBlockTextDocument;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| options | <code><a href=\"#-vuedx-vue-virtual-textdocument--CreateTransformedBlockTextDocumentOptions-interface\">CreateTransformedBlockTextDocumentOptions</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-refresh-member-1-\" id=\"-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-refresh-member-1-\"></a>\n\n#### [refresh](#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-refresh-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected refresh(): void;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-transform-member-1-\" id=\"-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-transform-member-1-\"></a>\n\n#### [transform](#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-transform-member-1-)\n\n\n\n**Signature:**\n```ts\ntransform(): BlockTransformResult;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-tryGetGeneratedOffset-member-1-\" id=\"-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-tryGetGeneratedOffset-member-1-\"></a>\n\n#### [tryGetGeneratedOffset](#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-tryGetGeneratedOffset-member-1-)\n\n\n\n**Signature:**\n```ts\ntryGetGeneratedOffset(offset: number): number | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-tryGetSourceOffset-member-1-\" id=\"-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-tryGetSourceOffset-member-1-\"></a>\n\n#### [tryGetSourceOffset](#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-tryGetSourceOffset-member-1-)\n\n\n\n**Signature:**\n```ts\ntryGetSourceOffset(offset: number): number | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n</details>\n\n<br>\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VirtualTextDocument-class\" id=\"-vuedx-vue-virtual-textdocument-VirtualTextDocument-class\"></a>\n\n### [VirtualTextDocument](#-vuedx-vue-virtual-textdocument-VirtualTextDocument-class)\n\n\n\n<details><summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare class VirtualTextDocument extends ProxyTextDocument {\n  protected constructor(container: VueTextDocument, selector: Selector, doc: TextDocument);\n  readonly container: VueTextDocument;\n  static create(options: CreateVirtualTextDocumentOptions): VirtualTextDocument;\n  protected isDirty: boolean;\n  markDirty(): void;\n  protected refresh(): void;\n  readonly selector: Selector;\n}\n```\n\n**Members:**\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VirtualTextDocument-create-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VirtualTextDocument-create-member-1-\"></a>\n\n#### [create](#-vuedx-vue-virtual-textdocument-VirtualTextDocument-create-member-1-)\n\n\n\n**Signature:**\n```ts\nstatic create(options: CreateVirtualTextDocumentOptions): VirtualTextDocument;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| options | <code><a href=\"#-vuedx-vue-virtual-textdocument--CreateVirtualTextDocumentOptions-interface\">CreateVirtualTextDocumentOptions</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VirtualTextDocument-markDirty-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VirtualTextDocument-markDirty-member-1-\"></a>\n\n#### [markDirty](#-vuedx-vue-virtual-textdocument-VirtualTextDocument-markDirty-member-1-)\n\n\n\n**Signature:**\n```ts\nmarkDirty(): void;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VirtualTextDocument-refresh-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VirtualTextDocument-refresh-member-1-\"></a>\n\n#### [refresh](#-vuedx-vue-virtual-textdocument-VirtualTextDocument-refresh-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected refresh(): void;\n```\n\n\n<br>\n</details>\n\n<br>\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-class\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-class\"></a>\n\n### [VueTextDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-class)\n\n\n\n<details><summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare class VueTextDocument extends ProxyTextDocument {\n  constructor(doc: TextDocument, options?: VueTextDocumentOptions, parseOptions?: SFCParseOptions);\n  all(): VirtualTextDocument[];\n  blockAt(position: Position | number): SFCBlock | null | undefined;\n  static create(uri: string, languageId: string, version: number, content: string, options?: VueTextDocumentOptions, parseOptions?: SFCParseOptions): VueTextDocument;\n  protected createBlockDocument(selector: BlockSelector): VirtualTextDocument | undefined;\n  protected createInternalModuleDocument(): TransformedBlockTextDocument;\n  protected createModuleDocument(): TransformedBlockTextDocument;\n  protected createRenderDocument(): RenderFunctionTextDocument;\n  get descriptor(): SFCDescriptor;\n  documentAt(position: Position | number): VirtualTextDocument | undefined;\n  getBlock(selector: BlockSelector): SFCBlock | null | undefined;\n  getBlockSelector(block: SFCBlock): BlockSelector | undefined;\n  getDocument(selector: typeof RENDER_SELECTOR): RenderFunctionTextDocument;\n  getDocument(selector: SelectorLike): VirtualTextDocument;\n  getDocument(selector: string): VirtualTextDocument | undefined;\n  getDocumentFileName(selectorLike: SelectorLike): string;\n  protected getDocumentId(selector: Selector): string;\n  protected getDocumentLanguage(selector: Selector): string;\n  markDirty(): void;\n  readonly options: VueTextDocumentOptions;\n  protected parse(): void;\n  static update(document: VueTextDocument, changes: TextDocumentContentChangeEvent[], version: number): VueTextDocument;\n}\n```\n\n**Members:**\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-all-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-all-member-1-\"></a>\n\n#### [all](#-vuedx-vue-virtual-textdocument-VueTextDocument-all-member-1-)\n\n\n\n**Signature:**\n```ts\nall(): VirtualTextDocument[];\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-blockAt-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-blockAt-member-1-\"></a>\n\n#### [blockAt](#-vuedx-vue-virtual-textdocument-VueTextDocument-blockAt-member-1-)\n\n\n\n**Signature:**\n```ts\nblockAt(position: Position | number): SFCBlock | null | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| position | <code><a href=\"#vscode-languageserver-textdocument-Position-interface\">Position</a> &#124; number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-create-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-create-member-1-\"></a>\n\n#### [create](#-vuedx-vue-virtual-textdocument-VueTextDocument-create-member-1-)\n\n\n\n**Signature:**\n```ts\nstatic create(uri: string, languageId: string, version: number, content: string, options?: VueTextDocumentOptions, parseOptions?: SFCParseOptions): VueTextDocument;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n| languageId | <code>string</code> | - |\n| version | <code>number</code> | - |\n| content | <code>string</code> | - |\n| options | <code><a href=\"#-vuedx-vue-virtual-textdocument--VueTextDocumentOptions-interface\">VueTextDocumentOptions</a></code> | - |\n| parseOptions | <code><a href=\"#-vue-compiler-sfc-SFCParseOptions-interface\">SFCParseOptions</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-createBlockDocument-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-createBlockDocument-member-1-\"></a>\n\n#### [createBlockDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-createBlockDocument-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected createBlockDocument(selector: BlockSelector): VirtualTextDocument | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selector | <code><a href=\"#-vuedx-vue-virtual-textdocument--BlockSelector-type\">BlockSelector</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-createInternalModuleDocument-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-createInternalModuleDocument-member-1-\"></a>\n\n#### [createInternalModuleDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-createInternalModuleDocument-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected createInternalModuleDocument(): TransformedBlockTextDocument;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-createModuleDocument-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-createModuleDocument-member-1-\"></a>\n\n#### [createModuleDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-createModuleDocument-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected createModuleDocument(): TransformedBlockTextDocument;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-createRenderDocument-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-createRenderDocument-member-1-\"></a>\n\n#### [createRenderDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-createRenderDocument-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected createRenderDocument(): RenderFunctionTextDocument;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-documentAt-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-documentAt-member-1-\"></a>\n\n#### [documentAt](#-vuedx-vue-virtual-textdocument-VueTextDocument-documentAt-member-1-)\n\n\n\n**Signature:**\n```ts\ndocumentAt(position: Position | number): VirtualTextDocument | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| position | <code><a href=\"#vscode-languageserver-textdocument-Position-interface\">Position</a> &#124; number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getBlock-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getBlock-member-1-\"></a>\n\n#### [getBlock](#-vuedx-vue-virtual-textdocument-VueTextDocument-getBlock-member-1-)\n\n\n\n**Signature:**\n```ts\ngetBlock(selector: BlockSelector): SFCBlock | null | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selector | <code><a href=\"#-vuedx-vue-virtual-textdocument--BlockSelector-type\">BlockSelector</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getBlockSelector-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getBlockSelector-member-1-\"></a>\n\n#### [getBlockSelector](#-vuedx-vue-virtual-textdocument-VueTextDocument-getBlockSelector-member-1-)\n\n\n\n**Signature:**\n```ts\ngetBlockSelector(block: SFCBlock): BlockSelector | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| block | <code><a href=\"#-vue-compiler-sfc-SFCBlock-interface\">SFCBlock</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-1-\"></a>\n\n#### [getDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-1-)\n\n\n\n**Signature:**\n```ts\ngetDocument(selector: typeof RENDER_SELECTOR): RenderFunctionTextDocument;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selector | <code>typeof <a href=\"#-vuedx-vue-virtual-textdocument--RENDER-SELECTOR-var\">RENDER_SELECTOR</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-2-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-2-\"></a>\n\n#### [getDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-2-)\n\n\n\n**Signature:**\n```ts\ngetDocument(selector: SelectorLike): VirtualTextDocument;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selector | <code><a href=\"#-vuedx-vue-virtual-textdocument--SelectorLike-type\">SelectorLike</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-3-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-3-\"></a>\n\n#### [getDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-3-)\n\n\n\n**Signature:**\n```ts\ngetDocument(selector: string): VirtualTextDocument | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selector | <code>string</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentFileName-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentFileName-member-1-\"></a>\n\n#### [getDocumentFileName](#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentFileName-member-1-)\n\n\n\n**Signature:**\n```ts\ngetDocumentFileName(selectorLike: SelectorLike): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selectorLike | <code><a href=\"#-vuedx-vue-virtual-textdocument--SelectorLike-type\">SelectorLike</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentId-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentId-member-1-\"></a>\n\n#### [getDocumentId](#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentId-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected getDocumentId(selector: Selector): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selector | <code><a href=\"#-vuedx-vue-virtual-textdocument--Selector-type\">Selector</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentLanguage-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentLanguage-member-1-\"></a>\n\n#### [getDocumentLanguage](#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentLanguage-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected getDocumentLanguage(selector: Selector): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selector | <code><a href=\"#-vuedx-vue-virtual-textdocument--Selector-type\">Selector</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-markDirty-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-markDirty-member-1-\"></a>\n\n#### [markDirty](#-vuedx-vue-virtual-textdocument-VueTextDocument-markDirty-member-1-)\n\n\n\n**Signature:**\n```ts\nmarkDirty(): void;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-parse-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-parse-member-1-\"></a>\n\n#### [parse](#-vuedx-vue-virtual-textdocument-VueTextDocument-parse-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected parse(): void;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-update-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-update-member-1-\"></a>\n\n#### [update](#-vuedx-vue-virtual-textdocument-VueTextDocument-update-member-1-)\n\n\n\n**Signature:**\n```ts\nstatic update(document: VueTextDocument, changes: TextDocumentContentChangeEvent[], version: number): VueTextDocument;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| document | <code><a href=\"#-vuedx-vue-virtual-textdocument--VueTextDocument-class\">VueTextDocument</a></code> | - |\n| changes | <code><a href=\"#vscode-languageserver-textdocument-TextDocumentContentChangeEvent-type\">TextDocumentContentChangeEvent</a>[]</code> | - |\n| version | <code>number</code> | - |\n\n<br>\n</details>\n\n<br>\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-asFsPath-function-1-\" id=\"-vuedx-vue-virtual-textdocument-asFsPath-function-1-\"></a>\n\n### [asFsPath](#-vuedx-vue-virtual-textdocument-asFsPath-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function asFsPath(uri: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-asFsUri-function-1-\" id=\"-vuedx-vue-virtual-textdocument-asFsUri-function-1-\"></a>\n\n### [asFsUri](#-vuedx-vue-virtual-textdocument-asFsUri-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function asFsUri(fileName: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-asUri-function-1-\" id=\"-vuedx-vue-virtual-textdocument-asUri-function-1-\"></a>\n\n### [asUri](#-vuedx-vue-virtual-textdocument-asUri-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function asUri(fileNameOrUri: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileNameOrUri | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-basename-function-1-\" id=\"-vuedx-vue-virtual-textdocument-basename-function-1-\"></a>\n\n### [basename](#-vuedx-vue-virtual-textdocument-basename-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function basename(fileName: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-binarySearch-function-1-\" id=\"-vuedx-vue-virtual-textdocument-binarySearch-function-1-\"></a>\n\n### [binarySearch](#-vuedx-vue-virtual-textdocument-binarySearch-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function binarySearch<T>(array: T[], isMatch: (a: T) => number, returnMin?: boolean): T | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| array | <code>T[]</code> | - |\n| isMatch | <code>(a: T) => number</code> | - |\n| returnMin | <code>boolean</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-getBlockLanguage-function-1-\" id=\"-vuedx-vue-virtual-textdocument-getBlockLanguage-function-1-\"></a>\n\n### [getBlockLanguage](#-vuedx-vue-virtual-textdocument-getBlockLanguage-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function getBlockLanguage(block?: SFCBlock | null): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| block | <code><a href=\"#-vue-compiler-sfc-SFCBlock-interface\">SFCBlock</a> &#124; null</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-getContainingFile-function-1-\" id=\"-vuedx-vue-virtual-textdocument-getContainingFile-function-1-\"></a>\n\n### [getContainingFile](#-vuedx-vue-virtual-textdocument-getContainingFile-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function getContainingFile(fileName: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-getLanguageExtension-function-1-\" id=\"-vuedx-vue-virtual-textdocument-getLanguageExtension-function-1-\"></a>\n\n### [getLanguageExtension](#-vuedx-vue-virtual-textdocument-getLanguageExtension-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function getLanguageExtension(lang: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| lang | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-getLanguageIdFromExtension-function-1-\" id=\"-vuedx-vue-virtual-textdocument-getLanguageIdFromExtension-function-1-\"></a>\n\n### [getLanguageIdFromExtension](#-vuedx-vue-virtual-textdocument-getLanguageIdFromExtension-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function getLanguageIdFromExtension(ext: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| ext | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-isOffsetInBlock-function-1-\" id=\"-vuedx-vue-virtual-textdocument-isOffsetInBlock-function-1-\"></a>\n\n### [isOffsetInBlock](#-vuedx-vue-virtual-textdocument-isOffsetInBlock-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function isOffsetInBlock(offset: number, block?: SFCBlock | null): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n| block | <code><a href=\"#-vue-compiler-sfc-SFCBlock-interface\">SFCBlock</a> &#124; null</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-isVirtualFile-function-1-\" id=\"-vuedx-vue-virtual-textdocument-isVirtualFile-function-1-\"></a>\n\n### [isVirtualFile](#-vuedx-vue-virtual-textdocument-isVirtualFile-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function isVirtualFile(fileName: string): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-isVirtualFileOfType-function-1-\" id=\"-vuedx-vue-virtual-textdocument-isVirtualFileOfType-function-1-\"></a>\n\n### [isVirtualFileOfType](#-vuedx-vue-virtual-textdocument-isVirtualFileOfType-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function isVirtualFileOfType(fileName: string, type: '_render' | '_module' | '_internal' | 'script' | 'scriptSetup'): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n| type | <code>'_render' &#124; '_module' &#124; '_internal' &#124; 'script' &#124; 'scriptSetup'</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-isVueFile-function-1-\" id=\"-vuedx-vue-virtual-textdocument-isVueFile-function-1-\"></a>\n\n### [isVueFile](#-vuedx-vue-virtual-textdocument-isVueFile-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function isVueFile(fileName: string): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-parseVirtualFileName-function-1-\" id=\"-vuedx-vue-virtual-textdocument-parseVirtualFileName-function-1-\"></a>\n\n### [parseVirtualFileName](#-vuedx-vue-virtual-textdocument-parseVirtualFileName-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function parseVirtualFileName(fileName: string): {\n    uri: string;\n    selector: Selector;\n} | null;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-relativeVirtualImportPath-function-1-\" id=\"-vuedx-vue-virtual-textdocument-relativeVirtualImportPath-function-1-\"></a>\n\n### [relativeVirtualImportPath](#-vuedx-vue-virtual-textdocument-relativeVirtualImportPath-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function relativeVirtualImportPath(fileName: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-replaceSlashes-function-1-\" id=\"-vuedx-vue-virtual-textdocument-replaceSlashes-function-1-\"></a>\n\n### [replaceSlashes](#-vuedx-vue-virtual-textdocument-replaceSlashes-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function replaceSlashes(fileName: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n<!-- #region API-DOCS -->\n","readmeFilename":"readme.md","_id":"@vuedx/vue-virtual-textdocument@0.3.1-insiders-1608185511.0","_nodeVersion":"14.14.0","_npmVersion":"6.14.8","dist":{"integrity":"sha512-EFJHlJC10Ud8w2THQq5Rxj7KQPHeZCNhh8vtHn4AnneEzEj9rwsyH4CQ2tFxZnkY40zP3kr1IaJau8nHpE/aPA==","shasum":"442b61a145492d6696cc3018ca391cdb0c74b77b","tarball":"https://registry.npmjs.org/@vuedx/vue-virtual-textdocument/-/vue-virtual-textdocument-0.3.1-insiders-1608185511.0.tgz","fileCount":8,"unpackedSize":270235,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJf2vbCCRA9TVsSAnZWagAAausP/0OWTpW1jg75PMi6Gy7A\nIQwews4VSOTu39MpBaNh+wrvC5Eu5xkYL5/ztGPhVJqRIqPHnAtAXF7hY8Vs\ndoRqCklzS6sLxIgctNCYAjOl+JV+O7XB4QLh8V+joKdDEX3vwd6jkNqjXdQ7\nxwGgfYwz6twf0ZMcNrdhoiMjHjZm2AeOefs/Gyu/3twYVGA83l/KxmASnwKL\n/LH1SxqbO8uL9DfPuh5i8B8eCISjVD0Y+WA3tJ0OlJjUQ+ZEdUMPTWI59bQU\nO1qSgHdDoKodltMaZM20XXA7N8ZbsreNiqJ1JfE2lb88/UDxnfQ7HF3w27vL\nOJ/OVsR8HOdUYbGjDxzztK2co4zC6QeeHbikIBBTeLhTEJSgS+QAnUSMm6JJ\nMduBt7/o3u/rZhbaX5Kz4tJZd3G2meFXJ6+SlIYDmFjAg/l+ekayWbkCuyMK\ntDXRfIcHG92Ju9+D6Ztxe00xegt6Ko5x1F0BZdaoEZxIGuYy/RiVa/RFcUux\nNLeO4CYHV3FLhwCWJ6Z8Wwhf+j83wzhhG8Too7Uz7TuTi6R83EugaYmQP/kd\nM22fDy9pltwUNjuLm1R1mlMp7QMwqGHga39Zj4NCRb9hvmR5rvqps+SZaF6t\nSQnZxkxTZVtgQZ/q2hicWThKDVoVzMu7BZUjq0qxHmjNf/BXMxnwwvbf8yh1\nDPLm\r\n=tO2V\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIH/jQAedbZ9z6lA+vQUrTCI+GqgmCyVdm0SsWLfBqQ2EAiEAlHXXmJl0iu3hj8QA8Oj/oh+SMCJJZBCO2TgX48w4yvc="}]},"_npmUser":{"name":"znck","email":"rahulkdn@gmail.com"},"directories":{},"maintainers":[{"name":"znck","email":"rahulkdn@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/vue-virtual-textdocument_0.3.1-insiders-1608185511.0_1608185537779_0.7206383675868169"},"_hasShrinkwrap":false},"0.3.1-insiders-1608281809.0":{"name":"@vuedx/vue-virtual-textdocument","version":"0.3.1-insiders-1608281809.0","description":"An implementation of virtual filesystem for accessing blocks in a `.vue` file as independent files.","main":"dist/index.cjs.js","module":"dist/index.esm.js","types":"dist/index.d.ts","private":false,"scripts":{},"keywords":["vue","vue sfc","sfc","vue virtual files"],"repository":{"type":"git","url":"git+https://github.com/znck/vue-developer-experience.git"},"author":{"name":"Rahul Kadyan","email":"rahulkdn@gmail.com","url":"https://znck.me/"},"funding":{"type":"individual","url":"https://github.com/sponsors/znck"},"license":"MIT","bugs":{"url":"https://github.com/znck/vue-developer-experience/issues"},"homepage":"https://github.com/znck/vue-developer-experience#readme","dependencies":{"@vuedx/analyze":"0.3.1-insiders-1608281809.0","@vuedx/compiler-sfc":"0.3.1-insiders-1608281809.0","@vuedx/compiler-tsx":"0.3.1-insiders-1608281809.0","source-map":"^0.6.1","vscode-languageserver-textdocument":"^1.0.1","vscode-uri":"^2.1.2"},"devDependencies":{"@vuedx/shared":"0.0.1-insiders-1608281809.0","fast-glob":"^3.2.4","typescript":"^4.0.3"},"readme":"# Vue Virtual TextDocument\n\nAn implementation of virtual filesystem for accessing blocks in a `.vue` file as independent files.\n\n## Support\n\nThis package is part of [VueDX project](https://github.com/znck/vue-developer-experience), maintained by [Rahul Kadyan](https://github.com/znck). You can [💖 sponsor him](https://github.com/sponsors/znck) for continued development of this package and other VueDX tools.\n\n```\nnpm add @vuedx/vue-virtual-textdocument\n```\n<!-- #region API-DOCS -->\n<!-- Do not edit this file. It is a report generated by [scripts/docgen.js](https://github.com/znck/vue-developer-experience/tree/master/scripts/docgen.js). -->\n\n## API\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-AsyncDocumentStore-class\" id=\"-vuedx-vue-virtual-textdocument-AsyncDocumentStore-class\"></a>\n\n### [AsyncDocumentStore](#-vuedx-vue-virtual-textdocument-AsyncDocumentStore-class)\n\n\n\n<details><summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare class AsyncDocumentStore<T> extends DocumentStore<T> {\n  constructor(resolve: (uri: string) => T | Promise<T | null> | null, normalize?: (uri: string) => string);\n  get(uri: string): T | null;\n  get(uri: string): Promise<T | null>;\n}\n```\n\n**Members:**\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-AsyncDocumentStore-get-member-1-\" id=\"-vuedx-vue-virtual-textdocument-AsyncDocumentStore-get-member-1-\"></a>\n\n#### [get](#-vuedx-vue-virtual-textdocument-AsyncDocumentStore-get-member-1-)\n\n\n\n**Signature:**\n```ts\nget(uri: string): T | null;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-AsyncDocumentStore-get-member-2-\" id=\"-vuedx-vue-virtual-textdocument-AsyncDocumentStore-get-member-2-\"></a>\n\n#### [get](#-vuedx-vue-virtual-textdocument-AsyncDocumentStore-get-member-2-)\n\n\n\n**Signature:**\n```ts\nget(uri: string): Promise<T | null>;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n\n<br>\n</details>\n\n<br>\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-class\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-class\"></a>\n\n### [DocumentStore](#-vuedx-vue-virtual-textdocument-DocumentStore-class)\n\n\n\n<details><summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare class DocumentStore<T> {\n  constructor(resolve: (uri: string) => T | null, normalize?: (uri: string) => string);\n  all(): string[];\n  delete(uri: string): boolean;\n  dispose(): void;\n  get(uri: string): T | null;\n  protected getNormalizedUri(uri: string): string;\n  has(uri: string): boolean;\n  protected map: Map<string, T>;\n  normalize: (uri: string) => string;\n  protected resolve: (uri: string) => T | null;\n  protected reverseUriMap: Map<string, string>;\n  set(uri: string, document: T): void;\n}\n```\n\n**Members:**\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-all-member-1-\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-all-member-1-\"></a>\n\n#### [all](#-vuedx-vue-virtual-textdocument-DocumentStore-all-member-1-)\n\n\n\n**Signature:**\n```ts\nall(): string[];\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-delete-member-1-\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-delete-member-1-\"></a>\n\n#### [delete](#-vuedx-vue-virtual-textdocument-DocumentStore-delete-member-1-)\n\n\n\n**Signature:**\n```ts\ndelete(uri: string): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-dispose-member-1-\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-dispose-member-1-\"></a>\n\n#### [dispose](#-vuedx-vue-virtual-textdocument-DocumentStore-dispose-member-1-)\n\n\n\n**Signature:**\n```ts\ndispose(): void;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-get-member-1-\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-get-member-1-\"></a>\n\n#### [get](#-vuedx-vue-virtual-textdocument-DocumentStore-get-member-1-)\n\n\n\n**Signature:**\n```ts\nget(uri: string): T | null;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-getNormalizedUri-member-1-\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-getNormalizedUri-member-1-\"></a>\n\n#### [getNormalizedUri](#-vuedx-vue-virtual-textdocument-DocumentStore-getNormalizedUri-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected getNormalizedUri(uri: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-has-member-1-\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-has-member-1-\"></a>\n\n#### [has](#-vuedx-vue-virtual-textdocument-DocumentStore-has-member-1-)\n\n\n\n**Signature:**\n```ts\nhas(uri: string): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-set-member-1-\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-set-member-1-\"></a>\n\n#### [set](#-vuedx-vue-virtual-textdocument-DocumentStore-set-member-1-)\n\n\n\n**Signature:**\n```ts\nset(uri: string, document: T): void;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n| document | <code>T</code> | - |\n\n<br>\n</details>\n\n<br>\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-class\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-class\"></a>\n\n### [RenderFunctionTextDocument](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-class)\n\n\n\n<details><summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare class RenderFunctionTextDocument extends TransformedBlockTextDocument {\n  constructor(container: VueTextDocument, selector: Selector, transformed: TextDocument, source: TextDocument);\n  get ast(): CodegenResult['ast'] | undefined;\n  get contextCompletionsTriggerOffset(): number;\n  static create(options: CreateVirtualTextDocumentOptions): RenderFunctionTextDocument;\n  findExpression(offset: number, length: number): undefined | {\n        offset: number;\n        length: number;\n    };\n  protected generate(): string;\n  getAllGeneratedOffsetsAt(offset: number): undefined | Array<{\n        length: number;\n        offset: number;\n    }>;\n  getGeneratedOffsetAt(offset: number): undefined | {\n        length: number;\n        offset: number;\n    };\n  protected getKnownComponents(): Record<string, ComponentImport>;\n  getOriginalOffsetAt(offset: number): undefined | {\n        offset: number;\n        length: number;\n    };\n  isInGeneratedRange(offset: number): boolean;\n  get parserErrors(): CodegenResult['errors'];\n  get tagCompletionsTriggerOffset(): number;\n  toDisplayMappings(): string;\n  protected tryGenerate(): string;\n}\n```\n\n**Members:**\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-create-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-create-member-1-\"></a>\n\n#### [create](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-create-member-1-)\n\n\n\n**Signature:**\n```ts\nstatic create(options: CreateVirtualTextDocumentOptions): RenderFunctionTextDocument;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| options | <code><a href=\"#-vuedx-vue-virtual-textdocument--CreateVirtualTextDocumentOptions-interface\">CreateVirtualTextDocumentOptions</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-findExpression-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-findExpression-member-1-\"></a>\n\n#### [findExpression](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-findExpression-member-1-)\n\n\n\n**Signature:**\n```ts\nfindExpression(offset: number, length: number): undefined | {\n        offset: number;\n        length: number;\n    };\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n| length | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-generate-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-generate-member-1-\"></a>\n\n#### [generate](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-generate-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected generate(): string;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getAllGeneratedOffsetsAt-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getAllGeneratedOffsetsAt-member-1-\"></a>\n\n#### [getAllGeneratedOffsetsAt](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getAllGeneratedOffsetsAt-member-1-)\n\n\n\n**Signature:**\n```ts\ngetAllGeneratedOffsetsAt(offset: number): undefined | Array<{\n        length: number;\n        offset: number;\n    }>;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getGeneratedOffsetAt-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getGeneratedOffsetAt-member-1-\"></a>\n\n#### [getGeneratedOffsetAt](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getGeneratedOffsetAt-member-1-)\n\n\n\n**Signature:**\n```ts\ngetGeneratedOffsetAt(offset: number): undefined | {\n        length: number;\n        offset: number;\n    };\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getKnownComponents-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getKnownComponents-member-1-\"></a>\n\n#### [getKnownComponents](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getKnownComponents-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected getKnownComponents(): Record<string, ComponentImport>;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getOriginalOffsetAt-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getOriginalOffsetAt-member-1-\"></a>\n\n#### [getOriginalOffsetAt](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getOriginalOffsetAt-member-1-)\n\n\n\n**Signature:**\n```ts\ngetOriginalOffsetAt(offset: number): undefined | {\n        offset: number;\n        length: number;\n    };\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-isInGeneratedRange-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-isInGeneratedRange-member-1-\"></a>\n\n#### [isInGeneratedRange](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-isInGeneratedRange-member-1-)\n\n\n\n**Signature:**\n```ts\nisInGeneratedRange(offset: number): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-toDisplayMappings-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-toDisplayMappings-member-1-\"></a>\n\n#### [toDisplayMappings](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-toDisplayMappings-member-1-)\n\n\n\n**Signature:**\n```ts\ntoDisplayMappings(): string;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-tryGenerate-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-tryGenerate-member-1-\"></a>\n\n#### [tryGenerate](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-tryGenerate-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected tryGenerate(): string;\n```\n\n\n<br>\n</details>\n\n<br>\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-class\" id=\"-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-class\"></a>\n\n### [TransformedBlockTextDocument](#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-class)\n\n\n\n<details><summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare class TransformedBlockTextDocument extends VirtualTextDocument {\n  protected constructor(container: VueTextDocument, selector: Selector, transformed: TextDocument, source: TextDocument | VirtualTextDocument, _transform: (document: TransformedBlockTextDocument) => BlockTransformResult);\n  static create(options: CreateTransformedBlockTextDocumentOptions): TransformedBlockTextDocument;\n  protected refresh(): void;\n  transform(): BlockTransformResult;\n  tryGetGeneratedOffset(offset: number): number | undefined;\n  tryGetSourceOffset(offset: number): number | undefined;\n}\n```\n\n**Members:**\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-create-member-1-\" id=\"-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-create-member-1-\"></a>\n\n#### [create](#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-create-member-1-)\n\n\n\n**Signature:**\n```ts\nstatic create(options: CreateTransformedBlockTextDocumentOptions): TransformedBlockTextDocument;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| options | <code><a href=\"#-vuedx-vue-virtual-textdocument--CreateTransformedBlockTextDocumentOptions-interface\">CreateTransformedBlockTextDocumentOptions</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-refresh-member-1-\" id=\"-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-refresh-member-1-\"></a>\n\n#### [refresh](#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-refresh-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected refresh(): void;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-transform-member-1-\" id=\"-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-transform-member-1-\"></a>\n\n#### [transform](#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-transform-member-1-)\n\n\n\n**Signature:**\n```ts\ntransform(): BlockTransformResult;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-tryGetGeneratedOffset-member-1-\" id=\"-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-tryGetGeneratedOffset-member-1-\"></a>\n\n#### [tryGetGeneratedOffset](#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-tryGetGeneratedOffset-member-1-)\n\n\n\n**Signature:**\n```ts\ntryGetGeneratedOffset(offset: number): number | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-tryGetSourceOffset-member-1-\" id=\"-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-tryGetSourceOffset-member-1-\"></a>\n\n#### [tryGetSourceOffset](#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-tryGetSourceOffset-member-1-)\n\n\n\n**Signature:**\n```ts\ntryGetSourceOffset(offset: number): number | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n</details>\n\n<br>\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VirtualTextDocument-class\" id=\"-vuedx-vue-virtual-textdocument-VirtualTextDocument-class\"></a>\n\n### [VirtualTextDocument](#-vuedx-vue-virtual-textdocument-VirtualTextDocument-class)\n\n\n\n<details><summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare class VirtualTextDocument extends ProxyTextDocument {\n  protected constructor(container: VueTextDocument, selector: Selector, doc: TextDocument);\n  readonly container: VueTextDocument;\n  static create(options: CreateVirtualTextDocumentOptions): VirtualTextDocument;\n  protected isDirty: boolean;\n  markDirty(): void;\n  protected refresh(): void;\n  readonly selector: Selector;\n}\n```\n\n**Members:**\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VirtualTextDocument-create-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VirtualTextDocument-create-member-1-\"></a>\n\n#### [create](#-vuedx-vue-virtual-textdocument-VirtualTextDocument-create-member-1-)\n\n\n\n**Signature:**\n```ts\nstatic create(options: CreateVirtualTextDocumentOptions): VirtualTextDocument;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| options | <code><a href=\"#-vuedx-vue-virtual-textdocument--CreateVirtualTextDocumentOptions-interface\">CreateVirtualTextDocumentOptions</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VirtualTextDocument-markDirty-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VirtualTextDocument-markDirty-member-1-\"></a>\n\n#### [markDirty](#-vuedx-vue-virtual-textdocument-VirtualTextDocument-markDirty-member-1-)\n\n\n\n**Signature:**\n```ts\nmarkDirty(): void;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VirtualTextDocument-refresh-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VirtualTextDocument-refresh-member-1-\"></a>\n\n#### [refresh](#-vuedx-vue-virtual-textdocument-VirtualTextDocument-refresh-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected refresh(): void;\n```\n\n\n<br>\n</details>\n\n<br>\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-class\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-class\"></a>\n\n### [VueTextDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-class)\n\n\n\n<details><summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare class VueTextDocument extends ProxyTextDocument {\n  constructor(doc: TextDocument, options?: VueTextDocumentOptions, parseOptions?: SFCParseOptions);\n  all(): VirtualTextDocument[];\n  blockAt(position: Position | number): SFCBlock | null | undefined;\n  static create(uri: string, languageId: string, version: number, content: string, options?: VueTextDocumentOptions, parseOptions?: SFCParseOptions): VueTextDocument;\n  protected createBlockDocument(selector: BlockSelector): VirtualTextDocument | undefined;\n  protected createInternalModuleDocument(): TransformedBlockTextDocument;\n  protected createModuleDocument(): TransformedBlockTextDocument;\n  protected createRenderDocument(): RenderFunctionTextDocument;\n  get descriptor(): SFCDescriptor;\n  documentAt(position: Position | number): VirtualTextDocument | undefined;\n  getBlock(selector: BlockSelector): SFCBlock | null | undefined;\n  getBlockSelector(block: SFCBlock): BlockSelector | undefined;\n  getDocument(selector: typeof RENDER_SELECTOR): RenderFunctionTextDocument;\n  getDocument(selector: SelectorLike): VirtualTextDocument;\n  getDocument(selector: string): VirtualTextDocument | undefined;\n  getDocumentFileName(selectorLike: SelectorLike): string;\n  protected getDocumentId(selector: Selector): string;\n  protected getDocumentLanguage(selector: Selector): string;\n  markDirty(): void;\n  readonly options: VueTextDocumentOptions;\n  protected parse(): void;\n  static update(document: VueTextDocument, changes: TextDocumentContentChangeEvent[], version: number): VueTextDocument;\n}\n```\n\n**Members:**\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-all-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-all-member-1-\"></a>\n\n#### [all](#-vuedx-vue-virtual-textdocument-VueTextDocument-all-member-1-)\n\n\n\n**Signature:**\n```ts\nall(): VirtualTextDocument[];\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-blockAt-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-blockAt-member-1-\"></a>\n\n#### [blockAt](#-vuedx-vue-virtual-textdocument-VueTextDocument-blockAt-member-1-)\n\n\n\n**Signature:**\n```ts\nblockAt(position: Position | number): SFCBlock | null | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| position | <code><a href=\"#vscode-languageserver-textdocument-Position-interface\">Position</a> &#124; number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-create-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-create-member-1-\"></a>\n\n#### [create](#-vuedx-vue-virtual-textdocument-VueTextDocument-create-member-1-)\n\n\n\n**Signature:**\n```ts\nstatic create(uri: string, languageId: string, version: number, content: string, options?: VueTextDocumentOptions, parseOptions?: SFCParseOptions): VueTextDocument;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n| languageId | <code>string</code> | - |\n| version | <code>number</code> | - |\n| content | <code>string</code> | - |\n| options | <code><a href=\"#-vuedx-vue-virtual-textdocument--VueTextDocumentOptions-interface\">VueTextDocumentOptions</a></code> | - |\n| parseOptions | <code><a href=\"#-vue-compiler-sfc-SFCParseOptions-interface\">SFCParseOptions</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-createBlockDocument-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-createBlockDocument-member-1-\"></a>\n\n#### [createBlockDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-createBlockDocument-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected createBlockDocument(selector: BlockSelector): VirtualTextDocument | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selector | <code><a href=\"#-vuedx-vue-virtual-textdocument--BlockSelector-type\">BlockSelector</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-createInternalModuleDocument-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-createInternalModuleDocument-member-1-\"></a>\n\n#### [createInternalModuleDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-createInternalModuleDocument-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected createInternalModuleDocument(): TransformedBlockTextDocument;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-createModuleDocument-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-createModuleDocument-member-1-\"></a>\n\n#### [createModuleDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-createModuleDocument-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected createModuleDocument(): TransformedBlockTextDocument;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-createRenderDocument-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-createRenderDocument-member-1-\"></a>\n\n#### [createRenderDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-createRenderDocument-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected createRenderDocument(): RenderFunctionTextDocument;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-documentAt-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-documentAt-member-1-\"></a>\n\n#### [documentAt](#-vuedx-vue-virtual-textdocument-VueTextDocument-documentAt-member-1-)\n\n\n\n**Signature:**\n```ts\ndocumentAt(position: Position | number): VirtualTextDocument | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| position | <code><a href=\"#vscode-languageserver-textdocument-Position-interface\">Position</a> &#124; number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getBlock-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getBlock-member-1-\"></a>\n\n#### [getBlock](#-vuedx-vue-virtual-textdocument-VueTextDocument-getBlock-member-1-)\n\n\n\n**Signature:**\n```ts\ngetBlock(selector: BlockSelector): SFCBlock | null | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selector | <code><a href=\"#-vuedx-vue-virtual-textdocument--BlockSelector-type\">BlockSelector</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getBlockSelector-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getBlockSelector-member-1-\"></a>\n\n#### [getBlockSelector](#-vuedx-vue-virtual-textdocument-VueTextDocument-getBlockSelector-member-1-)\n\n\n\n**Signature:**\n```ts\ngetBlockSelector(block: SFCBlock): BlockSelector | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| block | <code><a href=\"#-vue-compiler-sfc-SFCBlock-interface\">SFCBlock</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-1-\"></a>\n\n#### [getDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-1-)\n\n\n\n**Signature:**\n```ts\ngetDocument(selector: typeof RENDER_SELECTOR): RenderFunctionTextDocument;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selector | <code>typeof <a href=\"#-vuedx-vue-virtual-textdocument--RENDER-SELECTOR-var\">RENDER_SELECTOR</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-2-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-2-\"></a>\n\n#### [getDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-2-)\n\n\n\n**Signature:**\n```ts\ngetDocument(selector: SelectorLike): VirtualTextDocument;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selector | <code><a href=\"#-vuedx-vue-virtual-textdocument--SelectorLike-type\">SelectorLike</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-3-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-3-\"></a>\n\n#### [getDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-3-)\n\n\n\n**Signature:**\n```ts\ngetDocument(selector: string): VirtualTextDocument | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selector | <code>string</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentFileName-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentFileName-member-1-\"></a>\n\n#### [getDocumentFileName](#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentFileName-member-1-)\n\n\n\n**Signature:**\n```ts\ngetDocumentFileName(selectorLike: SelectorLike): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selectorLike | <code><a href=\"#-vuedx-vue-virtual-textdocument--SelectorLike-type\">SelectorLike</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentId-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentId-member-1-\"></a>\n\n#### [getDocumentId](#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentId-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected getDocumentId(selector: Selector): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selector | <code><a href=\"#-vuedx-vue-virtual-textdocument--Selector-type\">Selector</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentLanguage-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentLanguage-member-1-\"></a>\n\n#### [getDocumentLanguage](#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentLanguage-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected getDocumentLanguage(selector: Selector): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selector | <code><a href=\"#-vuedx-vue-virtual-textdocument--Selector-type\">Selector</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-markDirty-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-markDirty-member-1-\"></a>\n\n#### [markDirty](#-vuedx-vue-virtual-textdocument-VueTextDocument-markDirty-member-1-)\n\n\n\n**Signature:**\n```ts\nmarkDirty(): void;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-parse-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-parse-member-1-\"></a>\n\n#### [parse](#-vuedx-vue-virtual-textdocument-VueTextDocument-parse-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected parse(): void;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-update-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-update-member-1-\"></a>\n\n#### [update](#-vuedx-vue-virtual-textdocument-VueTextDocument-update-member-1-)\n\n\n\n**Signature:**\n```ts\nstatic update(document: VueTextDocument, changes: TextDocumentContentChangeEvent[], version: number): VueTextDocument;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| document | <code><a href=\"#-vuedx-vue-virtual-textdocument--VueTextDocument-class\">VueTextDocument</a></code> | - |\n| changes | <code><a href=\"#vscode-languageserver-textdocument-TextDocumentContentChangeEvent-type\">TextDocumentContentChangeEvent</a>[]</code> | - |\n| version | <code>number</code> | - |\n\n<br>\n</details>\n\n<br>\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-asFsPath-function-1-\" id=\"-vuedx-vue-virtual-textdocument-asFsPath-function-1-\"></a>\n\n### [asFsPath](#-vuedx-vue-virtual-textdocument-asFsPath-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function asFsPath(uri: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-asFsUri-function-1-\" id=\"-vuedx-vue-virtual-textdocument-asFsUri-function-1-\"></a>\n\n### [asFsUri](#-vuedx-vue-virtual-textdocument-asFsUri-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function asFsUri(fileName: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-asUri-function-1-\" id=\"-vuedx-vue-virtual-textdocument-asUri-function-1-\"></a>\n\n### [asUri](#-vuedx-vue-virtual-textdocument-asUri-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function asUri(fileNameOrUri: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileNameOrUri | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-basename-function-1-\" id=\"-vuedx-vue-virtual-textdocument-basename-function-1-\"></a>\n\n### [basename](#-vuedx-vue-virtual-textdocument-basename-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function basename(fileName: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-binarySearch-function-1-\" id=\"-vuedx-vue-virtual-textdocument-binarySearch-function-1-\"></a>\n\n### [binarySearch](#-vuedx-vue-virtual-textdocument-binarySearch-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function binarySearch<T>(array: T[], isMatch: (a: T) => number, returnMin?: boolean): T | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| array | <code>T[]</code> | - |\n| isMatch | <code>(a: T) => number</code> | - |\n| returnMin | <code>boolean</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-getBlockLanguage-function-1-\" id=\"-vuedx-vue-virtual-textdocument-getBlockLanguage-function-1-\"></a>\n\n### [getBlockLanguage](#-vuedx-vue-virtual-textdocument-getBlockLanguage-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function getBlockLanguage(block?: SFCBlock | null): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| block | <code><a href=\"#-vue-compiler-sfc-SFCBlock-interface\">SFCBlock</a> &#124; null</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-getContainingFile-function-1-\" id=\"-vuedx-vue-virtual-textdocument-getContainingFile-function-1-\"></a>\n\n### [getContainingFile](#-vuedx-vue-virtual-textdocument-getContainingFile-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function getContainingFile(fileName: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-getLanguageExtension-function-1-\" id=\"-vuedx-vue-virtual-textdocument-getLanguageExtension-function-1-\"></a>\n\n### [getLanguageExtension](#-vuedx-vue-virtual-textdocument-getLanguageExtension-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function getLanguageExtension(lang: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| lang | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-getLanguageIdFromExtension-function-1-\" id=\"-vuedx-vue-virtual-textdocument-getLanguageIdFromExtension-function-1-\"></a>\n\n### [getLanguageIdFromExtension](#-vuedx-vue-virtual-textdocument-getLanguageIdFromExtension-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function getLanguageIdFromExtension(ext: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| ext | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-isOffsetInBlock-function-1-\" id=\"-vuedx-vue-virtual-textdocument-isOffsetInBlock-function-1-\"></a>\n\n### [isOffsetInBlock](#-vuedx-vue-virtual-textdocument-isOffsetInBlock-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function isOffsetInBlock(offset: number, block?: SFCBlock | null): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n| block | <code><a href=\"#-vue-compiler-sfc-SFCBlock-interface\">SFCBlock</a> &#124; null</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-isVirtualFile-function-1-\" id=\"-vuedx-vue-virtual-textdocument-isVirtualFile-function-1-\"></a>\n\n### [isVirtualFile](#-vuedx-vue-virtual-textdocument-isVirtualFile-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function isVirtualFile(fileName: string): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-isVirtualFileOfType-function-1-\" id=\"-vuedx-vue-virtual-textdocument-isVirtualFileOfType-function-1-\"></a>\n\n### [isVirtualFileOfType](#-vuedx-vue-virtual-textdocument-isVirtualFileOfType-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function isVirtualFileOfType(fileName: string, type: '_render' | '_module' | '_internal' | 'script' | 'scriptSetup'): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n| type | <code>'_render' &#124; '_module' &#124; '_internal' &#124; 'script' &#124; 'scriptSetup'</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-isVueFile-function-1-\" id=\"-vuedx-vue-virtual-textdocument-isVueFile-function-1-\"></a>\n\n### [isVueFile](#-vuedx-vue-virtual-textdocument-isVueFile-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function isVueFile(fileName: string): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-parseVirtualFileName-function-1-\" id=\"-vuedx-vue-virtual-textdocument-parseVirtualFileName-function-1-\"></a>\n\n### [parseVirtualFileName](#-vuedx-vue-virtual-textdocument-parseVirtualFileName-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function parseVirtualFileName(fileName: string): {\n    uri: string;\n    selector: Selector;\n} | null;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-relativeVirtualImportPath-function-1-\" id=\"-vuedx-vue-virtual-textdocument-relativeVirtualImportPath-function-1-\"></a>\n\n### [relativeVirtualImportPath](#-vuedx-vue-virtual-textdocument-relativeVirtualImportPath-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function relativeVirtualImportPath(fileName: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-replaceSlashes-function-1-\" id=\"-vuedx-vue-virtual-textdocument-replaceSlashes-function-1-\"></a>\n\n### [replaceSlashes](#-vuedx-vue-virtual-textdocument-replaceSlashes-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function replaceSlashes(fileName: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n<!-- #region API-DOCS -->\n","readmeFilename":"readme.md","_id":"@vuedx/vue-virtual-textdocument@0.3.1-insiders-1608281809.0","_nodeVersion":"14.14.0","_npmVersion":"6.14.8","dist":{"integrity":"sha512-/KU4Pv2jP3WhaCXEEoQOL67gmneJyVDJ4BP2WoyPmANn/sdCOwXbqR9CFDHcNPZtvJP+9pcB+dfLjRgHijR4iQ==","shasum":"9d336e4035c9fc8bdbc4157894c164f3698caadf","tarball":"https://registry.npmjs.org/@vuedx/vue-virtual-textdocument/-/vue-virtual-textdocument-0.3.1-insiders-1608281809.0.tgz","fileCount":8,"unpackedSize":270235,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJf3G7rCRA9TVsSAnZWagAAJgYP/iKePRiEFUskzg/fTrXJ\nKVGxXNozgV4nbLWljRuats0g6dZeF51+rc90pSkxp/MD6SeJDahanmKzAQQN\nUutkJXtn2vx4rPp8f3Lk6J0a17daYb9V66z73YbkrVKHEJ4uMQZ1j680Jljd\nBIg7J5CpVqiu9gaMwZxGk55h2OtO7Qm7d4KYCcC2N+BoJ6+BH29nwQtsmDqu\nh8g6qaT5dXsHvg8SYUWe6gZWISs5SsUDXsCw9bzMK13kWtIaMgqJVkQTFQYM\nWiZLvue+89v5d9rfyGd3Q5/MiPQSXREffAKJ5+iEL1AcN+PRRN3Dhosp8GGU\nVV7tyIoMi1CTlXoNfk1fQZ25l0bGgFcVdA12wg3pF8nrr3ALX9qpHogjnQdi\nzQE8UHzcV4w1YiAWAD8Oi+NPP98sDT/4wheYEOYeyI+17at8WrD3d3ufEz2/\nx2VHLh1W9FECgGGkFx5Fdfzy1q1/2hDf4cvqKHGbILwXqH8mEIjRwCR4LwBs\nBpbS7Lo9PcIJ8SYvX81NB0hBhAVQUm2ctGcSCnjK0Ea8NrCxOCGoGYOjlgJk\nRjnJ9Bp3D3V7PNCR5dXxkVc3L6Na+03F3/AkLQFB/+MCUlxgddnri0ShJeXm\nNkA0PbHo1+d0Buj/8KKl0fALArCxWfkJ/HoolxGZEkuoH2wCjVUDhaeLOMPb\noOhB\r\n=9OmK\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIH6C6VZTxQFNXVDYEVOY4SwsMlUy771Wyl87hkhv2RUEAiEAqxgFz2nXD89tx3trWMvUxTIEuWEcS+HIUlJgCs6bYv4="}]},"_npmUser":{"name":"znck","email":"rahulkdn@gmail.com"},"directories":{},"maintainers":[{"name":"znck","email":"rahulkdn@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/vue-virtual-textdocument_0.3.1-insiders-1608281809.0_1608281834779_0.5841275264003625"},"_hasShrinkwrap":false},"0.3.1-insiders-1608285835.0":{"name":"@vuedx/vue-virtual-textdocument","version":"0.3.1-insiders-1608285835.0","description":"An implementation of virtual filesystem for accessing blocks in a `.vue` file as independent files.","main":"dist/index.cjs.js","module":"dist/index.esm.js","types":"dist/index.d.ts","private":false,"scripts":{},"keywords":["vue","vue sfc","sfc","vue virtual files"],"repository":{"type":"git","url":"git+https://github.com/znck/vue-developer-experience.git"},"author":{"name":"Rahul Kadyan","email":"rahulkdn@gmail.com","url":"https://znck.me/"},"funding":{"type":"individual","url":"https://github.com/sponsors/znck"},"license":"MIT","bugs":{"url":"https://github.com/znck/vue-developer-experience/issues"},"homepage":"https://github.com/znck/vue-developer-experience#readme","dependencies":{"@vuedx/analyze":"0.3.1-insiders-1608285835.0","@vuedx/compiler-sfc":"0.3.1-insiders-1608285835.0","@vuedx/compiler-tsx":"0.3.1-insiders-1608285835.0","source-map":"^0.6.1","vscode-languageserver-textdocument":"^1.0.1","vscode-uri":"^2.1.2"},"devDependencies":{"@vuedx/shared":"0.0.1-insiders-1608285835.0","fast-glob":"^3.2.4","typescript":"^4.0.3"},"readme":"# Vue Virtual TextDocument\n\nAn implementation of virtual filesystem for accessing blocks in a `.vue` file as independent files.\n\n## Support\n\nThis package is part of [VueDX project](https://github.com/znck/vue-developer-experience), maintained by [Rahul Kadyan](https://github.com/znck). You can [💖 sponsor him](https://github.com/sponsors/znck) for continued development of this package and other VueDX tools.\n\n```\nnpm add @vuedx/vue-virtual-textdocument\n```\n<!-- #region API-DOCS -->\n<!-- Do not edit this file. It is a report generated by [scripts/docgen.js](https://github.com/znck/vue-developer-experience/tree/master/scripts/docgen.js). -->\n\n## API\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-AsyncDocumentStore-class\" id=\"-vuedx-vue-virtual-textdocument-AsyncDocumentStore-class\"></a>\n\n### [AsyncDocumentStore](#-vuedx-vue-virtual-textdocument-AsyncDocumentStore-class)\n\n\n\n<details><summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare class AsyncDocumentStore<T> extends DocumentStore<T> {\n  constructor(resolve: (uri: string) => T | Promise<T | null> | null, normalize?: (uri: string) => string);\n  get(uri: string): T | null;\n  get(uri: string): Promise<T | null>;\n}\n```\n\n**Members:**\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-AsyncDocumentStore-get-member-1-\" id=\"-vuedx-vue-virtual-textdocument-AsyncDocumentStore-get-member-1-\"></a>\n\n#### [get](#-vuedx-vue-virtual-textdocument-AsyncDocumentStore-get-member-1-)\n\n\n\n**Signature:**\n```ts\nget(uri: string): T | null;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-AsyncDocumentStore-get-member-2-\" id=\"-vuedx-vue-virtual-textdocument-AsyncDocumentStore-get-member-2-\"></a>\n\n#### [get](#-vuedx-vue-virtual-textdocument-AsyncDocumentStore-get-member-2-)\n\n\n\n**Signature:**\n```ts\nget(uri: string): Promise<T | null>;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n\n<br>\n</details>\n\n<br>\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-class\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-class\"></a>\n\n### [DocumentStore](#-vuedx-vue-virtual-textdocument-DocumentStore-class)\n\n\n\n<details><summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare class DocumentStore<T> {\n  constructor(resolve: (uri: string) => T | null, normalize?: (uri: string) => string);\n  all(): string[];\n  delete(uri: string): boolean;\n  dispose(): void;\n  get(uri: string): T | null;\n  protected getNormalizedUri(uri: string): string;\n  has(uri: string): boolean;\n  protected map: Map<string, T>;\n  normalize: (uri: string) => string;\n  protected resolve: (uri: string) => T | null;\n  protected reverseUriMap: Map<string, string>;\n  set(uri: string, document: T): void;\n}\n```\n\n**Members:**\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-all-member-1-\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-all-member-1-\"></a>\n\n#### [all](#-vuedx-vue-virtual-textdocument-DocumentStore-all-member-1-)\n\n\n\n**Signature:**\n```ts\nall(): string[];\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-delete-member-1-\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-delete-member-1-\"></a>\n\n#### [delete](#-vuedx-vue-virtual-textdocument-DocumentStore-delete-member-1-)\n\n\n\n**Signature:**\n```ts\ndelete(uri: string): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-dispose-member-1-\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-dispose-member-1-\"></a>\n\n#### [dispose](#-vuedx-vue-virtual-textdocument-DocumentStore-dispose-member-1-)\n\n\n\n**Signature:**\n```ts\ndispose(): void;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-get-member-1-\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-get-member-1-\"></a>\n\n#### [get](#-vuedx-vue-virtual-textdocument-DocumentStore-get-member-1-)\n\n\n\n**Signature:**\n```ts\nget(uri: string): T | null;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-getNormalizedUri-member-1-\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-getNormalizedUri-member-1-\"></a>\n\n#### [getNormalizedUri](#-vuedx-vue-virtual-textdocument-DocumentStore-getNormalizedUri-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected getNormalizedUri(uri: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-has-member-1-\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-has-member-1-\"></a>\n\n#### [has](#-vuedx-vue-virtual-textdocument-DocumentStore-has-member-1-)\n\n\n\n**Signature:**\n```ts\nhas(uri: string): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-set-member-1-\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-set-member-1-\"></a>\n\n#### [set](#-vuedx-vue-virtual-textdocument-DocumentStore-set-member-1-)\n\n\n\n**Signature:**\n```ts\nset(uri: string, document: T): void;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n| document | <code>T</code> | - |\n\n<br>\n</details>\n\n<br>\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-class\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-class\"></a>\n\n### [RenderFunctionTextDocument](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-class)\n\n\n\n<details><summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare class RenderFunctionTextDocument extends TransformedBlockTextDocument {\n  constructor(container: VueTextDocument, selector: Selector, transformed: TextDocument, source: TextDocument);\n  get ast(): CodegenResult['ast'] | undefined;\n  get contextCompletionsTriggerOffset(): number;\n  static create(options: CreateVirtualTextDocumentOptions): RenderFunctionTextDocument;\n  findExpression(offset: number, length: number): undefined | {\n        offset: number;\n        length: number;\n    };\n  protected generate(): string;\n  getAllGeneratedOffsetsAt(offset: number): undefined | Array<{\n        length: number;\n        offset: number;\n    }>;\n  getGeneratedOffsetAt(offset: number): undefined | {\n        length: number;\n        offset: number;\n    };\n  protected getKnownComponents(): Record<string, ComponentImport>;\n  getOriginalOffsetAt(offset: number): undefined | {\n        offset: number;\n        length: number;\n    };\n  isInGeneratedRange(offset: number): boolean;\n  get parserErrors(): CodegenResult['errors'];\n  get tagCompletionsTriggerOffset(): number;\n  toDisplayMappings(): string;\n  protected tryGenerate(): string;\n}\n```\n\n**Members:**\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-create-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-create-member-1-\"></a>\n\n#### [create](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-create-member-1-)\n\n\n\n**Signature:**\n```ts\nstatic create(options: CreateVirtualTextDocumentOptions): RenderFunctionTextDocument;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| options | <code><a href=\"#-vuedx-vue-virtual-textdocument--CreateVirtualTextDocumentOptions-interface\">CreateVirtualTextDocumentOptions</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-findExpression-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-findExpression-member-1-\"></a>\n\n#### [findExpression](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-findExpression-member-1-)\n\n\n\n**Signature:**\n```ts\nfindExpression(offset: number, length: number): undefined | {\n        offset: number;\n        length: number;\n    };\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n| length | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-generate-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-generate-member-1-\"></a>\n\n#### [generate](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-generate-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected generate(): string;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getAllGeneratedOffsetsAt-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getAllGeneratedOffsetsAt-member-1-\"></a>\n\n#### [getAllGeneratedOffsetsAt](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getAllGeneratedOffsetsAt-member-1-)\n\n\n\n**Signature:**\n```ts\ngetAllGeneratedOffsetsAt(offset: number): undefined | Array<{\n        length: number;\n        offset: number;\n    }>;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getGeneratedOffsetAt-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getGeneratedOffsetAt-member-1-\"></a>\n\n#### [getGeneratedOffsetAt](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getGeneratedOffsetAt-member-1-)\n\n\n\n**Signature:**\n```ts\ngetGeneratedOffsetAt(offset: number): undefined | {\n        length: number;\n        offset: number;\n    };\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getKnownComponents-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getKnownComponents-member-1-\"></a>\n\n#### [getKnownComponents](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getKnownComponents-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected getKnownComponents(): Record<string, ComponentImport>;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getOriginalOffsetAt-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getOriginalOffsetAt-member-1-\"></a>\n\n#### [getOriginalOffsetAt](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getOriginalOffsetAt-member-1-)\n\n\n\n**Signature:**\n```ts\ngetOriginalOffsetAt(offset: number): undefined | {\n        offset: number;\n        length: number;\n    };\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-isInGeneratedRange-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-isInGeneratedRange-member-1-\"></a>\n\n#### [isInGeneratedRange](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-isInGeneratedRange-member-1-)\n\n\n\n**Signature:**\n```ts\nisInGeneratedRange(offset: number): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-toDisplayMappings-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-toDisplayMappings-member-1-\"></a>\n\n#### [toDisplayMappings](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-toDisplayMappings-member-1-)\n\n\n\n**Signature:**\n```ts\ntoDisplayMappings(): string;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-tryGenerate-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-tryGenerate-member-1-\"></a>\n\n#### [tryGenerate](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-tryGenerate-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected tryGenerate(): string;\n```\n\n\n<br>\n</details>\n\n<br>\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-class\" id=\"-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-class\"></a>\n\n### [TransformedBlockTextDocument](#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-class)\n\n\n\n<details><summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare class TransformedBlockTextDocument extends VirtualTextDocument {\n  protected constructor(container: VueTextDocument, selector: Selector, transformed: TextDocument, source: TextDocument | VirtualTextDocument, _transform: (document: TransformedBlockTextDocument) => BlockTransformResult);\n  static create(options: CreateTransformedBlockTextDocumentOptions): TransformedBlockTextDocument;\n  protected refresh(): void;\n  transform(): BlockTransformResult;\n  tryGetGeneratedOffset(offset: number): number | undefined;\n  tryGetSourceOffset(offset: number): number | undefined;\n}\n```\n\n**Members:**\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-create-member-1-\" id=\"-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-create-member-1-\"></a>\n\n#### [create](#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-create-member-1-)\n\n\n\n**Signature:**\n```ts\nstatic create(options: CreateTransformedBlockTextDocumentOptions): TransformedBlockTextDocument;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| options | <code><a href=\"#-vuedx-vue-virtual-textdocument--CreateTransformedBlockTextDocumentOptions-interface\">CreateTransformedBlockTextDocumentOptions</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-refresh-member-1-\" id=\"-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-refresh-member-1-\"></a>\n\n#### [refresh](#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-refresh-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected refresh(): void;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-transform-member-1-\" id=\"-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-transform-member-1-\"></a>\n\n#### [transform](#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-transform-member-1-)\n\n\n\n**Signature:**\n```ts\ntransform(): BlockTransformResult;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-tryGetGeneratedOffset-member-1-\" id=\"-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-tryGetGeneratedOffset-member-1-\"></a>\n\n#### [tryGetGeneratedOffset](#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-tryGetGeneratedOffset-member-1-)\n\n\n\n**Signature:**\n```ts\ntryGetGeneratedOffset(offset: number): number | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-tryGetSourceOffset-member-1-\" id=\"-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-tryGetSourceOffset-member-1-\"></a>\n\n#### [tryGetSourceOffset](#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-tryGetSourceOffset-member-1-)\n\n\n\n**Signature:**\n```ts\ntryGetSourceOffset(offset: number): number | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n</details>\n\n<br>\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VirtualTextDocument-class\" id=\"-vuedx-vue-virtual-textdocument-VirtualTextDocument-class\"></a>\n\n### [VirtualTextDocument](#-vuedx-vue-virtual-textdocument-VirtualTextDocument-class)\n\n\n\n<details><summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare class VirtualTextDocument extends ProxyTextDocument {\n  protected constructor(container: VueTextDocument, selector: Selector, doc: TextDocument);\n  readonly container: VueTextDocument;\n  static create(options: CreateVirtualTextDocumentOptions): VirtualTextDocument;\n  protected isDirty: boolean;\n  markDirty(): void;\n  protected refresh(): void;\n  readonly selector: Selector;\n}\n```\n\n**Members:**\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VirtualTextDocument-create-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VirtualTextDocument-create-member-1-\"></a>\n\n#### [create](#-vuedx-vue-virtual-textdocument-VirtualTextDocument-create-member-1-)\n\n\n\n**Signature:**\n```ts\nstatic create(options: CreateVirtualTextDocumentOptions): VirtualTextDocument;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| options | <code><a href=\"#-vuedx-vue-virtual-textdocument--CreateVirtualTextDocumentOptions-interface\">CreateVirtualTextDocumentOptions</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VirtualTextDocument-markDirty-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VirtualTextDocument-markDirty-member-1-\"></a>\n\n#### [markDirty](#-vuedx-vue-virtual-textdocument-VirtualTextDocument-markDirty-member-1-)\n\n\n\n**Signature:**\n```ts\nmarkDirty(): void;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VirtualTextDocument-refresh-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VirtualTextDocument-refresh-member-1-\"></a>\n\n#### [refresh](#-vuedx-vue-virtual-textdocument-VirtualTextDocument-refresh-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected refresh(): void;\n```\n\n\n<br>\n</details>\n\n<br>\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-class\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-class\"></a>\n\n### [VueTextDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-class)\n\n\n\n<details><summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare class VueTextDocument extends ProxyTextDocument {\n  constructor(doc: TextDocument, options?: VueTextDocumentOptions, parseOptions?: SFCParseOptions);\n  all(): VirtualTextDocument[];\n  blockAt(position: Position | number): SFCBlock | null | undefined;\n  static create(uri: string, languageId: string, version: number, content: string, options?: VueTextDocumentOptions, parseOptions?: SFCParseOptions): VueTextDocument;\n  protected createBlockDocument(selector: BlockSelector): VirtualTextDocument | undefined;\n  protected createInternalModuleDocument(): TransformedBlockTextDocument;\n  protected createModuleDocument(): TransformedBlockTextDocument;\n  protected createRenderDocument(): RenderFunctionTextDocument;\n  get descriptor(): SFCDescriptor;\n  documentAt(position: Position | number): VirtualTextDocument | undefined;\n  getBlock(selector: BlockSelector): SFCBlock | null | undefined;\n  getBlockSelector(block: SFCBlock): BlockSelector | undefined;\n  getDocument(selector: typeof RENDER_SELECTOR): RenderFunctionTextDocument;\n  getDocument(selector: SelectorLike): VirtualTextDocument;\n  getDocument(selector: string): VirtualTextDocument | undefined;\n  getDocumentFileName(selectorLike: SelectorLike): string;\n  protected getDocumentId(selector: Selector): string;\n  protected getDocumentLanguage(selector: Selector): string;\n  markDirty(): void;\n  readonly options: VueTextDocumentOptions;\n  protected parse(): void;\n  static update(document: VueTextDocument, changes: TextDocumentContentChangeEvent[], version: number): VueTextDocument;\n}\n```\n\n**Members:**\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-all-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-all-member-1-\"></a>\n\n#### [all](#-vuedx-vue-virtual-textdocument-VueTextDocument-all-member-1-)\n\n\n\n**Signature:**\n```ts\nall(): VirtualTextDocument[];\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-blockAt-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-blockAt-member-1-\"></a>\n\n#### [blockAt](#-vuedx-vue-virtual-textdocument-VueTextDocument-blockAt-member-1-)\n\n\n\n**Signature:**\n```ts\nblockAt(position: Position | number): SFCBlock | null | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| position | <code><a href=\"#vscode-languageserver-textdocument-Position-interface\">Position</a> &#124; number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-create-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-create-member-1-\"></a>\n\n#### [create](#-vuedx-vue-virtual-textdocument-VueTextDocument-create-member-1-)\n\n\n\n**Signature:**\n```ts\nstatic create(uri: string, languageId: string, version: number, content: string, options?: VueTextDocumentOptions, parseOptions?: SFCParseOptions): VueTextDocument;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n| languageId | <code>string</code> | - |\n| version | <code>number</code> | - |\n| content | <code>string</code> | - |\n| options | <code><a href=\"#-vuedx-vue-virtual-textdocument--VueTextDocumentOptions-interface\">VueTextDocumentOptions</a></code> | - |\n| parseOptions | <code><a href=\"#-vue-compiler-sfc-SFCParseOptions-interface\">SFCParseOptions</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-createBlockDocument-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-createBlockDocument-member-1-\"></a>\n\n#### [createBlockDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-createBlockDocument-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected createBlockDocument(selector: BlockSelector): VirtualTextDocument | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selector | <code><a href=\"#-vuedx-vue-virtual-textdocument--BlockSelector-type\">BlockSelector</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-createInternalModuleDocument-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-createInternalModuleDocument-member-1-\"></a>\n\n#### [createInternalModuleDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-createInternalModuleDocument-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected createInternalModuleDocument(): TransformedBlockTextDocument;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-createModuleDocument-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-createModuleDocument-member-1-\"></a>\n\n#### [createModuleDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-createModuleDocument-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected createModuleDocument(): TransformedBlockTextDocument;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-createRenderDocument-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-createRenderDocument-member-1-\"></a>\n\n#### [createRenderDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-createRenderDocument-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected createRenderDocument(): RenderFunctionTextDocument;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-documentAt-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-documentAt-member-1-\"></a>\n\n#### [documentAt](#-vuedx-vue-virtual-textdocument-VueTextDocument-documentAt-member-1-)\n\n\n\n**Signature:**\n```ts\ndocumentAt(position: Position | number): VirtualTextDocument | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| position | <code><a href=\"#vscode-languageserver-textdocument-Position-interface\">Position</a> &#124; number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getBlock-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getBlock-member-1-\"></a>\n\n#### [getBlock](#-vuedx-vue-virtual-textdocument-VueTextDocument-getBlock-member-1-)\n\n\n\n**Signature:**\n```ts\ngetBlock(selector: BlockSelector): SFCBlock | null | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selector | <code><a href=\"#-vuedx-vue-virtual-textdocument--BlockSelector-type\">BlockSelector</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getBlockSelector-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getBlockSelector-member-1-\"></a>\n\n#### [getBlockSelector](#-vuedx-vue-virtual-textdocument-VueTextDocument-getBlockSelector-member-1-)\n\n\n\n**Signature:**\n```ts\ngetBlockSelector(block: SFCBlock): BlockSelector | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| block | <code><a href=\"#-vue-compiler-sfc-SFCBlock-interface\">SFCBlock</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-1-\"></a>\n\n#### [getDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-1-)\n\n\n\n**Signature:**\n```ts\ngetDocument(selector: typeof RENDER_SELECTOR): RenderFunctionTextDocument;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selector | <code>typeof <a href=\"#-vuedx-vue-virtual-textdocument--RENDER-SELECTOR-var\">RENDER_SELECTOR</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-2-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-2-\"></a>\n\n#### [getDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-2-)\n\n\n\n**Signature:**\n```ts\ngetDocument(selector: SelectorLike): VirtualTextDocument;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selector | <code><a href=\"#-vuedx-vue-virtual-textdocument--SelectorLike-type\">SelectorLike</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-3-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-3-\"></a>\n\n#### [getDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-3-)\n\n\n\n**Signature:**\n```ts\ngetDocument(selector: string): VirtualTextDocument | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selector | <code>string</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentFileName-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentFileName-member-1-\"></a>\n\n#### [getDocumentFileName](#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentFileName-member-1-)\n\n\n\n**Signature:**\n```ts\ngetDocumentFileName(selectorLike: SelectorLike): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selectorLike | <code><a href=\"#-vuedx-vue-virtual-textdocument--SelectorLike-type\">SelectorLike</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentId-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentId-member-1-\"></a>\n\n#### [getDocumentId](#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentId-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected getDocumentId(selector: Selector): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selector | <code><a href=\"#-vuedx-vue-virtual-textdocument--Selector-type\">Selector</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentLanguage-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentLanguage-member-1-\"></a>\n\n#### [getDocumentLanguage](#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentLanguage-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected getDocumentLanguage(selector: Selector): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selector | <code><a href=\"#-vuedx-vue-virtual-textdocument--Selector-type\">Selector</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-markDirty-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-markDirty-member-1-\"></a>\n\n#### [markDirty](#-vuedx-vue-virtual-textdocument-VueTextDocument-markDirty-member-1-)\n\n\n\n**Signature:**\n```ts\nmarkDirty(): void;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-parse-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-parse-member-1-\"></a>\n\n#### [parse](#-vuedx-vue-virtual-textdocument-VueTextDocument-parse-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected parse(): void;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-update-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-update-member-1-\"></a>\n\n#### [update](#-vuedx-vue-virtual-textdocument-VueTextDocument-update-member-1-)\n\n\n\n**Signature:**\n```ts\nstatic update(document: VueTextDocument, changes: TextDocumentContentChangeEvent[], version: number): VueTextDocument;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| document | <code><a href=\"#-vuedx-vue-virtual-textdocument--VueTextDocument-class\">VueTextDocument</a></code> | - |\n| changes | <code><a href=\"#vscode-languageserver-textdocument-TextDocumentContentChangeEvent-type\">TextDocumentContentChangeEvent</a>[]</code> | - |\n| version | <code>number</code> | - |\n\n<br>\n</details>\n\n<br>\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-asFsPath-function-1-\" id=\"-vuedx-vue-virtual-textdocument-asFsPath-function-1-\"></a>\n\n### [asFsPath](#-vuedx-vue-virtual-textdocument-asFsPath-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function asFsPath(uri: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-asFsUri-function-1-\" id=\"-vuedx-vue-virtual-textdocument-asFsUri-function-1-\"></a>\n\n### [asFsUri](#-vuedx-vue-virtual-textdocument-asFsUri-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function asFsUri(fileName: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-asUri-function-1-\" id=\"-vuedx-vue-virtual-textdocument-asUri-function-1-\"></a>\n\n### [asUri](#-vuedx-vue-virtual-textdocument-asUri-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function asUri(fileNameOrUri: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileNameOrUri | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-basename-function-1-\" id=\"-vuedx-vue-virtual-textdocument-basename-function-1-\"></a>\n\n### [basename](#-vuedx-vue-virtual-textdocument-basename-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function basename(fileName: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-binarySearch-function-1-\" id=\"-vuedx-vue-virtual-textdocument-binarySearch-function-1-\"></a>\n\n### [binarySearch](#-vuedx-vue-virtual-textdocument-binarySearch-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function binarySearch<T>(array: T[], isMatch: (a: T) => number, returnMin?: boolean): T | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| array | <code>T[]</code> | - |\n| isMatch | <code>(a: T) => number</code> | - |\n| returnMin | <code>boolean</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-getBlockLanguage-function-1-\" id=\"-vuedx-vue-virtual-textdocument-getBlockLanguage-function-1-\"></a>\n\n### [getBlockLanguage](#-vuedx-vue-virtual-textdocument-getBlockLanguage-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function getBlockLanguage(block?: SFCBlock | null): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| block | <code><a href=\"#-vue-compiler-sfc-SFCBlock-interface\">SFCBlock</a> &#124; null</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-getContainingFile-function-1-\" id=\"-vuedx-vue-virtual-textdocument-getContainingFile-function-1-\"></a>\n\n### [getContainingFile](#-vuedx-vue-virtual-textdocument-getContainingFile-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function getContainingFile(fileName: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-getLanguageExtension-function-1-\" id=\"-vuedx-vue-virtual-textdocument-getLanguageExtension-function-1-\"></a>\n\n### [getLanguageExtension](#-vuedx-vue-virtual-textdocument-getLanguageExtension-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function getLanguageExtension(lang: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| lang | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-getLanguageIdFromExtension-function-1-\" id=\"-vuedx-vue-virtual-textdocument-getLanguageIdFromExtension-function-1-\"></a>\n\n### [getLanguageIdFromExtension](#-vuedx-vue-virtual-textdocument-getLanguageIdFromExtension-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function getLanguageIdFromExtension(ext: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| ext | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-isOffsetInBlock-function-1-\" id=\"-vuedx-vue-virtual-textdocument-isOffsetInBlock-function-1-\"></a>\n\n### [isOffsetInBlock](#-vuedx-vue-virtual-textdocument-isOffsetInBlock-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function isOffsetInBlock(offset: number, block?: SFCBlock | null): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n| block | <code><a href=\"#-vue-compiler-sfc-SFCBlock-interface\">SFCBlock</a> &#124; null</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-isVirtualFile-function-1-\" id=\"-vuedx-vue-virtual-textdocument-isVirtualFile-function-1-\"></a>\n\n### [isVirtualFile](#-vuedx-vue-virtual-textdocument-isVirtualFile-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function isVirtualFile(fileName: string): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-isVirtualFileOfType-function-1-\" id=\"-vuedx-vue-virtual-textdocument-isVirtualFileOfType-function-1-\"></a>\n\n### [isVirtualFileOfType](#-vuedx-vue-virtual-textdocument-isVirtualFileOfType-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function isVirtualFileOfType(fileName: string, type: '_render' | '_module' | '_internal' | 'script' | 'scriptSetup'): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n| type | <code>'_render' &#124; '_module' &#124; '_internal' &#124; 'script' &#124; 'scriptSetup'</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-isVueFile-function-1-\" id=\"-vuedx-vue-virtual-textdocument-isVueFile-function-1-\"></a>\n\n### [isVueFile](#-vuedx-vue-virtual-textdocument-isVueFile-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function isVueFile(fileName: string): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-parseVirtualFileName-function-1-\" id=\"-vuedx-vue-virtual-textdocument-parseVirtualFileName-function-1-\"></a>\n\n### [parseVirtualFileName](#-vuedx-vue-virtual-textdocument-parseVirtualFileName-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function parseVirtualFileName(fileName: string): {\n    uri: string;\n    selector: Selector;\n} | null;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-relativeVirtualImportPath-function-1-\" id=\"-vuedx-vue-virtual-textdocument-relativeVirtualImportPath-function-1-\"></a>\n\n### [relativeVirtualImportPath](#-vuedx-vue-virtual-textdocument-relativeVirtualImportPath-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function relativeVirtualImportPath(fileName: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-replaceSlashes-function-1-\" id=\"-vuedx-vue-virtual-textdocument-replaceSlashes-function-1-\"></a>\n\n### [replaceSlashes](#-vuedx-vue-virtual-textdocument-replaceSlashes-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function replaceSlashes(fileName: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n<!-- #region API-DOCS -->\n","readmeFilename":"readme.md","_id":"@vuedx/vue-virtual-textdocument@0.3.1-insiders-1608285835.0","_nodeVersion":"14.14.0","_npmVersion":"6.14.8","dist":{"integrity":"sha512-ONEcd1GScR//9PMuWvVvpUPBCpbzMBkQhg0mZdHj1qaViNJl3/mpmgFZC/l/J6MDsVVb+yiYvnkmby/wLBsaGg==","shasum":"2c7e0c07df03841dd52e05aef650436c4c930183","tarball":"https://registry.npmjs.org/@vuedx/vue-virtual-textdocument/-/vue-virtual-textdocument-0.3.1-insiders-1608285835.0.tgz","fileCount":8,"unpackedSize":270239,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJf3H6oCRA9TVsSAnZWagAAurwQAKUMm0dsIoI+WCgkdCAd\nzI3JFYas6y65fyIh6wT9iTNHMGLIq7iGsz568YgTYPfLeo/jyWlmxpdgu+mU\nbBwfzfCPPm93wJvGYjhSb2TDMp+guXwQyvijeCLI6W/h2mojMLn0WfdfhWSQ\nz/jq0p1DlbYlX1OC4w1fPgITRGHVIEoJNkF0ejeUp8JEbnscyoVcATv7WKSx\naWX/dkzlP8ZV9+gy6sTf9CQM7OGlFTVU005BL1fiT39LJMVDFyicGSyKxrOq\nIUYSQXE8n/vmR4i+WRsxXAYxd1WziHvKdWskoAvqk0wo48LIjeYw9xRuHsv+\nFcj7M7er3ITYV5Q/muv+icQLQQxe9kXkc+js13W/1KRhrIwJ3fO/eFq/vis/\nGYEdcowCZA6KcJgBXAazS+sux9Od8h0lb0gyyfljPnLGcJBD7bjHoPl/wY4p\n7z4yWClRY0rvc7PoPGgqdpy6UV9nOrLKlMQx9of9FF3xqo2ED55ChDd1azXY\nEAus94BbsrfgJchbD9RRoNq5WrJwZHKY888yYAWPgbI8i3PenwCHkP1wW8Hg\nKaSGAWJY7eD6HWLY5KXrU7UDo57nh+MGrQGjp9Hsx4mwY1AzW8KJfZtttJv4\nM5BWlv35uhbx5tc2mUgHV4LAB7QGb9lSPt3SURAoIy+tQATHpdF98uJopY/1\nJ2g8\r\n=hVgQ\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDHuHzHDbHo5a1A1+eY8sIfHjRhDojz6TyWOomTkJSQ8AIhAIGFQoL+wEPHd87AJqrzM2lxuD6nfI82k6PGIV7rAuYf"}]},"_npmUser":{"name":"znck","email":"rahulkdn@gmail.com"},"directories":{},"maintainers":[{"name":"znck","email":"rahulkdn@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/vue-virtual-textdocument_0.3.1-insiders-1608285835.0_1608285863913_0.2071954703191765"},"_hasShrinkwrap":false},"0.3.1-insiders-1608294809.0":{"name":"@vuedx/vue-virtual-textdocument","version":"0.3.1-insiders-1608294809.0","description":"An implementation of virtual filesystem for accessing blocks in a `.vue` file as independent files.","main":"dist/index.cjs.js","module":"dist/index.esm.js","types":"dist/index.d.ts","private":false,"scripts":{},"keywords":["vue","vue sfc","sfc","vue virtual files"],"repository":{"type":"git","url":"git+https://github.com/znck/vue-developer-experience.git"},"author":{"name":"Rahul Kadyan","email":"rahulkdn@gmail.com","url":"https://znck.me/"},"funding":{"type":"individual","url":"https://github.com/sponsors/znck"},"license":"MIT","bugs":{"url":"https://github.com/znck/vue-developer-experience/issues"},"homepage":"https://github.com/znck/vue-developer-experience#readme","dependencies":{"@vuedx/analyze":"0.3.1-insiders-1608294809.0","@vuedx/compiler-sfc":"0.3.1-insiders-1608294809.0","@vuedx/compiler-tsx":"0.3.1-insiders-1608294809.0","source-map":"^0.6.1","vscode-languageserver-textdocument":"^1.0.1","vscode-uri":"^2.1.2"},"devDependencies":{"@vuedx/shared":"0.0.1-insiders-1608294809.0","fast-glob":"^3.2.4","typescript":"^4.0.3"},"readme":"# Vue Virtual TextDocument\n\nAn implementation of virtual filesystem for accessing blocks in a `.vue` file as independent files.\n\n## Support\n\nThis package is part of [VueDX project](https://github.com/znck/vue-developer-experience), maintained by [Rahul Kadyan](https://github.com/znck). You can [💖 sponsor him](https://github.com/sponsors/znck) for continued development of this package and other VueDX tools.\n\n```\nnpm add @vuedx/vue-virtual-textdocument\n```\n<!-- #region API-DOCS -->\n<!-- Do not edit this file. It is a report generated by [scripts/docgen.js](https://github.com/znck/vue-developer-experience/tree/master/scripts/docgen.js). -->\n\n## API\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-AsyncDocumentStore-class\" id=\"-vuedx-vue-virtual-textdocument-AsyncDocumentStore-class\"></a>\n\n### [AsyncDocumentStore](#-vuedx-vue-virtual-textdocument-AsyncDocumentStore-class)\n\n\n\n<details><summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare class AsyncDocumentStore<T> extends DocumentStore<T> {\n  constructor(resolve: (uri: string) => T | Promise<T | null> | null, normalize?: (uri: string) => string);\n  get(uri: string): T | null;\n  get(uri: string): Promise<T | null>;\n}\n```\n\n**Members:**\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-AsyncDocumentStore-get-member-1-\" id=\"-vuedx-vue-virtual-textdocument-AsyncDocumentStore-get-member-1-\"></a>\n\n#### [get](#-vuedx-vue-virtual-textdocument-AsyncDocumentStore-get-member-1-)\n\n\n\n**Signature:**\n```ts\nget(uri: string): T | null;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-AsyncDocumentStore-get-member-2-\" id=\"-vuedx-vue-virtual-textdocument-AsyncDocumentStore-get-member-2-\"></a>\n\n#### [get](#-vuedx-vue-virtual-textdocument-AsyncDocumentStore-get-member-2-)\n\n\n\n**Signature:**\n```ts\nget(uri: string): Promise<T | null>;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n\n<br>\n</details>\n\n<br>\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-class\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-class\"></a>\n\n### [DocumentStore](#-vuedx-vue-virtual-textdocument-DocumentStore-class)\n\n\n\n<details><summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare class DocumentStore<T> {\n  constructor(resolve: (uri: string) => T | null, normalize?: (uri: string) => string);\n  all(): string[];\n  delete(uri: string): boolean;\n  dispose(): void;\n  get(uri: string): T | null;\n  protected getNormalizedUri(uri: string): string;\n  has(uri: string): boolean;\n  protected map: Map<string, T>;\n  normalize: (uri: string) => string;\n  protected resolve: (uri: string) => T | null;\n  protected reverseUriMap: Map<string, string>;\n  set(uri: string, document: T): void;\n}\n```\n\n**Members:**\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-all-member-1-\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-all-member-1-\"></a>\n\n#### [all](#-vuedx-vue-virtual-textdocument-DocumentStore-all-member-1-)\n\n\n\n**Signature:**\n```ts\nall(): string[];\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-delete-member-1-\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-delete-member-1-\"></a>\n\n#### [delete](#-vuedx-vue-virtual-textdocument-DocumentStore-delete-member-1-)\n\n\n\n**Signature:**\n```ts\ndelete(uri: string): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-dispose-member-1-\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-dispose-member-1-\"></a>\n\n#### [dispose](#-vuedx-vue-virtual-textdocument-DocumentStore-dispose-member-1-)\n\n\n\n**Signature:**\n```ts\ndispose(): void;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-get-member-1-\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-get-member-1-\"></a>\n\n#### [get](#-vuedx-vue-virtual-textdocument-DocumentStore-get-member-1-)\n\n\n\n**Signature:**\n```ts\nget(uri: string): T | null;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-getNormalizedUri-member-1-\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-getNormalizedUri-member-1-\"></a>\n\n#### [getNormalizedUri](#-vuedx-vue-virtual-textdocument-DocumentStore-getNormalizedUri-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected getNormalizedUri(uri: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-has-member-1-\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-has-member-1-\"></a>\n\n#### [has](#-vuedx-vue-virtual-textdocument-DocumentStore-has-member-1-)\n\n\n\n**Signature:**\n```ts\nhas(uri: string): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-set-member-1-\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-set-member-1-\"></a>\n\n#### [set](#-vuedx-vue-virtual-textdocument-DocumentStore-set-member-1-)\n\n\n\n**Signature:**\n```ts\nset(uri: string, document: T): void;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n| document | <code>T</code> | - |\n\n<br>\n</details>\n\n<br>\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-class\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-class\"></a>\n\n### [RenderFunctionTextDocument](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-class)\n\n\n\n<details><summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare class RenderFunctionTextDocument extends TransformedBlockTextDocument {\n  constructor(container: VueTextDocument, selector: Selector, transformed: TextDocument, source: TextDocument);\n  get ast(): CodegenResult['ast'] | undefined;\n  get contextCompletionsTriggerOffset(): number;\n  static create(options: CreateVirtualTextDocumentOptions): RenderFunctionTextDocument;\n  findExpression(offset: number, length: number): undefined | {\n        offset: number;\n        length: number;\n    };\n  protected generate(): string;\n  getAllGeneratedOffsetsAt(offset: number): undefined | Array<{\n        length: number;\n        offset: number;\n    }>;\n  getGeneratedOffsetAt(offset: number): undefined | {\n        length: number;\n        offset: number;\n    };\n  protected getKnownComponents(): Record<string, ComponentImport>;\n  getOriginalOffsetAt(offset: number): undefined | {\n        offset: number;\n        length: number;\n    };\n  isInGeneratedRange(offset: number): boolean;\n  get parserErrors(): CodegenResult['errors'];\n  get tagCompletionsTriggerOffset(): number;\n  toDisplayMappings(): string;\n  protected tryGenerate(): string;\n}\n```\n\n**Members:**\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-create-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-create-member-1-\"></a>\n\n#### [create](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-create-member-1-)\n\n\n\n**Signature:**\n```ts\nstatic create(options: CreateVirtualTextDocumentOptions): RenderFunctionTextDocument;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| options | <code><a href=\"#-vuedx-vue-virtual-textdocument--CreateVirtualTextDocumentOptions-interface\">CreateVirtualTextDocumentOptions</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-findExpression-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-findExpression-member-1-\"></a>\n\n#### [findExpression](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-findExpression-member-1-)\n\n\n\n**Signature:**\n```ts\nfindExpression(offset: number, length: number): undefined | {\n        offset: number;\n        length: number;\n    };\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n| length | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-generate-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-generate-member-1-\"></a>\n\n#### [generate](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-generate-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected generate(): string;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getAllGeneratedOffsetsAt-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getAllGeneratedOffsetsAt-member-1-\"></a>\n\n#### [getAllGeneratedOffsetsAt](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getAllGeneratedOffsetsAt-member-1-)\n\n\n\n**Signature:**\n```ts\ngetAllGeneratedOffsetsAt(offset: number): undefined | Array<{\n        length: number;\n        offset: number;\n    }>;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getGeneratedOffsetAt-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getGeneratedOffsetAt-member-1-\"></a>\n\n#### [getGeneratedOffsetAt](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getGeneratedOffsetAt-member-1-)\n\n\n\n**Signature:**\n```ts\ngetGeneratedOffsetAt(offset: number): undefined | {\n        length: number;\n        offset: number;\n    };\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getKnownComponents-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getKnownComponents-member-1-\"></a>\n\n#### [getKnownComponents](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getKnownComponents-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected getKnownComponents(): Record<string, ComponentImport>;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getOriginalOffsetAt-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getOriginalOffsetAt-member-1-\"></a>\n\n#### [getOriginalOffsetAt](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getOriginalOffsetAt-member-1-)\n\n\n\n**Signature:**\n```ts\ngetOriginalOffsetAt(offset: number): undefined | {\n        offset: number;\n        length: number;\n    };\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-isInGeneratedRange-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-isInGeneratedRange-member-1-\"></a>\n\n#### [isInGeneratedRange](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-isInGeneratedRange-member-1-)\n\n\n\n**Signature:**\n```ts\nisInGeneratedRange(offset: number): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-toDisplayMappings-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-toDisplayMappings-member-1-\"></a>\n\n#### [toDisplayMappings](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-toDisplayMappings-member-1-)\n\n\n\n**Signature:**\n```ts\ntoDisplayMappings(): string;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-tryGenerate-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-tryGenerate-member-1-\"></a>\n\n#### [tryGenerate](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-tryGenerate-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected tryGenerate(): string;\n```\n\n\n<br>\n</details>\n\n<br>\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-class\" id=\"-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-class\"></a>\n\n### [TransformedBlockTextDocument](#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-class)\n\n\n\n<details><summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare class TransformedBlockTextDocument extends VirtualTextDocument {\n  protected constructor(container: VueTextDocument, selector: Selector, transformed: TextDocument, source: TextDocument | VirtualTextDocument, _transform: (document: TransformedBlockTextDocument) => BlockTransformResult);\n  static create(options: CreateTransformedBlockTextDocumentOptions): TransformedBlockTextDocument;\n  protected refresh(): void;\n  transform(): BlockTransformResult;\n  tryGetGeneratedOffset(offset: number): number | undefined;\n  tryGetSourceOffset(offset: number): number | undefined;\n}\n```\n\n**Members:**\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-create-member-1-\" id=\"-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-create-member-1-\"></a>\n\n#### [create](#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-create-member-1-)\n\n\n\n**Signature:**\n```ts\nstatic create(options: CreateTransformedBlockTextDocumentOptions): TransformedBlockTextDocument;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| options | <code><a href=\"#-vuedx-vue-virtual-textdocument--CreateTransformedBlockTextDocumentOptions-interface\">CreateTransformedBlockTextDocumentOptions</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-refresh-member-1-\" id=\"-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-refresh-member-1-\"></a>\n\n#### [refresh](#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-refresh-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected refresh(): void;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-transform-member-1-\" id=\"-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-transform-member-1-\"></a>\n\n#### [transform](#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-transform-member-1-)\n\n\n\n**Signature:**\n```ts\ntransform(): BlockTransformResult;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-tryGetGeneratedOffset-member-1-\" id=\"-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-tryGetGeneratedOffset-member-1-\"></a>\n\n#### [tryGetGeneratedOffset](#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-tryGetGeneratedOffset-member-1-)\n\n\n\n**Signature:**\n```ts\ntryGetGeneratedOffset(offset: number): number | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-tryGetSourceOffset-member-1-\" id=\"-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-tryGetSourceOffset-member-1-\"></a>\n\n#### [tryGetSourceOffset](#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-tryGetSourceOffset-member-1-)\n\n\n\n**Signature:**\n```ts\ntryGetSourceOffset(offset: number): number | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n</details>\n\n<br>\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VirtualTextDocument-class\" id=\"-vuedx-vue-virtual-textdocument-VirtualTextDocument-class\"></a>\n\n### [VirtualTextDocument](#-vuedx-vue-virtual-textdocument-VirtualTextDocument-class)\n\n\n\n<details><summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare class VirtualTextDocument extends ProxyTextDocument {\n  protected constructor(container: VueTextDocument, selector: Selector, doc: TextDocument);\n  readonly container: VueTextDocument;\n  static create(options: CreateVirtualTextDocumentOptions): VirtualTextDocument;\n  protected isDirty: boolean;\n  markDirty(): void;\n  protected refresh(): void;\n  readonly selector: Selector;\n}\n```\n\n**Members:**\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VirtualTextDocument-create-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VirtualTextDocument-create-member-1-\"></a>\n\n#### [create](#-vuedx-vue-virtual-textdocument-VirtualTextDocument-create-member-1-)\n\n\n\n**Signature:**\n```ts\nstatic create(options: CreateVirtualTextDocumentOptions): VirtualTextDocument;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| options | <code><a href=\"#-vuedx-vue-virtual-textdocument--CreateVirtualTextDocumentOptions-interface\">CreateVirtualTextDocumentOptions</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VirtualTextDocument-markDirty-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VirtualTextDocument-markDirty-member-1-\"></a>\n\n#### [markDirty](#-vuedx-vue-virtual-textdocument-VirtualTextDocument-markDirty-member-1-)\n\n\n\n**Signature:**\n```ts\nmarkDirty(): void;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VirtualTextDocument-refresh-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VirtualTextDocument-refresh-member-1-\"></a>\n\n#### [refresh](#-vuedx-vue-virtual-textdocument-VirtualTextDocument-refresh-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected refresh(): void;\n```\n\n\n<br>\n</details>\n\n<br>\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-class\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-class\"></a>\n\n### [VueTextDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-class)\n\n\n\n<details><summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare class VueTextDocument extends ProxyTextDocument {\n  constructor(doc: TextDocument, options?: VueTextDocumentOptions, parseOptions?: SFCParseOptions);\n  all(): VirtualTextDocument[];\n  blockAt(position: Position | number): SFCBlock | null | undefined;\n  static create(uri: string, languageId: string, version: number, content: string, options?: VueTextDocumentOptions, parseOptions?: SFCParseOptions): VueTextDocument;\n  protected createBlockDocument(selector: BlockSelector): VirtualTextDocument | undefined;\n  protected createInternalModuleDocument(): TransformedBlockTextDocument;\n  protected createModuleDocument(): TransformedBlockTextDocument;\n  protected createRenderDocument(): RenderFunctionTextDocument;\n  get descriptor(): SFCDescriptor;\n  documentAt(position: Position | number): VirtualTextDocument | undefined;\n  getBlock(selector: BlockSelector): SFCBlock | null | undefined;\n  getBlockSelector(block: SFCBlock): BlockSelector | undefined;\n  getDocument(selector: typeof RENDER_SELECTOR): RenderFunctionTextDocument;\n  getDocument(selector: SelectorLike): VirtualTextDocument;\n  getDocument(selector: string): VirtualTextDocument | undefined;\n  getDocumentFileName(selectorLike: SelectorLike): string;\n  protected getDocumentId(selector: Selector): string;\n  protected getDocumentLanguage(selector: Selector): string;\n  markDirty(): void;\n  readonly options: VueTextDocumentOptions;\n  protected parse(): void;\n  static update(document: VueTextDocument, changes: TextDocumentContentChangeEvent[], version: number): VueTextDocument;\n}\n```\n\n**Members:**\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-all-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-all-member-1-\"></a>\n\n#### [all](#-vuedx-vue-virtual-textdocument-VueTextDocument-all-member-1-)\n\n\n\n**Signature:**\n```ts\nall(): VirtualTextDocument[];\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-blockAt-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-blockAt-member-1-\"></a>\n\n#### [blockAt](#-vuedx-vue-virtual-textdocument-VueTextDocument-blockAt-member-1-)\n\n\n\n**Signature:**\n```ts\nblockAt(position: Position | number): SFCBlock | null | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| position | <code><a href=\"#vscode-languageserver-textdocument-Position-interface\">Position</a> &#124; number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-create-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-create-member-1-\"></a>\n\n#### [create](#-vuedx-vue-virtual-textdocument-VueTextDocument-create-member-1-)\n\n\n\n**Signature:**\n```ts\nstatic create(uri: string, languageId: string, version: number, content: string, options?: VueTextDocumentOptions, parseOptions?: SFCParseOptions): VueTextDocument;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n| languageId | <code>string</code> | - |\n| version | <code>number</code> | - |\n| content | <code>string</code> | - |\n| options | <code><a href=\"#-vuedx-vue-virtual-textdocument--VueTextDocumentOptions-interface\">VueTextDocumentOptions</a></code> | - |\n| parseOptions | <code><a href=\"#-vue-compiler-sfc-SFCParseOptions-interface\">SFCParseOptions</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-createBlockDocument-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-createBlockDocument-member-1-\"></a>\n\n#### [createBlockDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-createBlockDocument-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected createBlockDocument(selector: BlockSelector): VirtualTextDocument | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selector | <code><a href=\"#-vuedx-vue-virtual-textdocument--BlockSelector-type\">BlockSelector</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-createInternalModuleDocument-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-createInternalModuleDocument-member-1-\"></a>\n\n#### [createInternalModuleDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-createInternalModuleDocument-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected createInternalModuleDocument(): TransformedBlockTextDocument;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-createModuleDocument-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-createModuleDocument-member-1-\"></a>\n\n#### [createModuleDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-createModuleDocument-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected createModuleDocument(): TransformedBlockTextDocument;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-createRenderDocument-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-createRenderDocument-member-1-\"></a>\n\n#### [createRenderDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-createRenderDocument-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected createRenderDocument(): RenderFunctionTextDocument;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-documentAt-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-documentAt-member-1-\"></a>\n\n#### [documentAt](#-vuedx-vue-virtual-textdocument-VueTextDocument-documentAt-member-1-)\n\n\n\n**Signature:**\n```ts\ndocumentAt(position: Position | number): VirtualTextDocument | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| position | <code><a href=\"#vscode-languageserver-textdocument-Position-interface\">Position</a> &#124; number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getBlock-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getBlock-member-1-\"></a>\n\n#### [getBlock](#-vuedx-vue-virtual-textdocument-VueTextDocument-getBlock-member-1-)\n\n\n\n**Signature:**\n```ts\ngetBlock(selector: BlockSelector): SFCBlock | null | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selector | <code><a href=\"#-vuedx-vue-virtual-textdocument--BlockSelector-type\">BlockSelector</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getBlockSelector-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getBlockSelector-member-1-\"></a>\n\n#### [getBlockSelector](#-vuedx-vue-virtual-textdocument-VueTextDocument-getBlockSelector-member-1-)\n\n\n\n**Signature:**\n```ts\ngetBlockSelector(block: SFCBlock): BlockSelector | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| block | <code><a href=\"#-vue-compiler-sfc-SFCBlock-interface\">SFCBlock</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-1-\"></a>\n\n#### [getDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-1-)\n\n\n\n**Signature:**\n```ts\ngetDocument(selector: typeof RENDER_SELECTOR): RenderFunctionTextDocument;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selector | <code>typeof <a href=\"#-vuedx-vue-virtual-textdocument--RENDER-SELECTOR-var\">RENDER_SELECTOR</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-2-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-2-\"></a>\n\n#### [getDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-2-)\n\n\n\n**Signature:**\n```ts\ngetDocument(selector: SelectorLike): VirtualTextDocument;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selector | <code><a href=\"#-vuedx-vue-virtual-textdocument--SelectorLike-type\">SelectorLike</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-3-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-3-\"></a>\n\n#### [getDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-3-)\n\n\n\n**Signature:**\n```ts\ngetDocument(selector: string): VirtualTextDocument | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selector | <code>string</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentFileName-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentFileName-member-1-\"></a>\n\n#### [getDocumentFileName](#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentFileName-member-1-)\n\n\n\n**Signature:**\n```ts\ngetDocumentFileName(selectorLike: SelectorLike): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selectorLike | <code><a href=\"#-vuedx-vue-virtual-textdocument--SelectorLike-type\">SelectorLike</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentId-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentId-member-1-\"></a>\n\n#### [getDocumentId](#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentId-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected getDocumentId(selector: Selector): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selector | <code><a href=\"#-vuedx-vue-virtual-textdocument--Selector-type\">Selector</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentLanguage-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentLanguage-member-1-\"></a>\n\n#### [getDocumentLanguage](#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentLanguage-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected getDocumentLanguage(selector: Selector): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selector | <code><a href=\"#-vuedx-vue-virtual-textdocument--Selector-type\">Selector</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-markDirty-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-markDirty-member-1-\"></a>\n\n#### [markDirty](#-vuedx-vue-virtual-textdocument-VueTextDocument-markDirty-member-1-)\n\n\n\n**Signature:**\n```ts\nmarkDirty(): void;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-parse-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-parse-member-1-\"></a>\n\n#### [parse](#-vuedx-vue-virtual-textdocument-VueTextDocument-parse-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected parse(): void;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-update-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-update-member-1-\"></a>\n\n#### [update](#-vuedx-vue-virtual-textdocument-VueTextDocument-update-member-1-)\n\n\n\n**Signature:**\n```ts\nstatic update(document: VueTextDocument, changes: TextDocumentContentChangeEvent[], version: number): VueTextDocument;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| document | <code><a href=\"#-vuedx-vue-virtual-textdocument--VueTextDocument-class\">VueTextDocument</a></code> | - |\n| changes | <code><a href=\"#vscode-languageserver-textdocument-TextDocumentContentChangeEvent-type\">TextDocumentContentChangeEvent</a>[]</code> | - |\n| version | <code>number</code> | - |\n\n<br>\n</details>\n\n<br>\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-asFsPath-function-1-\" id=\"-vuedx-vue-virtual-textdocument-asFsPath-function-1-\"></a>\n\n### [asFsPath](#-vuedx-vue-virtual-textdocument-asFsPath-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function asFsPath(uri: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-asFsUri-function-1-\" id=\"-vuedx-vue-virtual-textdocument-asFsUri-function-1-\"></a>\n\n### [asFsUri](#-vuedx-vue-virtual-textdocument-asFsUri-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function asFsUri(fileName: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-asUri-function-1-\" id=\"-vuedx-vue-virtual-textdocument-asUri-function-1-\"></a>\n\n### [asUri](#-vuedx-vue-virtual-textdocument-asUri-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function asUri(fileNameOrUri: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileNameOrUri | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-basename-function-1-\" id=\"-vuedx-vue-virtual-textdocument-basename-function-1-\"></a>\n\n### [basename](#-vuedx-vue-virtual-textdocument-basename-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function basename(fileName: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-binarySearch-function-1-\" id=\"-vuedx-vue-virtual-textdocument-binarySearch-function-1-\"></a>\n\n### [binarySearch](#-vuedx-vue-virtual-textdocument-binarySearch-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function binarySearch<T>(array: T[], isMatch: (a: T) => number, returnMin?: boolean): T | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| array | <code>T[]</code> | - |\n| isMatch | <code>(a: T) => number</code> | - |\n| returnMin | <code>boolean</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-getBlockLanguage-function-1-\" id=\"-vuedx-vue-virtual-textdocument-getBlockLanguage-function-1-\"></a>\n\n### [getBlockLanguage](#-vuedx-vue-virtual-textdocument-getBlockLanguage-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function getBlockLanguage(block?: SFCBlock | null): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| block | <code><a href=\"#-vue-compiler-sfc-SFCBlock-interface\">SFCBlock</a> &#124; null</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-getContainingFile-function-1-\" id=\"-vuedx-vue-virtual-textdocument-getContainingFile-function-1-\"></a>\n\n### [getContainingFile](#-vuedx-vue-virtual-textdocument-getContainingFile-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function getContainingFile(fileName: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-getLanguageExtension-function-1-\" id=\"-vuedx-vue-virtual-textdocument-getLanguageExtension-function-1-\"></a>\n\n### [getLanguageExtension](#-vuedx-vue-virtual-textdocument-getLanguageExtension-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function getLanguageExtension(lang: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| lang | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-getLanguageIdFromExtension-function-1-\" id=\"-vuedx-vue-virtual-textdocument-getLanguageIdFromExtension-function-1-\"></a>\n\n### [getLanguageIdFromExtension](#-vuedx-vue-virtual-textdocument-getLanguageIdFromExtension-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function getLanguageIdFromExtension(ext: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| ext | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-isOffsetInBlock-function-1-\" id=\"-vuedx-vue-virtual-textdocument-isOffsetInBlock-function-1-\"></a>\n\n### [isOffsetInBlock](#-vuedx-vue-virtual-textdocument-isOffsetInBlock-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function isOffsetInBlock(offset: number, block?: SFCBlock | null): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n| block | <code><a href=\"#-vue-compiler-sfc-SFCBlock-interface\">SFCBlock</a> &#124; null</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-isVirtualFile-function-1-\" id=\"-vuedx-vue-virtual-textdocument-isVirtualFile-function-1-\"></a>\n\n### [isVirtualFile](#-vuedx-vue-virtual-textdocument-isVirtualFile-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function isVirtualFile(fileName: string): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-isVirtualFileOfType-function-1-\" id=\"-vuedx-vue-virtual-textdocument-isVirtualFileOfType-function-1-\"></a>\n\n### [isVirtualFileOfType](#-vuedx-vue-virtual-textdocument-isVirtualFileOfType-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function isVirtualFileOfType(fileName: string, type: '_render' | '_module' | '_internal' | 'script' | 'scriptSetup'): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n| type | <code>'_render' &#124; '_module' &#124; '_internal' &#124; 'script' &#124; 'scriptSetup'</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-isVueFile-function-1-\" id=\"-vuedx-vue-virtual-textdocument-isVueFile-function-1-\"></a>\n\n### [isVueFile](#-vuedx-vue-virtual-textdocument-isVueFile-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function isVueFile(fileName: string): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-parseVirtualFileName-function-1-\" id=\"-vuedx-vue-virtual-textdocument-parseVirtualFileName-function-1-\"></a>\n\n### [parseVirtualFileName](#-vuedx-vue-virtual-textdocument-parseVirtualFileName-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function parseVirtualFileName(fileName: string): {\n    uri: string;\n    selector: Selector;\n} | null;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-relativeVirtualImportPath-function-1-\" id=\"-vuedx-vue-virtual-textdocument-relativeVirtualImportPath-function-1-\"></a>\n\n### [relativeVirtualImportPath](#-vuedx-vue-virtual-textdocument-relativeVirtualImportPath-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function relativeVirtualImportPath(fileName: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-replaceSlashes-function-1-\" id=\"-vuedx-vue-virtual-textdocument-replaceSlashes-function-1-\"></a>\n\n### [replaceSlashes](#-vuedx-vue-virtual-textdocument-replaceSlashes-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function replaceSlashes(fileName: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n<!-- #region API-DOCS -->\n","readmeFilename":"readme.md","_id":"@vuedx/vue-virtual-textdocument@0.3.1-insiders-1608294809.0","_nodeVersion":"14.14.0","_npmVersion":"6.14.8","dist":{"integrity":"sha512-uLXn2LIjacAJFYFLo5wbRhi8Ea5PDfElb4AftOCbQBiylLBxhUCvD2qKx1RJlzzaexgCao5K5AhNugKl3778tw==","shasum":"c9d03d6fe9eba7d8a5d61e3d1f9a7acb998085ab","tarball":"https://registry.npmjs.org/@vuedx/vue-virtual-textdocument/-/vue-virtual-textdocument-0.3.1-insiders-1608294809.0.tgz","fileCount":8,"unpackedSize":270503,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJf3KGyCRA9TVsSAnZWagAA7pYP/iyJeJiebeRt6wLf0v/k\nwNnfaUuB2NE+RLp8Lu56cvmOSLbuWr+tw2xDh0DAePj61BJoh8ht4ly03d7+\ntfsZcOYGNUggBJjmdbJlOrE8zORWc65DfUAC+fr5drS1XbtLDnqZthGpHxDQ\nYBpIi+Hn60aQVSMPEiySUJ+99LPYPhuO4m5figMNIV6wEymIQI0gnwxuWyQD\nI6EoH/vwv0pC7XN7ErSx2/VM65QUrsPfS6aV2ujSgZPCsUSBG/NSJW2V305v\nujbYrzwLiCTtodYngty73KSyRWyG77u1/3+8NXvcqxZjEIWI+aySydz7D4dV\nUPEK7mpikTWI7KT38aqqs2yUJGD8p4HAxXVWdXrfEYd2BzgmDKZLsTHcynvK\nhxyEn5FYPYcikVsm1BssuAv96+ozdayY5bNZA4Nmtt7RVprxJZkDMknL8EJh\n/jtUj4Xf4n8cw/yHQlaI8RKQ+qNFyvJrYaj+csfx2Vblr3s1cBsvrObDotUN\noLItnym/fdLIEkN5zJaAh5jHD2EoTHYOVObvS/Sf8C+m238JsYiLV7T3kubT\nmAypc4miF6ISULkrou8UgcexiuFrZpBEnUZ6dskhX4V14xXA49HFnk8pdWvI\nlTpWyFx29hI19TGBuwdmJ+PM5YmaVxDYw3f4zH4zLBCR/nqocvKPSX72z+LL\nc8XN\r\n=ePWV\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCnO+z267R/vjr8Nt+mL5D3ZKMPSTlltXMADbIuAo9qtwIgT1yAH9KVStEpDtZamGm00fIRc5xWFbx/zdPQOwsmAZQ="}]},"_npmUser":{"name":"znck","email":"rahulkdn@gmail.com"},"directories":{},"maintainers":[{"name":"znck","email":"rahulkdn@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/vue-virtual-textdocument_0.3.1-insiders-1608294809.0_1608294834322_0.8845094399457614"},"_hasShrinkwrap":false},"0.3.1-insiders-1608632613.0":{"name":"@vuedx/vue-virtual-textdocument","version":"0.3.1-insiders-1608632613.0","description":"An implementation of virtual filesystem for accessing blocks in a `.vue` file as independent files.","main":"dist/index.cjs.js","module":"dist/index.esm.js","types":"dist/index.d.ts","private":false,"scripts":{},"keywords":["vue","vue sfc","sfc","vue virtual files"],"repository":{"type":"git","url":"git+https://github.com/znck/vue-developer-experience.git"},"author":{"name":"Rahul Kadyan","email":"rahulkdn@gmail.com","url":"https://znck.me/"},"funding":{"type":"individual","url":"https://github.com/sponsors/znck"},"license":"MIT","bugs":{"url":"https://github.com/znck/vue-developer-experience/issues"},"homepage":"https://github.com/znck/vue-developer-experience#readme","dependencies":{"@vuedx/analyze":"0.3.1-insiders-1608632613.0","@vuedx/compiler-sfc":"0.3.1-insiders-1608632613.0","@vuedx/compiler-tsx":"0.3.1-insiders-1608632613.0","source-map":"^0.6.1","vscode-languageserver-textdocument":"^1.0.1","vscode-uri":"^2.1.2"},"devDependencies":{"@vuedx/shared":"0.0.1-insiders-1608632613.0","fast-glob":"^3.2.4","typescript":"^4.0.3"},"readme":"# Vue Virtual TextDocument\n\nAn implementation of virtual filesystem for accessing blocks in a `.vue` file as independent files.\n\n## Support\n\nThis package is part of [VueDX project](https://github.com/znck/vue-developer-experience), maintained by [Rahul Kadyan](https://github.com/znck). You can [💖 sponsor him](https://github.com/sponsors/znck) for continued development of this package and other VueDX tools.\n\n```\nnpm add @vuedx/vue-virtual-textdocument\n```\n<!-- #region API-DOCS -->\n<!-- Do not edit this file. It is a report generated by [scripts/docgen.js](https://github.com/znck/vue-developer-experience/tree/master/scripts/docgen.js). -->\n\n## API\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-AsyncDocumentStore-class\" id=\"-vuedx-vue-virtual-textdocument-AsyncDocumentStore-class\"></a>\n\n### [AsyncDocumentStore](#-vuedx-vue-virtual-textdocument-AsyncDocumentStore-class)\n\n\n\n<details><summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare class AsyncDocumentStore<T> extends DocumentStore<T> {\n  constructor(resolve: (uri: string) => T | Promise<T | null> | null, normalize?: (uri: string) => string);\n  get(uri: string): T | null;\n  get(uri: string): Promise<T | null>;\n}\n```\n\n**Members:**\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-AsyncDocumentStore-get-member-1-\" id=\"-vuedx-vue-virtual-textdocument-AsyncDocumentStore-get-member-1-\"></a>\n\n#### [get](#-vuedx-vue-virtual-textdocument-AsyncDocumentStore-get-member-1-)\n\n\n\n**Signature:**\n```ts\nget(uri: string): T | null;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-AsyncDocumentStore-get-member-2-\" id=\"-vuedx-vue-virtual-textdocument-AsyncDocumentStore-get-member-2-\"></a>\n\n#### [get](#-vuedx-vue-virtual-textdocument-AsyncDocumentStore-get-member-2-)\n\n\n\n**Signature:**\n```ts\nget(uri: string): Promise<T | null>;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n\n<br>\n</details>\n\n<br>\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-class\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-class\"></a>\n\n### [DocumentStore](#-vuedx-vue-virtual-textdocument-DocumentStore-class)\n\n\n\n<details><summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare class DocumentStore<T> {\n  constructor(resolve: (uri: string) => T | null, normalize?: (uri: string) => string);\n  all(): string[];\n  delete(uri: string): boolean;\n  dispose(): void;\n  get(uri: string): T | null;\n  protected getNormalizedUri(uri: string): string;\n  has(uri: string): boolean;\n  protected map: Map<string, T>;\n  normalize: (uri: string) => string;\n  protected resolve: (uri: string) => T | null;\n  protected reverseUriMap: Map<string, string>;\n  set(uri: string, document: T): void;\n}\n```\n\n**Members:**\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-all-member-1-\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-all-member-1-\"></a>\n\n#### [all](#-vuedx-vue-virtual-textdocument-DocumentStore-all-member-1-)\n\n\n\n**Signature:**\n```ts\nall(): string[];\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-delete-member-1-\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-delete-member-1-\"></a>\n\n#### [delete](#-vuedx-vue-virtual-textdocument-DocumentStore-delete-member-1-)\n\n\n\n**Signature:**\n```ts\ndelete(uri: string): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-dispose-member-1-\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-dispose-member-1-\"></a>\n\n#### [dispose](#-vuedx-vue-virtual-textdocument-DocumentStore-dispose-member-1-)\n\n\n\n**Signature:**\n```ts\ndispose(): void;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-get-member-1-\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-get-member-1-\"></a>\n\n#### [get](#-vuedx-vue-virtual-textdocument-DocumentStore-get-member-1-)\n\n\n\n**Signature:**\n```ts\nget(uri: string): T | null;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-getNormalizedUri-member-1-\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-getNormalizedUri-member-1-\"></a>\n\n#### [getNormalizedUri](#-vuedx-vue-virtual-textdocument-DocumentStore-getNormalizedUri-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected getNormalizedUri(uri: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-has-member-1-\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-has-member-1-\"></a>\n\n#### [has](#-vuedx-vue-virtual-textdocument-DocumentStore-has-member-1-)\n\n\n\n**Signature:**\n```ts\nhas(uri: string): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-set-member-1-\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-set-member-1-\"></a>\n\n#### [set](#-vuedx-vue-virtual-textdocument-DocumentStore-set-member-1-)\n\n\n\n**Signature:**\n```ts\nset(uri: string, document: T): void;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n| document | <code>T</code> | - |\n\n<br>\n</details>\n\n<br>\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-class\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-class\"></a>\n\n### [RenderFunctionTextDocument](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-class)\n\n\n\n<details><summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare class RenderFunctionTextDocument extends TransformedBlockTextDocument {\n  constructor(container: VueTextDocument, selector: Selector, transformed: TextDocument, source: TextDocument);\n  get ast(): CodegenResult['ast'] | undefined;\n  get contextCompletionsTriggerOffset(): number;\n  static create(options: CreateVirtualTextDocumentOptions): RenderFunctionTextDocument;\n  findExpression(offset: number, length: number): undefined | {\n        offset: number;\n        length: number;\n    };\n  protected generate(): string;\n  getAllGeneratedOffsetsAt(offset: number): undefined | Array<{\n        length: number;\n        offset: number;\n    }>;\n  getGeneratedOffsetAt(offset: number): undefined | {\n        length: number;\n        offset: number;\n    };\n  protected getKnownComponents(): Record<string, ComponentImport>;\n  getOriginalOffsetAt(offset: number): undefined | {\n        offset: number;\n        length: number;\n    };\n  isInGeneratedRange(offset: number): boolean;\n  get parserErrors(): CodegenResult['errors'];\n  get tagCompletionsTriggerOffset(): number;\n  toDisplayMappings(): string;\n  protected tryGenerate(): string;\n}\n```\n\n**Members:**\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-create-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-create-member-1-\"></a>\n\n#### [create](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-create-member-1-)\n\n\n\n**Signature:**\n```ts\nstatic create(options: CreateVirtualTextDocumentOptions): RenderFunctionTextDocument;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| options | <code><a href=\"#-vuedx-vue-virtual-textdocument--CreateVirtualTextDocumentOptions-interface\">CreateVirtualTextDocumentOptions</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-findExpression-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-findExpression-member-1-\"></a>\n\n#### [findExpression](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-findExpression-member-1-)\n\n\n\n**Signature:**\n```ts\nfindExpression(offset: number, length: number): undefined | {\n        offset: number;\n        length: number;\n    };\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n| length | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-generate-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-generate-member-1-\"></a>\n\n#### [generate](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-generate-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected generate(): string;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getAllGeneratedOffsetsAt-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getAllGeneratedOffsetsAt-member-1-\"></a>\n\n#### [getAllGeneratedOffsetsAt](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getAllGeneratedOffsetsAt-member-1-)\n\n\n\n**Signature:**\n```ts\ngetAllGeneratedOffsetsAt(offset: number): undefined | Array<{\n        length: number;\n        offset: number;\n    }>;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getGeneratedOffsetAt-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getGeneratedOffsetAt-member-1-\"></a>\n\n#### [getGeneratedOffsetAt](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getGeneratedOffsetAt-member-1-)\n\n\n\n**Signature:**\n```ts\ngetGeneratedOffsetAt(offset: number): undefined | {\n        length: number;\n        offset: number;\n    };\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getKnownComponents-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getKnownComponents-member-1-\"></a>\n\n#### [getKnownComponents](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getKnownComponents-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected getKnownComponents(): Record<string, ComponentImport>;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getOriginalOffsetAt-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getOriginalOffsetAt-member-1-\"></a>\n\n#### [getOriginalOffsetAt](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getOriginalOffsetAt-member-1-)\n\n\n\n**Signature:**\n```ts\ngetOriginalOffsetAt(offset: number): undefined | {\n        offset: number;\n        length: number;\n    };\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-isInGeneratedRange-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-isInGeneratedRange-member-1-\"></a>\n\n#### [isInGeneratedRange](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-isInGeneratedRange-member-1-)\n\n\n\n**Signature:**\n```ts\nisInGeneratedRange(offset: number): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-toDisplayMappings-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-toDisplayMappings-member-1-\"></a>\n\n#### [toDisplayMappings](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-toDisplayMappings-member-1-)\n\n\n\n**Signature:**\n```ts\ntoDisplayMappings(): string;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-tryGenerate-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-tryGenerate-member-1-\"></a>\n\n#### [tryGenerate](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-tryGenerate-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected tryGenerate(): string;\n```\n\n\n<br>\n</details>\n\n<br>\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-class\" id=\"-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-class\"></a>\n\n### [TransformedBlockTextDocument](#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-class)\n\n\n\n<details><summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare class TransformedBlockTextDocument extends VirtualTextDocument {\n  protected constructor(container: VueTextDocument, selector: Selector, transformed: TextDocument, source: TextDocument | VirtualTextDocument, _transform: (document: TransformedBlockTextDocument) => BlockTransformResult);\n  static create(options: CreateTransformedBlockTextDocumentOptions): TransformedBlockTextDocument;\n  protected refresh(): void;\n  transform(): BlockTransformResult;\n  tryGetGeneratedOffset(offset: number): number | undefined;\n  tryGetSourceOffset(offset: number): number | undefined;\n}\n```\n\n**Members:**\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-create-member-1-\" id=\"-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-create-member-1-\"></a>\n\n#### [create](#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-create-member-1-)\n\n\n\n**Signature:**\n```ts\nstatic create(options: CreateTransformedBlockTextDocumentOptions): TransformedBlockTextDocument;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| options | <code><a href=\"#-vuedx-vue-virtual-textdocument--CreateTransformedBlockTextDocumentOptions-interface\">CreateTransformedBlockTextDocumentOptions</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-refresh-member-1-\" id=\"-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-refresh-member-1-\"></a>\n\n#### [refresh](#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-refresh-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected refresh(): void;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-transform-member-1-\" id=\"-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-transform-member-1-\"></a>\n\n#### [transform](#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-transform-member-1-)\n\n\n\n**Signature:**\n```ts\ntransform(): BlockTransformResult;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-tryGetGeneratedOffset-member-1-\" id=\"-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-tryGetGeneratedOffset-member-1-\"></a>\n\n#### [tryGetGeneratedOffset](#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-tryGetGeneratedOffset-member-1-)\n\n\n\n**Signature:**\n```ts\ntryGetGeneratedOffset(offset: number): number | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-tryGetSourceOffset-member-1-\" id=\"-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-tryGetSourceOffset-member-1-\"></a>\n\n#### [tryGetSourceOffset](#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-tryGetSourceOffset-member-1-)\n\n\n\n**Signature:**\n```ts\ntryGetSourceOffset(offset: number): number | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n</details>\n\n<br>\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VirtualTextDocument-class\" id=\"-vuedx-vue-virtual-textdocument-VirtualTextDocument-class\"></a>\n\n### [VirtualTextDocument](#-vuedx-vue-virtual-textdocument-VirtualTextDocument-class)\n\n\n\n<details><summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare class VirtualTextDocument extends ProxyTextDocument {\n  protected constructor(container: VueTextDocument, selector: Selector, doc: TextDocument);\n  readonly container: VueTextDocument;\n  static create(options: CreateVirtualTextDocumentOptions): VirtualTextDocument;\n  protected isDirty: boolean;\n  markDirty(): void;\n  protected refresh(): void;\n  readonly selector: Selector;\n}\n```\n\n**Members:**\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VirtualTextDocument-create-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VirtualTextDocument-create-member-1-\"></a>\n\n#### [create](#-vuedx-vue-virtual-textdocument-VirtualTextDocument-create-member-1-)\n\n\n\n**Signature:**\n```ts\nstatic create(options: CreateVirtualTextDocumentOptions): VirtualTextDocument;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| options | <code><a href=\"#-vuedx-vue-virtual-textdocument--CreateVirtualTextDocumentOptions-interface\">CreateVirtualTextDocumentOptions</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VirtualTextDocument-markDirty-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VirtualTextDocument-markDirty-member-1-\"></a>\n\n#### [markDirty](#-vuedx-vue-virtual-textdocument-VirtualTextDocument-markDirty-member-1-)\n\n\n\n**Signature:**\n```ts\nmarkDirty(): void;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VirtualTextDocument-refresh-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VirtualTextDocument-refresh-member-1-\"></a>\n\n#### [refresh](#-vuedx-vue-virtual-textdocument-VirtualTextDocument-refresh-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected refresh(): void;\n```\n\n\n<br>\n</details>\n\n<br>\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-class\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-class\"></a>\n\n### [VueTextDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-class)\n\n\n\n<details><summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare class VueTextDocument extends ProxyTextDocument {\n  constructor(doc: TextDocument, options?: VueTextDocumentOptions, parseOptions?: SFCParseOptions);\n  all(): VirtualTextDocument[];\n  blockAt(position: Position | number): SFCBlock | null | undefined;\n  static create(uri: string, languageId: string, version: number, content: string, options?: VueTextDocumentOptions, parseOptions?: SFCParseOptions): VueTextDocument;\n  protected createBlockDocument(selector: BlockSelector): VirtualTextDocument | undefined;\n  protected createInternalModuleDocument(): TransformedBlockTextDocument;\n  protected createModuleDocument(): TransformedBlockTextDocument;\n  protected createRenderDocument(): RenderFunctionTextDocument;\n  get descriptor(): SFCDescriptor;\n  documentAt(position: Position | number): VirtualTextDocument | undefined;\n  getBlock(selector: BlockSelector): SFCBlock | null | undefined;\n  getBlockSelector(block: SFCBlock): BlockSelector | undefined;\n  getDocument(selector: typeof RENDER_SELECTOR): RenderFunctionTextDocument;\n  getDocument(selector: SelectorLike): VirtualTextDocument;\n  getDocument(selector: string): VirtualTextDocument | undefined;\n  getDocumentFileName(selectorLike: SelectorLike): string;\n  protected getDocumentId(selector: Selector): string;\n  protected getDocumentLanguage(selector: Selector): string;\n  markDirty(): void;\n  readonly options: VueTextDocumentOptions;\n  protected parse(): void;\n  static update(document: VueTextDocument, changes: TextDocumentContentChangeEvent[], version: number): VueTextDocument;\n}\n```\n\n**Members:**\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-all-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-all-member-1-\"></a>\n\n#### [all](#-vuedx-vue-virtual-textdocument-VueTextDocument-all-member-1-)\n\n\n\n**Signature:**\n```ts\nall(): VirtualTextDocument[];\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-blockAt-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-blockAt-member-1-\"></a>\n\n#### [blockAt](#-vuedx-vue-virtual-textdocument-VueTextDocument-blockAt-member-1-)\n\n\n\n**Signature:**\n```ts\nblockAt(position: Position | number): SFCBlock | null | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| position | <code><a href=\"#vscode-languageserver-textdocument-Position-interface\">Position</a> &#124; number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-create-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-create-member-1-\"></a>\n\n#### [create](#-vuedx-vue-virtual-textdocument-VueTextDocument-create-member-1-)\n\n\n\n**Signature:**\n```ts\nstatic create(uri: string, languageId: string, version: number, content: string, options?: VueTextDocumentOptions, parseOptions?: SFCParseOptions): VueTextDocument;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n| languageId | <code>string</code> | - |\n| version | <code>number</code> | - |\n| content | <code>string</code> | - |\n| options | <code><a href=\"#-vuedx-vue-virtual-textdocument--VueTextDocumentOptions-interface\">VueTextDocumentOptions</a></code> | - |\n| parseOptions | <code><a href=\"#-vue-compiler-sfc-SFCParseOptions-interface\">SFCParseOptions</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-createBlockDocument-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-createBlockDocument-member-1-\"></a>\n\n#### [createBlockDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-createBlockDocument-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected createBlockDocument(selector: BlockSelector): VirtualTextDocument | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selector | <code><a href=\"#-vuedx-vue-virtual-textdocument--BlockSelector-type\">BlockSelector</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-createInternalModuleDocument-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-createInternalModuleDocument-member-1-\"></a>\n\n#### [createInternalModuleDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-createInternalModuleDocument-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected createInternalModuleDocument(): TransformedBlockTextDocument;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-createModuleDocument-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-createModuleDocument-member-1-\"></a>\n\n#### [createModuleDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-createModuleDocument-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected createModuleDocument(): TransformedBlockTextDocument;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-createRenderDocument-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-createRenderDocument-member-1-\"></a>\n\n#### [createRenderDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-createRenderDocument-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected createRenderDocument(): RenderFunctionTextDocument;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-documentAt-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-documentAt-member-1-\"></a>\n\n#### [documentAt](#-vuedx-vue-virtual-textdocument-VueTextDocument-documentAt-member-1-)\n\n\n\n**Signature:**\n```ts\ndocumentAt(position: Position | number): VirtualTextDocument | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| position | <code><a href=\"#vscode-languageserver-textdocument-Position-interface\">Position</a> &#124; number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getBlock-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getBlock-member-1-\"></a>\n\n#### [getBlock](#-vuedx-vue-virtual-textdocument-VueTextDocument-getBlock-member-1-)\n\n\n\n**Signature:**\n```ts\ngetBlock(selector: BlockSelector): SFCBlock | null | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selector | <code><a href=\"#-vuedx-vue-virtual-textdocument--BlockSelector-type\">BlockSelector</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getBlockSelector-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getBlockSelector-member-1-\"></a>\n\n#### [getBlockSelector](#-vuedx-vue-virtual-textdocument-VueTextDocument-getBlockSelector-member-1-)\n\n\n\n**Signature:**\n```ts\ngetBlockSelector(block: SFCBlock): BlockSelector | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| block | <code><a href=\"#-vue-compiler-sfc-SFCBlock-interface\">SFCBlock</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-1-\"></a>\n\n#### [getDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-1-)\n\n\n\n**Signature:**\n```ts\ngetDocument(selector: typeof RENDER_SELECTOR): RenderFunctionTextDocument;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selector | <code>typeof <a href=\"#-vuedx-vue-virtual-textdocument--RENDER-SELECTOR-var\">RENDER_SELECTOR</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-2-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-2-\"></a>\n\n#### [getDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-2-)\n\n\n\n**Signature:**\n```ts\ngetDocument(selector: SelectorLike): VirtualTextDocument;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selector | <code><a href=\"#-vuedx-vue-virtual-textdocument--SelectorLike-type\">SelectorLike</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-3-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-3-\"></a>\n\n#### [getDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-3-)\n\n\n\n**Signature:**\n```ts\ngetDocument(selector: string): VirtualTextDocument | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selector | <code>string</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentFileName-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentFileName-member-1-\"></a>\n\n#### [getDocumentFileName](#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentFileName-member-1-)\n\n\n\n**Signature:**\n```ts\ngetDocumentFileName(selectorLike: SelectorLike): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selectorLike | <code><a href=\"#-vuedx-vue-virtual-textdocument--SelectorLike-type\">SelectorLike</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentId-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentId-member-1-\"></a>\n\n#### [getDocumentId](#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentId-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected getDocumentId(selector: Selector): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selector | <code><a href=\"#-vuedx-vue-virtual-textdocument--Selector-type\">Selector</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentLanguage-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentLanguage-member-1-\"></a>\n\n#### [getDocumentLanguage](#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentLanguage-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected getDocumentLanguage(selector: Selector): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selector | <code><a href=\"#-vuedx-vue-virtual-textdocument--Selector-type\">Selector</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-markDirty-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-markDirty-member-1-\"></a>\n\n#### [markDirty](#-vuedx-vue-virtual-textdocument-VueTextDocument-markDirty-member-1-)\n\n\n\n**Signature:**\n```ts\nmarkDirty(): void;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-parse-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-parse-member-1-\"></a>\n\n#### [parse](#-vuedx-vue-virtual-textdocument-VueTextDocument-parse-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected parse(): void;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-update-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-update-member-1-\"></a>\n\n#### [update](#-vuedx-vue-virtual-textdocument-VueTextDocument-update-member-1-)\n\n\n\n**Signature:**\n```ts\nstatic update(document: VueTextDocument, changes: TextDocumentContentChangeEvent[], version: number): VueTextDocument;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| document | <code><a href=\"#-vuedx-vue-virtual-textdocument--VueTextDocument-class\">VueTextDocument</a></code> | - |\n| changes | <code><a href=\"#vscode-languageserver-textdocument-TextDocumentContentChangeEvent-type\">TextDocumentContentChangeEvent</a>[]</code> | - |\n| version | <code>number</code> | - |\n\n<br>\n</details>\n\n<br>\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-asFsPath-function-1-\" id=\"-vuedx-vue-virtual-textdocument-asFsPath-function-1-\"></a>\n\n### [asFsPath](#-vuedx-vue-virtual-textdocument-asFsPath-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function asFsPath(uri: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-asFsUri-function-1-\" id=\"-vuedx-vue-virtual-textdocument-asFsUri-function-1-\"></a>\n\n### [asFsUri](#-vuedx-vue-virtual-textdocument-asFsUri-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function asFsUri(fileName: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-asUri-function-1-\" id=\"-vuedx-vue-virtual-textdocument-asUri-function-1-\"></a>\n\n### [asUri](#-vuedx-vue-virtual-textdocument-asUri-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function asUri(fileNameOrUri: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileNameOrUri | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-basename-function-1-\" id=\"-vuedx-vue-virtual-textdocument-basename-function-1-\"></a>\n\n### [basename](#-vuedx-vue-virtual-textdocument-basename-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function basename(fileName: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-binarySearch-function-1-\" id=\"-vuedx-vue-virtual-textdocument-binarySearch-function-1-\"></a>\n\n### [binarySearch](#-vuedx-vue-virtual-textdocument-binarySearch-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function binarySearch<T>(array: T[], isMatch: (a: T) => number, returnMin?: boolean): T | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| array | <code>T[]</code> | - |\n| isMatch | <code>(a: T) => number</code> | - |\n| returnMin | <code>boolean</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-getBlockLanguage-function-1-\" id=\"-vuedx-vue-virtual-textdocument-getBlockLanguage-function-1-\"></a>\n\n### [getBlockLanguage](#-vuedx-vue-virtual-textdocument-getBlockLanguage-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function getBlockLanguage(block?: SFCBlock | null): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| block | <code><a href=\"#-vue-compiler-sfc-SFCBlock-interface\">SFCBlock</a> &#124; null</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-getContainingFile-function-1-\" id=\"-vuedx-vue-virtual-textdocument-getContainingFile-function-1-\"></a>\n\n### [getContainingFile](#-vuedx-vue-virtual-textdocument-getContainingFile-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function getContainingFile(fileName: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-getLanguageExtension-function-1-\" id=\"-vuedx-vue-virtual-textdocument-getLanguageExtension-function-1-\"></a>\n\n### [getLanguageExtension](#-vuedx-vue-virtual-textdocument-getLanguageExtension-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function getLanguageExtension(lang: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| lang | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-getLanguageIdFromExtension-function-1-\" id=\"-vuedx-vue-virtual-textdocument-getLanguageIdFromExtension-function-1-\"></a>\n\n### [getLanguageIdFromExtension](#-vuedx-vue-virtual-textdocument-getLanguageIdFromExtension-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function getLanguageIdFromExtension(ext: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| ext | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-isOffsetInBlock-function-1-\" id=\"-vuedx-vue-virtual-textdocument-isOffsetInBlock-function-1-\"></a>\n\n### [isOffsetInBlock](#-vuedx-vue-virtual-textdocument-isOffsetInBlock-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function isOffsetInBlock(offset: number, block?: SFCBlock | null): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n| block | <code><a href=\"#-vue-compiler-sfc-SFCBlock-interface\">SFCBlock</a> &#124; null</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-isVirtualFile-function-1-\" id=\"-vuedx-vue-virtual-textdocument-isVirtualFile-function-1-\"></a>\n\n### [isVirtualFile](#-vuedx-vue-virtual-textdocument-isVirtualFile-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function isVirtualFile(fileName: string): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-isVirtualFileOfType-function-1-\" id=\"-vuedx-vue-virtual-textdocument-isVirtualFileOfType-function-1-\"></a>\n\n### [isVirtualFileOfType](#-vuedx-vue-virtual-textdocument-isVirtualFileOfType-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function isVirtualFileOfType(fileName: string, type: '_render' | '_module' | '_internal' | 'script' | 'scriptSetup'): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n| type | <code>'_render' &#124; '_module' &#124; '_internal' &#124; 'script' &#124; 'scriptSetup'</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-isVueFile-function-1-\" id=\"-vuedx-vue-virtual-textdocument-isVueFile-function-1-\"></a>\n\n### [isVueFile](#-vuedx-vue-virtual-textdocument-isVueFile-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function isVueFile(fileName: string): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-parseVirtualFileName-function-1-\" id=\"-vuedx-vue-virtual-textdocument-parseVirtualFileName-function-1-\"></a>\n\n### [parseVirtualFileName](#-vuedx-vue-virtual-textdocument-parseVirtualFileName-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function parseVirtualFileName(fileName: string): {\n    uri: string;\n    selector: Selector;\n} | null;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-relativeVirtualImportPath-function-1-\" id=\"-vuedx-vue-virtual-textdocument-relativeVirtualImportPath-function-1-\"></a>\n\n### [relativeVirtualImportPath](#-vuedx-vue-virtual-textdocument-relativeVirtualImportPath-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function relativeVirtualImportPath(fileName: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-replaceSlashes-function-1-\" id=\"-vuedx-vue-virtual-textdocument-replaceSlashes-function-1-\"></a>\n\n### [replaceSlashes](#-vuedx-vue-virtual-textdocument-replaceSlashes-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function replaceSlashes(fileName: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n<!-- #region API-DOCS -->\n","readmeFilename":"readme.md","_id":"@vuedx/vue-virtual-textdocument@0.3.1-insiders-1608632613.0","_nodeVersion":"14.14.0","_npmVersion":"6.14.8","dist":{"integrity":"sha512-0jd+DQeGo2QEn/luVOCBTJSna8bZUO4hkHchnQZqSk5qmV2Fh1fKq6+ufpT6i/tJZm8o8DmiUViRuCJ170oVDw==","shasum":"3d6347bcb40d2d301ad91c644cc890bcbec7ed86","tarball":"https://registry.npmjs.org/@vuedx/vue-virtual-textdocument/-/vue-virtual-textdocument-0.3.1-insiders-1608632613.0.tgz","fileCount":8,"unpackedSize":271551,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJf4clACRA9TVsSAnZWagAAC7sP/Aqkpnu5O1WpURc0Qfwh\neXve5Ga7RAbd98mDYAU7G3rh6sBUyjd0R4/QJKmOK0iw/clUnXwVZZthE6iv\njrRKHRBdRJEDhgw+qEb39sURatcXS6Ma3iaePQ+/cRiylPYyIWgmIxzgxT+C\nTfD8AtroIbrTAdH9vS3Lrl6Yn2ux9aAzCRtMpj6W99luVEAkp9WUt/nji8P+\nfpJ5KnfqtXcwn03kmT47KLeR0/EZiG0F3gd5uhqZIsZsDncvfz+sUPoEXLok\nB58v202oeqKRdbtvtI34tWABGStnuN7Ua1yTlqwx5IPBUuZyEgtQkBCBK4f1\nnlkBaoOoxdS9vL8fxj1EONLkXeJ4EXP4KxyhdykmMQHZGquCY3DWr0AVc98L\n4NgOBWNZ5gsblt3skAKNc+TNUBCEE06Odb8NYTqzHZY6oGvls5yl4J+HcWrP\nu5Ui2avp0hzJCvsMfYOpaO/tFjY336jSYHenAUIYooTEBotwNtuRZWiSvm9A\nmSLXmvprBqraacciXNGvGFiXXeo8zXqPPQG8nXwEL//gHR6wsy7FW8SaefHL\nb2LUDUlaQ7cdH18vPxb98LHbeft8irQpwba2MBNUGHKRlRXjmFQqVhypgjsR\n9Y6Egt6FhzBHTNt7kQyxigZD0JvjLUHv8DNevk4ARABs1WWZJFfBE+DGlhKJ\n5mAS\r\n=zhHr\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIEKrOcogRd2rgb+VTlj8ayzFLs4JWDOvRK5J/Ns8+Y4IAiEAvfdT0rS3p5h+dNIzv8l4DuqCLA0kCN62g6EIFsUEGEQ="}]},"_npmUser":{"name":"znck","email":"rahulkdn@gmail.com"},"directories":{},"maintainers":[{"name":"znck","email":"rahulkdn@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/vue-virtual-textdocument_0.3.1-insiders-1608632613.0_1608632639695_0.5792516442848252"},"_hasShrinkwrap":false},"0.3.1-insiders-1608642006.0":{"name":"@vuedx/vue-virtual-textdocument","version":"0.3.1-insiders-1608642006.0","description":"An implementation of virtual filesystem for accessing blocks in a `.vue` file as independent files.","main":"dist/index.cjs.js","module":"dist/index.esm.js","types":"dist/index.d.ts","private":false,"scripts":{},"keywords":["vue","vue sfc","sfc","vue virtual files"],"repository":{"type":"git","url":"git+https://github.com/znck/vue-developer-experience.git"},"author":{"name":"Rahul Kadyan","email":"rahulkdn@gmail.com","url":"https://znck.me/"},"funding":{"type":"individual","url":"https://github.com/sponsors/znck"},"license":"MIT","bugs":{"url":"https://github.com/znck/vue-developer-experience/issues"},"homepage":"https://github.com/znck/vue-developer-experience#readme","dependencies":{"@vuedx/analyze":"0.3.1-insiders-1608642006.0","@vuedx/compiler-sfc":"0.3.1-insiders-1608642006.0","@vuedx/compiler-tsx":"0.3.1-insiders-1608642006.0","source-map":"^0.6.1","vscode-languageserver-textdocument":"^1.0.1","vscode-uri":"^2.1.2"},"devDependencies":{"@vuedx/shared":"0.0.1-insiders-1608642006.0","fast-glob":"^3.2.4","typescript":"^4.0.3"},"readme":"# Vue Virtual TextDocument\n\nAn implementation of virtual filesystem for accessing blocks in a `.vue` file as independent files.\n\n## Support\n\nThis package is part of [VueDX project](https://github.com/znck/vue-developer-experience), maintained by [Rahul Kadyan](https://github.com/znck). You can [💖 sponsor him](https://github.com/sponsors/znck) for continued development of this package and other VueDX tools.\n\n```\nnpm add @vuedx/vue-virtual-textdocument\n```\n<!-- #region API-DOCS -->\n<!-- Do not edit this file. It is a report generated by [scripts/docgen.js](https://github.com/znck/vue-developer-experience/tree/master/scripts/docgen.js). -->\n\n## API\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-AsyncDocumentStore-class\" id=\"-vuedx-vue-virtual-textdocument-AsyncDocumentStore-class\"></a>\n\n### [AsyncDocumentStore](#-vuedx-vue-virtual-textdocument-AsyncDocumentStore-class)\n\n\n\n<details><summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare class AsyncDocumentStore<T> extends DocumentStore<T> {\n  constructor(resolve: (uri: string) => T | Promise<T | null> | null, normalize?: (uri: string) => string);\n  get(uri: string): T | null;\n  get(uri: string): Promise<T | null>;\n}\n```\n\n**Members:**\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-AsyncDocumentStore-get-member-1-\" id=\"-vuedx-vue-virtual-textdocument-AsyncDocumentStore-get-member-1-\"></a>\n\n#### [get](#-vuedx-vue-virtual-textdocument-AsyncDocumentStore-get-member-1-)\n\n\n\n**Signature:**\n```ts\nget(uri: string): T | null;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-AsyncDocumentStore-get-member-2-\" id=\"-vuedx-vue-virtual-textdocument-AsyncDocumentStore-get-member-2-\"></a>\n\n#### [get](#-vuedx-vue-virtual-textdocument-AsyncDocumentStore-get-member-2-)\n\n\n\n**Signature:**\n```ts\nget(uri: string): Promise<T | null>;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n\n<br>\n</details>\n\n<br>\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-class\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-class\"></a>\n\n### [DocumentStore](#-vuedx-vue-virtual-textdocument-DocumentStore-class)\n\n\n\n<details><summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare class DocumentStore<T> {\n  constructor(resolve: (uri: string) => T | null, normalize?: (uri: string) => string);\n  all(): string[];\n  delete(uri: string): boolean;\n  dispose(): void;\n  get(uri: string): T | null;\n  protected getNormalizedUri(uri: string): string;\n  has(uri: string): boolean;\n  protected map: Map<string, T>;\n  normalize: (uri: string) => string;\n  protected resolve: (uri: string) => T | null;\n  protected reverseUriMap: Map<string, string>;\n  set(uri: string, document: T): void;\n}\n```\n\n**Members:**\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-all-member-1-\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-all-member-1-\"></a>\n\n#### [all](#-vuedx-vue-virtual-textdocument-DocumentStore-all-member-1-)\n\n\n\n**Signature:**\n```ts\nall(): string[];\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-delete-member-1-\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-delete-member-1-\"></a>\n\n#### [delete](#-vuedx-vue-virtual-textdocument-DocumentStore-delete-member-1-)\n\n\n\n**Signature:**\n```ts\ndelete(uri: string): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-dispose-member-1-\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-dispose-member-1-\"></a>\n\n#### [dispose](#-vuedx-vue-virtual-textdocument-DocumentStore-dispose-member-1-)\n\n\n\n**Signature:**\n```ts\ndispose(): void;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-get-member-1-\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-get-member-1-\"></a>\n\n#### [get](#-vuedx-vue-virtual-textdocument-DocumentStore-get-member-1-)\n\n\n\n**Signature:**\n```ts\nget(uri: string): T | null;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-getNormalizedUri-member-1-\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-getNormalizedUri-member-1-\"></a>\n\n#### [getNormalizedUri](#-vuedx-vue-virtual-textdocument-DocumentStore-getNormalizedUri-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected getNormalizedUri(uri: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-has-member-1-\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-has-member-1-\"></a>\n\n#### [has](#-vuedx-vue-virtual-textdocument-DocumentStore-has-member-1-)\n\n\n\n**Signature:**\n```ts\nhas(uri: string): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-set-member-1-\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-set-member-1-\"></a>\n\n#### [set](#-vuedx-vue-virtual-textdocument-DocumentStore-set-member-1-)\n\n\n\n**Signature:**\n```ts\nset(uri: string, document: T): void;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n| document | <code>T</code> | - |\n\n<br>\n</details>\n\n<br>\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-class\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-class\"></a>\n\n### [RenderFunctionTextDocument](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-class)\n\n\n\n<details><summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare class RenderFunctionTextDocument extends TransformedBlockTextDocument {\n  constructor(container: VueTextDocument, selector: Selector, transformed: TextDocument, source: TextDocument);\n  get ast(): CodegenResult['ast'] | undefined;\n  get contextCompletionsTriggerOffset(): number;\n  static create(options: CreateVirtualTextDocumentOptions): RenderFunctionTextDocument;\n  findExpression(offset: number, length: number): undefined | {\n        offset: number;\n        length: number;\n    };\n  protected generate(): string;\n  getAllGeneratedOffsetsAt(offset: number): undefined | Array<{\n        length: number;\n        offset: number;\n    }>;\n  getGeneratedOffsetAt(offset: number): undefined | {\n        length: number;\n        offset: number;\n    };\n  protected getKnownComponents(): Record<string, ComponentImport>;\n  getOriginalOffsetAt(offset: number): undefined | {\n        offset: number;\n        length: number;\n    };\n  isInGeneratedRange(offset: number): boolean;\n  get parserErrors(): CodegenResult['errors'];\n  get tagCompletionsTriggerOffset(): number;\n  toDisplayMappings(): string;\n  protected tryGenerate(): string;\n}\n```\n\n**Members:**\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-create-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-create-member-1-\"></a>\n\n#### [create](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-create-member-1-)\n\n\n\n**Signature:**\n```ts\nstatic create(options: CreateVirtualTextDocumentOptions): RenderFunctionTextDocument;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| options | <code><a href=\"#-vuedx-vue-virtual-textdocument--CreateVirtualTextDocumentOptions-interface\">CreateVirtualTextDocumentOptions</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-findExpression-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-findExpression-member-1-\"></a>\n\n#### [findExpression](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-findExpression-member-1-)\n\n\n\n**Signature:**\n```ts\nfindExpression(offset: number, length: number): undefined | {\n        offset: number;\n        length: number;\n    };\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n| length | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-generate-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-generate-member-1-\"></a>\n\n#### [generate](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-generate-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected generate(): string;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getAllGeneratedOffsetsAt-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getAllGeneratedOffsetsAt-member-1-\"></a>\n\n#### [getAllGeneratedOffsetsAt](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getAllGeneratedOffsetsAt-member-1-)\n\n\n\n**Signature:**\n```ts\ngetAllGeneratedOffsetsAt(offset: number): undefined | Array<{\n        length: number;\n        offset: number;\n    }>;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getGeneratedOffsetAt-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getGeneratedOffsetAt-member-1-\"></a>\n\n#### [getGeneratedOffsetAt](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getGeneratedOffsetAt-member-1-)\n\n\n\n**Signature:**\n```ts\ngetGeneratedOffsetAt(offset: number): undefined | {\n        length: number;\n        offset: number;\n    };\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getKnownComponents-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getKnownComponents-member-1-\"></a>\n\n#### [getKnownComponents](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getKnownComponents-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected getKnownComponents(): Record<string, ComponentImport>;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getOriginalOffsetAt-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getOriginalOffsetAt-member-1-\"></a>\n\n#### [getOriginalOffsetAt](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getOriginalOffsetAt-member-1-)\n\n\n\n**Signature:**\n```ts\ngetOriginalOffsetAt(offset: number): undefined | {\n        offset: number;\n        length: number;\n    };\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-isInGeneratedRange-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-isInGeneratedRange-member-1-\"></a>\n\n#### [isInGeneratedRange](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-isInGeneratedRange-member-1-)\n\n\n\n**Signature:**\n```ts\nisInGeneratedRange(offset: number): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-toDisplayMappings-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-toDisplayMappings-member-1-\"></a>\n\n#### [toDisplayMappings](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-toDisplayMappings-member-1-)\n\n\n\n**Signature:**\n```ts\ntoDisplayMappings(): string;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-tryGenerate-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-tryGenerate-member-1-\"></a>\n\n#### [tryGenerate](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-tryGenerate-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected tryGenerate(): string;\n```\n\n\n<br>\n</details>\n\n<br>\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-class\" id=\"-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-class\"></a>\n\n### [TransformedBlockTextDocument](#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-class)\n\n\n\n<details><summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare class TransformedBlockTextDocument extends VirtualTextDocument {\n  protected constructor(container: VueTextDocument, selector: Selector, transformed: TextDocument, source: TextDocument | VirtualTextDocument, _transform: (document: TransformedBlockTextDocument) => BlockTransformResult);\n  static create(options: CreateTransformedBlockTextDocumentOptions): TransformedBlockTextDocument;\n  protected refresh(): void;\n  transform(): BlockTransformResult;\n  tryGetGeneratedOffset(offset: number): number | undefined;\n  tryGetSourceOffset(offset: number): number | undefined;\n}\n```\n\n**Members:**\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-create-member-1-\" id=\"-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-create-member-1-\"></a>\n\n#### [create](#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-create-member-1-)\n\n\n\n**Signature:**\n```ts\nstatic create(options: CreateTransformedBlockTextDocumentOptions): TransformedBlockTextDocument;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| options | <code><a href=\"#-vuedx-vue-virtual-textdocument--CreateTransformedBlockTextDocumentOptions-interface\">CreateTransformedBlockTextDocumentOptions</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-refresh-member-1-\" id=\"-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-refresh-member-1-\"></a>\n\n#### [refresh](#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-refresh-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected refresh(): void;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-transform-member-1-\" id=\"-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-transform-member-1-\"></a>\n\n#### [transform](#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-transform-member-1-)\n\n\n\n**Signature:**\n```ts\ntransform(): BlockTransformResult;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-tryGetGeneratedOffset-member-1-\" id=\"-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-tryGetGeneratedOffset-member-1-\"></a>\n\n#### [tryGetGeneratedOffset](#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-tryGetGeneratedOffset-member-1-)\n\n\n\n**Signature:**\n```ts\ntryGetGeneratedOffset(offset: number): number | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-tryGetSourceOffset-member-1-\" id=\"-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-tryGetSourceOffset-member-1-\"></a>\n\n#### [tryGetSourceOffset](#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-tryGetSourceOffset-member-1-)\n\n\n\n**Signature:**\n```ts\ntryGetSourceOffset(offset: number): number | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n</details>\n\n<br>\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VirtualTextDocument-class\" id=\"-vuedx-vue-virtual-textdocument-VirtualTextDocument-class\"></a>\n\n### [VirtualTextDocument](#-vuedx-vue-virtual-textdocument-VirtualTextDocument-class)\n\n\n\n<details><summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare class VirtualTextDocument extends ProxyTextDocument {\n  protected constructor(container: VueTextDocument, selector: Selector, doc: TextDocument);\n  readonly container: VueTextDocument;\n  static create(options: CreateVirtualTextDocumentOptions): VirtualTextDocument;\n  protected isDirty: boolean;\n  markDirty(): void;\n  protected refresh(): void;\n  readonly selector: Selector;\n}\n```\n\n**Members:**\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VirtualTextDocument-create-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VirtualTextDocument-create-member-1-\"></a>\n\n#### [create](#-vuedx-vue-virtual-textdocument-VirtualTextDocument-create-member-1-)\n\n\n\n**Signature:**\n```ts\nstatic create(options: CreateVirtualTextDocumentOptions): VirtualTextDocument;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| options | <code><a href=\"#-vuedx-vue-virtual-textdocument--CreateVirtualTextDocumentOptions-interface\">CreateVirtualTextDocumentOptions</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VirtualTextDocument-markDirty-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VirtualTextDocument-markDirty-member-1-\"></a>\n\n#### [markDirty](#-vuedx-vue-virtual-textdocument-VirtualTextDocument-markDirty-member-1-)\n\n\n\n**Signature:**\n```ts\nmarkDirty(): void;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VirtualTextDocument-refresh-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VirtualTextDocument-refresh-member-1-\"></a>\n\n#### [refresh](#-vuedx-vue-virtual-textdocument-VirtualTextDocument-refresh-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected refresh(): void;\n```\n\n\n<br>\n</details>\n\n<br>\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-class\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-class\"></a>\n\n### [VueTextDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-class)\n\n\n\n<details><summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare class VueTextDocument extends ProxyTextDocument {\n  constructor(doc: TextDocument, options?: VueTextDocumentOptions, parseOptions?: SFCParseOptions);\n  all(): VirtualTextDocument[];\n  blockAt(position: Position | number): SFCBlock | null | undefined;\n  static create(uri: string, languageId: string, version: number, content: string, options?: VueTextDocumentOptions, parseOptions?: SFCParseOptions): VueTextDocument;\n  protected createBlockDocument(selector: BlockSelector): VirtualTextDocument | undefined;\n  protected createInternalModuleDocument(): TransformedBlockTextDocument;\n  protected createModuleDocument(): TransformedBlockTextDocument;\n  protected createRenderDocument(): RenderFunctionTextDocument;\n  get descriptor(): SFCDescriptor;\n  documentAt(position: Position | number): VirtualTextDocument | undefined;\n  getBlock(selector: BlockSelector): SFCBlock | null | undefined;\n  getBlockSelector(block: SFCBlock): BlockSelector | undefined;\n  getDocument(selector: typeof RENDER_SELECTOR): RenderFunctionTextDocument;\n  getDocument(selector: SelectorLike): VirtualTextDocument;\n  getDocument(selector: string): VirtualTextDocument | undefined;\n  getDocumentFileName(selectorLike: SelectorLike): string;\n  protected getDocumentId(selector: Selector): string;\n  protected getDocumentLanguage(selector: Selector): string;\n  markDirty(): void;\n  readonly options: VueTextDocumentOptions;\n  protected parse(): void;\n  static update(document: VueTextDocument, changes: TextDocumentContentChangeEvent[], version: number): VueTextDocument;\n}\n```\n\n**Members:**\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-all-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-all-member-1-\"></a>\n\n#### [all](#-vuedx-vue-virtual-textdocument-VueTextDocument-all-member-1-)\n\n\n\n**Signature:**\n```ts\nall(): VirtualTextDocument[];\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-blockAt-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-blockAt-member-1-\"></a>\n\n#### [blockAt](#-vuedx-vue-virtual-textdocument-VueTextDocument-blockAt-member-1-)\n\n\n\n**Signature:**\n```ts\nblockAt(position: Position | number): SFCBlock | null | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| position | <code><a href=\"#vscode-languageserver-textdocument-Position-interface\">Position</a> &#124; number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-create-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-create-member-1-\"></a>\n\n#### [create](#-vuedx-vue-virtual-textdocument-VueTextDocument-create-member-1-)\n\n\n\n**Signature:**\n```ts\nstatic create(uri: string, languageId: string, version: number, content: string, options?: VueTextDocumentOptions, parseOptions?: SFCParseOptions): VueTextDocument;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n| languageId | <code>string</code> | - |\n| version | <code>number</code> | - |\n| content | <code>string</code> | - |\n| options | <code><a href=\"#-vuedx-vue-virtual-textdocument--VueTextDocumentOptions-interface\">VueTextDocumentOptions</a></code> | - |\n| parseOptions | <code><a href=\"#-vue-compiler-sfc-SFCParseOptions-interface\">SFCParseOptions</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-createBlockDocument-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-createBlockDocument-member-1-\"></a>\n\n#### [createBlockDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-createBlockDocument-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected createBlockDocument(selector: BlockSelector): VirtualTextDocument | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selector | <code><a href=\"#-vuedx-vue-virtual-textdocument--BlockSelector-type\">BlockSelector</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-createInternalModuleDocument-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-createInternalModuleDocument-member-1-\"></a>\n\n#### [createInternalModuleDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-createInternalModuleDocument-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected createInternalModuleDocument(): TransformedBlockTextDocument;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-createModuleDocument-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-createModuleDocument-member-1-\"></a>\n\n#### [createModuleDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-createModuleDocument-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected createModuleDocument(): TransformedBlockTextDocument;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-createRenderDocument-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-createRenderDocument-member-1-\"></a>\n\n#### [createRenderDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-createRenderDocument-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected createRenderDocument(): RenderFunctionTextDocument;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-documentAt-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-documentAt-member-1-\"></a>\n\n#### [documentAt](#-vuedx-vue-virtual-textdocument-VueTextDocument-documentAt-member-1-)\n\n\n\n**Signature:**\n```ts\ndocumentAt(position: Position | number): VirtualTextDocument | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| position | <code><a href=\"#vscode-languageserver-textdocument-Position-interface\">Position</a> &#124; number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getBlock-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getBlock-member-1-\"></a>\n\n#### [getBlock](#-vuedx-vue-virtual-textdocument-VueTextDocument-getBlock-member-1-)\n\n\n\n**Signature:**\n```ts\ngetBlock(selector: BlockSelector): SFCBlock | null | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selector | <code><a href=\"#-vuedx-vue-virtual-textdocument--BlockSelector-type\">BlockSelector</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getBlockSelector-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getBlockSelector-member-1-\"></a>\n\n#### [getBlockSelector](#-vuedx-vue-virtual-textdocument-VueTextDocument-getBlockSelector-member-1-)\n\n\n\n**Signature:**\n```ts\ngetBlockSelector(block: SFCBlock): BlockSelector | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| block | <code><a href=\"#-vue-compiler-sfc-SFCBlock-interface\">SFCBlock</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-1-\"></a>\n\n#### [getDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-1-)\n\n\n\n**Signature:**\n```ts\ngetDocument(selector: typeof RENDER_SELECTOR): RenderFunctionTextDocument;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selector | <code>typeof <a href=\"#-vuedx-vue-virtual-textdocument--RENDER-SELECTOR-var\">RENDER_SELECTOR</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-2-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-2-\"></a>\n\n#### [getDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-2-)\n\n\n\n**Signature:**\n```ts\ngetDocument(selector: SelectorLike): VirtualTextDocument;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selector | <code><a href=\"#-vuedx-vue-virtual-textdocument--SelectorLike-type\">SelectorLike</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-3-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-3-\"></a>\n\n#### [getDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-3-)\n\n\n\n**Signature:**\n```ts\ngetDocument(selector: string): VirtualTextDocument | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selector | <code>string</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentFileName-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentFileName-member-1-\"></a>\n\n#### [getDocumentFileName](#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentFileName-member-1-)\n\n\n\n**Signature:**\n```ts\ngetDocumentFileName(selectorLike: SelectorLike): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selectorLike | <code><a href=\"#-vuedx-vue-virtual-textdocument--SelectorLike-type\">SelectorLike</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentId-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentId-member-1-\"></a>\n\n#### [getDocumentId](#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentId-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected getDocumentId(selector: Selector): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selector | <code><a href=\"#-vuedx-vue-virtual-textdocument--Selector-type\">Selector</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentLanguage-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentLanguage-member-1-\"></a>\n\n#### [getDocumentLanguage](#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentLanguage-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected getDocumentLanguage(selector: Selector): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selector | <code><a href=\"#-vuedx-vue-virtual-textdocument--Selector-type\">Selector</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-markDirty-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-markDirty-member-1-\"></a>\n\n#### [markDirty](#-vuedx-vue-virtual-textdocument-VueTextDocument-markDirty-member-1-)\n\n\n\n**Signature:**\n```ts\nmarkDirty(): void;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-parse-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-parse-member-1-\"></a>\n\n#### [parse](#-vuedx-vue-virtual-textdocument-VueTextDocument-parse-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected parse(): void;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-update-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-update-member-1-\"></a>\n\n#### [update](#-vuedx-vue-virtual-textdocument-VueTextDocument-update-member-1-)\n\n\n\n**Signature:**\n```ts\nstatic update(document: VueTextDocument, changes: TextDocumentContentChangeEvent[], version: number): VueTextDocument;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| document | <code><a href=\"#-vuedx-vue-virtual-textdocument--VueTextDocument-class\">VueTextDocument</a></code> | - |\n| changes | <code><a href=\"#vscode-languageserver-textdocument-TextDocumentContentChangeEvent-type\">TextDocumentContentChangeEvent</a>[]</code> | - |\n| version | <code>number</code> | - |\n\n<br>\n</details>\n\n<br>\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-asFsPath-function-1-\" id=\"-vuedx-vue-virtual-textdocument-asFsPath-function-1-\"></a>\n\n### [asFsPath](#-vuedx-vue-virtual-textdocument-asFsPath-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function asFsPath(uri: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-asFsUri-function-1-\" id=\"-vuedx-vue-virtual-textdocument-asFsUri-function-1-\"></a>\n\n### [asFsUri](#-vuedx-vue-virtual-textdocument-asFsUri-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function asFsUri(fileName: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-asUri-function-1-\" id=\"-vuedx-vue-virtual-textdocument-asUri-function-1-\"></a>\n\n### [asUri](#-vuedx-vue-virtual-textdocument-asUri-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function asUri(fileNameOrUri: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileNameOrUri | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-basename-function-1-\" id=\"-vuedx-vue-virtual-textdocument-basename-function-1-\"></a>\n\n### [basename](#-vuedx-vue-virtual-textdocument-basename-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function basename(fileName: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-binarySearch-function-1-\" id=\"-vuedx-vue-virtual-textdocument-binarySearch-function-1-\"></a>\n\n### [binarySearch](#-vuedx-vue-virtual-textdocument-binarySearch-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function binarySearch<T>(array: T[], isMatch: (a: T) => number, returnMin?: boolean): T | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| array | <code>T[]</code> | - |\n| isMatch | <code>(a: T) => number</code> | - |\n| returnMin | <code>boolean</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-getBlockLanguage-function-1-\" id=\"-vuedx-vue-virtual-textdocument-getBlockLanguage-function-1-\"></a>\n\n### [getBlockLanguage](#-vuedx-vue-virtual-textdocument-getBlockLanguage-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function getBlockLanguage(block?: SFCBlock | null): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| block | <code><a href=\"#-vue-compiler-sfc-SFCBlock-interface\">SFCBlock</a> &#124; null</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-getContainingFile-function-1-\" id=\"-vuedx-vue-virtual-textdocument-getContainingFile-function-1-\"></a>\n\n### [getContainingFile](#-vuedx-vue-virtual-textdocument-getContainingFile-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function getContainingFile(fileName: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-getLanguageExtension-function-1-\" id=\"-vuedx-vue-virtual-textdocument-getLanguageExtension-function-1-\"></a>\n\n### [getLanguageExtension](#-vuedx-vue-virtual-textdocument-getLanguageExtension-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function getLanguageExtension(lang: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| lang | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-getLanguageIdFromExtension-function-1-\" id=\"-vuedx-vue-virtual-textdocument-getLanguageIdFromExtension-function-1-\"></a>\n\n### [getLanguageIdFromExtension](#-vuedx-vue-virtual-textdocument-getLanguageIdFromExtension-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function getLanguageIdFromExtension(ext: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| ext | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-isOffsetInBlock-function-1-\" id=\"-vuedx-vue-virtual-textdocument-isOffsetInBlock-function-1-\"></a>\n\n### [isOffsetInBlock](#-vuedx-vue-virtual-textdocument-isOffsetInBlock-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function isOffsetInBlock(offset: number, block?: SFCBlock | null): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n| block | <code><a href=\"#-vue-compiler-sfc-SFCBlock-interface\">SFCBlock</a> &#124; null</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-isVirtualFile-function-1-\" id=\"-vuedx-vue-virtual-textdocument-isVirtualFile-function-1-\"></a>\n\n### [isVirtualFile](#-vuedx-vue-virtual-textdocument-isVirtualFile-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function isVirtualFile(fileName: string): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-isVirtualFileOfType-function-1-\" id=\"-vuedx-vue-virtual-textdocument-isVirtualFileOfType-function-1-\"></a>\n\n### [isVirtualFileOfType](#-vuedx-vue-virtual-textdocument-isVirtualFileOfType-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function isVirtualFileOfType(fileName: string, type: '_render' | '_module' | '_internal' | 'script' | 'scriptSetup'): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n| type | <code>'_render' &#124; '_module' &#124; '_internal' &#124; 'script' &#124; 'scriptSetup'</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-isVueFile-function-1-\" id=\"-vuedx-vue-virtual-textdocument-isVueFile-function-1-\"></a>\n\n### [isVueFile](#-vuedx-vue-virtual-textdocument-isVueFile-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function isVueFile(fileName: string): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-parseVirtualFileName-function-1-\" id=\"-vuedx-vue-virtual-textdocument-parseVirtualFileName-function-1-\"></a>\n\n### [parseVirtualFileName](#-vuedx-vue-virtual-textdocument-parseVirtualFileName-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function parseVirtualFileName(fileName: string): {\n    uri: string;\n    selector: Selector;\n} | null;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-relativeVirtualImportPath-function-1-\" id=\"-vuedx-vue-virtual-textdocument-relativeVirtualImportPath-function-1-\"></a>\n\n### [relativeVirtualImportPath](#-vuedx-vue-virtual-textdocument-relativeVirtualImportPath-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function relativeVirtualImportPath(fileName: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-replaceSlashes-function-1-\" id=\"-vuedx-vue-virtual-textdocument-replaceSlashes-function-1-\"></a>\n\n### [replaceSlashes](#-vuedx-vue-virtual-textdocument-replaceSlashes-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function replaceSlashes(fileName: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n<!-- #region API-DOCS -->\n","readmeFilename":"readme.md","_id":"@vuedx/vue-virtual-textdocument@0.3.1-insiders-1608642006.0","_nodeVersion":"14.14.0","_npmVersion":"6.14.8","dist":{"integrity":"sha512-pE69iLGcKDbX1IsIqymsDSwjIhuZy0MwMA67ZIizgOP/JuiVt+ZAxvyvUXqrLiLO6kb65V90BCCaNNCiOEv6rQ==","shasum":"59cfc8c7671cabf23d5f58faa3f3b6d7a53b17d9","tarball":"https://registry.npmjs.org/@vuedx/vue-virtual-textdocument/-/vue-virtual-textdocument-0.3.1-insiders-1608642006.0.tgz","fileCount":8,"unpackedSize":275281,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJf4e3vCRA9TVsSAnZWagAAmscP/j1jSHRP2TiQZyKQHLll\nWAZNijDcUxoIHKNJKwJyPBNCDLOz3TlKMZXPbLJphFmwEkYz1mBYgrQDMIMK\nSUtUI2SgMvdMovBPMaY9pC57NeRKGw0rrexLQ3cGGPA2998ekEdbGVPq6Fuj\niywHe6YBaZG68JFY04gFaDdi1XLi7a48ClY+uyx/Ab/Sm/j9Vo8VYgBD5xU7\nFv8GnuNO7Xf3r9gaaN0WxHTRUZ+hI2J3fbpf1DOqd3ncS0q8ow+BsSaXZJD3\n6mPAC0PcWtsW3q6O0Ncf6z2qC1f77YbVYfI4DVTyGEHXTaCjMiCyOZhfeG8m\nYgh6NWnPTQNBa/DZ/ioL0Bb8oCgZrfcLctj0EEywj1wgzuBdEgbY2iZ8meG8\nbGtTahlP9aKEzlCzUttyyoZNhPLQUZHJgr+m4U5LyVrxZcqUU/KZgCUtXO26\n38SPl3lSt7V7IcH6+Ge5LipdLkXN7tzbqV351MsCwZO/PebZlwOMWuBKUz/Y\n9dnjt3gIUwf+kCqVHPkiqHn8/Him6BggF0W+61nmgd+bG3/IJdqwVknJeGjT\nQjVuV5laDm+EUsGfxDN3SRN0s0FvFOOax8F3V7Uz0crtLlb9xUq9tpdfk0wD\nZnbnw9p52DXs0CeiZaJIxFRD86FU+piNXQB5VuTYv1hZUZ6lmmi+3kMs8Hfb\nKfZr\r\n=xvDl\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDq+W+2lvwwzw9/YxOHXDeS5SbmSDe6chwPOveCLkrqdwIgOYCXeRMTi8myjzGQAekYbjSwBXpM3thlRnDC4YAwya0="}]},"_npmUser":{"name":"znck","email":"rahulkdn@gmail.com"},"directories":{},"maintainers":[{"name":"znck","email":"rahulkdn@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/vue-virtual-textdocument_0.3.1-insiders-1608642006.0_1608642030799_0.28986977227275146"},"_hasShrinkwrap":false},"0.3.1-insiders-1608679071.0":{"name":"@vuedx/vue-virtual-textdocument","version":"0.3.1-insiders-1608679071.0","description":"An implementation of virtual filesystem for accessing blocks in a `.vue` file as independent files.","main":"dist/index.cjs.js","module":"dist/index.esm.js","types":"dist/index.d.ts","private":false,"scripts":{},"keywords":["vue","vue sfc","sfc","vue virtual files"],"repository":{"type":"git","url":"git+https://github.com/znck/vue-developer-experience.git"},"author":{"name":"Rahul Kadyan","email":"rahulkdn@gmail.com","url":"https://znck.me/"},"funding":{"type":"individual","url":"https://github.com/sponsors/znck"},"license":"MIT","bugs":{"url":"https://github.com/znck/vue-developer-experience/issues"},"homepage":"https://github.com/znck/vue-developer-experience#readme","dependencies":{"@vuedx/analyze":"0.3.1-insiders-1608679071.0","@vuedx/compiler-sfc":"0.3.1-insiders-1608679071.0","@vuedx/compiler-tsx":"0.3.1-insiders-1608679071.0","source-map":"^0.6.1","vscode-languageserver-textdocument":"^1.0.1","vscode-uri":"^2.1.2"},"devDependencies":{"@vuedx/shared":"0.0.1-insiders-1608679071.0","fast-glob":"^3.2.4","typescript":"^4.0.3"},"readme":"# Vue Virtual TextDocument\n\nAn implementation of virtual filesystem for accessing blocks in a `.vue` file as independent files.\n\n## Support\n\nThis package is part of [VueDX project](https://github.com/znck/vue-developer-experience), maintained by [Rahul Kadyan](https://github.com/znck). You can [💖 sponsor him](https://github.com/sponsors/znck) for continued development of this package and other VueDX tools.\n\n```\nnpm add @vuedx/vue-virtual-textdocument\n```\n<!-- #region API-DOCS -->\n<!-- Do not edit this file. It is a report generated by [scripts/docgen.js](https://github.com/znck/vue-developer-experience/tree/master/scripts/docgen.js). -->\n\n## API\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-AsyncDocumentStore-class\" id=\"-vuedx-vue-virtual-textdocument-AsyncDocumentStore-class\"></a>\n\n### [AsyncDocumentStore](#-vuedx-vue-virtual-textdocument-AsyncDocumentStore-class)\n\n\n\n<details><summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare class AsyncDocumentStore<T> extends DocumentStore<T> {\n  constructor(resolve: (uri: string) => T | Promise<T | null> | null, normalize?: (uri: string) => string);\n  get(uri: string): T | null;\n  get(uri: string): Promise<T | null>;\n}\n```\n\n**Members:**\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-AsyncDocumentStore-get-member-1-\" id=\"-vuedx-vue-virtual-textdocument-AsyncDocumentStore-get-member-1-\"></a>\n\n#### [get](#-vuedx-vue-virtual-textdocument-AsyncDocumentStore-get-member-1-)\n\n\n\n**Signature:**\n```ts\nget(uri: string): T | null;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-AsyncDocumentStore-get-member-2-\" id=\"-vuedx-vue-virtual-textdocument-AsyncDocumentStore-get-member-2-\"></a>\n\n#### [get](#-vuedx-vue-virtual-textdocument-AsyncDocumentStore-get-member-2-)\n\n\n\n**Signature:**\n```ts\nget(uri: string): Promise<T | null>;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n\n<br>\n</details>\n\n<br>\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-class\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-class\"></a>\n\n### [DocumentStore](#-vuedx-vue-virtual-textdocument-DocumentStore-class)\n\n\n\n<details><summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare class DocumentStore<T> {\n  constructor(resolve: (uri: string) => T | null, normalize?: (uri: string) => string);\n  all(): string[];\n  delete(uri: string): boolean;\n  dispose(): void;\n  get(uri: string): T | null;\n  protected getNormalizedUri(uri: string): string;\n  has(uri: string): boolean;\n  protected map: Map<string, T>;\n  normalize: (uri: string) => string;\n  protected resolve: (uri: string) => T | null;\n  protected reverseUriMap: Map<string, string>;\n  set(uri: string, document: T): void;\n}\n```\n\n**Members:**\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-all-member-1-\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-all-member-1-\"></a>\n\n#### [all](#-vuedx-vue-virtual-textdocument-DocumentStore-all-member-1-)\n\n\n\n**Signature:**\n```ts\nall(): string[];\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-delete-member-1-\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-delete-member-1-\"></a>\n\n#### [delete](#-vuedx-vue-virtual-textdocument-DocumentStore-delete-member-1-)\n\n\n\n**Signature:**\n```ts\ndelete(uri: string): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-dispose-member-1-\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-dispose-member-1-\"></a>\n\n#### [dispose](#-vuedx-vue-virtual-textdocument-DocumentStore-dispose-member-1-)\n\n\n\n**Signature:**\n```ts\ndispose(): void;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-get-member-1-\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-get-member-1-\"></a>\n\n#### [get](#-vuedx-vue-virtual-textdocument-DocumentStore-get-member-1-)\n\n\n\n**Signature:**\n```ts\nget(uri: string): T | null;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-getNormalizedUri-member-1-\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-getNormalizedUri-member-1-\"></a>\n\n#### [getNormalizedUri](#-vuedx-vue-virtual-textdocument-DocumentStore-getNormalizedUri-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected getNormalizedUri(uri: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-has-member-1-\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-has-member-1-\"></a>\n\n#### [has](#-vuedx-vue-virtual-textdocument-DocumentStore-has-member-1-)\n\n\n\n**Signature:**\n```ts\nhas(uri: string): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-set-member-1-\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-set-member-1-\"></a>\n\n#### [set](#-vuedx-vue-virtual-textdocument-DocumentStore-set-member-1-)\n\n\n\n**Signature:**\n```ts\nset(uri: string, document: T): void;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n| document | <code>T</code> | - |\n\n<br>\n</details>\n\n<br>\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-class\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-class\"></a>\n\n### [RenderFunctionTextDocument](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-class)\n\n\n\n<details><summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare class RenderFunctionTextDocument extends TransformedBlockTextDocument {\n  constructor(container: VueTextDocument, selector: Selector, transformed: TextDocument, source: TextDocument);\n  get ast(): CodegenResult['ast'] | undefined;\n  get contextCompletionsTriggerOffset(): number;\n  static create(options: CreateVirtualTextDocumentOptions): RenderFunctionTextDocument;\n  findExpression(offset: number, length: number): undefined | {\n        offset: number;\n        length: number;\n    };\n  protected generate(): string;\n  getAllGeneratedOffsetsAt(offset: number): undefined | Array<{\n        length: number;\n        offset: number;\n    }>;\n  getGeneratedOffsetAt(offset: number): undefined | {\n        length: number;\n        offset: number;\n    };\n  protected getKnownComponents(): Record<string, ComponentImport>;\n  getOriginalOffsetAt(offset: number): undefined | {\n        offset: number;\n        length: number;\n    };\n  isInGeneratedRange(offset: number): boolean;\n  get parserErrors(): CodegenResult['errors'];\n  get tagCompletionsTriggerOffset(): number;\n  toDisplayMappings(): string;\n  protected tryGenerate(): string;\n}\n```\n\n**Members:**\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-create-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-create-member-1-\"></a>\n\n#### [create](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-create-member-1-)\n\n\n\n**Signature:**\n```ts\nstatic create(options: CreateVirtualTextDocumentOptions): RenderFunctionTextDocument;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| options | <code><a href=\"#-vuedx-vue-virtual-textdocument--CreateVirtualTextDocumentOptions-interface\">CreateVirtualTextDocumentOptions</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-findExpression-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-findExpression-member-1-\"></a>\n\n#### [findExpression](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-findExpression-member-1-)\n\n\n\n**Signature:**\n```ts\nfindExpression(offset: number, length: number): undefined | {\n        offset: number;\n        length: number;\n    };\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n| length | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-generate-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-generate-member-1-\"></a>\n\n#### [generate](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-generate-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected generate(): string;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getAllGeneratedOffsetsAt-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getAllGeneratedOffsetsAt-member-1-\"></a>\n\n#### [getAllGeneratedOffsetsAt](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getAllGeneratedOffsetsAt-member-1-)\n\n\n\n**Signature:**\n```ts\ngetAllGeneratedOffsetsAt(offset: number): undefined | Array<{\n        length: number;\n        offset: number;\n    }>;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getGeneratedOffsetAt-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getGeneratedOffsetAt-member-1-\"></a>\n\n#### [getGeneratedOffsetAt](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getGeneratedOffsetAt-member-1-)\n\n\n\n**Signature:**\n```ts\ngetGeneratedOffsetAt(offset: number): undefined | {\n        length: number;\n        offset: number;\n    };\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getKnownComponents-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getKnownComponents-member-1-\"></a>\n\n#### [getKnownComponents](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getKnownComponents-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected getKnownComponents(): Record<string, ComponentImport>;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getOriginalOffsetAt-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getOriginalOffsetAt-member-1-\"></a>\n\n#### [getOriginalOffsetAt](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getOriginalOffsetAt-member-1-)\n\n\n\n**Signature:**\n```ts\ngetOriginalOffsetAt(offset: number): undefined | {\n        offset: number;\n        length: number;\n    };\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-isInGeneratedRange-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-isInGeneratedRange-member-1-\"></a>\n\n#### [isInGeneratedRange](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-isInGeneratedRange-member-1-)\n\n\n\n**Signature:**\n```ts\nisInGeneratedRange(offset: number): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-toDisplayMappings-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-toDisplayMappings-member-1-\"></a>\n\n#### [toDisplayMappings](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-toDisplayMappings-member-1-)\n\n\n\n**Signature:**\n```ts\ntoDisplayMappings(): string;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-tryGenerate-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-tryGenerate-member-1-\"></a>\n\n#### [tryGenerate](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-tryGenerate-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected tryGenerate(): string;\n```\n\n\n<br>\n</details>\n\n<br>\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-class\" id=\"-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-class\"></a>\n\n### [TransformedBlockTextDocument](#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-class)\n\n\n\n<details><summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare class TransformedBlockTextDocument extends VirtualTextDocument {\n  protected constructor(container: VueTextDocument, selector: Selector, transformed: TextDocument, source: TextDocument | VirtualTextDocument, _transform: (document: TransformedBlockTextDocument) => BlockTransformResult);\n  static create(options: CreateTransformedBlockTextDocumentOptions): TransformedBlockTextDocument;\n  protected refresh(): void;\n  transform(): BlockTransformResult;\n  tryGetGeneratedOffset(offset: number): number | undefined;\n  tryGetSourceOffset(offset: number): number | undefined;\n}\n```\n\n**Members:**\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-create-member-1-\" id=\"-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-create-member-1-\"></a>\n\n#### [create](#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-create-member-1-)\n\n\n\n**Signature:**\n```ts\nstatic create(options: CreateTransformedBlockTextDocumentOptions): TransformedBlockTextDocument;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| options | <code><a href=\"#-vuedx-vue-virtual-textdocument--CreateTransformedBlockTextDocumentOptions-interface\">CreateTransformedBlockTextDocumentOptions</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-refresh-member-1-\" id=\"-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-refresh-member-1-\"></a>\n\n#### [refresh](#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-refresh-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected refresh(): void;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-transform-member-1-\" id=\"-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-transform-member-1-\"></a>\n\n#### [transform](#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-transform-member-1-)\n\n\n\n**Signature:**\n```ts\ntransform(): BlockTransformResult;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-tryGetGeneratedOffset-member-1-\" id=\"-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-tryGetGeneratedOffset-member-1-\"></a>\n\n#### [tryGetGeneratedOffset](#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-tryGetGeneratedOffset-member-1-)\n\n\n\n**Signature:**\n```ts\ntryGetGeneratedOffset(offset: number): number | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-tryGetSourceOffset-member-1-\" id=\"-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-tryGetSourceOffset-member-1-\"></a>\n\n#### [tryGetSourceOffset](#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-tryGetSourceOffset-member-1-)\n\n\n\n**Signature:**\n```ts\ntryGetSourceOffset(offset: number): number | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n</details>\n\n<br>\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VirtualTextDocument-class\" id=\"-vuedx-vue-virtual-textdocument-VirtualTextDocument-class\"></a>\n\n### [VirtualTextDocument](#-vuedx-vue-virtual-textdocument-VirtualTextDocument-class)\n\n\n\n<details><summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare class VirtualTextDocument extends ProxyTextDocument {\n  protected constructor(container: VueTextDocument, selector: Selector, doc: TextDocument);\n  readonly container: VueTextDocument;\n  static create(options: CreateVirtualTextDocumentOptions): VirtualTextDocument;\n  protected isDirty: boolean;\n  markDirty(): void;\n  protected refresh(): void;\n  readonly selector: Selector;\n}\n```\n\n**Members:**\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VirtualTextDocument-create-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VirtualTextDocument-create-member-1-\"></a>\n\n#### [create](#-vuedx-vue-virtual-textdocument-VirtualTextDocument-create-member-1-)\n\n\n\n**Signature:**\n```ts\nstatic create(options: CreateVirtualTextDocumentOptions): VirtualTextDocument;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| options | <code><a href=\"#-vuedx-vue-virtual-textdocument--CreateVirtualTextDocumentOptions-interface\">CreateVirtualTextDocumentOptions</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VirtualTextDocument-markDirty-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VirtualTextDocument-markDirty-member-1-\"></a>\n\n#### [markDirty](#-vuedx-vue-virtual-textdocument-VirtualTextDocument-markDirty-member-1-)\n\n\n\n**Signature:**\n```ts\nmarkDirty(): void;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VirtualTextDocument-refresh-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VirtualTextDocument-refresh-member-1-\"></a>\n\n#### [refresh](#-vuedx-vue-virtual-textdocument-VirtualTextDocument-refresh-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected refresh(): void;\n```\n\n\n<br>\n</details>\n\n<br>\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-class\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-class\"></a>\n\n### [VueTextDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-class)\n\n\n\n<details><summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare class VueTextDocument extends ProxyTextDocument {\n  constructor(doc: TextDocument, options?: VueTextDocumentOptions, parseOptions?: SFCParseOptions);\n  all(): VirtualTextDocument[];\n  blockAt(position: Position | number): SFCBlock | null | undefined;\n  static create(uri: string, languageId: string, version: number, content: string, options?: VueTextDocumentOptions, parseOptions?: SFCParseOptions): VueTextDocument;\n  protected createBlockDocument(selector: BlockSelector): VirtualTextDocument | undefined;\n  protected createInternalModuleDocument(): TransformedBlockTextDocument;\n  protected createModuleDocument(): TransformedBlockTextDocument;\n  protected createRenderDocument(): RenderFunctionTextDocument;\n  get descriptor(): SFCDescriptor;\n  documentAt(position: Position | number): VirtualTextDocument | undefined;\n  getBlock(selector: BlockSelector): SFCBlock | null | undefined;\n  getBlockSelector(block: SFCBlock): BlockSelector | undefined;\n  getDocument(selector: typeof RENDER_SELECTOR): RenderFunctionTextDocument;\n  getDocument(selector: SelectorLike): VirtualTextDocument;\n  getDocument(selector: string): VirtualTextDocument | undefined;\n  getDocumentFileName(selectorLike: SelectorLike): string;\n  protected getDocumentId(selector: Selector): string;\n  protected getDocumentLanguage(selector: Selector): string;\n  markDirty(): void;\n  readonly options: VueTextDocumentOptions;\n  protected parse(): void;\n  static update(document: VueTextDocument, changes: TextDocumentContentChangeEvent[], version: number): VueTextDocument;\n}\n```\n\n**Members:**\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-all-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-all-member-1-\"></a>\n\n#### [all](#-vuedx-vue-virtual-textdocument-VueTextDocument-all-member-1-)\n\n\n\n**Signature:**\n```ts\nall(): VirtualTextDocument[];\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-blockAt-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-blockAt-member-1-\"></a>\n\n#### [blockAt](#-vuedx-vue-virtual-textdocument-VueTextDocument-blockAt-member-1-)\n\n\n\n**Signature:**\n```ts\nblockAt(position: Position | number): SFCBlock | null | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| position | <code><a href=\"#vscode-languageserver-textdocument-Position-interface\">Position</a> &#124; number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-create-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-create-member-1-\"></a>\n\n#### [create](#-vuedx-vue-virtual-textdocument-VueTextDocument-create-member-1-)\n\n\n\n**Signature:**\n```ts\nstatic create(uri: string, languageId: string, version: number, content: string, options?: VueTextDocumentOptions, parseOptions?: SFCParseOptions): VueTextDocument;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n| languageId | <code>string</code> | - |\n| version | <code>number</code> | - |\n| content | <code>string</code> | - |\n| options | <code><a href=\"#-vuedx-vue-virtual-textdocument--VueTextDocumentOptions-interface\">VueTextDocumentOptions</a></code> | - |\n| parseOptions | <code><a href=\"#-vue-compiler-sfc-SFCParseOptions-interface\">SFCParseOptions</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-createBlockDocument-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-createBlockDocument-member-1-\"></a>\n\n#### [createBlockDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-createBlockDocument-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected createBlockDocument(selector: BlockSelector): VirtualTextDocument | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selector | <code><a href=\"#-vuedx-vue-virtual-textdocument--BlockSelector-type\">BlockSelector</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-createInternalModuleDocument-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-createInternalModuleDocument-member-1-\"></a>\n\n#### [createInternalModuleDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-createInternalModuleDocument-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected createInternalModuleDocument(): TransformedBlockTextDocument;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-createModuleDocument-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-createModuleDocument-member-1-\"></a>\n\n#### [createModuleDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-createModuleDocument-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected createModuleDocument(): TransformedBlockTextDocument;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-createRenderDocument-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-createRenderDocument-member-1-\"></a>\n\n#### [createRenderDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-createRenderDocument-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected createRenderDocument(): RenderFunctionTextDocument;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-documentAt-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-documentAt-member-1-\"></a>\n\n#### [documentAt](#-vuedx-vue-virtual-textdocument-VueTextDocument-documentAt-member-1-)\n\n\n\n**Signature:**\n```ts\ndocumentAt(position: Position | number): VirtualTextDocument | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| position | <code><a href=\"#vscode-languageserver-textdocument-Position-interface\">Position</a> &#124; number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getBlock-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getBlock-member-1-\"></a>\n\n#### [getBlock](#-vuedx-vue-virtual-textdocument-VueTextDocument-getBlock-member-1-)\n\n\n\n**Signature:**\n```ts\ngetBlock(selector: BlockSelector): SFCBlock | null | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selector | <code><a href=\"#-vuedx-vue-virtual-textdocument--BlockSelector-type\">BlockSelector</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getBlockSelector-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getBlockSelector-member-1-\"></a>\n\n#### [getBlockSelector](#-vuedx-vue-virtual-textdocument-VueTextDocument-getBlockSelector-member-1-)\n\n\n\n**Signature:**\n```ts\ngetBlockSelector(block: SFCBlock): BlockSelector | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| block | <code><a href=\"#-vue-compiler-sfc-SFCBlock-interface\">SFCBlock</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-1-\"></a>\n\n#### [getDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-1-)\n\n\n\n**Signature:**\n```ts\ngetDocument(selector: typeof RENDER_SELECTOR): RenderFunctionTextDocument;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selector | <code>typeof <a href=\"#-vuedx-vue-virtual-textdocument--RENDER-SELECTOR-var\">RENDER_SELECTOR</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-2-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-2-\"></a>\n\n#### [getDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-2-)\n\n\n\n**Signature:**\n```ts\ngetDocument(selector: SelectorLike): VirtualTextDocument;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selector | <code><a href=\"#-vuedx-vue-virtual-textdocument--SelectorLike-type\">SelectorLike</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-3-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-3-\"></a>\n\n#### [getDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-3-)\n\n\n\n**Signature:**\n```ts\ngetDocument(selector: string): VirtualTextDocument | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selector | <code>string</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentFileName-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentFileName-member-1-\"></a>\n\n#### [getDocumentFileName](#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentFileName-member-1-)\n\n\n\n**Signature:**\n```ts\ngetDocumentFileName(selectorLike: SelectorLike): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selectorLike | <code><a href=\"#-vuedx-vue-virtual-textdocument--SelectorLike-type\">SelectorLike</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentId-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentId-member-1-\"></a>\n\n#### [getDocumentId](#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentId-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected getDocumentId(selector: Selector): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selector | <code><a href=\"#-vuedx-vue-virtual-textdocument--Selector-type\">Selector</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentLanguage-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentLanguage-member-1-\"></a>\n\n#### [getDocumentLanguage](#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentLanguage-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected getDocumentLanguage(selector: Selector): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selector | <code><a href=\"#-vuedx-vue-virtual-textdocument--Selector-type\">Selector</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-markDirty-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-markDirty-member-1-\"></a>\n\n#### [markDirty](#-vuedx-vue-virtual-textdocument-VueTextDocument-markDirty-member-1-)\n\n\n\n**Signature:**\n```ts\nmarkDirty(): void;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-parse-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-parse-member-1-\"></a>\n\n#### [parse](#-vuedx-vue-virtual-textdocument-VueTextDocument-parse-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected parse(): void;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-update-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-update-member-1-\"></a>\n\n#### [update](#-vuedx-vue-virtual-textdocument-VueTextDocument-update-member-1-)\n\n\n\n**Signature:**\n```ts\nstatic update(document: VueTextDocument, changes: TextDocumentContentChangeEvent[], version: number): VueTextDocument;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| document | <code><a href=\"#-vuedx-vue-virtual-textdocument--VueTextDocument-class\">VueTextDocument</a></code> | - |\n| changes | <code><a href=\"#vscode-languageserver-textdocument-TextDocumentContentChangeEvent-type\">TextDocumentContentChangeEvent</a>[]</code> | - |\n| version | <code>number</code> | - |\n\n<br>\n</details>\n\n<br>\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-asFsPath-function-1-\" id=\"-vuedx-vue-virtual-textdocument-asFsPath-function-1-\"></a>\n\n### [asFsPath](#-vuedx-vue-virtual-textdocument-asFsPath-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function asFsPath(uri: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-asFsUri-function-1-\" id=\"-vuedx-vue-virtual-textdocument-asFsUri-function-1-\"></a>\n\n### [asFsUri](#-vuedx-vue-virtual-textdocument-asFsUri-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function asFsUri(fileName: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-asUri-function-1-\" id=\"-vuedx-vue-virtual-textdocument-asUri-function-1-\"></a>\n\n### [asUri](#-vuedx-vue-virtual-textdocument-asUri-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function asUri(fileNameOrUri: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileNameOrUri | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-basename-function-1-\" id=\"-vuedx-vue-virtual-textdocument-basename-function-1-\"></a>\n\n### [basename](#-vuedx-vue-virtual-textdocument-basename-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function basename(fileName: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-binarySearch-function-1-\" id=\"-vuedx-vue-virtual-textdocument-binarySearch-function-1-\"></a>\n\n### [binarySearch](#-vuedx-vue-virtual-textdocument-binarySearch-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function binarySearch<T>(array: T[], isMatch: (a: T) => number, returnMin?: boolean): T | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| array | <code>T[]</code> | - |\n| isMatch | <code>(a: T) => number</code> | - |\n| returnMin | <code>boolean</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-getBlockLanguage-function-1-\" id=\"-vuedx-vue-virtual-textdocument-getBlockLanguage-function-1-\"></a>\n\n### [getBlockLanguage](#-vuedx-vue-virtual-textdocument-getBlockLanguage-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function getBlockLanguage(block?: SFCBlock | null): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| block | <code><a href=\"#-vue-compiler-sfc-SFCBlock-interface\">SFCBlock</a> &#124; null</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-getContainingFile-function-1-\" id=\"-vuedx-vue-virtual-textdocument-getContainingFile-function-1-\"></a>\n\n### [getContainingFile](#-vuedx-vue-virtual-textdocument-getContainingFile-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function getContainingFile(fileName: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-getLanguageExtension-function-1-\" id=\"-vuedx-vue-virtual-textdocument-getLanguageExtension-function-1-\"></a>\n\n### [getLanguageExtension](#-vuedx-vue-virtual-textdocument-getLanguageExtension-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function getLanguageExtension(lang: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| lang | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-getLanguageIdFromExtension-function-1-\" id=\"-vuedx-vue-virtual-textdocument-getLanguageIdFromExtension-function-1-\"></a>\n\n### [getLanguageIdFromExtension](#-vuedx-vue-virtual-textdocument-getLanguageIdFromExtension-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function getLanguageIdFromExtension(ext: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| ext | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-isOffsetInBlock-function-1-\" id=\"-vuedx-vue-virtual-textdocument-isOffsetInBlock-function-1-\"></a>\n\n### [isOffsetInBlock](#-vuedx-vue-virtual-textdocument-isOffsetInBlock-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function isOffsetInBlock(offset: number, block?: SFCBlock | null): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n| block | <code><a href=\"#-vue-compiler-sfc-SFCBlock-interface\">SFCBlock</a> &#124; null</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-isVirtualFile-function-1-\" id=\"-vuedx-vue-virtual-textdocument-isVirtualFile-function-1-\"></a>\n\n### [isVirtualFile](#-vuedx-vue-virtual-textdocument-isVirtualFile-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function isVirtualFile(fileName: string): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-isVirtualFileOfType-function-1-\" id=\"-vuedx-vue-virtual-textdocument-isVirtualFileOfType-function-1-\"></a>\n\n### [isVirtualFileOfType](#-vuedx-vue-virtual-textdocument-isVirtualFileOfType-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function isVirtualFileOfType(fileName: string, type: '_render' | '_module' | '_internal' | 'script' | 'scriptSetup'): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n| type | <code>'_render' &#124; '_module' &#124; '_internal' &#124; 'script' &#124; 'scriptSetup'</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-isVueFile-function-1-\" id=\"-vuedx-vue-virtual-textdocument-isVueFile-function-1-\"></a>\n\n### [isVueFile](#-vuedx-vue-virtual-textdocument-isVueFile-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function isVueFile(fileName: string): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-parseVirtualFileName-function-1-\" id=\"-vuedx-vue-virtual-textdocument-parseVirtualFileName-function-1-\"></a>\n\n### [parseVirtualFileName](#-vuedx-vue-virtual-textdocument-parseVirtualFileName-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function parseVirtualFileName(fileName: string): {\n    uri: string;\n    selector: Selector;\n} | null;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-relativeVirtualImportPath-function-1-\" id=\"-vuedx-vue-virtual-textdocument-relativeVirtualImportPath-function-1-\"></a>\n\n### [relativeVirtualImportPath](#-vuedx-vue-virtual-textdocument-relativeVirtualImportPath-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function relativeVirtualImportPath(fileName: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-replaceSlashes-function-1-\" id=\"-vuedx-vue-virtual-textdocument-replaceSlashes-function-1-\"></a>\n\n### [replaceSlashes](#-vuedx-vue-virtual-textdocument-replaceSlashes-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function replaceSlashes(fileName: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n<!-- #region API-DOCS -->\n","readmeFilename":"readme.md","_id":"@vuedx/vue-virtual-textdocument@0.3.1-insiders-1608679071.0","_nodeVersion":"14.14.0","_npmVersion":"6.14.8","dist":{"integrity":"sha512-epQeyY4Gb6WIMGqySnl/0/6yz/sUHhapiGLVjhYxck5T78UQjAstK16aOlXqVbFjz1nK42UWYppf7SuTzKe3Yg==","shasum":"abd88c45f798eccb22807f9260d35b3df64a993b","tarball":"https://registry.npmjs.org/@vuedx/vue-virtual-textdocument/-/vue-virtual-textdocument-0.3.1-insiders-1608679071.0.tgz","fileCount":8,"unpackedSize":275281,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJf4n66CRA9TVsSAnZWagAAcR8P/RbmkfEidkkdWRy/2UBC\nyOwvUd7KV2KcG5ESu7ZXsU7Uv5+EQMzE+07s0nNGkg3RdO3FVM2wT2CaYHFK\n2Mm3uZqsHmg9+33NZbMN+jl0W2ulMR++PR+6buGfWYeZcsUXzIRUHK+9RZUC\nt3mPWu7E7n1WiabTbsQ2dZvE8sP3wUxsoDhtlvo4cBHpZKB/yiGrg1m07YRh\nQjmkkDTBSFmNsZAmyKoMq8pMiUsG0RSaoIn/1K08Ediw8Ot6cMLKqyq7ysu7\nkVLikfkwgbj1VSs3fDgipixnQQ5NXjFtweIz99LJCll0AD6jGcqTCgFx+Rnr\nOOoYNJnCggKLM0Ive6rP4NglpF11nEfOgQNC3wujt8aj/DiINl22k3LUdkip\nf9d2CHj8rQ3+c8NYJeQQTujGNJyUUA3yx+FnGknVMxQ1SJvafUY8TKoGUDJs\nTFtqtTezHuBaJYIg+2pSA1NYx/tD0livXg3avkayV54aASB9/kOZVEy5TXom\n6f9kEURHsXpZglGDgn9B8l4Ad+LSahhbWKDle/n4jG0SWwelErmYoBT3EKdp\n9ZTM9lDhyiujzc7G6TojzQvnAloXUXyeU1vk8KVLm8wI0vRWkFq/wP3zqakH\noVG6OQ8bGQPVddHfrFDMoVnq2Bp3E7/MvZ+z5+8hOoP/3iXB5vNxqBUAwBe3\n3u9X\r\n=p+bO\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIHKJjGAmDwar/WfTmdJ4mFXAPo8KtxqUix7Ut2A1P2VvAiEArE2UKSoatRLzwG1ymRYTaqZOyff8kd+LXRskc+kYptw="}]},"_npmUser":{"name":"znck","email":"rahulkdn@gmail.com"},"directories":{},"maintainers":[{"name":"znck","email":"rahulkdn@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/vue-virtual-textdocument_0.3.1-insiders-1608679071.0_1608679097598_0.7143660881487703"},"_hasShrinkwrap":false},"0.3.1-insiders-1608679989.0":{"name":"@vuedx/vue-virtual-textdocument","version":"0.3.1-insiders-1608679989.0","description":"An implementation of virtual filesystem for accessing blocks in a `.vue` file as independent files.","main":"dist/index.cjs.js","module":"dist/index.esm.js","types":"dist/index.d.ts","private":false,"scripts":{},"keywords":["vue","vue sfc","sfc","vue virtual files"],"repository":{"type":"git","url":"git+https://github.com/znck/vue-developer-experience.git"},"author":{"name":"Rahul Kadyan","email":"rahulkdn@gmail.com","url":"https://znck.me/"},"funding":{"type":"individual","url":"https://github.com/sponsors/znck"},"license":"MIT","bugs":{"url":"https://github.com/znck/vue-developer-experience/issues"},"homepage":"https://github.com/znck/vue-developer-experience#readme","dependencies":{"@vuedx/analyze":"0.3.1-insiders-1608679989.0","@vuedx/compiler-sfc":"0.3.1-insiders-1608679989.0","@vuedx/compiler-tsx":"0.3.1-insiders-1608679989.0","source-map":"^0.6.1","vscode-languageserver-textdocument":"^1.0.1","vscode-uri":"^2.1.2"},"devDependencies":{"@vuedx/shared":"0.0.1-insiders-1608679989.0","fast-glob":"^3.2.4","typescript":"^4.0.3"},"readme":"# Vue Virtual TextDocument\n\nAn implementation of virtual filesystem for accessing blocks in a `.vue` file as independent files.\n\n## Support\n\nThis package is part of [VueDX project](https://github.com/znck/vue-developer-experience), maintained by [Rahul Kadyan](https://github.com/znck). You can [💖 sponsor him](https://github.com/sponsors/znck) for continued development of this package and other VueDX tools.\n\n```\nnpm add @vuedx/vue-virtual-textdocument\n```\n<!-- #region API-DOCS -->\n<!-- Do not edit this file. It is a report generated by [scripts/docgen.js](https://github.com/znck/vue-developer-experience/tree/master/scripts/docgen.js). -->\n\n## API\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-AsyncDocumentStore-class\" id=\"-vuedx-vue-virtual-textdocument-AsyncDocumentStore-class\"></a>\n\n### [AsyncDocumentStore](#-vuedx-vue-virtual-textdocument-AsyncDocumentStore-class)\n\n\n\n<details><summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare class AsyncDocumentStore<T> extends DocumentStore<T> {\n  constructor(resolve: (uri: string) => T | Promise<T | null> | null, normalize?: (uri: string) => string);\n  get(uri: string): T | null;\n  get(uri: string): Promise<T | null>;\n}\n```\n\n**Members:**\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-AsyncDocumentStore-get-member-1-\" id=\"-vuedx-vue-virtual-textdocument-AsyncDocumentStore-get-member-1-\"></a>\n\n#### [get](#-vuedx-vue-virtual-textdocument-AsyncDocumentStore-get-member-1-)\n\n\n\n**Signature:**\n```ts\nget(uri: string): T | null;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-AsyncDocumentStore-get-member-2-\" id=\"-vuedx-vue-virtual-textdocument-AsyncDocumentStore-get-member-2-\"></a>\n\n#### [get](#-vuedx-vue-virtual-textdocument-AsyncDocumentStore-get-member-2-)\n\n\n\n**Signature:**\n```ts\nget(uri: string): Promise<T | null>;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n\n<br>\n</details>\n\n<br>\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-class\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-class\"></a>\n\n### [DocumentStore](#-vuedx-vue-virtual-textdocument-DocumentStore-class)\n\n\n\n<details><summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare class DocumentStore<T> {\n  constructor(resolve: (uri: string) => T | null, normalize?: (uri: string) => string);\n  all(): string[];\n  delete(uri: string): boolean;\n  dispose(): void;\n  get(uri: string): T | null;\n  protected getNormalizedUri(uri: string): string;\n  has(uri: string): boolean;\n  protected map: Map<string, T>;\n  normalize: (uri: string) => string;\n  protected resolve: (uri: string) => T | null;\n  protected reverseUriMap: Map<string, string>;\n  set(uri: string, document: T): void;\n}\n```\n\n**Members:**\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-all-member-1-\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-all-member-1-\"></a>\n\n#### [all](#-vuedx-vue-virtual-textdocument-DocumentStore-all-member-1-)\n\n\n\n**Signature:**\n```ts\nall(): string[];\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-delete-member-1-\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-delete-member-1-\"></a>\n\n#### [delete](#-vuedx-vue-virtual-textdocument-DocumentStore-delete-member-1-)\n\n\n\n**Signature:**\n```ts\ndelete(uri: string): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-dispose-member-1-\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-dispose-member-1-\"></a>\n\n#### [dispose](#-vuedx-vue-virtual-textdocument-DocumentStore-dispose-member-1-)\n\n\n\n**Signature:**\n```ts\ndispose(): void;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-get-member-1-\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-get-member-1-\"></a>\n\n#### [get](#-vuedx-vue-virtual-textdocument-DocumentStore-get-member-1-)\n\n\n\n**Signature:**\n```ts\nget(uri: string): T | null;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-getNormalizedUri-member-1-\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-getNormalizedUri-member-1-\"></a>\n\n#### [getNormalizedUri](#-vuedx-vue-virtual-textdocument-DocumentStore-getNormalizedUri-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected getNormalizedUri(uri: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-has-member-1-\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-has-member-1-\"></a>\n\n#### [has](#-vuedx-vue-virtual-textdocument-DocumentStore-has-member-1-)\n\n\n\n**Signature:**\n```ts\nhas(uri: string): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-set-member-1-\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-set-member-1-\"></a>\n\n#### [set](#-vuedx-vue-virtual-textdocument-DocumentStore-set-member-1-)\n\n\n\n**Signature:**\n```ts\nset(uri: string, document: T): void;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n| document | <code>T</code> | - |\n\n<br>\n</details>\n\n<br>\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-class\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-class\"></a>\n\n### [RenderFunctionTextDocument](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-class)\n\n\n\n<details><summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare class RenderFunctionTextDocument extends TransformedBlockTextDocument {\n  constructor(container: VueTextDocument, selector: Selector, transformed: TextDocument, source: TextDocument);\n  get ast(): CodegenResult['ast'] | undefined;\n  get contextCompletionsTriggerOffset(): number;\n  static create(options: CreateVirtualTextDocumentOptions): RenderFunctionTextDocument;\n  findExpression(offset: number, length: number): undefined | {\n        offset: number;\n        length: number;\n    };\n  protected generate(): string;\n  getAllGeneratedOffsetsAt(offset: number): undefined | Array<{\n        length: number;\n        offset: number;\n    }>;\n  getGeneratedOffsetAt(offset: number): undefined | {\n        length: number;\n        offset: number;\n    };\n  protected getKnownComponents(): Record<string, ComponentImport>;\n  getOriginalOffsetAt(offset: number): undefined | {\n        offset: number;\n        length: number;\n    };\n  isInGeneratedRange(offset: number): boolean;\n  get parserErrors(): CodegenResult['errors'];\n  get tagCompletionsTriggerOffset(): number;\n  toDisplayMappings(): string;\n  protected tryGenerate(): string;\n}\n```\n\n**Members:**\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-create-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-create-member-1-\"></a>\n\n#### [create](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-create-member-1-)\n\n\n\n**Signature:**\n```ts\nstatic create(options: CreateVirtualTextDocumentOptions): RenderFunctionTextDocument;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| options | <code><a href=\"#-vuedx-vue-virtual-textdocument--CreateVirtualTextDocumentOptions-interface\">CreateVirtualTextDocumentOptions</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-findExpression-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-findExpression-member-1-\"></a>\n\n#### [findExpression](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-findExpression-member-1-)\n\n\n\n**Signature:**\n```ts\nfindExpression(offset: number, length: number): undefined | {\n        offset: number;\n        length: number;\n    };\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n| length | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-generate-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-generate-member-1-\"></a>\n\n#### [generate](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-generate-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected generate(): string;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getAllGeneratedOffsetsAt-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getAllGeneratedOffsetsAt-member-1-\"></a>\n\n#### [getAllGeneratedOffsetsAt](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getAllGeneratedOffsetsAt-member-1-)\n\n\n\n**Signature:**\n```ts\ngetAllGeneratedOffsetsAt(offset: number): undefined | Array<{\n        length: number;\n        offset: number;\n    }>;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getGeneratedOffsetAt-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getGeneratedOffsetAt-member-1-\"></a>\n\n#### [getGeneratedOffsetAt](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getGeneratedOffsetAt-member-1-)\n\n\n\n**Signature:**\n```ts\ngetGeneratedOffsetAt(offset: number): undefined | {\n        length: number;\n        offset: number;\n    };\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getKnownComponents-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getKnownComponents-member-1-\"></a>\n\n#### [getKnownComponents](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getKnownComponents-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected getKnownComponents(): Record<string, ComponentImport>;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getOriginalOffsetAt-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getOriginalOffsetAt-member-1-\"></a>\n\n#### [getOriginalOffsetAt](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getOriginalOffsetAt-member-1-)\n\n\n\n**Signature:**\n```ts\ngetOriginalOffsetAt(offset: number): undefined | {\n        offset: number;\n        length: number;\n    };\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-isInGeneratedRange-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-isInGeneratedRange-member-1-\"></a>\n\n#### [isInGeneratedRange](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-isInGeneratedRange-member-1-)\n\n\n\n**Signature:**\n```ts\nisInGeneratedRange(offset: number): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-toDisplayMappings-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-toDisplayMappings-member-1-\"></a>\n\n#### [toDisplayMappings](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-toDisplayMappings-member-1-)\n\n\n\n**Signature:**\n```ts\ntoDisplayMappings(): string;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-tryGenerate-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-tryGenerate-member-1-\"></a>\n\n#### [tryGenerate](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-tryGenerate-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected tryGenerate(): string;\n```\n\n\n<br>\n</details>\n\n<br>\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-class\" id=\"-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-class\"></a>\n\n### [TransformedBlockTextDocument](#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-class)\n\n\n\n<details><summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare class TransformedBlockTextDocument extends VirtualTextDocument {\n  protected constructor(container: VueTextDocument, selector: Selector, transformed: TextDocument, source: TextDocument | VirtualTextDocument, _transform: (document: TransformedBlockTextDocument) => BlockTransformResult);\n  static create(options: CreateTransformedBlockTextDocumentOptions): TransformedBlockTextDocument;\n  protected refresh(): void;\n  transform(): BlockTransformResult;\n  tryGetGeneratedOffset(offset: number): number | undefined;\n  tryGetSourceOffset(offset: number): number | undefined;\n}\n```\n\n**Members:**\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-create-member-1-\" id=\"-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-create-member-1-\"></a>\n\n#### [create](#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-create-member-1-)\n\n\n\n**Signature:**\n```ts\nstatic create(options: CreateTransformedBlockTextDocumentOptions): TransformedBlockTextDocument;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| options | <code><a href=\"#-vuedx-vue-virtual-textdocument--CreateTransformedBlockTextDocumentOptions-interface\">CreateTransformedBlockTextDocumentOptions</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-refresh-member-1-\" id=\"-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-refresh-member-1-\"></a>\n\n#### [refresh](#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-refresh-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected refresh(): void;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-transform-member-1-\" id=\"-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-transform-member-1-\"></a>\n\n#### [transform](#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-transform-member-1-)\n\n\n\n**Signature:**\n```ts\ntransform(): BlockTransformResult;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-tryGetGeneratedOffset-member-1-\" id=\"-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-tryGetGeneratedOffset-member-1-\"></a>\n\n#### [tryGetGeneratedOffset](#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-tryGetGeneratedOffset-member-1-)\n\n\n\n**Signature:**\n```ts\ntryGetGeneratedOffset(offset: number): number | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-tryGetSourceOffset-member-1-\" id=\"-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-tryGetSourceOffset-member-1-\"></a>\n\n#### [tryGetSourceOffset](#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-tryGetSourceOffset-member-1-)\n\n\n\n**Signature:**\n```ts\ntryGetSourceOffset(offset: number): number | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n</details>\n\n<br>\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VirtualTextDocument-class\" id=\"-vuedx-vue-virtual-textdocument-VirtualTextDocument-class\"></a>\n\n### [VirtualTextDocument](#-vuedx-vue-virtual-textdocument-VirtualTextDocument-class)\n\n\n\n<details><summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare class VirtualTextDocument extends ProxyTextDocument {\n  protected constructor(container: VueTextDocument, selector: Selector, doc: TextDocument);\n  readonly container: VueTextDocument;\n  static create(options: CreateVirtualTextDocumentOptions): VirtualTextDocument;\n  protected isDirty: boolean;\n  markDirty(): void;\n  protected refresh(): void;\n  readonly selector: Selector;\n}\n```\n\n**Members:**\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VirtualTextDocument-create-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VirtualTextDocument-create-member-1-\"></a>\n\n#### [create](#-vuedx-vue-virtual-textdocument-VirtualTextDocument-create-member-1-)\n\n\n\n**Signature:**\n```ts\nstatic create(options: CreateVirtualTextDocumentOptions): VirtualTextDocument;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| options | <code><a href=\"#-vuedx-vue-virtual-textdocument--CreateVirtualTextDocumentOptions-interface\">CreateVirtualTextDocumentOptions</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VirtualTextDocument-markDirty-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VirtualTextDocument-markDirty-member-1-\"></a>\n\n#### [markDirty](#-vuedx-vue-virtual-textdocument-VirtualTextDocument-markDirty-member-1-)\n\n\n\n**Signature:**\n```ts\nmarkDirty(): void;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VirtualTextDocument-refresh-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VirtualTextDocument-refresh-member-1-\"></a>\n\n#### [refresh](#-vuedx-vue-virtual-textdocument-VirtualTextDocument-refresh-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected refresh(): void;\n```\n\n\n<br>\n</details>\n\n<br>\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-class\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-class\"></a>\n\n### [VueTextDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-class)\n\n\n\n<details><summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare class VueTextDocument extends ProxyTextDocument {\n  constructor(doc: TextDocument, options?: VueTextDocumentOptions, parseOptions?: SFCParseOptions);\n  all(): VirtualTextDocument[];\n  blockAt(position: Position | number): SFCBlock | null | undefined;\n  static create(uri: string, languageId: string, version: number, content: string, options?: VueTextDocumentOptions, parseOptions?: SFCParseOptions): VueTextDocument;\n  protected createBlockDocument(selector: BlockSelector): VirtualTextDocument | undefined;\n  protected createInternalModuleDocument(): TransformedBlockTextDocument;\n  protected createModuleDocument(): TransformedBlockTextDocument;\n  protected createRenderDocument(): RenderFunctionTextDocument;\n  get descriptor(): SFCDescriptor;\n  documentAt(position: Position | number): VirtualTextDocument | undefined;\n  getBlock(selector: BlockSelector): SFCBlock | null | undefined;\n  getBlockSelector(block: SFCBlock): BlockSelector | undefined;\n  getDocument(selector: typeof RENDER_SELECTOR): RenderFunctionTextDocument;\n  getDocument(selector: SelectorLike): VirtualTextDocument;\n  getDocument(selector: string): VirtualTextDocument | undefined;\n  getDocumentFileName(selectorLike: SelectorLike): string;\n  protected getDocumentId(selector: Selector): string;\n  protected getDocumentLanguage(selector: Selector): string;\n  markDirty(): void;\n  readonly options: VueTextDocumentOptions;\n  protected parse(): void;\n  static update(document: VueTextDocument, changes: TextDocumentContentChangeEvent[], version: number): VueTextDocument;\n}\n```\n\n**Members:**\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-all-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-all-member-1-\"></a>\n\n#### [all](#-vuedx-vue-virtual-textdocument-VueTextDocument-all-member-1-)\n\n\n\n**Signature:**\n```ts\nall(): VirtualTextDocument[];\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-blockAt-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-blockAt-member-1-\"></a>\n\n#### [blockAt](#-vuedx-vue-virtual-textdocument-VueTextDocument-blockAt-member-1-)\n\n\n\n**Signature:**\n```ts\nblockAt(position: Position | number): SFCBlock | null | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| position | <code><a href=\"#vscode-languageserver-textdocument-Position-interface\">Position</a> &#124; number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-create-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-create-member-1-\"></a>\n\n#### [create](#-vuedx-vue-virtual-textdocument-VueTextDocument-create-member-1-)\n\n\n\n**Signature:**\n```ts\nstatic create(uri: string, languageId: string, version: number, content: string, options?: VueTextDocumentOptions, parseOptions?: SFCParseOptions): VueTextDocument;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n| languageId | <code>string</code> | - |\n| version | <code>number</code> | - |\n| content | <code>string</code> | - |\n| options | <code><a href=\"#-vuedx-vue-virtual-textdocument--VueTextDocumentOptions-interface\">VueTextDocumentOptions</a></code> | - |\n| parseOptions | <code><a href=\"#-vue-compiler-sfc-SFCParseOptions-interface\">SFCParseOptions</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-createBlockDocument-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-createBlockDocument-member-1-\"></a>\n\n#### [createBlockDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-createBlockDocument-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected createBlockDocument(selector: BlockSelector): VirtualTextDocument | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selector | <code><a href=\"#-vuedx-vue-virtual-textdocument--BlockSelector-type\">BlockSelector</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-createInternalModuleDocument-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-createInternalModuleDocument-member-1-\"></a>\n\n#### [createInternalModuleDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-createInternalModuleDocument-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected createInternalModuleDocument(): TransformedBlockTextDocument;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-createModuleDocument-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-createModuleDocument-member-1-\"></a>\n\n#### [createModuleDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-createModuleDocument-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected createModuleDocument(): TransformedBlockTextDocument;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-createRenderDocument-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-createRenderDocument-member-1-\"></a>\n\n#### [createRenderDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-createRenderDocument-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected createRenderDocument(): RenderFunctionTextDocument;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-documentAt-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-documentAt-member-1-\"></a>\n\n#### [documentAt](#-vuedx-vue-virtual-textdocument-VueTextDocument-documentAt-member-1-)\n\n\n\n**Signature:**\n```ts\ndocumentAt(position: Position | number): VirtualTextDocument | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| position | <code><a href=\"#vscode-languageserver-textdocument-Position-interface\">Position</a> &#124; number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getBlock-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getBlock-member-1-\"></a>\n\n#### [getBlock](#-vuedx-vue-virtual-textdocument-VueTextDocument-getBlock-member-1-)\n\n\n\n**Signature:**\n```ts\ngetBlock(selector: BlockSelector): SFCBlock | null | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selector | <code><a href=\"#-vuedx-vue-virtual-textdocument--BlockSelector-type\">BlockSelector</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getBlockSelector-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getBlockSelector-member-1-\"></a>\n\n#### [getBlockSelector](#-vuedx-vue-virtual-textdocument-VueTextDocument-getBlockSelector-member-1-)\n\n\n\n**Signature:**\n```ts\ngetBlockSelector(block: SFCBlock): BlockSelector | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| block | <code><a href=\"#-vue-compiler-sfc-SFCBlock-interface\">SFCBlock</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-1-\"></a>\n\n#### [getDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-1-)\n\n\n\n**Signature:**\n```ts\ngetDocument(selector: typeof RENDER_SELECTOR): RenderFunctionTextDocument;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selector | <code>typeof <a href=\"#-vuedx-vue-virtual-textdocument--RENDER-SELECTOR-var\">RENDER_SELECTOR</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-2-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-2-\"></a>\n\n#### [getDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-2-)\n\n\n\n**Signature:**\n```ts\ngetDocument(selector: SelectorLike): VirtualTextDocument;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selector | <code><a href=\"#-vuedx-vue-virtual-textdocument--SelectorLike-type\">SelectorLike</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-3-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-3-\"></a>\n\n#### [getDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-3-)\n\n\n\n**Signature:**\n```ts\ngetDocument(selector: string): VirtualTextDocument | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selector | <code>string</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentFileName-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentFileName-member-1-\"></a>\n\n#### [getDocumentFileName](#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentFileName-member-1-)\n\n\n\n**Signature:**\n```ts\ngetDocumentFileName(selectorLike: SelectorLike): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selectorLike | <code><a href=\"#-vuedx-vue-virtual-textdocument--SelectorLike-type\">SelectorLike</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentId-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentId-member-1-\"></a>\n\n#### [getDocumentId](#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentId-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected getDocumentId(selector: Selector): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selector | <code><a href=\"#-vuedx-vue-virtual-textdocument--Selector-type\">Selector</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentLanguage-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentLanguage-member-1-\"></a>\n\n#### [getDocumentLanguage](#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentLanguage-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected getDocumentLanguage(selector: Selector): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selector | <code><a href=\"#-vuedx-vue-virtual-textdocument--Selector-type\">Selector</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-markDirty-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-markDirty-member-1-\"></a>\n\n#### [markDirty](#-vuedx-vue-virtual-textdocument-VueTextDocument-markDirty-member-1-)\n\n\n\n**Signature:**\n```ts\nmarkDirty(): void;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-parse-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-parse-member-1-\"></a>\n\n#### [parse](#-vuedx-vue-virtual-textdocument-VueTextDocument-parse-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected parse(): void;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-update-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-update-member-1-\"></a>\n\n#### [update](#-vuedx-vue-virtual-textdocument-VueTextDocument-update-member-1-)\n\n\n\n**Signature:**\n```ts\nstatic update(document: VueTextDocument, changes: TextDocumentContentChangeEvent[], version: number): VueTextDocument;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| document | <code><a href=\"#-vuedx-vue-virtual-textdocument--VueTextDocument-class\">VueTextDocument</a></code> | - |\n| changes | <code><a href=\"#vscode-languageserver-textdocument-TextDocumentContentChangeEvent-type\">TextDocumentContentChangeEvent</a>[]</code> | - |\n| version | <code>number</code> | - |\n\n<br>\n</details>\n\n<br>\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-asFsPath-function-1-\" id=\"-vuedx-vue-virtual-textdocument-asFsPath-function-1-\"></a>\n\n### [asFsPath](#-vuedx-vue-virtual-textdocument-asFsPath-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function asFsPath(uri: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-asFsUri-function-1-\" id=\"-vuedx-vue-virtual-textdocument-asFsUri-function-1-\"></a>\n\n### [asFsUri](#-vuedx-vue-virtual-textdocument-asFsUri-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function asFsUri(fileName: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-asUri-function-1-\" id=\"-vuedx-vue-virtual-textdocument-asUri-function-1-\"></a>\n\n### [asUri](#-vuedx-vue-virtual-textdocument-asUri-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function asUri(fileNameOrUri: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileNameOrUri | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-basename-function-1-\" id=\"-vuedx-vue-virtual-textdocument-basename-function-1-\"></a>\n\n### [basename](#-vuedx-vue-virtual-textdocument-basename-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function basename(fileName: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-binarySearch-function-1-\" id=\"-vuedx-vue-virtual-textdocument-binarySearch-function-1-\"></a>\n\n### [binarySearch](#-vuedx-vue-virtual-textdocument-binarySearch-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function binarySearch<T>(array: T[], isMatch: (a: T) => number, returnMin?: boolean): T | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| array | <code>T[]</code> | - |\n| isMatch | <code>(a: T) => number</code> | - |\n| returnMin | <code>boolean</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-getBlockLanguage-function-1-\" id=\"-vuedx-vue-virtual-textdocument-getBlockLanguage-function-1-\"></a>\n\n### [getBlockLanguage](#-vuedx-vue-virtual-textdocument-getBlockLanguage-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function getBlockLanguage(block?: SFCBlock | null): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| block | <code><a href=\"#-vue-compiler-sfc-SFCBlock-interface\">SFCBlock</a> &#124; null</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-getContainingFile-function-1-\" id=\"-vuedx-vue-virtual-textdocument-getContainingFile-function-1-\"></a>\n\n### [getContainingFile](#-vuedx-vue-virtual-textdocument-getContainingFile-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function getContainingFile(fileName: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-getLanguageExtension-function-1-\" id=\"-vuedx-vue-virtual-textdocument-getLanguageExtension-function-1-\"></a>\n\n### [getLanguageExtension](#-vuedx-vue-virtual-textdocument-getLanguageExtension-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function getLanguageExtension(lang: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| lang | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-getLanguageIdFromExtension-function-1-\" id=\"-vuedx-vue-virtual-textdocument-getLanguageIdFromExtension-function-1-\"></a>\n\n### [getLanguageIdFromExtension](#-vuedx-vue-virtual-textdocument-getLanguageIdFromExtension-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function getLanguageIdFromExtension(ext: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| ext | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-isOffsetInBlock-function-1-\" id=\"-vuedx-vue-virtual-textdocument-isOffsetInBlock-function-1-\"></a>\n\n### [isOffsetInBlock](#-vuedx-vue-virtual-textdocument-isOffsetInBlock-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function isOffsetInBlock(offset: number, block?: SFCBlock | null): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n| block | <code><a href=\"#-vue-compiler-sfc-SFCBlock-interface\">SFCBlock</a> &#124; null</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-isVirtualFile-function-1-\" id=\"-vuedx-vue-virtual-textdocument-isVirtualFile-function-1-\"></a>\n\n### [isVirtualFile](#-vuedx-vue-virtual-textdocument-isVirtualFile-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function isVirtualFile(fileName: string): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-isVirtualFileOfType-function-1-\" id=\"-vuedx-vue-virtual-textdocument-isVirtualFileOfType-function-1-\"></a>\n\n### [isVirtualFileOfType](#-vuedx-vue-virtual-textdocument-isVirtualFileOfType-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function isVirtualFileOfType(fileName: string, type: '_render' | '_module' | '_internal' | 'script' | 'scriptSetup'): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n| type | <code>'_render' &#124; '_module' &#124; '_internal' &#124; 'script' &#124; 'scriptSetup'</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-isVueFile-function-1-\" id=\"-vuedx-vue-virtual-textdocument-isVueFile-function-1-\"></a>\n\n### [isVueFile](#-vuedx-vue-virtual-textdocument-isVueFile-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function isVueFile(fileName: string): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-parseVirtualFileName-function-1-\" id=\"-vuedx-vue-virtual-textdocument-parseVirtualFileName-function-1-\"></a>\n\n### [parseVirtualFileName](#-vuedx-vue-virtual-textdocument-parseVirtualFileName-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function parseVirtualFileName(fileName: string): {\n    uri: string;\n    selector: Selector;\n} | null;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-relativeVirtualImportPath-function-1-\" id=\"-vuedx-vue-virtual-textdocument-relativeVirtualImportPath-function-1-\"></a>\n\n### [relativeVirtualImportPath](#-vuedx-vue-virtual-textdocument-relativeVirtualImportPath-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function relativeVirtualImportPath(fileName: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-replaceSlashes-function-1-\" id=\"-vuedx-vue-virtual-textdocument-replaceSlashes-function-1-\"></a>\n\n### [replaceSlashes](#-vuedx-vue-virtual-textdocument-replaceSlashes-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function replaceSlashes(fileName: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n<!-- #region API-DOCS -->\n","readmeFilename":"readme.md","_id":"@vuedx/vue-virtual-textdocument@0.3.1-insiders-1608679989.0","_nodeVersion":"14.14.0","_npmVersion":"6.14.8","dist":{"integrity":"sha512-e5ToBzAMFru+AwhEMBkgxtj3XbO5o1mQLtpcim+V4z1i2y57YIt8IE87VY0BPcwi5e/tCP0k3a+uJkZ09N3BYA==","shasum":"e710e0981c8a39e3575233d15189610120c3e4d3","tarball":"https://registry.npmjs.org/@vuedx/vue-virtual-textdocument/-/vue-virtual-textdocument-0.3.1-insiders-1608679989.0.tgz","fileCount":8,"unpackedSize":280339,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJf4oJTCRA9TVsSAnZWagAAUCIP/0U5kY9D5VWhJLSL6afy\nlVMq8CT9Cr0jH5DgaWIiiqEyORJWgwqf74wpx5ZRNpenWq9C9K/CL6dByWUm\nBjlWro4Ged8OZTYLP4Hqy+dNqHFwJHxXkE1U6oNLWR2j81HYtL7zQEMIciSn\nCubbOw1j7WAIVvknllsco27DCm5TRE+HmQeFAJUgH5JNkhwAdjG+e/4z+OGx\ndORVaRzRdNiPbzBOt/vskQwVa3cImemLkqFgjNyPnUBuV5ZUNwyvykEyQFc/\nvijV6lOcFySh8i+9dvk+e5PXkK9Q2xs0C/UJb1I8P9M6DHW5chqzn8iSO6eJ\nJqI71WpIsxIETQI41K6OTwBzf7bml9SVx6yUs/gkvsRANZDykQjMdwq3RHjv\nrCee9Jd93nAZ9QONxMKc6Pkpd4abJ8nCdb5AY9eNBsnIG6F7UlW97KUxX5Gb\n4yef2qdSSMw3+OOUE2w10o6W2VgiUwToi8iv14r70Vq1s14Szswpzgwjv35R\n6vLx9VpbROEZltX0ZPmYYxwhbP0Am7DEVoKJvYcqqU4q60o5WDNG519DouYp\nMiRXdcUJa4/QaoHSwu91FaYWZMRpr4r8KCRLmY7TcVoXdOOGDD6yvTrtWQKw\nj1r2/FUsYkv+j61JBhy4vfmfm705fYPfCxfVHGzjZ835v6/Qccdruq73rtVY\n1sTX\r\n=UUO7\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCt5PhFS9zr+lkvgS3OnMWvdLr12ymhAH77gjAYX5g/vgIgHbApzN/OHRJQG0LoiFXrs+3qAMSOMaVwCGLuSBtW+O4="}]},"_npmUser":{"name":"znck","email":"rahulkdn@gmail.com"},"directories":{},"maintainers":[{"name":"znck","email":"rahulkdn@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/vue-virtual-textdocument_0.3.1-insiders-1608679989.0_1608680019196_0.41178720274784864"},"_hasShrinkwrap":false},"0.3.1-insiders-1608682132.0":{"name":"@vuedx/vue-virtual-textdocument","version":"0.3.1-insiders-1608682132.0","description":"An implementation of virtual filesystem for accessing blocks in a `.vue` file as independent files.","main":"dist/index.cjs.js","module":"dist/index.esm.js","types":"dist/index.d.ts","private":false,"scripts":{},"keywords":["vue","vue sfc","sfc","vue virtual files"],"repository":{"type":"git","url":"git+https://github.com/znck/vue-developer-experience.git"},"author":{"name":"Rahul Kadyan","email":"rahulkdn@gmail.com","url":"https://znck.me/"},"funding":{"type":"individual","url":"https://github.com/sponsors/znck"},"license":"MIT","bugs":{"url":"https://github.com/znck/vue-developer-experience/issues"},"homepage":"https://github.com/znck/vue-developer-experience#readme","dependencies":{"@vuedx/analyze":"0.3.1-insiders-1608682132.0","@vuedx/compiler-sfc":"0.3.1-insiders-1608682132.0","@vuedx/compiler-tsx":"0.3.1-insiders-1608682132.0","source-map":"^0.6.1","vscode-languageserver-textdocument":"^1.0.1","vscode-uri":"^2.1.2"},"devDependencies":{"@vuedx/shared":"0.0.1-insiders-1608682132.0","fast-glob":"^3.2.4","typescript":"^4.0.3"},"readme":"# Vue Virtual TextDocument\n\nAn implementation of virtual filesystem for accessing blocks in a `.vue` file as independent files.\n\n## Support\n\nThis package is part of [VueDX project](https://github.com/znck/vue-developer-experience), maintained by [Rahul Kadyan](https://github.com/znck). You can [💖 sponsor him](https://github.com/sponsors/znck) for continued development of this package and other VueDX tools.\n\n```\nnpm add @vuedx/vue-virtual-textdocument\n```\n<!-- #region API-DOCS -->\n<!-- Do not edit this file. It is a report generated by [scripts/docgen.js](https://github.com/znck/vue-developer-experience/tree/master/scripts/docgen.js). -->\n\n## API\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-AsyncDocumentStore-class\" id=\"-vuedx-vue-virtual-textdocument-AsyncDocumentStore-class\"></a>\n\n### [AsyncDocumentStore](#-vuedx-vue-virtual-textdocument-AsyncDocumentStore-class)\n\n\n\n<details><summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare class AsyncDocumentStore<T> extends DocumentStore<T> {\n  constructor(resolve: (uri: string) => T | Promise<T | null> | null, normalize?: (uri: string) => string);\n  get(uri: string): T | null;\n  get(uri: string): Promise<T | null>;\n}\n```\n\n**Members:**\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-AsyncDocumentStore-get-member-1-\" id=\"-vuedx-vue-virtual-textdocument-AsyncDocumentStore-get-member-1-\"></a>\n\n#### [get](#-vuedx-vue-virtual-textdocument-AsyncDocumentStore-get-member-1-)\n\n\n\n**Signature:**\n```ts\nget(uri: string): T | null;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-AsyncDocumentStore-get-member-2-\" id=\"-vuedx-vue-virtual-textdocument-AsyncDocumentStore-get-member-2-\"></a>\n\n#### [get](#-vuedx-vue-virtual-textdocument-AsyncDocumentStore-get-member-2-)\n\n\n\n**Signature:**\n```ts\nget(uri: string): Promise<T | null>;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n\n<br>\n</details>\n\n<br>\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-class\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-class\"></a>\n\n### [DocumentStore](#-vuedx-vue-virtual-textdocument-DocumentStore-class)\n\n\n\n<details><summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare class DocumentStore<T> {\n  constructor(resolve: (uri: string) => T | null, normalize?: (uri: string) => string);\n  all(): string[];\n  delete(uri: string): boolean;\n  dispose(): void;\n  get(uri: string): T | null;\n  protected getNormalizedUri(uri: string): string;\n  has(uri: string): boolean;\n  protected map: Map<string, T>;\n  normalize: (uri: string) => string;\n  protected resolve: (uri: string) => T | null;\n  protected reverseUriMap: Map<string, string>;\n  set(uri: string, document: T): void;\n}\n```\n\n**Members:**\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-all-member-1-\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-all-member-1-\"></a>\n\n#### [all](#-vuedx-vue-virtual-textdocument-DocumentStore-all-member-1-)\n\n\n\n**Signature:**\n```ts\nall(): string[];\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-delete-member-1-\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-delete-member-1-\"></a>\n\n#### [delete](#-vuedx-vue-virtual-textdocument-DocumentStore-delete-member-1-)\n\n\n\n**Signature:**\n```ts\ndelete(uri: string): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-dispose-member-1-\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-dispose-member-1-\"></a>\n\n#### [dispose](#-vuedx-vue-virtual-textdocument-DocumentStore-dispose-member-1-)\n\n\n\n**Signature:**\n```ts\ndispose(): void;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-get-member-1-\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-get-member-1-\"></a>\n\n#### [get](#-vuedx-vue-virtual-textdocument-DocumentStore-get-member-1-)\n\n\n\n**Signature:**\n```ts\nget(uri: string): T | null;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-getNormalizedUri-member-1-\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-getNormalizedUri-member-1-\"></a>\n\n#### [getNormalizedUri](#-vuedx-vue-virtual-textdocument-DocumentStore-getNormalizedUri-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected getNormalizedUri(uri: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-has-member-1-\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-has-member-1-\"></a>\n\n#### [has](#-vuedx-vue-virtual-textdocument-DocumentStore-has-member-1-)\n\n\n\n**Signature:**\n```ts\nhas(uri: string): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-set-member-1-\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-set-member-1-\"></a>\n\n#### [set](#-vuedx-vue-virtual-textdocument-DocumentStore-set-member-1-)\n\n\n\n**Signature:**\n```ts\nset(uri: string, document: T): void;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n| document | <code>T</code> | - |\n\n<br>\n</details>\n\n<br>\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-class\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-class\"></a>\n\n### [RenderFunctionTextDocument](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-class)\n\n\n\n<details><summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare class RenderFunctionTextDocument extends TransformedBlockTextDocument {\n  constructor(container: VueTextDocument, selector: Selector, transformed: TextDocument, source: TextDocument);\n  get ast(): CodegenResult['ast'] | undefined;\n  get contextCompletionsTriggerOffset(): number;\n  static create(options: CreateVirtualTextDocumentOptions): RenderFunctionTextDocument;\n  findExpression(offset: number, length: number): undefined | {\n        offset: number;\n        length: number;\n    };\n  protected generate(): string;\n  getAllGeneratedOffsetsAt(offset: number): undefined | Array<{\n        length: number;\n        offset: number;\n    }>;\n  getGeneratedOffsetAt(offset: number): undefined | {\n        length: number;\n        offset: number;\n    };\n  protected getKnownComponents(): Record<string, ComponentImport>;\n  getOriginalOffsetAt(offset: number): undefined | {\n        offset: number;\n        length: number;\n    };\n  isInGeneratedRange(offset: number): boolean;\n  get parserErrors(): CodegenResult['errors'];\n  get tagCompletionsTriggerOffset(): number;\n  toDisplayMappings(): string;\n  protected tryGenerate(): string;\n}\n```\n\n**Members:**\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-create-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-create-member-1-\"></a>\n\n#### [create](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-create-member-1-)\n\n\n\n**Signature:**\n```ts\nstatic create(options: CreateVirtualTextDocumentOptions): RenderFunctionTextDocument;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| options | <code><a href=\"#-vuedx-vue-virtual-textdocument--CreateVirtualTextDocumentOptions-interface\">CreateVirtualTextDocumentOptions</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-findExpression-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-findExpression-member-1-\"></a>\n\n#### [findExpression](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-findExpression-member-1-)\n\n\n\n**Signature:**\n```ts\nfindExpression(offset: number, length: number): undefined | {\n        offset: number;\n        length: number;\n    };\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n| length | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-generate-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-generate-member-1-\"></a>\n\n#### [generate](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-generate-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected generate(): string;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getAllGeneratedOffsetsAt-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getAllGeneratedOffsetsAt-member-1-\"></a>\n\n#### [getAllGeneratedOffsetsAt](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getAllGeneratedOffsetsAt-member-1-)\n\n\n\n**Signature:**\n```ts\ngetAllGeneratedOffsetsAt(offset: number): undefined | Array<{\n        length: number;\n        offset: number;\n    }>;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getGeneratedOffsetAt-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getGeneratedOffsetAt-member-1-\"></a>\n\n#### [getGeneratedOffsetAt](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getGeneratedOffsetAt-member-1-)\n\n\n\n**Signature:**\n```ts\ngetGeneratedOffsetAt(offset: number): undefined | {\n        length: number;\n        offset: number;\n    };\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getKnownComponents-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getKnownComponents-member-1-\"></a>\n\n#### [getKnownComponents](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getKnownComponents-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected getKnownComponents(): Record<string, ComponentImport>;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getOriginalOffsetAt-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getOriginalOffsetAt-member-1-\"></a>\n\n#### [getOriginalOffsetAt](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getOriginalOffsetAt-member-1-)\n\n\n\n**Signature:**\n```ts\ngetOriginalOffsetAt(offset: number): undefined | {\n        offset: number;\n        length: number;\n    };\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-isInGeneratedRange-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-isInGeneratedRange-member-1-\"></a>\n\n#### [isInGeneratedRange](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-isInGeneratedRange-member-1-)\n\n\n\n**Signature:**\n```ts\nisInGeneratedRange(offset: number): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-toDisplayMappings-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-toDisplayMappings-member-1-\"></a>\n\n#### [toDisplayMappings](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-toDisplayMappings-member-1-)\n\n\n\n**Signature:**\n```ts\ntoDisplayMappings(): string;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-tryGenerate-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-tryGenerate-member-1-\"></a>\n\n#### [tryGenerate](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-tryGenerate-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected tryGenerate(): string;\n```\n\n\n<br>\n</details>\n\n<br>\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-class\" id=\"-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-class\"></a>\n\n### [TransformedBlockTextDocument](#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-class)\n\n\n\n<details><summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare class TransformedBlockTextDocument extends VirtualTextDocument {\n  protected constructor(container: VueTextDocument, selector: Selector, transformed: TextDocument, source: TextDocument | VirtualTextDocument, _transform: (document: TransformedBlockTextDocument) => BlockTransformResult);\n  static create(options: CreateTransformedBlockTextDocumentOptions): TransformedBlockTextDocument;\n  protected refresh(): void;\n  transform(): BlockTransformResult;\n  tryGetGeneratedOffset(offset: number): number | undefined;\n  tryGetSourceOffset(offset: number): number | undefined;\n}\n```\n\n**Members:**\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-create-member-1-\" id=\"-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-create-member-1-\"></a>\n\n#### [create](#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-create-member-1-)\n\n\n\n**Signature:**\n```ts\nstatic create(options: CreateTransformedBlockTextDocumentOptions): TransformedBlockTextDocument;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| options | <code><a href=\"#-vuedx-vue-virtual-textdocument--CreateTransformedBlockTextDocumentOptions-interface\">CreateTransformedBlockTextDocumentOptions</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-refresh-member-1-\" id=\"-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-refresh-member-1-\"></a>\n\n#### [refresh](#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-refresh-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected refresh(): void;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-transform-member-1-\" id=\"-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-transform-member-1-\"></a>\n\n#### [transform](#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-transform-member-1-)\n\n\n\n**Signature:**\n```ts\ntransform(): BlockTransformResult;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-tryGetGeneratedOffset-member-1-\" id=\"-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-tryGetGeneratedOffset-member-1-\"></a>\n\n#### [tryGetGeneratedOffset](#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-tryGetGeneratedOffset-member-1-)\n\n\n\n**Signature:**\n```ts\ntryGetGeneratedOffset(offset: number): number | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-tryGetSourceOffset-member-1-\" id=\"-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-tryGetSourceOffset-member-1-\"></a>\n\n#### [tryGetSourceOffset](#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-tryGetSourceOffset-member-1-)\n\n\n\n**Signature:**\n```ts\ntryGetSourceOffset(offset: number): number | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n</details>\n\n<br>\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VirtualTextDocument-class\" id=\"-vuedx-vue-virtual-textdocument-VirtualTextDocument-class\"></a>\n\n### [VirtualTextDocument](#-vuedx-vue-virtual-textdocument-VirtualTextDocument-class)\n\n\n\n<details><summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare class VirtualTextDocument extends ProxyTextDocument {\n  protected constructor(container: VueTextDocument, selector: Selector, doc: TextDocument);\n  readonly container: VueTextDocument;\n  static create(options: CreateVirtualTextDocumentOptions): VirtualTextDocument;\n  protected isDirty: boolean;\n  markDirty(): void;\n  protected refresh(): void;\n  readonly selector: Selector;\n}\n```\n\n**Members:**\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VirtualTextDocument-create-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VirtualTextDocument-create-member-1-\"></a>\n\n#### [create](#-vuedx-vue-virtual-textdocument-VirtualTextDocument-create-member-1-)\n\n\n\n**Signature:**\n```ts\nstatic create(options: CreateVirtualTextDocumentOptions): VirtualTextDocument;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| options | <code><a href=\"#-vuedx-vue-virtual-textdocument--CreateVirtualTextDocumentOptions-interface\">CreateVirtualTextDocumentOptions</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VirtualTextDocument-markDirty-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VirtualTextDocument-markDirty-member-1-\"></a>\n\n#### [markDirty](#-vuedx-vue-virtual-textdocument-VirtualTextDocument-markDirty-member-1-)\n\n\n\n**Signature:**\n```ts\nmarkDirty(): void;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VirtualTextDocument-refresh-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VirtualTextDocument-refresh-member-1-\"></a>\n\n#### [refresh](#-vuedx-vue-virtual-textdocument-VirtualTextDocument-refresh-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected refresh(): void;\n```\n\n\n<br>\n</details>\n\n<br>\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-class\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-class\"></a>\n\n### [VueTextDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-class)\n\n\n\n<details><summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare class VueTextDocument extends ProxyTextDocument {\n  constructor(doc: TextDocument, options?: VueTextDocumentOptions, parseOptions?: SFCParseOptions);\n  all(): VirtualTextDocument[];\n  blockAt(position: Position | number): SFCBlock | null | undefined;\n  static create(uri: string, languageId: string, version: number, content: string, options?: VueTextDocumentOptions, parseOptions?: SFCParseOptions): VueTextDocument;\n  protected createBlockDocument(selector: BlockSelector): VirtualTextDocument | undefined;\n  protected createInternalModuleDocument(): TransformedBlockTextDocument;\n  protected createModuleDocument(): TransformedBlockTextDocument;\n  protected createRenderDocument(): RenderFunctionTextDocument;\n  get descriptor(): SFCDescriptor;\n  documentAt(position: Position | number): VirtualTextDocument | undefined;\n  getBlock(selector: BlockSelector): SFCBlock | null | undefined;\n  getBlockSelector(block: SFCBlock): BlockSelector | undefined;\n  getDocument(selector: typeof RENDER_SELECTOR): RenderFunctionTextDocument;\n  getDocument(selector: SelectorLike): VirtualTextDocument;\n  getDocument(selector: string): VirtualTextDocument | undefined;\n  getDocumentFileName(selectorLike: SelectorLike): string;\n  protected getDocumentId(selector: Selector): string;\n  protected getDocumentLanguage(selector: Selector): string;\n  markDirty(): void;\n  readonly options: VueTextDocumentOptions;\n  protected parse(): void;\n  static update(document: VueTextDocument, changes: TextDocumentContentChangeEvent[], version: number): VueTextDocument;\n}\n```\n\n**Members:**\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-all-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-all-member-1-\"></a>\n\n#### [all](#-vuedx-vue-virtual-textdocument-VueTextDocument-all-member-1-)\n\n\n\n**Signature:**\n```ts\nall(): VirtualTextDocument[];\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-blockAt-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-blockAt-member-1-\"></a>\n\n#### [blockAt](#-vuedx-vue-virtual-textdocument-VueTextDocument-blockAt-member-1-)\n\n\n\n**Signature:**\n```ts\nblockAt(position: Position | number): SFCBlock | null | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| position | <code><a href=\"#vscode-languageserver-textdocument-Position-interface\">Position</a> &#124; number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-create-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-create-member-1-\"></a>\n\n#### [create](#-vuedx-vue-virtual-textdocument-VueTextDocument-create-member-1-)\n\n\n\n**Signature:**\n```ts\nstatic create(uri: string, languageId: string, version: number, content: string, options?: VueTextDocumentOptions, parseOptions?: SFCParseOptions): VueTextDocument;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n| languageId | <code>string</code> | - |\n| version | <code>number</code> | - |\n| content | <code>string</code> | - |\n| options | <code><a href=\"#-vuedx-vue-virtual-textdocument--VueTextDocumentOptions-interface\">VueTextDocumentOptions</a></code> | - |\n| parseOptions | <code><a href=\"#-vue-compiler-sfc-SFCParseOptions-interface\">SFCParseOptions</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-createBlockDocument-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-createBlockDocument-member-1-\"></a>\n\n#### [createBlockDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-createBlockDocument-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected createBlockDocument(selector: BlockSelector): VirtualTextDocument | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selector | <code><a href=\"#-vuedx-vue-virtual-textdocument--BlockSelector-type\">BlockSelector</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-createInternalModuleDocument-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-createInternalModuleDocument-member-1-\"></a>\n\n#### [createInternalModuleDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-createInternalModuleDocument-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected createInternalModuleDocument(): TransformedBlockTextDocument;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-createModuleDocument-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-createModuleDocument-member-1-\"></a>\n\n#### [createModuleDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-createModuleDocument-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected createModuleDocument(): TransformedBlockTextDocument;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-createRenderDocument-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-createRenderDocument-member-1-\"></a>\n\n#### [createRenderDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-createRenderDocument-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected createRenderDocument(): RenderFunctionTextDocument;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-documentAt-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-documentAt-member-1-\"></a>\n\n#### [documentAt](#-vuedx-vue-virtual-textdocument-VueTextDocument-documentAt-member-1-)\n\n\n\n**Signature:**\n```ts\ndocumentAt(position: Position | number): VirtualTextDocument | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| position | <code><a href=\"#vscode-languageserver-textdocument-Position-interface\">Position</a> &#124; number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getBlock-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getBlock-member-1-\"></a>\n\n#### [getBlock](#-vuedx-vue-virtual-textdocument-VueTextDocument-getBlock-member-1-)\n\n\n\n**Signature:**\n```ts\ngetBlock(selector: BlockSelector): SFCBlock | null | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selector | <code><a href=\"#-vuedx-vue-virtual-textdocument--BlockSelector-type\">BlockSelector</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getBlockSelector-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getBlockSelector-member-1-\"></a>\n\n#### [getBlockSelector](#-vuedx-vue-virtual-textdocument-VueTextDocument-getBlockSelector-member-1-)\n\n\n\n**Signature:**\n```ts\ngetBlockSelector(block: SFCBlock): BlockSelector | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| block | <code><a href=\"#-vue-compiler-sfc-SFCBlock-interface\">SFCBlock</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-1-\"></a>\n\n#### [getDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-1-)\n\n\n\n**Signature:**\n```ts\ngetDocument(selector: typeof RENDER_SELECTOR): RenderFunctionTextDocument;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selector | <code>typeof <a href=\"#-vuedx-vue-virtual-textdocument--RENDER-SELECTOR-var\">RENDER_SELECTOR</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-2-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-2-\"></a>\n\n#### [getDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-2-)\n\n\n\n**Signature:**\n```ts\ngetDocument(selector: SelectorLike): VirtualTextDocument;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selector | <code><a href=\"#-vuedx-vue-virtual-textdocument--SelectorLike-type\">SelectorLike</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-3-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-3-\"></a>\n\n#### [getDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-3-)\n\n\n\n**Signature:**\n```ts\ngetDocument(selector: string): VirtualTextDocument | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selector | <code>string</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentFileName-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentFileName-member-1-\"></a>\n\n#### [getDocumentFileName](#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentFileName-member-1-)\n\n\n\n**Signature:**\n```ts\ngetDocumentFileName(selectorLike: SelectorLike): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selectorLike | <code><a href=\"#-vuedx-vue-virtual-textdocument--SelectorLike-type\">SelectorLike</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentId-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentId-member-1-\"></a>\n\n#### [getDocumentId](#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentId-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected getDocumentId(selector: Selector): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selector | <code><a href=\"#-vuedx-vue-virtual-textdocument--Selector-type\">Selector</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentLanguage-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentLanguage-member-1-\"></a>\n\n#### [getDocumentLanguage](#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentLanguage-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected getDocumentLanguage(selector: Selector): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selector | <code><a href=\"#-vuedx-vue-virtual-textdocument--Selector-type\">Selector</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-markDirty-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-markDirty-member-1-\"></a>\n\n#### [markDirty](#-vuedx-vue-virtual-textdocument-VueTextDocument-markDirty-member-1-)\n\n\n\n**Signature:**\n```ts\nmarkDirty(): void;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-parse-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-parse-member-1-\"></a>\n\n#### [parse](#-vuedx-vue-virtual-textdocument-VueTextDocument-parse-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected parse(): void;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-update-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-update-member-1-\"></a>\n\n#### [update](#-vuedx-vue-virtual-textdocument-VueTextDocument-update-member-1-)\n\n\n\n**Signature:**\n```ts\nstatic update(document: VueTextDocument, changes: TextDocumentContentChangeEvent[], version: number): VueTextDocument;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| document | <code><a href=\"#-vuedx-vue-virtual-textdocument--VueTextDocument-class\">VueTextDocument</a></code> | - |\n| changes | <code><a href=\"#vscode-languageserver-textdocument-TextDocumentContentChangeEvent-type\">TextDocumentContentChangeEvent</a>[]</code> | - |\n| version | <code>number</code> | - |\n\n<br>\n</details>\n\n<br>\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-asFsPath-function-1-\" id=\"-vuedx-vue-virtual-textdocument-asFsPath-function-1-\"></a>\n\n### [asFsPath](#-vuedx-vue-virtual-textdocument-asFsPath-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function asFsPath(uri: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-asFsUri-function-1-\" id=\"-vuedx-vue-virtual-textdocument-asFsUri-function-1-\"></a>\n\n### [asFsUri](#-vuedx-vue-virtual-textdocument-asFsUri-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function asFsUri(fileName: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-asUri-function-1-\" id=\"-vuedx-vue-virtual-textdocument-asUri-function-1-\"></a>\n\n### [asUri](#-vuedx-vue-virtual-textdocument-asUri-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function asUri(fileNameOrUri: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileNameOrUri | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-basename-function-1-\" id=\"-vuedx-vue-virtual-textdocument-basename-function-1-\"></a>\n\n### [basename](#-vuedx-vue-virtual-textdocument-basename-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function basename(fileName: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-binarySearch-function-1-\" id=\"-vuedx-vue-virtual-textdocument-binarySearch-function-1-\"></a>\n\n### [binarySearch](#-vuedx-vue-virtual-textdocument-binarySearch-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function binarySearch<T>(array: T[], isMatch: (a: T) => number, returnMin?: boolean): T | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| array | <code>T[]</code> | - |\n| isMatch | <code>(a: T) => number</code> | - |\n| returnMin | <code>boolean</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-getBlockLanguage-function-1-\" id=\"-vuedx-vue-virtual-textdocument-getBlockLanguage-function-1-\"></a>\n\n### [getBlockLanguage](#-vuedx-vue-virtual-textdocument-getBlockLanguage-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function getBlockLanguage(block?: SFCBlock | null): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| block | <code><a href=\"#-vue-compiler-sfc-SFCBlock-interface\">SFCBlock</a> &#124; null</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-getContainingFile-function-1-\" id=\"-vuedx-vue-virtual-textdocument-getContainingFile-function-1-\"></a>\n\n### [getContainingFile](#-vuedx-vue-virtual-textdocument-getContainingFile-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function getContainingFile(fileName: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-getLanguageExtension-function-1-\" id=\"-vuedx-vue-virtual-textdocument-getLanguageExtension-function-1-\"></a>\n\n### [getLanguageExtension](#-vuedx-vue-virtual-textdocument-getLanguageExtension-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function getLanguageExtension(lang: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| lang | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-getLanguageIdFromExtension-function-1-\" id=\"-vuedx-vue-virtual-textdocument-getLanguageIdFromExtension-function-1-\"></a>\n\n### [getLanguageIdFromExtension](#-vuedx-vue-virtual-textdocument-getLanguageIdFromExtension-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function getLanguageIdFromExtension(ext: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| ext | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-isOffsetInBlock-function-1-\" id=\"-vuedx-vue-virtual-textdocument-isOffsetInBlock-function-1-\"></a>\n\n### [isOffsetInBlock](#-vuedx-vue-virtual-textdocument-isOffsetInBlock-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function isOffsetInBlock(offset: number, block?: SFCBlock | null): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n| block | <code><a href=\"#-vue-compiler-sfc-SFCBlock-interface\">SFCBlock</a> &#124; null</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-isVirtualFile-function-1-\" id=\"-vuedx-vue-virtual-textdocument-isVirtualFile-function-1-\"></a>\n\n### [isVirtualFile](#-vuedx-vue-virtual-textdocument-isVirtualFile-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function isVirtualFile(fileName: string): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-isVirtualFileOfType-function-1-\" id=\"-vuedx-vue-virtual-textdocument-isVirtualFileOfType-function-1-\"></a>\n\n### [isVirtualFileOfType](#-vuedx-vue-virtual-textdocument-isVirtualFileOfType-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function isVirtualFileOfType(fileName: string, type: '_render' | '_module' | '_internal' | 'script' | 'scriptSetup'): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n| type | <code>'_render' &#124; '_module' &#124; '_internal' &#124; 'script' &#124; 'scriptSetup'</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-isVueFile-function-1-\" id=\"-vuedx-vue-virtual-textdocument-isVueFile-function-1-\"></a>\n\n### [isVueFile](#-vuedx-vue-virtual-textdocument-isVueFile-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function isVueFile(fileName: string): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-parseVirtualFileName-function-1-\" id=\"-vuedx-vue-virtual-textdocument-parseVirtualFileName-function-1-\"></a>\n\n### [parseVirtualFileName](#-vuedx-vue-virtual-textdocument-parseVirtualFileName-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function parseVirtualFileName(fileName: string): {\n    uri: string;\n    selector: Selector;\n} | null;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-relativeVirtualImportPath-function-1-\" id=\"-vuedx-vue-virtual-textdocument-relativeVirtualImportPath-function-1-\"></a>\n\n### [relativeVirtualImportPath](#-vuedx-vue-virtual-textdocument-relativeVirtualImportPath-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function relativeVirtualImportPath(fileName: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-replaceSlashes-function-1-\" id=\"-vuedx-vue-virtual-textdocument-replaceSlashes-function-1-\"></a>\n\n### [replaceSlashes](#-vuedx-vue-virtual-textdocument-replaceSlashes-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function replaceSlashes(fileName: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n<!-- #region API-DOCS -->\n","readmeFilename":"readme.md","_id":"@vuedx/vue-virtual-textdocument@0.3.1-insiders-1608682132.0","_nodeVersion":"14.14.0","_npmVersion":"6.14.8","dist":{"integrity":"sha512-bVDotrg4n3xLV13d1ucy+gtGSoR2v0ZrHB7oOg/9q3o4/x7utWDVe5dXTJ+DAXMgzDy0aMvwZqewBb5oZxwcFQ==","shasum":"2e1ae3a66cba8e0c851a296a8cd954c2c34e8c15","tarball":"https://registry.npmjs.org/@vuedx/vue-virtual-textdocument/-/vue-virtual-textdocument-0.3.1-insiders-1608682132.0.tgz","fileCount":8,"unpackedSize":280339,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJf4oqwCRA9TVsSAnZWagAApc0P/R/vRLVmWeacH0cGBa18\nQi+Y/RXATOBczUiMBtEEgNONjR90lpTOI877DUjsr9uLNDg6mB0dRiRFTVOF\nZMRNjzzip3gpbCLMgAYuXI3w5mlLL5T7Hmq3p1zVBeqR4fHeORxJ3RKzT86j\nIvNcBfMqH62nxCIcf1mrHPeEUNEg7JLKelsC9GfugP7a/OxRMn7yLJEJ2bXS\nt6FZi2Qnb0DEN2Wgei76MN99HKSfs5jSPU+6RThqjFeiytI49++FjJ1Ww6g6\n7lmV7HL/fDMNhd0XlvV+bcaT1D2n6SBHdRMdU2WnJ0mjZBItfJAj1kl4kNQL\n3Y0R02kSEYdEvRBarlPt+tL/SSiTHJKS6ebtNjXaY2ZytVF1GypxKv69db+I\ny+SZ+sYdGINoPW9vgczIEOcHDR5EcahBdsmCJ3ATKMvLExyA2YvMoa+E43R5\na/qzjnbb3zC//28BeaOYwIPI9AYQrLd6FBFE4Vexf3iSvOVNsI1llkAut3PD\nQp4/mcQExZm+qLniLSEVjY8U2lrQ3jbpZWoT2hxEj8mi7788YtlDfJxbvmIn\n0UB6auN8bB6N45YfNENn2ew8WIpAauHPa/4Sz7H8yWOy5sT+3RAaelA3lWhm\ncV9Fh+i16a0Ddd+6owh4hP7Ee2gBW6W+u+Q26GQjYVmSKySU7DPLSZ5iK271\nEg5G\r\n=WvV9\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCJVyfpKILlbwvPmqezI5T47BKCMAK8iDW5kdUl1SWMrQIhAOBBY/wbM+/TID0Wd+vUnmdq6OlW+pvN14RjkB3qoWJg"}]},"_npmUser":{"name":"znck","email":"rahulkdn@gmail.com"},"directories":{},"maintainers":[{"name":"znck","email":"rahulkdn@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/vue-virtual-textdocument_0.3.1-insiders-1608682132.0_1608682160303_0.1691569462370206"},"_hasShrinkwrap":false},"0.3.1-insiders-1609032938.0":{"name":"@vuedx/vue-virtual-textdocument","version":"0.3.1-insiders-1609032938.0","description":"An implementation of virtual filesystem for accessing blocks in a `.vue` file as independent files.","main":"dist/index.cjs.js","module":"dist/index.esm.js","types":"dist/index.d.ts","private":false,"scripts":{},"keywords":["vue","vue sfc","sfc","vue virtual files"],"repository":{"type":"git","url":"git+https://github.com/znck/vue-developer-experience.git"},"author":{"name":"Rahul Kadyan","email":"rahulkdn@gmail.com","url":"https://znck.me/"},"funding":{"type":"individual","url":"https://github.com/sponsors/znck"},"license":"MIT","bugs":{"url":"https://github.com/znck/vue-developer-experience/issues"},"homepage":"https://github.com/znck/vue-developer-experience#readme","dependencies":{"@vuedx/analyze":"0.3.1-insiders-1609032938.0","@vuedx/compiler-sfc":"0.3.1-insiders-1609032938.0","@vuedx/compiler-tsx":"0.3.1-insiders-1609032938.0","source-map":"^0.6.1","vscode-languageserver-textdocument":"^1.0.1","vscode-uri":"^2.1.2"},"devDependencies":{"@vuedx/shared":"0.0.1-insiders-1609032938.0","fast-glob":"^3.2.4","typescript":"^4.0.3"},"readme":"# Vue Virtual TextDocument\n\nAn implementation of virtual filesystem for accessing blocks in a `.vue` file as independent files.\n\n## Support\n\nThis package is part of [VueDX project](https://github.com/znck/vue-developer-experience), maintained by [Rahul Kadyan](https://github.com/znck). You can [💖 sponsor him](https://github.com/sponsors/znck) for continued development of this package and other VueDX tools.\n\n```\nnpm add @vuedx/vue-virtual-textdocument\n```\n<!-- #region API-DOCS -->\n<!-- Do not edit this file. It is a report generated by [scripts/docgen.js](https://github.com/znck/vue-developer-experience/tree/master/scripts/docgen.js). -->\n\n## API\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-AsyncDocumentStore-class\" id=\"-vuedx-vue-virtual-textdocument-AsyncDocumentStore-class\"></a>\n\n### [AsyncDocumentStore](#-vuedx-vue-virtual-textdocument-AsyncDocumentStore-class)\n\n\n\n<details><summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare class AsyncDocumentStore<T> extends DocumentStore<T> {\n  constructor(resolve: (uri: string) => T | Promise<T | null> | null, normalize?: (uri: string) => string);\n  get(uri: string): T | null;\n  get(uri: string): Promise<T | null>;\n}\n```\n\n**Members:**\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-AsyncDocumentStore-get-member-1-\" id=\"-vuedx-vue-virtual-textdocument-AsyncDocumentStore-get-member-1-\"></a>\n\n#### [get](#-vuedx-vue-virtual-textdocument-AsyncDocumentStore-get-member-1-)\n\n\n\n**Signature:**\n```ts\nget(uri: string): T | null;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-AsyncDocumentStore-get-member-2-\" id=\"-vuedx-vue-virtual-textdocument-AsyncDocumentStore-get-member-2-\"></a>\n\n#### [get](#-vuedx-vue-virtual-textdocument-AsyncDocumentStore-get-member-2-)\n\n\n\n**Signature:**\n```ts\nget(uri: string): Promise<T | null>;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n\n<br>\n</details>\n\n<br>\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-class\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-class\"></a>\n\n### [DocumentStore](#-vuedx-vue-virtual-textdocument-DocumentStore-class)\n\n\n\n<details><summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare class DocumentStore<T> {\n  constructor(resolve: (uri: string) => T | null, normalize?: (uri: string) => string);\n  all(): string[];\n  delete(uri: string): boolean;\n  dispose(): void;\n  get(uri: string): T | null;\n  protected getNormalizedUri(uri: string): string;\n  has(uri: string): boolean;\n  protected map: Map<string, T>;\n  normalize: (uri: string) => string;\n  protected resolve: (uri: string) => T | null;\n  protected reverseUriMap: Map<string, string>;\n  set(uri: string, document: T): void;\n}\n```\n\n**Members:**\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-all-member-1-\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-all-member-1-\"></a>\n\n#### [all](#-vuedx-vue-virtual-textdocument-DocumentStore-all-member-1-)\n\n\n\n**Signature:**\n```ts\nall(): string[];\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-delete-member-1-\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-delete-member-1-\"></a>\n\n#### [delete](#-vuedx-vue-virtual-textdocument-DocumentStore-delete-member-1-)\n\n\n\n**Signature:**\n```ts\ndelete(uri: string): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-dispose-member-1-\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-dispose-member-1-\"></a>\n\n#### [dispose](#-vuedx-vue-virtual-textdocument-DocumentStore-dispose-member-1-)\n\n\n\n**Signature:**\n```ts\ndispose(): void;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-get-member-1-\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-get-member-1-\"></a>\n\n#### [get](#-vuedx-vue-virtual-textdocument-DocumentStore-get-member-1-)\n\n\n\n**Signature:**\n```ts\nget(uri: string): T | null;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-getNormalizedUri-member-1-\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-getNormalizedUri-member-1-\"></a>\n\n#### [getNormalizedUri](#-vuedx-vue-virtual-textdocument-DocumentStore-getNormalizedUri-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected getNormalizedUri(uri: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-has-member-1-\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-has-member-1-\"></a>\n\n#### [has](#-vuedx-vue-virtual-textdocument-DocumentStore-has-member-1-)\n\n\n\n**Signature:**\n```ts\nhas(uri: string): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-set-member-1-\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-set-member-1-\"></a>\n\n#### [set](#-vuedx-vue-virtual-textdocument-DocumentStore-set-member-1-)\n\n\n\n**Signature:**\n```ts\nset(uri: string, document: T): void;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n| document | <code>T</code> | - |\n\n<br>\n</details>\n\n<br>\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-class\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-class\"></a>\n\n### [RenderFunctionTextDocument](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-class)\n\n\n\n<details><summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare class RenderFunctionTextDocument extends TransformedBlockTextDocument {\n  constructor(container: VueTextDocument, selector: Selector, transformed: TextDocument, source: TextDocument);\n  get ast(): CodegenResult['ast'] | undefined;\n  get contextCompletionsTriggerOffset(): number;\n  static create(options: CreateVirtualTextDocumentOptions): RenderFunctionTextDocument;\n  findExpression(offset: number, length: number): undefined | {\n        offset: number;\n        length: number;\n    };\n  protected generate(): string;\n  getAllGeneratedOffsetsAt(offset: number): undefined | Array<{\n        length: number;\n        offset: number;\n    }>;\n  getGeneratedOffsetAt(offset: number): undefined | {\n        length: number;\n        offset: number;\n    };\n  protected getKnownComponents(): Record<string, ComponentImport>;\n  getOriginalOffsetAt(offset: number): undefined | {\n        offset: number;\n        length: number;\n    };\n  isInGeneratedRange(offset: number): boolean;\n  get parserErrors(): CodegenResult['errors'];\n  get tagCompletionsTriggerOffset(): number;\n  toDisplayMappings(): string;\n  protected tryGenerate(): string;\n}\n```\n\n**Members:**\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-create-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-create-member-1-\"></a>\n\n#### [create](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-create-member-1-)\n\n\n\n**Signature:**\n```ts\nstatic create(options: CreateVirtualTextDocumentOptions): RenderFunctionTextDocument;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| options | <code><a href=\"#-vuedx-vue-virtual-textdocument--CreateVirtualTextDocumentOptions-interface\">CreateVirtualTextDocumentOptions</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-findExpression-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-findExpression-member-1-\"></a>\n\n#### [findExpression](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-findExpression-member-1-)\n\n\n\n**Signature:**\n```ts\nfindExpression(offset: number, length: number): undefined | {\n        offset: number;\n        length: number;\n    };\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n| length | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-generate-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-generate-member-1-\"></a>\n\n#### [generate](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-generate-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected generate(): string;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getAllGeneratedOffsetsAt-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getAllGeneratedOffsetsAt-member-1-\"></a>\n\n#### [getAllGeneratedOffsetsAt](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getAllGeneratedOffsetsAt-member-1-)\n\n\n\n**Signature:**\n```ts\ngetAllGeneratedOffsetsAt(offset: number): undefined | Array<{\n        length: number;\n        offset: number;\n    }>;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getGeneratedOffsetAt-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getGeneratedOffsetAt-member-1-\"></a>\n\n#### [getGeneratedOffsetAt](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getGeneratedOffsetAt-member-1-)\n\n\n\n**Signature:**\n```ts\ngetGeneratedOffsetAt(offset: number): undefined | {\n        length: number;\n        offset: number;\n    };\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getKnownComponents-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getKnownComponents-member-1-\"></a>\n\n#### [getKnownComponents](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getKnownComponents-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected getKnownComponents(): Record<string, ComponentImport>;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getOriginalOffsetAt-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getOriginalOffsetAt-member-1-\"></a>\n\n#### [getOriginalOffsetAt](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getOriginalOffsetAt-member-1-)\n\n\n\n**Signature:**\n```ts\ngetOriginalOffsetAt(offset: number): undefined | {\n        offset: number;\n        length: number;\n    };\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-isInGeneratedRange-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-isInGeneratedRange-member-1-\"></a>\n\n#### [isInGeneratedRange](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-isInGeneratedRange-member-1-)\n\n\n\n**Signature:**\n```ts\nisInGeneratedRange(offset: number): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-toDisplayMappings-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-toDisplayMappings-member-1-\"></a>\n\n#### [toDisplayMappings](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-toDisplayMappings-member-1-)\n\n\n\n**Signature:**\n```ts\ntoDisplayMappings(): string;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-tryGenerate-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-tryGenerate-member-1-\"></a>\n\n#### [tryGenerate](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-tryGenerate-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected tryGenerate(): string;\n```\n\n\n<br>\n</details>\n\n<br>\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-class\" id=\"-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-class\"></a>\n\n### [TransformedBlockTextDocument](#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-class)\n\n\n\n<details><summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare class TransformedBlockTextDocument extends VirtualTextDocument {\n  protected constructor(container: VueTextDocument, selector: Selector, transformed: TextDocument, source: TextDocument | VirtualTextDocument, _transform: (document: TransformedBlockTextDocument) => BlockTransformResult);\n  static create(options: CreateTransformedBlockTextDocumentOptions): TransformedBlockTextDocument;\n  protected refresh(): void;\n  transform(): BlockTransformResult;\n  tryGetGeneratedOffset(offset: number): number | undefined;\n  tryGetSourceOffset(offset: number): number | undefined;\n}\n```\n\n**Members:**\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-create-member-1-\" id=\"-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-create-member-1-\"></a>\n\n#### [create](#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-create-member-1-)\n\n\n\n**Signature:**\n```ts\nstatic create(options: CreateTransformedBlockTextDocumentOptions): TransformedBlockTextDocument;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| options | <code><a href=\"#-vuedx-vue-virtual-textdocument--CreateTransformedBlockTextDocumentOptions-interface\">CreateTransformedBlockTextDocumentOptions</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-refresh-member-1-\" id=\"-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-refresh-member-1-\"></a>\n\n#### [refresh](#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-refresh-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected refresh(): void;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-transform-member-1-\" id=\"-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-transform-member-1-\"></a>\n\n#### [transform](#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-transform-member-1-)\n\n\n\n**Signature:**\n```ts\ntransform(): BlockTransformResult;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-tryGetGeneratedOffset-member-1-\" id=\"-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-tryGetGeneratedOffset-member-1-\"></a>\n\n#### [tryGetGeneratedOffset](#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-tryGetGeneratedOffset-member-1-)\n\n\n\n**Signature:**\n```ts\ntryGetGeneratedOffset(offset: number): number | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-tryGetSourceOffset-member-1-\" id=\"-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-tryGetSourceOffset-member-1-\"></a>\n\n#### [tryGetSourceOffset](#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-tryGetSourceOffset-member-1-)\n\n\n\n**Signature:**\n```ts\ntryGetSourceOffset(offset: number): number | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n</details>\n\n<br>\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VirtualTextDocument-class\" id=\"-vuedx-vue-virtual-textdocument-VirtualTextDocument-class\"></a>\n\n### [VirtualTextDocument](#-vuedx-vue-virtual-textdocument-VirtualTextDocument-class)\n\n\n\n<details><summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare class VirtualTextDocument extends ProxyTextDocument {\n  protected constructor(container: VueTextDocument, selector: Selector, doc: TextDocument);\n  readonly container: VueTextDocument;\n  static create(options: CreateVirtualTextDocumentOptions): VirtualTextDocument;\n  protected isDirty: boolean;\n  markDirty(): void;\n  protected refresh(): void;\n  readonly selector: Selector;\n}\n```\n\n**Members:**\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VirtualTextDocument-create-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VirtualTextDocument-create-member-1-\"></a>\n\n#### [create](#-vuedx-vue-virtual-textdocument-VirtualTextDocument-create-member-1-)\n\n\n\n**Signature:**\n```ts\nstatic create(options: CreateVirtualTextDocumentOptions): VirtualTextDocument;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| options | <code><a href=\"#-vuedx-vue-virtual-textdocument--CreateVirtualTextDocumentOptions-interface\">CreateVirtualTextDocumentOptions</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VirtualTextDocument-markDirty-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VirtualTextDocument-markDirty-member-1-\"></a>\n\n#### [markDirty](#-vuedx-vue-virtual-textdocument-VirtualTextDocument-markDirty-member-1-)\n\n\n\n**Signature:**\n```ts\nmarkDirty(): void;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VirtualTextDocument-refresh-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VirtualTextDocument-refresh-member-1-\"></a>\n\n#### [refresh](#-vuedx-vue-virtual-textdocument-VirtualTextDocument-refresh-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected refresh(): void;\n```\n\n\n<br>\n</details>\n\n<br>\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-class\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-class\"></a>\n\n### [VueTextDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-class)\n\n\n\n<details><summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare class VueTextDocument extends ProxyTextDocument {\n  constructor(doc: TextDocument, options?: VueTextDocumentOptions, parseOptions?: SFCParseOptions);\n  all(): VirtualTextDocument[];\n  blockAt(position: Position | number): SFCBlock | null | undefined;\n  static create(uri: string, languageId: string, version: number, content: string, options?: VueTextDocumentOptions, parseOptions?: SFCParseOptions): VueTextDocument;\n  protected createBlockDocument(selector: BlockSelector): VirtualTextDocument | undefined;\n  protected createInternalModuleDocument(): TransformedBlockTextDocument;\n  protected createModuleDocument(): TransformedBlockTextDocument;\n  protected createRenderDocument(): RenderFunctionTextDocument;\n  get descriptor(): SFCDescriptor;\n  documentAt(position: Position | number): VirtualTextDocument | undefined;\n  getBlock(selector: BlockSelector): SFCBlock | null | undefined;\n  getBlockSelector(block: SFCBlock): BlockSelector | undefined;\n  getDocument(selector: typeof RENDER_SELECTOR): RenderFunctionTextDocument;\n  getDocument(selector: SelectorLike): VirtualTextDocument;\n  getDocument(selector: string): VirtualTextDocument | undefined;\n  getDocumentFileName(selectorLike: SelectorLike): string;\n  protected getDocumentId(selector: Selector): string;\n  protected getDocumentLanguage(selector: Selector): string;\n  markDirty(): void;\n  readonly options: VueTextDocumentOptions;\n  protected parse(): void;\n  static update(document: VueTextDocument, changes: TextDocumentContentChangeEvent[], version: number): VueTextDocument;\n}\n```\n\n**Members:**\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-all-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-all-member-1-\"></a>\n\n#### [all](#-vuedx-vue-virtual-textdocument-VueTextDocument-all-member-1-)\n\n\n\n**Signature:**\n```ts\nall(): VirtualTextDocument[];\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-blockAt-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-blockAt-member-1-\"></a>\n\n#### [blockAt](#-vuedx-vue-virtual-textdocument-VueTextDocument-blockAt-member-1-)\n\n\n\n**Signature:**\n```ts\nblockAt(position: Position | number): SFCBlock | null | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| position | <code><a href=\"#vscode-languageserver-textdocument-Position-interface\">Position</a> &#124; number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-create-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-create-member-1-\"></a>\n\n#### [create](#-vuedx-vue-virtual-textdocument-VueTextDocument-create-member-1-)\n\n\n\n**Signature:**\n```ts\nstatic create(uri: string, languageId: string, version: number, content: string, options?: VueTextDocumentOptions, parseOptions?: SFCParseOptions): VueTextDocument;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n| languageId | <code>string</code> | - |\n| version | <code>number</code> | - |\n| content | <code>string</code> | - |\n| options | <code><a href=\"#-vuedx-vue-virtual-textdocument--VueTextDocumentOptions-interface\">VueTextDocumentOptions</a></code> | - |\n| parseOptions | <code><a href=\"#-vue-compiler-sfc-SFCParseOptions-interface\">SFCParseOptions</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-createBlockDocument-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-createBlockDocument-member-1-\"></a>\n\n#### [createBlockDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-createBlockDocument-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected createBlockDocument(selector: BlockSelector): VirtualTextDocument | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selector | <code><a href=\"#-vuedx-vue-virtual-textdocument--BlockSelector-type\">BlockSelector</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-createInternalModuleDocument-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-createInternalModuleDocument-member-1-\"></a>\n\n#### [createInternalModuleDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-createInternalModuleDocument-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected createInternalModuleDocument(): TransformedBlockTextDocument;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-createModuleDocument-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-createModuleDocument-member-1-\"></a>\n\n#### [createModuleDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-createModuleDocument-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected createModuleDocument(): TransformedBlockTextDocument;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-createRenderDocument-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-createRenderDocument-member-1-\"></a>\n\n#### [createRenderDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-createRenderDocument-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected createRenderDocument(): RenderFunctionTextDocument;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-documentAt-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-documentAt-member-1-\"></a>\n\n#### [documentAt](#-vuedx-vue-virtual-textdocument-VueTextDocument-documentAt-member-1-)\n\n\n\n**Signature:**\n```ts\ndocumentAt(position: Position | number): VirtualTextDocument | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| position | <code><a href=\"#vscode-languageserver-textdocument-Position-interface\">Position</a> &#124; number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getBlock-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getBlock-member-1-\"></a>\n\n#### [getBlock](#-vuedx-vue-virtual-textdocument-VueTextDocument-getBlock-member-1-)\n\n\n\n**Signature:**\n```ts\ngetBlock(selector: BlockSelector): SFCBlock | null | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selector | <code><a href=\"#-vuedx-vue-virtual-textdocument--BlockSelector-type\">BlockSelector</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getBlockSelector-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getBlockSelector-member-1-\"></a>\n\n#### [getBlockSelector](#-vuedx-vue-virtual-textdocument-VueTextDocument-getBlockSelector-member-1-)\n\n\n\n**Signature:**\n```ts\ngetBlockSelector(block: SFCBlock): BlockSelector | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| block | <code><a href=\"#-vue-compiler-sfc-SFCBlock-interface\">SFCBlock</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-1-\"></a>\n\n#### [getDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-1-)\n\n\n\n**Signature:**\n```ts\ngetDocument(selector: typeof RENDER_SELECTOR): RenderFunctionTextDocument;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selector | <code>typeof <a href=\"#-vuedx-vue-virtual-textdocument--RENDER-SELECTOR-var\">RENDER_SELECTOR</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-2-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-2-\"></a>\n\n#### [getDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-2-)\n\n\n\n**Signature:**\n```ts\ngetDocument(selector: SelectorLike): VirtualTextDocument;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selector | <code><a href=\"#-vuedx-vue-virtual-textdocument--SelectorLike-type\">SelectorLike</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-3-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-3-\"></a>\n\n#### [getDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-3-)\n\n\n\n**Signature:**\n```ts\ngetDocument(selector: string): VirtualTextDocument | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selector | <code>string</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentFileName-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentFileName-member-1-\"></a>\n\n#### [getDocumentFileName](#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentFileName-member-1-)\n\n\n\n**Signature:**\n```ts\ngetDocumentFileName(selectorLike: SelectorLike): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selectorLike | <code><a href=\"#-vuedx-vue-virtual-textdocument--SelectorLike-type\">SelectorLike</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentId-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentId-member-1-\"></a>\n\n#### [getDocumentId](#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentId-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected getDocumentId(selector: Selector): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selector | <code><a href=\"#-vuedx-vue-virtual-textdocument--Selector-type\">Selector</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentLanguage-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentLanguage-member-1-\"></a>\n\n#### [getDocumentLanguage](#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentLanguage-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected getDocumentLanguage(selector: Selector): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selector | <code><a href=\"#-vuedx-vue-virtual-textdocument--Selector-type\">Selector</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-markDirty-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-markDirty-member-1-\"></a>\n\n#### [markDirty](#-vuedx-vue-virtual-textdocument-VueTextDocument-markDirty-member-1-)\n\n\n\n**Signature:**\n```ts\nmarkDirty(): void;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-parse-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-parse-member-1-\"></a>\n\n#### [parse](#-vuedx-vue-virtual-textdocument-VueTextDocument-parse-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected parse(): void;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-update-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-update-member-1-\"></a>\n\n#### [update](#-vuedx-vue-virtual-textdocument-VueTextDocument-update-member-1-)\n\n\n\n**Signature:**\n```ts\nstatic update(document: VueTextDocument, changes: TextDocumentContentChangeEvent[], version: number): VueTextDocument;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| document | <code><a href=\"#-vuedx-vue-virtual-textdocument--VueTextDocument-class\">VueTextDocument</a></code> | - |\n| changes | <code><a href=\"#vscode-languageserver-textdocument-TextDocumentContentChangeEvent-type\">TextDocumentContentChangeEvent</a>[]</code> | - |\n| version | <code>number</code> | - |\n\n<br>\n</details>\n\n<br>\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-asFsPath-function-1-\" id=\"-vuedx-vue-virtual-textdocument-asFsPath-function-1-\"></a>\n\n### [asFsPath](#-vuedx-vue-virtual-textdocument-asFsPath-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function asFsPath(uri: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-asFsUri-function-1-\" id=\"-vuedx-vue-virtual-textdocument-asFsUri-function-1-\"></a>\n\n### [asFsUri](#-vuedx-vue-virtual-textdocument-asFsUri-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function asFsUri(fileName: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-asUri-function-1-\" id=\"-vuedx-vue-virtual-textdocument-asUri-function-1-\"></a>\n\n### [asUri](#-vuedx-vue-virtual-textdocument-asUri-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function asUri(fileNameOrUri: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileNameOrUri | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-basename-function-1-\" id=\"-vuedx-vue-virtual-textdocument-basename-function-1-\"></a>\n\n### [basename](#-vuedx-vue-virtual-textdocument-basename-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function basename(fileName: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-binarySearch-function-1-\" id=\"-vuedx-vue-virtual-textdocument-binarySearch-function-1-\"></a>\n\n### [binarySearch](#-vuedx-vue-virtual-textdocument-binarySearch-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function binarySearch<T>(array: T[], isMatch: (a: T) => number, returnMin?: boolean): T | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| array | <code>T[]</code> | - |\n| isMatch | <code>(a: T) => number</code> | - |\n| returnMin | <code>boolean</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-getBlockLanguage-function-1-\" id=\"-vuedx-vue-virtual-textdocument-getBlockLanguage-function-1-\"></a>\n\n### [getBlockLanguage](#-vuedx-vue-virtual-textdocument-getBlockLanguage-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function getBlockLanguage(block?: SFCBlock | null): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| block | <code><a href=\"#-vue-compiler-sfc-SFCBlock-interface\">SFCBlock</a> &#124; null</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-getContainingFile-function-1-\" id=\"-vuedx-vue-virtual-textdocument-getContainingFile-function-1-\"></a>\n\n### [getContainingFile](#-vuedx-vue-virtual-textdocument-getContainingFile-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function getContainingFile(fileName: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-getLanguageExtension-function-1-\" id=\"-vuedx-vue-virtual-textdocument-getLanguageExtension-function-1-\"></a>\n\n### [getLanguageExtension](#-vuedx-vue-virtual-textdocument-getLanguageExtension-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function getLanguageExtension(lang: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| lang | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-getLanguageIdFromExtension-function-1-\" id=\"-vuedx-vue-virtual-textdocument-getLanguageIdFromExtension-function-1-\"></a>\n\n### [getLanguageIdFromExtension](#-vuedx-vue-virtual-textdocument-getLanguageIdFromExtension-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function getLanguageIdFromExtension(ext: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| ext | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-isOffsetInBlock-function-1-\" id=\"-vuedx-vue-virtual-textdocument-isOffsetInBlock-function-1-\"></a>\n\n### [isOffsetInBlock](#-vuedx-vue-virtual-textdocument-isOffsetInBlock-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function isOffsetInBlock(offset: number, block?: SFCBlock | null): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n| block | <code><a href=\"#-vue-compiler-sfc-SFCBlock-interface\">SFCBlock</a> &#124; null</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-isVirtualFile-function-1-\" id=\"-vuedx-vue-virtual-textdocument-isVirtualFile-function-1-\"></a>\n\n### [isVirtualFile](#-vuedx-vue-virtual-textdocument-isVirtualFile-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function isVirtualFile(fileName: string): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-isVirtualFileOfType-function-1-\" id=\"-vuedx-vue-virtual-textdocument-isVirtualFileOfType-function-1-\"></a>\n\n### [isVirtualFileOfType](#-vuedx-vue-virtual-textdocument-isVirtualFileOfType-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function isVirtualFileOfType(fileName: string, type: '_render' | '_module' | '_internal' | 'script' | 'scriptSetup'): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n| type | <code>'_render' &#124; '_module' &#124; '_internal' &#124; 'script' &#124; 'scriptSetup'</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-isVueFile-function-1-\" id=\"-vuedx-vue-virtual-textdocument-isVueFile-function-1-\"></a>\n\n### [isVueFile](#-vuedx-vue-virtual-textdocument-isVueFile-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function isVueFile(fileName: string): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-parseVirtualFileName-function-1-\" id=\"-vuedx-vue-virtual-textdocument-parseVirtualFileName-function-1-\"></a>\n\n### [parseVirtualFileName](#-vuedx-vue-virtual-textdocument-parseVirtualFileName-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function parseVirtualFileName(fileName: string): {\n    uri: string;\n    selector: Selector;\n} | null;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-relativeVirtualImportPath-function-1-\" id=\"-vuedx-vue-virtual-textdocument-relativeVirtualImportPath-function-1-\"></a>\n\n### [relativeVirtualImportPath](#-vuedx-vue-virtual-textdocument-relativeVirtualImportPath-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function relativeVirtualImportPath(fileName: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-replaceSlashes-function-1-\" id=\"-vuedx-vue-virtual-textdocument-replaceSlashes-function-1-\"></a>\n\n### [replaceSlashes](#-vuedx-vue-virtual-textdocument-replaceSlashes-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function replaceSlashes(fileName: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n<!-- #region API-DOCS -->\n","readmeFilename":"readme.md","_id":"@vuedx/vue-virtual-textdocument@0.3.1-insiders-1609032938.0","_nodeVersion":"14.14.0","_npmVersion":"6.14.8","dist":{"integrity":"sha512-a74yXQYyjkC3ubfoCJAwbFuy60CBtEaf3+aLS96pAkhcARsE1MXpfZrACl5J1I3/i7ZsQpDV2xqZOJKoQEx4WQ==","shasum":"650948b6a815ec34919f6a12f44dd45b450de03d","tarball":"https://registry.npmjs.org/@vuedx/vue-virtual-textdocument/-/vue-virtual-textdocument-0.3.1-insiders-1609032938.0.tgz","fileCount":8,"unpackedSize":290637,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJf5+UDCRA9TVsSAnZWagAAMy0P/0IjLGRkvZ6v5AH0FqUf\n78jTeikFQ2URqsRj0L0W9TMT1CS5X8hC07xlrFqxGK3qprQHkPQDVDY/AJ9t\nzjE6Aupc3UuPTHQN+9GXU+4u0HFCYlhstpa3HqY/g+o6uBM3Ve5jbYkIQ1tg\njtOhPWRM+Qim/lLtTN3h4dEL/5Z1tWCXa0Xmqe+OMM50keiMwrPmZ+3TgKV5\nePUWRvmLMp5y29dTCzlGRP3UC36SjD1fCzcWTJkwp0AeIn8jho1s9QGmasaZ\n0AaUN2YOfTbFEeMe9VXI/6hcUHHv/E71tBVWLlJpXXW9EZZLWBVIaXApSUHP\n+oK0UtftG1Zw1kHcCDkQVty2Y2ZHGHCVGScvax7s5k6uk6pk2erOFAbngQXj\nvbQ2svWUoXhXjzn0xetMiM5JAD4MBk+0LgqfYjAfmkG+ibfb696kHdUdaySc\nAY87ou0oCsRf8hlv5ztxS/J0LGafb023DBVfmaw8ljGxRsaXbXPd9Dl1qnBb\nAEEqZ19uwq0PMy96tonwid6awAVkrCxflV+2KSsknDFQPPBsBd9E86uXUJdq\nBT6zMPWAYSd2nePg/A7qxZAT5y3N2+e/Zt17/EFE6gWPcAx+RopOGn8f/GCz\n4Av81QfCWmlhovzLyTiGJo0PbNXDT9g+BT2s3H6cyN5ice/PlpwdiR7wWUmp\nSFjM\r\n=Cl7F\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCID0lQdyXRjCvudX80UwDYaSghPKKsbTDdZ+RquPS7zHfAiBY35fl/eypC/fMVjNSJFNtTbAYmj+EDUnzQfDE0rkhTQ=="}]},"_npmUser":{"name":"znck","email":"rahulkdn@gmail.com"},"directories":{},"maintainers":[{"name":"znck","email":"rahulkdn@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/vue-virtual-textdocument_0.3.1-insiders-1609032938.0_1609032963102_0.33390256477629543"},"_hasShrinkwrap":false},"0.3.1-insiders-1609034385.0":{"name":"@vuedx/vue-virtual-textdocument","version":"0.3.1-insiders-1609034385.0","description":"An implementation of virtual filesystem for accessing blocks in a `.vue` file as independent files.","main":"dist/index.cjs.js","module":"dist/index.esm.js","types":"dist/index.d.ts","private":false,"scripts":{},"keywords":["vue","vue sfc","sfc","vue virtual files"],"repository":{"type":"git","url":"git+https://github.com/znck/vue-developer-experience.git"},"author":{"name":"Rahul Kadyan","email":"rahulkdn@gmail.com","url":"https://znck.me/"},"funding":{"type":"individual","url":"https://github.com/sponsors/znck"},"license":"MIT","bugs":{"url":"https://github.com/znck/vue-developer-experience/issues"},"homepage":"https://github.com/znck/vue-developer-experience#readme","dependencies":{"@vuedx/analyze":"0.3.1-insiders-1609034385.0","@vuedx/compiler-sfc":"0.3.1-insiders-1609034385.0","@vuedx/compiler-tsx":"0.3.1-insiders-1609034385.0","source-map":"^0.6.1","vscode-languageserver-textdocument":"^1.0.1","vscode-uri":"^2.1.2"},"devDependencies":{"@vuedx/shared":"0.0.1-insiders-1609034385.0","fast-glob":"^3.2.4","typescript":"^4.0.3"},"readme":"# Vue Virtual TextDocument\n\nAn implementation of virtual filesystem for accessing blocks in a `.vue` file as independent files.\n\n## Support\n\nThis package is part of [VueDX project](https://github.com/znck/vue-developer-experience), maintained by [Rahul Kadyan](https://github.com/znck). You can [💖 sponsor him](https://github.com/sponsors/znck) for continued development of this package and other VueDX tools.\n\n```\nnpm add @vuedx/vue-virtual-textdocument\n```\n<!-- #region API-DOCS -->\n<!-- Do not edit this file. It is a report generated by [scripts/docgen.js](https://github.com/znck/vue-developer-experience/tree/master/scripts/docgen.js). -->\n\n## API\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-AsyncDocumentStore-class\" id=\"-vuedx-vue-virtual-textdocument-AsyncDocumentStore-class\"></a>\n\n### [AsyncDocumentStore](#-vuedx-vue-virtual-textdocument-AsyncDocumentStore-class)\n\n\n\n<details><summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare class AsyncDocumentStore<T> extends DocumentStore<T> {\n  constructor(resolve: (uri: string) => T | Promise<T | null> | null, normalize?: (uri: string) => string);\n  get(uri: string): T | null;\n  get(uri: string): Promise<T | null>;\n}\n```\n\n**Members:**\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-AsyncDocumentStore-get-member-1-\" id=\"-vuedx-vue-virtual-textdocument-AsyncDocumentStore-get-member-1-\"></a>\n\n#### [get](#-vuedx-vue-virtual-textdocument-AsyncDocumentStore-get-member-1-)\n\n\n\n**Signature:**\n```ts\nget(uri: string): T | null;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-AsyncDocumentStore-get-member-2-\" id=\"-vuedx-vue-virtual-textdocument-AsyncDocumentStore-get-member-2-\"></a>\n\n#### [get](#-vuedx-vue-virtual-textdocument-AsyncDocumentStore-get-member-2-)\n\n\n\n**Signature:**\n```ts\nget(uri: string): Promise<T | null>;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n\n<br>\n</details>\n\n<br>\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-class\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-class\"></a>\n\n### [DocumentStore](#-vuedx-vue-virtual-textdocument-DocumentStore-class)\n\n\n\n<details><summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare class DocumentStore<T> {\n  constructor(resolve: (uri: string) => T | null, normalize?: (uri: string) => string);\n  all(): string[];\n  delete(uri: string): boolean;\n  dispose(): void;\n  get(uri: string): T | null;\n  protected getNormalizedUri(uri: string): string;\n  has(uri: string): boolean;\n  protected map: Map<string, T>;\n  normalize: (uri: string) => string;\n  protected resolve: (uri: string) => T | null;\n  protected reverseUriMap: Map<string, string>;\n  set(uri: string, document: T): void;\n}\n```\n\n**Members:**\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-all-member-1-\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-all-member-1-\"></a>\n\n#### [all](#-vuedx-vue-virtual-textdocument-DocumentStore-all-member-1-)\n\n\n\n**Signature:**\n```ts\nall(): string[];\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-delete-member-1-\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-delete-member-1-\"></a>\n\n#### [delete](#-vuedx-vue-virtual-textdocument-DocumentStore-delete-member-1-)\n\n\n\n**Signature:**\n```ts\ndelete(uri: string): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-dispose-member-1-\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-dispose-member-1-\"></a>\n\n#### [dispose](#-vuedx-vue-virtual-textdocument-DocumentStore-dispose-member-1-)\n\n\n\n**Signature:**\n```ts\ndispose(): void;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-get-member-1-\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-get-member-1-\"></a>\n\n#### [get](#-vuedx-vue-virtual-textdocument-DocumentStore-get-member-1-)\n\n\n\n**Signature:**\n```ts\nget(uri: string): T | null;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-getNormalizedUri-member-1-\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-getNormalizedUri-member-1-\"></a>\n\n#### [getNormalizedUri](#-vuedx-vue-virtual-textdocument-DocumentStore-getNormalizedUri-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected getNormalizedUri(uri: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-has-member-1-\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-has-member-1-\"></a>\n\n#### [has](#-vuedx-vue-virtual-textdocument-DocumentStore-has-member-1-)\n\n\n\n**Signature:**\n```ts\nhas(uri: string): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-set-member-1-\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-set-member-1-\"></a>\n\n#### [set](#-vuedx-vue-virtual-textdocument-DocumentStore-set-member-1-)\n\n\n\n**Signature:**\n```ts\nset(uri: string, document: T): void;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n| document | <code>T</code> | - |\n\n<br>\n</details>\n\n<br>\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-class\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-class\"></a>\n\n### [RenderFunctionTextDocument](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-class)\n\n\n\n<details><summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare class RenderFunctionTextDocument extends TransformedBlockTextDocument {\n  constructor(container: VueTextDocument, selector: Selector, transformed: TextDocument, source: TextDocument);\n  get ast(): CodegenResult['ast'] | undefined;\n  get contextCompletionsTriggerOffset(): number;\n  static create(options: CreateVirtualTextDocumentOptions): RenderFunctionTextDocument;\n  findExpression(offset: number, length: number): undefined | {\n        offset: number;\n        length: number;\n    };\n  protected generate(): string;\n  getAllGeneratedOffsetsAt(offset: number): undefined | Array<{\n        length: number;\n        offset: number;\n    }>;\n  getGeneratedOffsetAt(offset: number): undefined | {\n        length: number;\n        offset: number;\n    };\n  protected getKnownComponents(): Record<string, ComponentImport>;\n  getOriginalOffsetAt(offset: number): undefined | {\n        offset: number;\n        length: number;\n    };\n  isInGeneratedRange(offset: number): boolean;\n  get parserErrors(): CodegenResult['errors'];\n  get tagCompletionsTriggerOffset(): number;\n  toDisplayMappings(): string;\n  protected tryGenerate(): string;\n}\n```\n\n**Members:**\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-create-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-create-member-1-\"></a>\n\n#### [create](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-create-member-1-)\n\n\n\n**Signature:**\n```ts\nstatic create(options: CreateVirtualTextDocumentOptions): RenderFunctionTextDocument;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| options | <code><a href=\"#-vuedx-vue-virtual-textdocument--CreateVirtualTextDocumentOptions-interface\">CreateVirtualTextDocumentOptions</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-findExpression-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-findExpression-member-1-\"></a>\n\n#### [findExpression](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-findExpression-member-1-)\n\n\n\n**Signature:**\n```ts\nfindExpression(offset: number, length: number): undefined | {\n        offset: number;\n        length: number;\n    };\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n| length | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-generate-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-generate-member-1-\"></a>\n\n#### [generate](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-generate-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected generate(): string;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getAllGeneratedOffsetsAt-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getAllGeneratedOffsetsAt-member-1-\"></a>\n\n#### [getAllGeneratedOffsetsAt](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getAllGeneratedOffsetsAt-member-1-)\n\n\n\n**Signature:**\n```ts\ngetAllGeneratedOffsetsAt(offset: number): undefined | Array<{\n        length: number;\n        offset: number;\n    }>;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getGeneratedOffsetAt-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getGeneratedOffsetAt-member-1-\"></a>\n\n#### [getGeneratedOffsetAt](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getGeneratedOffsetAt-member-1-)\n\n\n\n**Signature:**\n```ts\ngetGeneratedOffsetAt(offset: number): undefined | {\n        length: number;\n        offset: number;\n    };\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getKnownComponents-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getKnownComponents-member-1-\"></a>\n\n#### [getKnownComponents](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getKnownComponents-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected getKnownComponents(): Record<string, ComponentImport>;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getOriginalOffsetAt-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getOriginalOffsetAt-member-1-\"></a>\n\n#### [getOriginalOffsetAt](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getOriginalOffsetAt-member-1-)\n\n\n\n**Signature:**\n```ts\ngetOriginalOffsetAt(offset: number): undefined | {\n        offset: number;\n        length: number;\n    };\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-isInGeneratedRange-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-isInGeneratedRange-member-1-\"></a>\n\n#### [isInGeneratedRange](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-isInGeneratedRange-member-1-)\n\n\n\n**Signature:**\n```ts\nisInGeneratedRange(offset: number): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-toDisplayMappings-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-toDisplayMappings-member-1-\"></a>\n\n#### [toDisplayMappings](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-toDisplayMappings-member-1-)\n\n\n\n**Signature:**\n```ts\ntoDisplayMappings(): string;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-tryGenerate-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-tryGenerate-member-1-\"></a>\n\n#### [tryGenerate](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-tryGenerate-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected tryGenerate(): string;\n```\n\n\n<br>\n</details>\n\n<br>\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-class\" id=\"-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-class\"></a>\n\n### [TransformedBlockTextDocument](#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-class)\n\n\n\n<details><summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare class TransformedBlockTextDocument extends VirtualTextDocument {\n  protected constructor(container: VueTextDocument, selector: Selector, transformed: TextDocument, source: TextDocument | VirtualTextDocument, _transform: (document: TransformedBlockTextDocument) => BlockTransformResult);\n  static create(options: CreateTransformedBlockTextDocumentOptions): TransformedBlockTextDocument;\n  protected refresh(): void;\n  transform(): BlockTransformResult;\n  tryGetGeneratedOffset(offset: number): number | undefined;\n  tryGetSourceOffset(offset: number): number | undefined;\n}\n```\n\n**Members:**\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-create-member-1-\" id=\"-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-create-member-1-\"></a>\n\n#### [create](#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-create-member-1-)\n\n\n\n**Signature:**\n```ts\nstatic create(options: CreateTransformedBlockTextDocumentOptions): TransformedBlockTextDocument;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| options | <code><a href=\"#-vuedx-vue-virtual-textdocument--CreateTransformedBlockTextDocumentOptions-interface\">CreateTransformedBlockTextDocumentOptions</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-refresh-member-1-\" id=\"-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-refresh-member-1-\"></a>\n\n#### [refresh](#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-refresh-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected refresh(): void;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-transform-member-1-\" id=\"-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-transform-member-1-\"></a>\n\n#### [transform](#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-transform-member-1-)\n\n\n\n**Signature:**\n```ts\ntransform(): BlockTransformResult;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-tryGetGeneratedOffset-member-1-\" id=\"-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-tryGetGeneratedOffset-member-1-\"></a>\n\n#### [tryGetGeneratedOffset](#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-tryGetGeneratedOffset-member-1-)\n\n\n\n**Signature:**\n```ts\ntryGetGeneratedOffset(offset: number): number | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-tryGetSourceOffset-member-1-\" id=\"-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-tryGetSourceOffset-member-1-\"></a>\n\n#### [tryGetSourceOffset](#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-tryGetSourceOffset-member-1-)\n\n\n\n**Signature:**\n```ts\ntryGetSourceOffset(offset: number): number | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n</details>\n\n<br>\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VirtualTextDocument-class\" id=\"-vuedx-vue-virtual-textdocument-VirtualTextDocument-class\"></a>\n\n### [VirtualTextDocument](#-vuedx-vue-virtual-textdocument-VirtualTextDocument-class)\n\n\n\n<details><summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare class VirtualTextDocument extends ProxyTextDocument {\n  protected constructor(container: VueTextDocument, selector: Selector, doc: TextDocument);\n  readonly container: VueTextDocument;\n  static create(options: CreateVirtualTextDocumentOptions): VirtualTextDocument;\n  protected isDirty: boolean;\n  markDirty(): void;\n  protected refresh(): void;\n  readonly selector: Selector;\n}\n```\n\n**Members:**\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VirtualTextDocument-create-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VirtualTextDocument-create-member-1-\"></a>\n\n#### [create](#-vuedx-vue-virtual-textdocument-VirtualTextDocument-create-member-1-)\n\n\n\n**Signature:**\n```ts\nstatic create(options: CreateVirtualTextDocumentOptions): VirtualTextDocument;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| options | <code><a href=\"#-vuedx-vue-virtual-textdocument--CreateVirtualTextDocumentOptions-interface\">CreateVirtualTextDocumentOptions</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VirtualTextDocument-markDirty-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VirtualTextDocument-markDirty-member-1-\"></a>\n\n#### [markDirty](#-vuedx-vue-virtual-textdocument-VirtualTextDocument-markDirty-member-1-)\n\n\n\n**Signature:**\n```ts\nmarkDirty(): void;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VirtualTextDocument-refresh-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VirtualTextDocument-refresh-member-1-\"></a>\n\n#### [refresh](#-vuedx-vue-virtual-textdocument-VirtualTextDocument-refresh-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected refresh(): void;\n```\n\n\n<br>\n</details>\n\n<br>\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-class\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-class\"></a>\n\n### [VueTextDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-class)\n\n\n\n<details><summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare class VueTextDocument extends ProxyTextDocument {\n  constructor(doc: TextDocument, options?: VueTextDocumentOptions, parseOptions?: SFCParseOptions);\n  all(): VirtualTextDocument[];\n  blockAt(position: Position | number): SFCBlock | null | undefined;\n  static create(uri: string, languageId: string, version: number, content: string, options?: VueTextDocumentOptions, parseOptions?: SFCParseOptions): VueTextDocument;\n  protected createBlockDocument(selector: BlockSelector): VirtualTextDocument | undefined;\n  protected createInternalModuleDocument(): TransformedBlockTextDocument;\n  protected createModuleDocument(): TransformedBlockTextDocument;\n  protected createRenderDocument(): RenderFunctionTextDocument;\n  get descriptor(): SFCDescriptor;\n  documentAt(position: Position | number): VirtualTextDocument | undefined;\n  getBlock(selector: BlockSelector): SFCBlock | null | undefined;\n  getBlockSelector(block: SFCBlock): BlockSelector | undefined;\n  getDocument(selector: typeof RENDER_SELECTOR): RenderFunctionTextDocument;\n  getDocument(selector: SelectorLike): VirtualTextDocument;\n  getDocument(selector: string): VirtualTextDocument | undefined;\n  getDocumentFileName(selectorLike: SelectorLike): string;\n  protected getDocumentId(selector: Selector): string;\n  protected getDocumentLanguage(selector: Selector): string;\n  markDirty(): void;\n  readonly options: VueTextDocumentOptions;\n  protected parse(): void;\n  static update(document: VueTextDocument, changes: TextDocumentContentChangeEvent[], version: number): VueTextDocument;\n}\n```\n\n**Members:**\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-all-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-all-member-1-\"></a>\n\n#### [all](#-vuedx-vue-virtual-textdocument-VueTextDocument-all-member-1-)\n\n\n\n**Signature:**\n```ts\nall(): VirtualTextDocument[];\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-blockAt-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-blockAt-member-1-\"></a>\n\n#### [blockAt](#-vuedx-vue-virtual-textdocument-VueTextDocument-blockAt-member-1-)\n\n\n\n**Signature:**\n```ts\nblockAt(position: Position | number): SFCBlock | null | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| position | <code><a href=\"#vscode-languageserver-textdocument-Position-interface\">Position</a> &#124; number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-create-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-create-member-1-\"></a>\n\n#### [create](#-vuedx-vue-virtual-textdocument-VueTextDocument-create-member-1-)\n\n\n\n**Signature:**\n```ts\nstatic create(uri: string, languageId: string, version: number, content: string, options?: VueTextDocumentOptions, parseOptions?: SFCParseOptions): VueTextDocument;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n| languageId | <code>string</code> | - |\n| version | <code>number</code> | - |\n| content | <code>string</code> | - |\n| options | <code><a href=\"#-vuedx-vue-virtual-textdocument--VueTextDocumentOptions-interface\">VueTextDocumentOptions</a></code> | - |\n| parseOptions | <code><a href=\"#-vue-compiler-sfc-SFCParseOptions-interface\">SFCParseOptions</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-createBlockDocument-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-createBlockDocument-member-1-\"></a>\n\n#### [createBlockDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-createBlockDocument-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected createBlockDocument(selector: BlockSelector): VirtualTextDocument | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selector | <code><a href=\"#-vuedx-vue-virtual-textdocument--BlockSelector-type\">BlockSelector</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-createInternalModuleDocument-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-createInternalModuleDocument-member-1-\"></a>\n\n#### [createInternalModuleDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-createInternalModuleDocument-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected createInternalModuleDocument(): TransformedBlockTextDocument;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-createModuleDocument-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-createModuleDocument-member-1-\"></a>\n\n#### [createModuleDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-createModuleDocument-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected createModuleDocument(): TransformedBlockTextDocument;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-createRenderDocument-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-createRenderDocument-member-1-\"></a>\n\n#### [createRenderDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-createRenderDocument-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected createRenderDocument(): RenderFunctionTextDocument;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-documentAt-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-documentAt-member-1-\"></a>\n\n#### [documentAt](#-vuedx-vue-virtual-textdocument-VueTextDocument-documentAt-member-1-)\n\n\n\n**Signature:**\n```ts\ndocumentAt(position: Position | number): VirtualTextDocument | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| position | <code><a href=\"#vscode-languageserver-textdocument-Position-interface\">Position</a> &#124; number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getBlock-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getBlock-member-1-\"></a>\n\n#### [getBlock](#-vuedx-vue-virtual-textdocument-VueTextDocument-getBlock-member-1-)\n\n\n\n**Signature:**\n```ts\ngetBlock(selector: BlockSelector): SFCBlock | null | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selector | <code><a href=\"#-vuedx-vue-virtual-textdocument--BlockSelector-type\">BlockSelector</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getBlockSelector-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getBlockSelector-member-1-\"></a>\n\n#### [getBlockSelector](#-vuedx-vue-virtual-textdocument-VueTextDocument-getBlockSelector-member-1-)\n\n\n\n**Signature:**\n```ts\ngetBlockSelector(block: SFCBlock): BlockSelector | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| block | <code><a href=\"#-vue-compiler-sfc-SFCBlock-interface\">SFCBlock</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-1-\"></a>\n\n#### [getDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-1-)\n\n\n\n**Signature:**\n```ts\ngetDocument(selector: typeof RENDER_SELECTOR): RenderFunctionTextDocument;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selector | <code>typeof <a href=\"#-vuedx-vue-virtual-textdocument--RENDER-SELECTOR-var\">RENDER_SELECTOR</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-2-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-2-\"></a>\n\n#### [getDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-2-)\n\n\n\n**Signature:**\n```ts\ngetDocument(selector: SelectorLike): VirtualTextDocument;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selector | <code><a href=\"#-vuedx-vue-virtual-textdocument--SelectorLike-type\">SelectorLike</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-3-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-3-\"></a>\n\n#### [getDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-3-)\n\n\n\n**Signature:**\n```ts\ngetDocument(selector: string): VirtualTextDocument | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selector | <code>string</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentFileName-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentFileName-member-1-\"></a>\n\n#### [getDocumentFileName](#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentFileName-member-1-)\n\n\n\n**Signature:**\n```ts\ngetDocumentFileName(selectorLike: SelectorLike): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selectorLike | <code><a href=\"#-vuedx-vue-virtual-textdocument--SelectorLike-type\">SelectorLike</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentId-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentId-member-1-\"></a>\n\n#### [getDocumentId](#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentId-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected getDocumentId(selector: Selector): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selector | <code><a href=\"#-vuedx-vue-virtual-textdocument--Selector-type\">Selector</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentLanguage-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentLanguage-member-1-\"></a>\n\n#### [getDocumentLanguage](#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentLanguage-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected getDocumentLanguage(selector: Selector): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selector | <code><a href=\"#-vuedx-vue-virtual-textdocument--Selector-type\">Selector</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-markDirty-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-markDirty-member-1-\"></a>\n\n#### [markDirty](#-vuedx-vue-virtual-textdocument-VueTextDocument-markDirty-member-1-)\n\n\n\n**Signature:**\n```ts\nmarkDirty(): void;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-parse-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-parse-member-1-\"></a>\n\n#### [parse](#-vuedx-vue-virtual-textdocument-VueTextDocument-parse-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected parse(): void;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-update-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-update-member-1-\"></a>\n\n#### [update](#-vuedx-vue-virtual-textdocument-VueTextDocument-update-member-1-)\n\n\n\n**Signature:**\n```ts\nstatic update(document: VueTextDocument, changes: TextDocumentContentChangeEvent[], version: number): VueTextDocument;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| document | <code><a href=\"#-vuedx-vue-virtual-textdocument--VueTextDocument-class\">VueTextDocument</a></code> | - |\n| changes | <code><a href=\"#vscode-languageserver-textdocument-TextDocumentContentChangeEvent-type\">TextDocumentContentChangeEvent</a>[]</code> | - |\n| version | <code>number</code> | - |\n\n<br>\n</details>\n\n<br>\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-asFsPath-function-1-\" id=\"-vuedx-vue-virtual-textdocument-asFsPath-function-1-\"></a>\n\n### [asFsPath](#-vuedx-vue-virtual-textdocument-asFsPath-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function asFsPath(uri: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-asFsUri-function-1-\" id=\"-vuedx-vue-virtual-textdocument-asFsUri-function-1-\"></a>\n\n### [asFsUri](#-vuedx-vue-virtual-textdocument-asFsUri-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function asFsUri(fileName: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-asUri-function-1-\" id=\"-vuedx-vue-virtual-textdocument-asUri-function-1-\"></a>\n\n### [asUri](#-vuedx-vue-virtual-textdocument-asUri-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function asUri(fileNameOrUri: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileNameOrUri | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-basename-function-1-\" id=\"-vuedx-vue-virtual-textdocument-basename-function-1-\"></a>\n\n### [basename](#-vuedx-vue-virtual-textdocument-basename-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function basename(fileName: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-binarySearch-function-1-\" id=\"-vuedx-vue-virtual-textdocument-binarySearch-function-1-\"></a>\n\n### [binarySearch](#-vuedx-vue-virtual-textdocument-binarySearch-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function binarySearch<T>(array: T[], isMatch: (a: T) => number, returnMin?: boolean): T | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| array | <code>T[]</code> | - |\n| isMatch | <code>(a: T) => number</code> | - |\n| returnMin | <code>boolean</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-getBlockLanguage-function-1-\" id=\"-vuedx-vue-virtual-textdocument-getBlockLanguage-function-1-\"></a>\n\n### [getBlockLanguage](#-vuedx-vue-virtual-textdocument-getBlockLanguage-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function getBlockLanguage(block?: SFCBlock | null): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| block | <code><a href=\"#-vue-compiler-sfc-SFCBlock-interface\">SFCBlock</a> &#124; null</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-getContainingFile-function-1-\" id=\"-vuedx-vue-virtual-textdocument-getContainingFile-function-1-\"></a>\n\n### [getContainingFile](#-vuedx-vue-virtual-textdocument-getContainingFile-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function getContainingFile(fileName: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-getLanguageExtension-function-1-\" id=\"-vuedx-vue-virtual-textdocument-getLanguageExtension-function-1-\"></a>\n\n### [getLanguageExtension](#-vuedx-vue-virtual-textdocument-getLanguageExtension-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function getLanguageExtension(lang: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| lang | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-getLanguageIdFromExtension-function-1-\" id=\"-vuedx-vue-virtual-textdocument-getLanguageIdFromExtension-function-1-\"></a>\n\n### [getLanguageIdFromExtension](#-vuedx-vue-virtual-textdocument-getLanguageIdFromExtension-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function getLanguageIdFromExtension(ext: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| ext | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-isOffsetInBlock-function-1-\" id=\"-vuedx-vue-virtual-textdocument-isOffsetInBlock-function-1-\"></a>\n\n### [isOffsetInBlock](#-vuedx-vue-virtual-textdocument-isOffsetInBlock-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function isOffsetInBlock(offset: number, block?: SFCBlock | null): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n| block | <code><a href=\"#-vue-compiler-sfc-SFCBlock-interface\">SFCBlock</a> &#124; null</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-isVirtualFile-function-1-\" id=\"-vuedx-vue-virtual-textdocument-isVirtualFile-function-1-\"></a>\n\n### [isVirtualFile](#-vuedx-vue-virtual-textdocument-isVirtualFile-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function isVirtualFile(fileName: string): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-isVirtualFileOfType-function-1-\" id=\"-vuedx-vue-virtual-textdocument-isVirtualFileOfType-function-1-\"></a>\n\n### [isVirtualFileOfType](#-vuedx-vue-virtual-textdocument-isVirtualFileOfType-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function isVirtualFileOfType(fileName: string, type: '_render' | '_module' | '_internal' | 'script' | 'scriptSetup'): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n| type | <code>'_render' &#124; '_module' &#124; '_internal' &#124; 'script' &#124; 'scriptSetup'</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-isVueFile-function-1-\" id=\"-vuedx-vue-virtual-textdocument-isVueFile-function-1-\"></a>\n\n### [isVueFile](#-vuedx-vue-virtual-textdocument-isVueFile-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function isVueFile(fileName: string): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-parseVirtualFileName-function-1-\" id=\"-vuedx-vue-virtual-textdocument-parseVirtualFileName-function-1-\"></a>\n\n### [parseVirtualFileName](#-vuedx-vue-virtual-textdocument-parseVirtualFileName-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function parseVirtualFileName(fileName: string): {\n    uri: string;\n    selector: Selector;\n} | null;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-relativeVirtualImportPath-function-1-\" id=\"-vuedx-vue-virtual-textdocument-relativeVirtualImportPath-function-1-\"></a>\n\n### [relativeVirtualImportPath](#-vuedx-vue-virtual-textdocument-relativeVirtualImportPath-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function relativeVirtualImportPath(fileName: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-replaceSlashes-function-1-\" id=\"-vuedx-vue-virtual-textdocument-replaceSlashes-function-1-\"></a>\n\n### [replaceSlashes](#-vuedx-vue-virtual-textdocument-replaceSlashes-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function replaceSlashes(fileName: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n<!-- #region API-DOCS -->\n","readmeFilename":"readme.md","_id":"@vuedx/vue-virtual-textdocument@0.3.1-insiders-1609034385.0","_nodeVersion":"14.14.0","_npmVersion":"6.14.8","dist":{"integrity":"sha512-XunhocwzKCZwjL+X8gfVQp5u+/OgcSD3UzRcBQ7WoXRVBQAQbzW6NHktdqX/5Efp+qCayXhJlhhlbv/O/NGyZg==","shasum":"eab8f78cd50c6958f394c0aedcbe61a672a78835","tarball":"https://registry.npmjs.org/@vuedx/vue-virtual-textdocument/-/vue-virtual-textdocument-0.3.1-insiders-1609034385.0.tgz","fileCount":8,"unpackedSize":290637,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJf5+qqCRA9TVsSAnZWagAAmDYP/jR8VmIZsFnFxKKmBInq\nPfZLhw4oakEO0V0RLkuKtgOWXEq7lVgnQ3/ZiqHXf/JoiHQg4wiwz6+9ESbM\nl1BRze/zxdzC2+iZZwdCi5mcKfrxEjeTG/KHT7PRXsIzgzQWNhaXmmEwC956\n99y/QCOy5ILEmTUoyHxZgRAcGP8WJfxohaZx+2LEPfWt9zC8WZhYKz4ci2Ll\n02fCWnK0Al12Q9os7hkMuz3PvJpnDi0qqdlVFma/Jza8AtHIL+meBenh795l\nnUp3U4xjBfrgERwMzF+sDsYmq+dL3beBcxqVZN6c27aA9B/RZ8ImIBkmN5/j\nNHP2q8fZZii6BCmYYs3oi5L/0wBAopVQuNIoN/3o/gYxkFqPMF1fHfHNXFgy\nIh6ppupMDpUQ7dspk2b0BDZQjD6bwHM34UIUM33dU02yKYtNiTG8Ojd0Db9H\nv9XT7m2lfCQAhUkNPUzuAWnvI60uq1ka8fIeO55VcuLObxYpNu+82sMP7gs0\nVV3/o5n9XqYtBGfhM8jqAZNNOLmrcy7/Es/dVplsnRMpTQ8faQua5ZhKIYIO\nWJDh5EMOFmzRHMo5C94+P9tedEXhcewbSuEPoor1UoqIKamEs9ddm5GXIMSX\nwAcjSll8aPMMW3OPppgpOzHD9M1Aba+G4wPMlMw164QuKRBq/fDj11G14Pxk\nL5SE\r\n=GRQr\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIB6cVXY8wAoOl78lQlmGb6ZyB7XSixfoB4J1jg4Wra3PAiEArmFSBs1kVVqyZ3VQ8Iy/tUieJxjWHkHPgtCZzZka0fs="}]},"_npmUser":{"name":"znck","email":"rahulkdn@gmail.com"},"directories":{},"maintainers":[{"name":"znck","email":"rahulkdn@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/vue-virtual-textdocument_0.3.1-insiders-1609034385.0_1609034410292_0.5304249720068039"},"_hasShrinkwrap":false},"0.3.1-insiders-1609155664.0":{"name":"@vuedx/vue-virtual-textdocument","version":"0.3.1-insiders-1609155664.0","description":"An implementation of virtual filesystem for accessing blocks in a `.vue` file as independent files.","main":"dist/index.cjs.js","module":"dist/index.esm.js","types":"dist/index.d.ts","private":false,"scripts":{},"keywords":["vue","vue sfc","sfc","vue virtual files"],"repository":{"type":"git","url":"git+https://github.com/znck/vue-developer-experience.git"},"author":{"name":"Rahul Kadyan","email":"rahulkdn@gmail.com","url":"https://znck.me/"},"funding":{"type":"individual","url":"https://github.com/sponsors/znck"},"license":"MIT","bugs":{"url":"https://github.com/znck/vue-developer-experience/issues"},"homepage":"https://github.com/znck/vue-developer-experience#readme","dependencies":{"@vuedx/analyze":"0.3.1-insiders-1609155664.0","@vuedx/compiler-sfc":"0.3.1-insiders-1609155664.0","@vuedx/compiler-tsx":"0.3.1-insiders-1609155664.0","source-map":"^0.6.1","vscode-languageserver-textdocument":"^1.0.1","vscode-uri":"^2.1.2"},"devDependencies":{"@vuedx/shared":"0.0.1-insiders-1609155664.0","fast-glob":"^3.2.4","typescript":"^4.0.3"},"readme":"# Vue Virtual TextDocument\n\nAn implementation of virtual filesystem for accessing blocks in a `.vue` file as independent files.\n\n## Support\n\nThis package is part of [VueDX project](https://github.com/znck/vue-developer-experience), maintained by [Rahul Kadyan](https://github.com/znck). You can [💖 sponsor him](https://github.com/sponsors/znck) for continued development of this package and other VueDX tools.\n\n```\nnpm add @vuedx/vue-virtual-textdocument\n```\n<!-- #region API-DOCS -->\n<!-- Do not edit this file. It is a report generated by [scripts/docgen.js](https://github.com/znck/vue-developer-experience/tree/master/scripts/docgen.js). -->\n\n## API\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-AsyncDocumentStore-class\" id=\"-vuedx-vue-virtual-textdocument-AsyncDocumentStore-class\"></a>\n\n### [AsyncDocumentStore](#-vuedx-vue-virtual-textdocument-AsyncDocumentStore-class)\n\n\n\n<details><summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare class AsyncDocumentStore<T> extends DocumentStore<T> {\n  constructor(resolve: (uri: string) => T | Promise<T | null> | null, normalize?: (uri: string) => string);\n  get(uri: string): T | null;\n  get(uri: string): Promise<T | null>;\n}\n```\n\n**Members:**\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-AsyncDocumentStore-get-member-1-\" id=\"-vuedx-vue-virtual-textdocument-AsyncDocumentStore-get-member-1-\"></a>\n\n#### [get](#-vuedx-vue-virtual-textdocument-AsyncDocumentStore-get-member-1-)\n\n\n\n**Signature:**\n```ts\nget(uri: string): T | null;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-AsyncDocumentStore-get-member-2-\" id=\"-vuedx-vue-virtual-textdocument-AsyncDocumentStore-get-member-2-\"></a>\n\n#### [get](#-vuedx-vue-virtual-textdocument-AsyncDocumentStore-get-member-2-)\n\n\n\n**Signature:**\n```ts\nget(uri: string): Promise<T | null>;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n\n<br>\n</details>\n\n<br>\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-class\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-class\"></a>\n\n### [DocumentStore](#-vuedx-vue-virtual-textdocument-DocumentStore-class)\n\n\n\n<details><summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare class DocumentStore<T> {\n  constructor(resolve: (uri: string) => T | null, normalize?: (uri: string) => string);\n  all(): string[];\n  delete(uri: string): boolean;\n  dispose(): void;\n  get(uri: string): T | null;\n  protected getNormalizedUri(uri: string): string;\n  has(uri: string): boolean;\n  protected map: Map<string, T>;\n  normalize: (uri: string) => string;\n  protected resolve: (uri: string) => T | null;\n  protected reverseUriMap: Map<string, string>;\n  set(uri: string, document: T): void;\n}\n```\n\n**Members:**\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-all-member-1-\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-all-member-1-\"></a>\n\n#### [all](#-vuedx-vue-virtual-textdocument-DocumentStore-all-member-1-)\n\n\n\n**Signature:**\n```ts\nall(): string[];\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-delete-member-1-\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-delete-member-1-\"></a>\n\n#### [delete](#-vuedx-vue-virtual-textdocument-DocumentStore-delete-member-1-)\n\n\n\n**Signature:**\n```ts\ndelete(uri: string): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-dispose-member-1-\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-dispose-member-1-\"></a>\n\n#### [dispose](#-vuedx-vue-virtual-textdocument-DocumentStore-dispose-member-1-)\n\n\n\n**Signature:**\n```ts\ndispose(): void;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-get-member-1-\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-get-member-1-\"></a>\n\n#### [get](#-vuedx-vue-virtual-textdocument-DocumentStore-get-member-1-)\n\n\n\n**Signature:**\n```ts\nget(uri: string): T | null;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-getNormalizedUri-member-1-\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-getNormalizedUri-member-1-\"></a>\n\n#### [getNormalizedUri](#-vuedx-vue-virtual-textdocument-DocumentStore-getNormalizedUri-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected getNormalizedUri(uri: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-has-member-1-\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-has-member-1-\"></a>\n\n#### [has](#-vuedx-vue-virtual-textdocument-DocumentStore-has-member-1-)\n\n\n\n**Signature:**\n```ts\nhas(uri: string): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-set-member-1-\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-set-member-1-\"></a>\n\n#### [set](#-vuedx-vue-virtual-textdocument-DocumentStore-set-member-1-)\n\n\n\n**Signature:**\n```ts\nset(uri: string, document: T): void;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n| document | <code>T</code> | - |\n\n<br>\n</details>\n\n<br>\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-class\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-class\"></a>\n\n### [RenderFunctionTextDocument](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-class)\n\n\n\n<details><summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare class RenderFunctionTextDocument extends TransformedBlockTextDocument {\n  constructor(container: VueTextDocument, selector: Selector, transformed: TextDocument, source: TextDocument);\n  get ast(): CodegenResult['ast'] | undefined;\n  get contextCompletionsTriggerOffset(): number;\n  static create(options: CreateVirtualTextDocumentOptions): RenderFunctionTextDocument;\n  findExpression(offset: number, length: number): undefined | {\n        offset: number;\n        length: number;\n    };\n  protected generate(): string;\n  getAllGeneratedOffsetsAt(offset: number): undefined | Array<{\n        length: number;\n        offset: number;\n    }>;\n  getGeneratedOffsetAt(offset: number): undefined | {\n        length: number;\n        offset: number;\n    };\n  protected getKnownComponents(): Record<string, ComponentImport>;\n  getOriginalOffsetAt(offset: number): undefined | {\n        offset: number;\n        length: number;\n    };\n  isInGeneratedRange(offset: number): boolean;\n  get parserErrors(): CodegenResult['errors'];\n  get tagCompletionsTriggerOffset(): number;\n  toDisplayMappings(): string;\n  protected tryGenerate(): string;\n}\n```\n\n**Members:**\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-create-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-create-member-1-\"></a>\n\n#### [create](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-create-member-1-)\n\n\n\n**Signature:**\n```ts\nstatic create(options: CreateVirtualTextDocumentOptions): RenderFunctionTextDocument;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| options | <code><a href=\"#-vuedx-vue-virtual-textdocument--CreateVirtualTextDocumentOptions-interface\">CreateVirtualTextDocumentOptions</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-findExpression-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-findExpression-member-1-\"></a>\n\n#### [findExpression](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-findExpression-member-1-)\n\n\n\n**Signature:**\n```ts\nfindExpression(offset: number, length: number): undefined | {\n        offset: number;\n        length: number;\n    };\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n| length | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-generate-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-generate-member-1-\"></a>\n\n#### [generate](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-generate-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected generate(): string;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getAllGeneratedOffsetsAt-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getAllGeneratedOffsetsAt-member-1-\"></a>\n\n#### [getAllGeneratedOffsetsAt](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getAllGeneratedOffsetsAt-member-1-)\n\n\n\n**Signature:**\n```ts\ngetAllGeneratedOffsetsAt(offset: number): undefined | Array<{\n        length: number;\n        offset: number;\n    }>;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getGeneratedOffsetAt-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getGeneratedOffsetAt-member-1-\"></a>\n\n#### [getGeneratedOffsetAt](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getGeneratedOffsetAt-member-1-)\n\n\n\n**Signature:**\n```ts\ngetGeneratedOffsetAt(offset: number): undefined | {\n        length: number;\n        offset: number;\n    };\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getKnownComponents-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getKnownComponents-member-1-\"></a>\n\n#### [getKnownComponents](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getKnownComponents-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected getKnownComponents(): Record<string, ComponentImport>;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getOriginalOffsetAt-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getOriginalOffsetAt-member-1-\"></a>\n\n#### [getOriginalOffsetAt](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getOriginalOffsetAt-member-1-)\n\n\n\n**Signature:**\n```ts\ngetOriginalOffsetAt(offset: number): undefined | {\n        offset: number;\n        length: number;\n    };\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-isInGeneratedRange-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-isInGeneratedRange-member-1-\"></a>\n\n#### [isInGeneratedRange](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-isInGeneratedRange-member-1-)\n\n\n\n**Signature:**\n```ts\nisInGeneratedRange(offset: number): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-toDisplayMappings-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-toDisplayMappings-member-1-\"></a>\n\n#### [toDisplayMappings](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-toDisplayMappings-member-1-)\n\n\n\n**Signature:**\n```ts\ntoDisplayMappings(): string;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-tryGenerate-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-tryGenerate-member-1-\"></a>\n\n#### [tryGenerate](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-tryGenerate-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected tryGenerate(): string;\n```\n\n\n<br>\n</details>\n\n<br>\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-class\" id=\"-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-class\"></a>\n\n### [TransformedBlockTextDocument](#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-class)\n\n\n\n<details><summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare class TransformedBlockTextDocument extends VirtualTextDocument {\n  protected constructor(container: VueTextDocument, selector: Selector, transformed: TextDocument, source: TextDocument | VirtualTextDocument, _transform: (document: TransformedBlockTextDocument) => BlockTransformResult);\n  static create(options: CreateTransformedBlockTextDocumentOptions): TransformedBlockTextDocument;\n  protected refresh(): void;\n  transform(): BlockTransformResult;\n  tryGetGeneratedOffset(offset: number): number | undefined;\n  tryGetSourceOffset(offset: number): number | undefined;\n}\n```\n\n**Members:**\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-create-member-1-\" id=\"-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-create-member-1-\"></a>\n\n#### [create](#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-create-member-1-)\n\n\n\n**Signature:**\n```ts\nstatic create(options: CreateTransformedBlockTextDocumentOptions): TransformedBlockTextDocument;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| options | <code><a href=\"#-vuedx-vue-virtual-textdocument--CreateTransformedBlockTextDocumentOptions-interface\">CreateTransformedBlockTextDocumentOptions</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-refresh-member-1-\" id=\"-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-refresh-member-1-\"></a>\n\n#### [refresh](#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-refresh-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected refresh(): void;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-transform-member-1-\" id=\"-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-transform-member-1-\"></a>\n\n#### [transform](#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-transform-member-1-)\n\n\n\n**Signature:**\n```ts\ntransform(): BlockTransformResult;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-tryGetGeneratedOffset-member-1-\" id=\"-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-tryGetGeneratedOffset-member-1-\"></a>\n\n#### [tryGetGeneratedOffset](#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-tryGetGeneratedOffset-member-1-)\n\n\n\n**Signature:**\n```ts\ntryGetGeneratedOffset(offset: number): number | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-tryGetSourceOffset-member-1-\" id=\"-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-tryGetSourceOffset-member-1-\"></a>\n\n#### [tryGetSourceOffset](#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-tryGetSourceOffset-member-1-)\n\n\n\n**Signature:**\n```ts\ntryGetSourceOffset(offset: number): number | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n</details>\n\n<br>\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VirtualTextDocument-class\" id=\"-vuedx-vue-virtual-textdocument-VirtualTextDocument-class\"></a>\n\n### [VirtualTextDocument](#-vuedx-vue-virtual-textdocument-VirtualTextDocument-class)\n\n\n\n<details><summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare class VirtualTextDocument extends ProxyTextDocument {\n  protected constructor(container: VueTextDocument, selector: Selector, doc: TextDocument);\n  readonly container: VueTextDocument;\n  static create(options: CreateVirtualTextDocumentOptions): VirtualTextDocument;\n  protected isDirty: boolean;\n  markDirty(): void;\n  protected refresh(): void;\n  readonly selector: Selector;\n}\n```\n\n**Members:**\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VirtualTextDocument-create-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VirtualTextDocument-create-member-1-\"></a>\n\n#### [create](#-vuedx-vue-virtual-textdocument-VirtualTextDocument-create-member-1-)\n\n\n\n**Signature:**\n```ts\nstatic create(options: CreateVirtualTextDocumentOptions): VirtualTextDocument;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| options | <code><a href=\"#-vuedx-vue-virtual-textdocument--CreateVirtualTextDocumentOptions-interface\">CreateVirtualTextDocumentOptions</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VirtualTextDocument-markDirty-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VirtualTextDocument-markDirty-member-1-\"></a>\n\n#### [markDirty](#-vuedx-vue-virtual-textdocument-VirtualTextDocument-markDirty-member-1-)\n\n\n\n**Signature:**\n```ts\nmarkDirty(): void;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VirtualTextDocument-refresh-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VirtualTextDocument-refresh-member-1-\"></a>\n\n#### [refresh](#-vuedx-vue-virtual-textdocument-VirtualTextDocument-refresh-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected refresh(): void;\n```\n\n\n<br>\n</details>\n\n<br>\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-class\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-class\"></a>\n\n### [VueTextDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-class)\n\n\n\n<details><summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare class VueTextDocument extends ProxyTextDocument {\n  constructor(doc: TextDocument, options?: VueTextDocumentOptions, parseOptions?: SFCParseOptions);\n  all(): VirtualTextDocument[];\n  blockAt(position: Position | number): SFCBlock | null | undefined;\n  static create(uri: string, languageId: string, version: number, content: string, options?: VueTextDocumentOptions, parseOptions?: SFCParseOptions): VueTextDocument;\n  protected createBlockDocument(selector: BlockSelector): VirtualTextDocument | undefined;\n  protected createInternalModuleDocument(): TransformedBlockTextDocument;\n  protected createModuleDocument(): TransformedBlockTextDocument;\n  protected createRenderDocument(): RenderFunctionTextDocument;\n  get descriptor(): SFCDescriptor;\n  documentAt(position: Position | number): VirtualTextDocument | undefined;\n  getBlock(selector: BlockSelector): SFCBlock | null | undefined;\n  getBlockSelector(block: SFCBlock): BlockSelector | undefined;\n  getDocument(selector: typeof RENDER_SELECTOR): RenderFunctionTextDocument;\n  getDocument(selector: SelectorLike): VirtualTextDocument;\n  getDocument(selector: string): VirtualTextDocument | undefined;\n  getDocumentFileName(selectorLike: SelectorLike): string;\n  protected getDocumentId(selector: Selector): string;\n  protected getDocumentLanguage(selector: Selector): string;\n  markDirty(): void;\n  readonly options: VueTextDocumentOptions;\n  protected parse(): void;\n  static update(document: VueTextDocument, changes: TextDocumentContentChangeEvent[], version: number): VueTextDocument;\n}\n```\n\n**Members:**\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-all-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-all-member-1-\"></a>\n\n#### [all](#-vuedx-vue-virtual-textdocument-VueTextDocument-all-member-1-)\n\n\n\n**Signature:**\n```ts\nall(): VirtualTextDocument[];\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-blockAt-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-blockAt-member-1-\"></a>\n\n#### [blockAt](#-vuedx-vue-virtual-textdocument-VueTextDocument-blockAt-member-1-)\n\n\n\n**Signature:**\n```ts\nblockAt(position: Position | number): SFCBlock | null | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| position | <code><a href=\"#vscode-languageserver-textdocument-Position-interface\">Position</a> &#124; number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-create-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-create-member-1-\"></a>\n\n#### [create](#-vuedx-vue-virtual-textdocument-VueTextDocument-create-member-1-)\n\n\n\n**Signature:**\n```ts\nstatic create(uri: string, languageId: string, version: number, content: string, options?: VueTextDocumentOptions, parseOptions?: SFCParseOptions): VueTextDocument;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n| languageId | <code>string</code> | - |\n| version | <code>number</code> | - |\n| content | <code>string</code> | - |\n| options | <code><a href=\"#-vuedx-vue-virtual-textdocument--VueTextDocumentOptions-interface\">VueTextDocumentOptions</a></code> | - |\n| parseOptions | <code><a href=\"#-vue-compiler-sfc-SFCParseOptions-interface\">SFCParseOptions</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-createBlockDocument-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-createBlockDocument-member-1-\"></a>\n\n#### [createBlockDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-createBlockDocument-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected createBlockDocument(selector: BlockSelector): VirtualTextDocument | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selector | <code><a href=\"#-vuedx-vue-virtual-textdocument--BlockSelector-type\">BlockSelector</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-createInternalModuleDocument-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-createInternalModuleDocument-member-1-\"></a>\n\n#### [createInternalModuleDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-createInternalModuleDocument-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected createInternalModuleDocument(): TransformedBlockTextDocument;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-createModuleDocument-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-createModuleDocument-member-1-\"></a>\n\n#### [createModuleDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-createModuleDocument-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected createModuleDocument(): TransformedBlockTextDocument;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-createRenderDocument-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-createRenderDocument-member-1-\"></a>\n\n#### [createRenderDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-createRenderDocument-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected createRenderDocument(): RenderFunctionTextDocument;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-documentAt-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-documentAt-member-1-\"></a>\n\n#### [documentAt](#-vuedx-vue-virtual-textdocument-VueTextDocument-documentAt-member-1-)\n\n\n\n**Signature:**\n```ts\ndocumentAt(position: Position | number): VirtualTextDocument | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| position | <code><a href=\"#vscode-languageserver-textdocument-Position-interface\">Position</a> &#124; number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getBlock-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getBlock-member-1-\"></a>\n\n#### [getBlock](#-vuedx-vue-virtual-textdocument-VueTextDocument-getBlock-member-1-)\n\n\n\n**Signature:**\n```ts\ngetBlock(selector: BlockSelector): SFCBlock | null | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selector | <code><a href=\"#-vuedx-vue-virtual-textdocument--BlockSelector-type\">BlockSelector</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getBlockSelector-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getBlockSelector-member-1-\"></a>\n\n#### [getBlockSelector](#-vuedx-vue-virtual-textdocument-VueTextDocument-getBlockSelector-member-1-)\n\n\n\n**Signature:**\n```ts\ngetBlockSelector(block: SFCBlock): BlockSelector | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| block | <code><a href=\"#-vue-compiler-sfc-SFCBlock-interface\">SFCBlock</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-1-\"></a>\n\n#### [getDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-1-)\n\n\n\n**Signature:**\n```ts\ngetDocument(selector: typeof RENDER_SELECTOR): RenderFunctionTextDocument;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selector | <code>typeof <a href=\"#-vuedx-vue-virtual-textdocument--RENDER-SELECTOR-var\">RENDER_SELECTOR</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-2-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-2-\"></a>\n\n#### [getDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-2-)\n\n\n\n**Signature:**\n```ts\ngetDocument(selector: SelectorLike): VirtualTextDocument;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selector | <code><a href=\"#-vuedx-vue-virtual-textdocument--SelectorLike-type\">SelectorLike</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-3-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-3-\"></a>\n\n#### [getDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-3-)\n\n\n\n**Signature:**\n```ts\ngetDocument(selector: string): VirtualTextDocument | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selector | <code>string</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentFileName-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentFileName-member-1-\"></a>\n\n#### [getDocumentFileName](#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentFileName-member-1-)\n\n\n\n**Signature:**\n```ts\ngetDocumentFileName(selectorLike: SelectorLike): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selectorLike | <code><a href=\"#-vuedx-vue-virtual-textdocument--SelectorLike-type\">SelectorLike</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentId-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentId-member-1-\"></a>\n\n#### [getDocumentId](#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentId-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected getDocumentId(selector: Selector): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selector | <code><a href=\"#-vuedx-vue-virtual-textdocument--Selector-type\">Selector</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentLanguage-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentLanguage-member-1-\"></a>\n\n#### [getDocumentLanguage](#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentLanguage-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected getDocumentLanguage(selector: Selector): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selector | <code><a href=\"#-vuedx-vue-virtual-textdocument--Selector-type\">Selector</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-markDirty-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-markDirty-member-1-\"></a>\n\n#### [markDirty](#-vuedx-vue-virtual-textdocument-VueTextDocument-markDirty-member-1-)\n\n\n\n**Signature:**\n```ts\nmarkDirty(): void;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-parse-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-parse-member-1-\"></a>\n\n#### [parse](#-vuedx-vue-virtual-textdocument-VueTextDocument-parse-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected parse(): void;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-update-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-update-member-1-\"></a>\n\n#### [update](#-vuedx-vue-virtual-textdocument-VueTextDocument-update-member-1-)\n\n\n\n**Signature:**\n```ts\nstatic update(document: VueTextDocument, changes: TextDocumentContentChangeEvent[], version: number): VueTextDocument;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| document | <code><a href=\"#-vuedx-vue-virtual-textdocument--VueTextDocument-class\">VueTextDocument</a></code> | - |\n| changes | <code><a href=\"#vscode-languageserver-textdocument-TextDocumentContentChangeEvent-type\">TextDocumentContentChangeEvent</a>[]</code> | - |\n| version | <code>number</code> | - |\n\n<br>\n</details>\n\n<br>\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-asFsPath-function-1-\" id=\"-vuedx-vue-virtual-textdocument-asFsPath-function-1-\"></a>\n\n### [asFsPath](#-vuedx-vue-virtual-textdocument-asFsPath-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function asFsPath(uri: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-asFsUri-function-1-\" id=\"-vuedx-vue-virtual-textdocument-asFsUri-function-1-\"></a>\n\n### [asFsUri](#-vuedx-vue-virtual-textdocument-asFsUri-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function asFsUri(fileName: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-asUri-function-1-\" id=\"-vuedx-vue-virtual-textdocument-asUri-function-1-\"></a>\n\n### [asUri](#-vuedx-vue-virtual-textdocument-asUri-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function asUri(fileNameOrUri: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileNameOrUri | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-basename-function-1-\" id=\"-vuedx-vue-virtual-textdocument-basename-function-1-\"></a>\n\n### [basename](#-vuedx-vue-virtual-textdocument-basename-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function basename(fileName: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-binarySearch-function-1-\" id=\"-vuedx-vue-virtual-textdocument-binarySearch-function-1-\"></a>\n\n### [binarySearch](#-vuedx-vue-virtual-textdocument-binarySearch-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function binarySearch<T>(array: T[], isMatch: (a: T) => number, returnMin?: boolean): T | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| array | <code>T[]</code> | - |\n| isMatch | <code>(a: T) => number</code> | - |\n| returnMin | <code>boolean</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-getBlockLanguage-function-1-\" id=\"-vuedx-vue-virtual-textdocument-getBlockLanguage-function-1-\"></a>\n\n### [getBlockLanguage](#-vuedx-vue-virtual-textdocument-getBlockLanguage-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function getBlockLanguage(block?: SFCBlock | null): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| block | <code><a href=\"#-vue-compiler-sfc-SFCBlock-interface\">SFCBlock</a> &#124; null</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-getContainingFile-function-1-\" id=\"-vuedx-vue-virtual-textdocument-getContainingFile-function-1-\"></a>\n\n### [getContainingFile](#-vuedx-vue-virtual-textdocument-getContainingFile-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function getContainingFile(fileName: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-getLanguageExtension-function-1-\" id=\"-vuedx-vue-virtual-textdocument-getLanguageExtension-function-1-\"></a>\n\n### [getLanguageExtension](#-vuedx-vue-virtual-textdocument-getLanguageExtension-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function getLanguageExtension(lang: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| lang | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-getLanguageIdFromExtension-function-1-\" id=\"-vuedx-vue-virtual-textdocument-getLanguageIdFromExtension-function-1-\"></a>\n\n### [getLanguageIdFromExtension](#-vuedx-vue-virtual-textdocument-getLanguageIdFromExtension-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function getLanguageIdFromExtension(ext: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| ext | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-isOffsetInBlock-function-1-\" id=\"-vuedx-vue-virtual-textdocument-isOffsetInBlock-function-1-\"></a>\n\n### [isOffsetInBlock](#-vuedx-vue-virtual-textdocument-isOffsetInBlock-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function isOffsetInBlock(offset: number, block?: SFCBlock | null): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n| block | <code><a href=\"#-vue-compiler-sfc-SFCBlock-interface\">SFCBlock</a> &#124; null</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-isVirtualFile-function-1-\" id=\"-vuedx-vue-virtual-textdocument-isVirtualFile-function-1-\"></a>\n\n### [isVirtualFile](#-vuedx-vue-virtual-textdocument-isVirtualFile-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function isVirtualFile(fileName: string): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-isVirtualFileOfType-function-1-\" id=\"-vuedx-vue-virtual-textdocument-isVirtualFileOfType-function-1-\"></a>\n\n### [isVirtualFileOfType](#-vuedx-vue-virtual-textdocument-isVirtualFileOfType-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function isVirtualFileOfType(fileName: string, type: '_render' | '_module' | '_internal' | 'script' | 'scriptSetup'): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n| type | <code>'_render' &#124; '_module' &#124; '_internal' &#124; 'script' &#124; 'scriptSetup'</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-isVueFile-function-1-\" id=\"-vuedx-vue-virtual-textdocument-isVueFile-function-1-\"></a>\n\n### [isVueFile](#-vuedx-vue-virtual-textdocument-isVueFile-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function isVueFile(fileName: string): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-parseVirtualFileName-function-1-\" id=\"-vuedx-vue-virtual-textdocument-parseVirtualFileName-function-1-\"></a>\n\n### [parseVirtualFileName](#-vuedx-vue-virtual-textdocument-parseVirtualFileName-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function parseVirtualFileName(fileName: string): {\n    uri: string;\n    selector: Selector;\n} | null;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-relativeVirtualImportPath-function-1-\" id=\"-vuedx-vue-virtual-textdocument-relativeVirtualImportPath-function-1-\"></a>\n\n### [relativeVirtualImportPath](#-vuedx-vue-virtual-textdocument-relativeVirtualImportPath-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function relativeVirtualImportPath(fileName: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-replaceSlashes-function-1-\" id=\"-vuedx-vue-virtual-textdocument-replaceSlashes-function-1-\"></a>\n\n### [replaceSlashes](#-vuedx-vue-virtual-textdocument-replaceSlashes-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function replaceSlashes(fileName: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n<!-- #region API-DOCS -->\n","readmeFilename":"readme.md","_id":"@vuedx/vue-virtual-textdocument@0.3.1-insiders-1609155664.0","_nodeVersion":"14.14.0","_npmVersion":"6.14.8","dist":{"integrity":"sha512-YIi88N6PYiHKAc4Hyf9SEcSjU8XILoQkXqpymG6Y78wzIRauHlhVUDMTW0SXbIh3T+rh6Df37f1xa16JtlY0IA==","shasum":"37ea78d5590652188656978af5adc88061d1689b","tarball":"https://registry.npmjs.org/@vuedx/vue-virtual-textdocument/-/vue-virtual-textdocument-0.3.1-insiders-1609155664.0.tgz","fileCount":8,"unpackedSize":290637,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJf6cRoCRA9TVsSAnZWagAAHsYP/3pGbFk1oqGgtvPvjMBz\nyVs0cYhYKBkx1j1/h9B7iZgYxJB90VqSOW540A4Tm8ykSXZo+/SQY49Eh189\n16hd7iHOWK+Mnl/N2G4rtwts7R5e3NuTG70/RMhTbBDJtvsLVHcieezl48py\nUkATzw3f5/jPFw3oXapJ5cylG+LhFoz7ZJ2o1Bkz43O9MwSDkmhe3DJdsZTc\nzj1DLRwpKFTRV16bZLdD3XSNEvoTVAU98BoTCsGzERtjPrudP0UWNMAA6IXk\nexarhioS5HCAuMMO8BbjOTtnC4vFzy4b2DrPnFkgjkgC8S3I7mTaMSL5CHd2\ndiw1JtfECbTNzwCWxDoQjP1DXoPhvhDPtdnpbnFrjrzqesV0n8Q5mgZchfIs\n6Zn+XvPFH2h8/tDCj605mh1AH1nLAupMTPCX+JgUHTXodpbtnHeHIOqWf7KJ\nZBOWZr2yscCTb5Bj1EmAHkXVaX48DvH2Bdon9F1aZTihgLcY+MDHAtz8sRtD\nB2PpnHJ7VRM9S/gV9kJUqpu+9sXfYzu07iJNxZRsNHEzzpd1gftq8oFv+PHv\n/sFp0xoQa12fCl3huyrgwNMrr9g+CbDBk/RKkjY1Esd4BKiGUYShL1b6qepT\nsj/kof7MHrhkSFj/4uwqk+U5+SMnGDSOVZpLRGcR2aLpJWOHILgt1Lay8zsT\n5m7K\r\n=ZsOE\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDIIlwrUIpbvMcl5hqas4V2/rHsyeo+sLKGIKRsdOpxOwIhAN+yk2S6Ob40P/MzybhS6CZ7dzNElPl511W5pYVX9Xzj"}]},"_npmUser":{"name":"znck","email":"rahulkdn@gmail.com"},"directories":{},"maintainers":[{"name":"znck","email":"rahulkdn@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/vue-virtual-textdocument_0.3.1-insiders-1609155664.0_1609155687747_0.7075497410030012"},"_hasShrinkwrap":false},"0.4.1-insiders-1609180156.0":{"name":"@vuedx/vue-virtual-textdocument","version":"0.4.1-insiders-1609180156.0","description":"An implementation of virtual filesystem for accessing blocks in a `.vue` file as independent files.","main":"dist/index.cjs.js","module":"dist/index.esm.js","types":"dist/index.d.ts","private":false,"scripts":{},"keywords":["vue","vue sfc","sfc","vue virtual files"],"repository":{"type":"git","url":"git+https://github.com/znck/vue-developer-experience.git"},"author":{"name":"Rahul Kadyan","email":"rahulkdn@gmail.com","url":"https://znck.me/"},"funding":{"type":"individual","url":"https://github.com/sponsors/znck"},"license":"MIT","bugs":{"url":"https://github.com/znck/vue-developer-experience/issues"},"homepage":"https://github.com/znck/vue-developer-experience#readme","dependencies":{"@vuedx/analyze":"0.4.1-insiders-1609180156.0","@vuedx/compiler-sfc":"0.4.1-insiders-1609180156.0","@vuedx/compiler-tsx":"0.4.1-insiders-1609180156.0","source-map":"^0.6.1","vscode-languageserver-textdocument":"^1.0.1","vscode-uri":"^2.1.2"},"devDependencies":{"@vuedx/shared":"0.4.1-insiders-1609180156.0","fast-glob":"^3.2.4","typescript":"^4.0.3"},"readme":"# Vue Virtual TextDocument\n\nAn implementation of virtual filesystem for accessing blocks in a `.vue` file as independent files.\n\n## Support\n\nThis package is part of [VueDX project](https://github.com/znck/vue-developer-experience), maintained by [Rahul Kadyan](https://github.com/znck). You can [💖 sponsor him](https://github.com/sponsors/znck) for continued development of this package and other VueDX tools.\n\n```\nnpm add @vuedx/vue-virtual-textdocument\n```\n<!-- #region API-DOCS -->\n<!-- Do not edit this file. It is a report generated by [scripts/docgen.js](https://github.com/znck/vue-developer-experience/tree/master/scripts/docgen.js). -->\n\n## API\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-AsyncDocumentStore-class\" id=\"-vuedx-vue-virtual-textdocument-AsyncDocumentStore-class\"></a>\n\n### [AsyncDocumentStore](#-vuedx-vue-virtual-textdocument-AsyncDocumentStore-class)\n\n\n\n<details><summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare class AsyncDocumentStore<T> extends DocumentStore<T> {\n  constructor(resolve: (uri: string) => T | Promise<T | null> | null, normalize?: (uri: string) => string);\n  get(uri: string): T | null;\n  get(uri: string): Promise<T | null>;\n}\n```\n\n**Members:**\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-AsyncDocumentStore-get-member-1-\" id=\"-vuedx-vue-virtual-textdocument-AsyncDocumentStore-get-member-1-\"></a>\n\n#### [get](#-vuedx-vue-virtual-textdocument-AsyncDocumentStore-get-member-1-)\n\n\n\n**Signature:**\n```ts\nget(uri: string): T | null;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-AsyncDocumentStore-get-member-2-\" id=\"-vuedx-vue-virtual-textdocument-AsyncDocumentStore-get-member-2-\"></a>\n\n#### [get](#-vuedx-vue-virtual-textdocument-AsyncDocumentStore-get-member-2-)\n\n\n\n**Signature:**\n```ts\nget(uri: string): Promise<T | null>;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n\n<br>\n</details>\n\n<br>\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-class\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-class\"></a>\n\n### [DocumentStore](#-vuedx-vue-virtual-textdocument-DocumentStore-class)\n\n\n\n<details><summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare class DocumentStore<T> {\n  constructor(resolve: (uri: string) => T | null, normalize?: (uri: string) => string);\n  all(): string[];\n  delete(uri: string): boolean;\n  dispose(): void;\n  get(uri: string): T | null;\n  protected getNormalizedUri(uri: string): string;\n  has(uri: string): boolean;\n  protected map: Map<string, T>;\n  normalize: (uri: string) => string;\n  protected resolve: (uri: string) => T | null;\n  protected reverseUriMap: Map<string, string>;\n  set(uri: string, document: T): void;\n}\n```\n\n**Members:**\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-all-member-1-\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-all-member-1-\"></a>\n\n#### [all](#-vuedx-vue-virtual-textdocument-DocumentStore-all-member-1-)\n\n\n\n**Signature:**\n```ts\nall(): string[];\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-delete-member-1-\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-delete-member-1-\"></a>\n\n#### [delete](#-vuedx-vue-virtual-textdocument-DocumentStore-delete-member-1-)\n\n\n\n**Signature:**\n```ts\ndelete(uri: string): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-dispose-member-1-\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-dispose-member-1-\"></a>\n\n#### [dispose](#-vuedx-vue-virtual-textdocument-DocumentStore-dispose-member-1-)\n\n\n\n**Signature:**\n```ts\ndispose(): void;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-get-member-1-\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-get-member-1-\"></a>\n\n#### [get](#-vuedx-vue-virtual-textdocument-DocumentStore-get-member-1-)\n\n\n\n**Signature:**\n```ts\nget(uri: string): T | null;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-getNormalizedUri-member-1-\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-getNormalizedUri-member-1-\"></a>\n\n#### [getNormalizedUri](#-vuedx-vue-virtual-textdocument-DocumentStore-getNormalizedUri-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected getNormalizedUri(uri: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-has-member-1-\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-has-member-1-\"></a>\n\n#### [has](#-vuedx-vue-virtual-textdocument-DocumentStore-has-member-1-)\n\n\n\n**Signature:**\n```ts\nhas(uri: string): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-set-member-1-\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-set-member-1-\"></a>\n\n#### [set](#-vuedx-vue-virtual-textdocument-DocumentStore-set-member-1-)\n\n\n\n**Signature:**\n```ts\nset(uri: string, document: T): void;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n| document | <code>T</code> | - |\n\n<br>\n</details>\n\n<br>\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-class\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-class\"></a>\n\n### [RenderFunctionTextDocument](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-class)\n\n\n\n<details><summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare class RenderFunctionTextDocument extends TransformedBlockTextDocument {\n  constructor(container: VueTextDocument, selector: Selector, transformed: TextDocument, source: TextDocument);\n  get ast(): CodegenResult['ast'] | undefined;\n  get contextCompletionsTriggerOffset(): number;\n  static create(options: CreateVirtualTextDocumentOptions): RenderFunctionTextDocument;\n  findExpression(offset: number, length: number): undefined | {\n        offset: number;\n        length: number;\n    };\n  protected generate(): string;\n  getAllGeneratedOffsetsAt(offset: number): undefined | Array<{\n        length: number;\n        offset: number;\n    }>;\n  getGeneratedOffsetAt(offset: number): undefined | {\n        length: number;\n        offset: number;\n    };\n  protected getKnownComponents(): Record<string, ComponentImport>;\n  getOriginalOffsetAt(offset: number): undefined | {\n        offset: number;\n        length: number;\n    };\n  isInGeneratedRange(offset: number): boolean;\n  isInTemplateIdentifierRange(offset: number): boolean;\n  get parserErrors(): CodegenResult['errors'];\n  get tagCompletionsTriggerOffset(): number;\n  toDisplayMappings(): string;\n  protected tryGenerate(): string;\n}\n```\n\n**Members:**\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-create-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-create-member-1-\"></a>\n\n#### [create](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-create-member-1-)\n\n\n\n**Signature:**\n```ts\nstatic create(options: CreateVirtualTextDocumentOptions): RenderFunctionTextDocument;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| options | <code><a href=\"#-vuedx-vue-virtual-textdocument--CreateVirtualTextDocumentOptions-interface\">CreateVirtualTextDocumentOptions</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-findExpression-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-findExpression-member-1-\"></a>\n\n#### [findExpression](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-findExpression-member-1-)\n\n\n\n**Signature:**\n```ts\nfindExpression(offset: number, length: number): undefined | {\n        offset: number;\n        length: number;\n    };\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n| length | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-generate-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-generate-member-1-\"></a>\n\n#### [generate](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-generate-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected generate(): string;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getAllGeneratedOffsetsAt-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getAllGeneratedOffsetsAt-member-1-\"></a>\n\n#### [getAllGeneratedOffsetsAt](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getAllGeneratedOffsetsAt-member-1-)\n\n\n\n**Signature:**\n```ts\ngetAllGeneratedOffsetsAt(offset: number): undefined | Array<{\n        length: number;\n        offset: number;\n    }>;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getGeneratedOffsetAt-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getGeneratedOffsetAt-member-1-\"></a>\n\n#### [getGeneratedOffsetAt](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getGeneratedOffsetAt-member-1-)\n\n\n\n**Signature:**\n```ts\ngetGeneratedOffsetAt(offset: number): undefined | {\n        length: number;\n        offset: number;\n    };\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getKnownComponents-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getKnownComponents-member-1-\"></a>\n\n#### [getKnownComponents](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getKnownComponents-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected getKnownComponents(): Record<string, ComponentImport>;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getOriginalOffsetAt-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getOriginalOffsetAt-member-1-\"></a>\n\n#### [getOriginalOffsetAt](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getOriginalOffsetAt-member-1-)\n\n\n\n**Signature:**\n```ts\ngetOriginalOffsetAt(offset: number): undefined | {\n        offset: number;\n        length: number;\n    };\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-isInGeneratedRange-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-isInGeneratedRange-member-1-\"></a>\n\n#### [isInGeneratedRange](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-isInGeneratedRange-member-1-)\n\n\n\n**Signature:**\n```ts\nisInGeneratedRange(offset: number): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-isInTemplateIdentifierRange-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-isInTemplateIdentifierRange-member-1-\"></a>\n\n#### [isInTemplateIdentifierRange](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-isInTemplateIdentifierRange-member-1-)\n\n\n\n**Signature:**\n```ts\nisInTemplateIdentifierRange(offset: number): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-toDisplayMappings-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-toDisplayMappings-member-1-\"></a>\n\n#### [toDisplayMappings](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-toDisplayMappings-member-1-)\n\n\n\n**Signature:**\n```ts\ntoDisplayMappings(): string;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-tryGenerate-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-tryGenerate-member-1-\"></a>\n\n#### [tryGenerate](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-tryGenerate-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected tryGenerate(): string;\n```\n\n\n<br>\n</details>\n\n<br>\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-class\" id=\"-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-class\"></a>\n\n### [TransformedBlockTextDocument](#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-class)\n\n\n\n<details><summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare class TransformedBlockTextDocument extends VirtualTextDocument {\n  protected constructor(container: VueTextDocument, selector: Selector, transformed: TextDocument, source: TextDocument | VirtualTextDocument, _transform: (document: TransformedBlockTextDocument) => BlockTransformResult);\n  static create(options: CreateTransformedBlockTextDocumentOptions): TransformedBlockTextDocument;\n  protected refresh(): void;\n  transform(): BlockTransformResult;\n  tryGetGeneratedOffset(offset: number): number | undefined;\n  tryGetSourceOffset(offset: number): number | undefined;\n}\n```\n\n**Members:**\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-create-member-1-\" id=\"-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-create-member-1-\"></a>\n\n#### [create](#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-create-member-1-)\n\n\n\n**Signature:**\n```ts\nstatic create(options: CreateTransformedBlockTextDocumentOptions): TransformedBlockTextDocument;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| options | <code><a href=\"#-vuedx-vue-virtual-textdocument--CreateTransformedBlockTextDocumentOptions-interface\">CreateTransformedBlockTextDocumentOptions</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-refresh-member-1-\" id=\"-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-refresh-member-1-\"></a>\n\n#### [refresh](#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-refresh-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected refresh(): void;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-transform-member-1-\" id=\"-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-transform-member-1-\"></a>\n\n#### [transform](#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-transform-member-1-)\n\n\n\n**Signature:**\n```ts\ntransform(): BlockTransformResult;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-tryGetGeneratedOffset-member-1-\" id=\"-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-tryGetGeneratedOffset-member-1-\"></a>\n\n#### [tryGetGeneratedOffset](#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-tryGetGeneratedOffset-member-1-)\n\n\n\n**Signature:**\n```ts\ntryGetGeneratedOffset(offset: number): number | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-tryGetSourceOffset-member-1-\" id=\"-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-tryGetSourceOffset-member-1-\"></a>\n\n#### [tryGetSourceOffset](#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-tryGetSourceOffset-member-1-)\n\n\n\n**Signature:**\n```ts\ntryGetSourceOffset(offset: number): number | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n</details>\n\n<br>\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VirtualTextDocument-class\" id=\"-vuedx-vue-virtual-textdocument-VirtualTextDocument-class\"></a>\n\n### [VirtualTextDocument](#-vuedx-vue-virtual-textdocument-VirtualTextDocument-class)\n\n\n\n<details><summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare class VirtualTextDocument extends ProxyTextDocument {\n  protected constructor(container: VueTextDocument, selector: Selector, doc: TextDocument);\n  readonly container: VueTextDocument;\n  static create(options: CreateVirtualTextDocumentOptions): VirtualTextDocument;\n  protected isDirty: boolean;\n  markDirty(): void;\n  protected refresh(): void;\n  readonly selector: Selector;\n}\n```\n\n**Members:**\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VirtualTextDocument-create-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VirtualTextDocument-create-member-1-\"></a>\n\n#### [create](#-vuedx-vue-virtual-textdocument-VirtualTextDocument-create-member-1-)\n\n\n\n**Signature:**\n```ts\nstatic create(options: CreateVirtualTextDocumentOptions): VirtualTextDocument;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| options | <code><a href=\"#-vuedx-vue-virtual-textdocument--CreateVirtualTextDocumentOptions-interface\">CreateVirtualTextDocumentOptions</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VirtualTextDocument-markDirty-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VirtualTextDocument-markDirty-member-1-\"></a>\n\n#### [markDirty](#-vuedx-vue-virtual-textdocument-VirtualTextDocument-markDirty-member-1-)\n\n\n\n**Signature:**\n```ts\nmarkDirty(): void;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VirtualTextDocument-refresh-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VirtualTextDocument-refresh-member-1-\"></a>\n\n#### [refresh](#-vuedx-vue-virtual-textdocument-VirtualTextDocument-refresh-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected refresh(): void;\n```\n\n\n<br>\n</details>\n\n<br>\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-class\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-class\"></a>\n\n### [VueTextDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-class)\n\n\n\n<details><summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare class VueTextDocument extends ProxyTextDocument {\n  constructor(doc: TextDocument, options?: VueTextDocumentOptions, parseOptions?: SFCParseOptions);\n  all(): VirtualTextDocument[];\n  blockAt(position: Position | number): SFCBlock | null | undefined;\n  static create(uri: string, languageId: string, version: number, content: string, options?: VueTextDocumentOptions, parseOptions?: SFCParseOptions): VueTextDocument;\n  protected createBlockDocument(selector: BlockSelector): VirtualTextDocument | undefined;\n  protected createInternalModuleDocument(): TransformedBlockTextDocument;\n  protected createModuleDocument(): TransformedBlockTextDocument;\n  protected createRenderDocument(): RenderFunctionTextDocument;\n  protected createTemplateASTDocument(): TransformedBlockTextDocument;\n  get descriptor(): SFCDescriptor;\n  documentAt(position: Position | number): VirtualTextDocument | undefined;\n  getBlock(selector: BlockSelector): SFCBlock | null | undefined;\n  getBlockSelector(block: SFCBlock): BlockSelector | undefined;\n  getDocument(selector: typeof RENDER_SELECTOR): RenderFunctionTextDocument;\n  getDocument(selector: SelectorLike): VirtualTextDocument;\n  getDocument(selector: string): VirtualTextDocument | undefined;\n  getDocumentFileName(selectorLike: SelectorLike): string;\n  protected getDocumentId(selector: Selector): string;\n  protected getDocumentLanguage(selector: Selector): string;\n  markDirty(): void;\n  readonly options: VueTextDocumentOptions;\n  protected parse(): void;\n  static update(document: VueTextDocument, changes: TextDocumentContentChangeEvent[], version: number): VueTextDocument;\n}\n```\n\n**Members:**\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-all-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-all-member-1-\"></a>\n\n#### [all](#-vuedx-vue-virtual-textdocument-VueTextDocument-all-member-1-)\n\n\n\n**Signature:**\n```ts\nall(): VirtualTextDocument[];\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-blockAt-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-blockAt-member-1-\"></a>\n\n#### [blockAt](#-vuedx-vue-virtual-textdocument-VueTextDocument-blockAt-member-1-)\n\n\n\n**Signature:**\n```ts\nblockAt(position: Position | number): SFCBlock | null | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| position | <code><a href=\"#vscode-languageserver-textdocument-Position-interface\">Position</a> &#124; number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-create-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-create-member-1-\"></a>\n\n#### [create](#-vuedx-vue-virtual-textdocument-VueTextDocument-create-member-1-)\n\n\n\n**Signature:**\n```ts\nstatic create(uri: string, languageId: string, version: number, content: string, options?: VueTextDocumentOptions, parseOptions?: SFCParseOptions): VueTextDocument;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n| languageId | <code>string</code> | - |\n| version | <code>number</code> | - |\n| content | <code>string</code> | - |\n| options | <code><a href=\"#-vuedx-vue-virtual-textdocument--VueTextDocumentOptions-interface\">VueTextDocumentOptions</a></code> | - |\n| parseOptions | <code><a href=\"#-vue-compiler-sfc-SFCParseOptions-interface\">SFCParseOptions</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-createBlockDocument-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-createBlockDocument-member-1-\"></a>\n\n#### [createBlockDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-createBlockDocument-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected createBlockDocument(selector: BlockSelector): VirtualTextDocument | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selector | <code><a href=\"#-vuedx-vue-virtual-textdocument--BlockSelector-type\">BlockSelector</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-createInternalModuleDocument-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-createInternalModuleDocument-member-1-\"></a>\n\n#### [createInternalModuleDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-createInternalModuleDocument-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected createInternalModuleDocument(): TransformedBlockTextDocument;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-createModuleDocument-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-createModuleDocument-member-1-\"></a>\n\n#### [createModuleDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-createModuleDocument-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected createModuleDocument(): TransformedBlockTextDocument;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-createRenderDocument-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-createRenderDocument-member-1-\"></a>\n\n#### [createRenderDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-createRenderDocument-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected createRenderDocument(): RenderFunctionTextDocument;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-createTemplateASTDocument-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-createTemplateASTDocument-member-1-\"></a>\n\n#### [createTemplateASTDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-createTemplateASTDocument-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected createTemplateASTDocument(): TransformedBlockTextDocument;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-documentAt-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-documentAt-member-1-\"></a>\n\n#### [documentAt](#-vuedx-vue-virtual-textdocument-VueTextDocument-documentAt-member-1-)\n\n\n\n**Signature:**\n```ts\ndocumentAt(position: Position | number): VirtualTextDocument | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| position | <code><a href=\"#vscode-languageserver-textdocument-Position-interface\">Position</a> &#124; number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getBlock-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getBlock-member-1-\"></a>\n\n#### [getBlock](#-vuedx-vue-virtual-textdocument-VueTextDocument-getBlock-member-1-)\n\n\n\n**Signature:**\n```ts\ngetBlock(selector: BlockSelector): SFCBlock | null | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selector | <code><a href=\"#-vuedx-vue-virtual-textdocument--BlockSelector-type\">BlockSelector</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getBlockSelector-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getBlockSelector-member-1-\"></a>\n\n#### [getBlockSelector](#-vuedx-vue-virtual-textdocument-VueTextDocument-getBlockSelector-member-1-)\n\n\n\n**Signature:**\n```ts\ngetBlockSelector(block: SFCBlock): BlockSelector | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| block | <code><a href=\"#-vue-compiler-sfc-SFCBlock-interface\">SFCBlock</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-1-\"></a>\n\n#### [getDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-1-)\n\n\n\n**Signature:**\n```ts\ngetDocument(selector: typeof RENDER_SELECTOR): RenderFunctionTextDocument;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selector | <code>typeof <a href=\"#-vuedx-vue-virtual-textdocument--RENDER-SELECTOR-var\">RENDER_SELECTOR</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-2-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-2-\"></a>\n\n#### [getDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-2-)\n\n\n\n**Signature:**\n```ts\ngetDocument(selector: SelectorLike): VirtualTextDocument;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selector | <code><a href=\"#-vuedx-vue-virtual-textdocument--SelectorLike-type\">SelectorLike</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-3-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-3-\"></a>\n\n#### [getDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-3-)\n\n\n\n**Signature:**\n```ts\ngetDocument(selector: string): VirtualTextDocument | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selector | <code>string</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentFileName-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentFileName-member-1-\"></a>\n\n#### [getDocumentFileName](#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentFileName-member-1-)\n\n\n\n**Signature:**\n```ts\ngetDocumentFileName(selectorLike: SelectorLike): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selectorLike | <code><a href=\"#-vuedx-vue-virtual-textdocument--SelectorLike-type\">SelectorLike</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentId-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentId-member-1-\"></a>\n\n#### [getDocumentId](#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentId-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected getDocumentId(selector: Selector): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selector | <code><a href=\"#-vuedx-vue-virtual-textdocument--Selector-type\">Selector</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentLanguage-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentLanguage-member-1-\"></a>\n\n#### [getDocumentLanguage](#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentLanguage-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected getDocumentLanguage(selector: Selector): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selector | <code><a href=\"#-vuedx-vue-virtual-textdocument--Selector-type\">Selector</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-markDirty-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-markDirty-member-1-\"></a>\n\n#### [markDirty](#-vuedx-vue-virtual-textdocument-VueTextDocument-markDirty-member-1-)\n\n\n\n**Signature:**\n```ts\nmarkDirty(): void;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-parse-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-parse-member-1-\"></a>\n\n#### [parse](#-vuedx-vue-virtual-textdocument-VueTextDocument-parse-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected parse(): void;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-update-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-update-member-1-\"></a>\n\n#### [update](#-vuedx-vue-virtual-textdocument-VueTextDocument-update-member-1-)\n\n\n\n**Signature:**\n```ts\nstatic update(document: VueTextDocument, changes: TextDocumentContentChangeEvent[], version: number): VueTextDocument;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| document | <code><a href=\"#-vuedx-vue-virtual-textdocument--VueTextDocument-class\">VueTextDocument</a></code> | - |\n| changes | <code><a href=\"#vscode-languageserver-textdocument-TextDocumentContentChangeEvent-type\">TextDocumentContentChangeEvent</a>[]</code> | - |\n| version | <code>number</code> | - |\n\n<br>\n</details>\n\n<br>\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-asFsPath-function-1-\" id=\"-vuedx-vue-virtual-textdocument-asFsPath-function-1-\"></a>\n\n### [asFsPath](#-vuedx-vue-virtual-textdocument-asFsPath-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function asFsPath(uri: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-asFsUri-function-1-\" id=\"-vuedx-vue-virtual-textdocument-asFsUri-function-1-\"></a>\n\n### [asFsUri](#-vuedx-vue-virtual-textdocument-asFsUri-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function asFsUri(fileName: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-asUri-function-1-\" id=\"-vuedx-vue-virtual-textdocument-asUri-function-1-\"></a>\n\n### [asUri](#-vuedx-vue-virtual-textdocument-asUri-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function asUri(fileNameOrUri: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileNameOrUri | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-basename-function-1-\" id=\"-vuedx-vue-virtual-textdocument-basename-function-1-\"></a>\n\n### [basename](#-vuedx-vue-virtual-textdocument-basename-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function basename(fileName: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-binarySearch-function-1-\" id=\"-vuedx-vue-virtual-textdocument-binarySearch-function-1-\"></a>\n\n### [binarySearch](#-vuedx-vue-virtual-textdocument-binarySearch-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function binarySearch<T>(array: T[], isMatch: (a: T) => number, returnMin?: boolean): T | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| array | <code>T[]</code> | - |\n| isMatch | <code>(a: T) => number</code> | - |\n| returnMin | <code>boolean</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-getBlockLanguage-function-1-\" id=\"-vuedx-vue-virtual-textdocument-getBlockLanguage-function-1-\"></a>\n\n### [getBlockLanguage](#-vuedx-vue-virtual-textdocument-getBlockLanguage-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function getBlockLanguage(block?: SFCBlock | null): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| block | <code><a href=\"#-vue-compiler-sfc-SFCBlock-interface\">SFCBlock</a> &#124; null</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-getContainingFile-function-1-\" id=\"-vuedx-vue-virtual-textdocument-getContainingFile-function-1-\"></a>\n\n### [getContainingFile](#-vuedx-vue-virtual-textdocument-getContainingFile-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function getContainingFile(fileName: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-getLanguageExtension-function-1-\" id=\"-vuedx-vue-virtual-textdocument-getLanguageExtension-function-1-\"></a>\n\n### [getLanguageExtension](#-vuedx-vue-virtual-textdocument-getLanguageExtension-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function getLanguageExtension(lang: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| lang | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-getLanguageIdFromExtension-function-1-\" id=\"-vuedx-vue-virtual-textdocument-getLanguageIdFromExtension-function-1-\"></a>\n\n### [getLanguageIdFromExtension](#-vuedx-vue-virtual-textdocument-getLanguageIdFromExtension-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function getLanguageIdFromExtension(ext: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| ext | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-isOffsetInBlock-function-1-\" id=\"-vuedx-vue-virtual-textdocument-isOffsetInBlock-function-1-\"></a>\n\n### [isOffsetInBlock](#-vuedx-vue-virtual-textdocument-isOffsetInBlock-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function isOffsetInBlock(offset: number, block?: SFCBlock | null): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n| block | <code><a href=\"#-vue-compiler-sfc-SFCBlock-interface\">SFCBlock</a> &#124; null</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-isVirtualFile-function-1-\" id=\"-vuedx-vue-virtual-textdocument-isVirtualFile-function-1-\"></a>\n\n### [isVirtualFile](#-vuedx-vue-virtual-textdocument-isVirtualFile-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function isVirtualFile(fileName: string): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-isVirtualFileOfType-function-1-\" id=\"-vuedx-vue-virtual-textdocument-isVirtualFileOfType-function-1-\"></a>\n\n### [isVirtualFileOfType](#-vuedx-vue-virtual-textdocument-isVirtualFileOfType-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function isVirtualFileOfType(fileName: string, type: '_render' | '_module' | '_internal' | 'script' | 'scriptSetup'): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n| type | <code>'_render' &#124; '_module' &#124; '_internal' &#124; 'script' &#124; 'scriptSetup'</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-isVueFile-function-1-\" id=\"-vuedx-vue-virtual-textdocument-isVueFile-function-1-\"></a>\n\n### [isVueFile](#-vuedx-vue-virtual-textdocument-isVueFile-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function isVueFile(fileName: string): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-parseVirtualFileName-function-1-\" id=\"-vuedx-vue-virtual-textdocument-parseVirtualFileName-function-1-\"></a>\n\n### [parseVirtualFileName](#-vuedx-vue-virtual-textdocument-parseVirtualFileName-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function parseVirtualFileName(fileName: string): {\n    uri: string;\n    selector: Selector;\n} | null;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-relativeVirtualImportPath-function-1-\" id=\"-vuedx-vue-virtual-textdocument-relativeVirtualImportPath-function-1-\"></a>\n\n### [relativeVirtualImportPath](#-vuedx-vue-virtual-textdocument-relativeVirtualImportPath-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function relativeVirtualImportPath(fileName: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-replaceSlashes-function-1-\" id=\"-vuedx-vue-virtual-textdocument-replaceSlashes-function-1-\"></a>\n\n### [replaceSlashes](#-vuedx-vue-virtual-textdocument-replaceSlashes-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function replaceSlashes(fileName: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n<!-- #region API-DOCS -->\n","readmeFilename":"readme.md","_id":"@vuedx/vue-virtual-textdocument@0.4.1-insiders-1609180156.0","_nodeVersion":"14.14.0","_npmVersion":"6.14.8","dist":{"integrity":"sha512-piEuLmVL/10zh6j2Aic4bZwS7JOepNkd5Iy/8alvuUaO4cjRxuDrD6qQMDxrmsggEMQz6XOcICtobvFb3uGpKA==","shasum":"612e9dc04d74159f6f06b93b01f7e86449857b2e","tarball":"https://registry.npmjs.org/@vuedx/vue-virtual-textdocument/-/vue-virtual-textdocument-0.4.1-insiders-1609180156.0.tgz","fileCount":8,"unpackedSize":293566,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJf6iQbCRA9TVsSAnZWagAACT8P/0bynXUcwjwCXz0Cb1Rj\nSu6KUpN2zVfUK8H27b7xMlrkyfd5Q7aMIkuTwGgY0Y8jKo6eQbUsWW/85Bf5\nlWfrlM7ThGe1FGpHWRqypCfgMIG2aLZDF6INN/JwhA4MOA49MSwQ16QYentK\nnPDXuL2J9lU0yPsmKf/FZRTem+yjbaQ88QRRpn+z7q14rLJ18bnrpLuso7Qw\nAOiNb6d37pQUNP9SfXd8XfpEQTj6flHlVHSB0uIQaTze+gJOVzBNDHtFhPP7\nlDbv+kJemXu9rrSGNBLPlEn93ZWSCRN1vT6Zlcryu05AnU6sBmmV8gKdU1Hx\n3MJrn2ffmnkfSDRzhXGznAb3UdyI7gkrtsmUUajVHaYboL4jSLLez762ry7s\nC8RTVDfCN5HOu5ijadqxSoIZfS3YiR5H8EO0Wn3J4DamDF9V5SFXnpuvfJ+j\naBqUwuqsqQ+8J2q+pQsqx5MmJPjbmKviGy8ubRx80Vcg2yKLGUirWEHHINzi\n83rz47WWdXa+wylTxOIkxezhiUU0RGOvRRH+0uK/2Vqk7aM5I14CmKg09kFN\nhA3E6xKw/lqsveARe023t9VOsHHFysE5D8C7/pdfPEu2UXIKTpBcjwe5iS00\nwF1wHKlbC7z1xzmRbRVljITY2FXbRL4HWAeMAf5qGjEJMAUZN5PIIJlRUjO5\nkuFz\r\n=febD\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCICc26YIKew0IYSu0t5OEwarzkJRyU3v/b885n4XB71EJAiEAg63qNT3Ndw7k40O2e6QKhH7768cwzLY7GYOvtWTgTY0="}]},"_npmUser":{"name":"znck","email":"rahulkdn@gmail.com"},"directories":{},"maintainers":[{"name":"znck","email":"rahulkdn@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/vue-virtual-textdocument_0.4.1-insiders-1609180156.0_1609180186592_0.5784964354331241"},"_hasShrinkwrap":false},"0.4.0":{"name":"@vuedx/vue-virtual-textdocument","version":"0.4.0","description":"An implementation of virtual filesystem for accessing blocks in a `.vue` file as independent files.","main":"dist/index.cjs.js","module":"dist/index.esm.js","types":"dist/index.d.ts","private":false,"scripts":{},"keywords":["vue","vue sfc","sfc","vue virtual files"],"repository":{"type":"git","url":"git+https://github.com/znck/vue-developer-experience.git"},"author":{"name":"Rahul Kadyan","email":"rahulkdn@gmail.com","url":"https://znck.me/"},"funding":{"type":"individual","url":"https://github.com/sponsors/znck"},"license":"MIT","bugs":{"url":"https://github.com/znck/vue-developer-experience/issues"},"homepage":"https://github.com/znck/vue-developer-experience#readme","dependencies":{"@vuedx/analyze":"0.4.0","@vuedx/compiler-sfc":"0.4.0","@vuedx/compiler-tsx":"0.4.0","source-map":"^0.6.1","vscode-languageserver-textdocument":"^1.0.1","vscode-uri":"^2.1.2"},"devDependencies":{"@vuedx/shared":"0.4.0","fast-glob":"^3.2.4","typescript":"^4.0.3"},"_id":"@vuedx/vue-virtual-textdocument@0.4.0","_nodeVersion":"14.14.0","_npmVersion":"6.14.8","dist":{"integrity":"sha512-z4yR5CTG3HtrctAPosbbI3+xldPGzJ4nJHXA7s4k60iIxKruLzlzWbjHtvl9VSekAzRcAr0slJifr5wE47L1QQ==","shasum":"e10bcff51f43f3f64790e39f09dfa767e91b8e16","tarball":"https://registry.npmjs.org/@vuedx/vue-virtual-textdocument/-/vue-virtual-textdocument-0.4.0.tgz","fileCount":8,"unpackedSize":293456,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJf6iQwCRA9TVsSAnZWagAAEw8P+wQpetDgie/Dx+eC1SSs\nutZgzdABCizePP+gtyaD5/zNoVW5xSfmzGnD32K6LpqOXxb/067yScmUexFx\nKjkQAHaWmSMp833AQ6HtfQdh+pLb8v2MUva17QHBXOQhYAi2g2AnDntL4syL\nOGdCKLaIGKW8djnpmzP7L3vxfz10yB8GJEoJNpl4yuRboJHOmkSaWl2N3JqB\nJnAfTiQcseEiULYhZDzyPQOrq9yJEVoeyP8w4cBcdTRlcqn9g8aZr8RdHgVu\nP9Svt/xPZKg/zerKyLUUz5rO4p7zcCj03EpMJvUGfeHbhstexo4BaV2NpEea\nLLvSsjYfBv0W0sUdIiB+0eE6QfJh+q+v+OmD6/Ye10HiS7JgeA9kw49ZrM3N\noKXK3jQQoQOLELXlo2fESlhWsjj+NakJcpnS0w/WxoyhkJLzwwFlTYmQIznH\n35uALV+9lTzsz18qBg8jr/JN7vPhjbHRcF0gdyblNIID1bxOi8xAzxeIMq9r\nNlJrgM7kJfEhzCvKqs0DMTjeg5KThcSK+8DrfnSzJNxnim44uqTIAK7jAFq0\n6FHxnwktgZdgDPhHpaTmW7WHhXTA5B8zs7+okvr4vdPszEcIv+8Tq7Ia5b5Y\nvPBPAe6hNepFbftXplEH20rskDYp5QiCrF83/zfSq6MacCLpf/sBpLwedz1z\nEMiS\r\n=3hy5\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCICPaw0VDEmkyXGGv2+uXy/XdRezH8t7nUTOAhxKDG/PNAiADpOigMo1oR52drOjOskOcsTj3htwV0PBbTX5pxyKfBg=="}]},"_npmUser":{"name":"znck","email":"rahulkdn@gmail.com"},"directories":{},"maintainers":[{"name":"znck","email":"rahulkdn@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/vue-virtual-textdocument_0.4.0_1609180207451_0.5932247759039384"},"_hasShrinkwrap":false},"0.4.1-insiders-1609336775.0":{"name":"@vuedx/vue-virtual-textdocument","version":"0.4.1-insiders-1609336775.0","description":"An implementation of virtual filesystem for accessing blocks in a `.vue` file as independent files.","main":"dist/index.cjs.js","module":"dist/index.esm.js","types":"dist/index.d.ts","private":false,"scripts":{},"keywords":["vue","vue sfc","sfc","vue virtual files"],"repository":{"type":"git","url":"git+https://github.com/znck/vue-developer-experience.git"},"author":{"name":"Rahul Kadyan","email":"rahulkdn@gmail.com","url":"https://znck.me/"},"funding":{"type":"individual","url":"https://github.com/sponsors/znck"},"license":"MIT","bugs":{"url":"https://github.com/znck/vue-developer-experience/issues"},"homepage":"https://github.com/znck/vue-developer-experience#readme","dependencies":{"@vuedx/analyze":"0.4.1-insiders-1609336775.0","@vuedx/compiler-sfc":"0.4.1-insiders-1609336775.0","@vuedx/compiler-tsx":"0.4.1-insiders-1609336775.0","source-map":"^0.6.1","vscode-languageserver-textdocument":"^1.0.1","vscode-uri":"^2.1.2"},"devDependencies":{"@vuedx/shared":"0.4.1-insiders-1609336775.0","fast-glob":"^3.2.4","typescript":"^4.0.3"},"readme":"# Vue Virtual TextDocument\n\nAn implementation of virtual filesystem for accessing blocks in a `.vue` file as independent files.\n\n## Support\n\nThis package is part of [VueDX project](https://github.com/znck/vue-developer-experience), maintained by [Rahul Kadyan](https://github.com/znck). You can [💖 sponsor him](https://github.com/sponsors/znck) for continued development of this package and other VueDX tools.\n\n```\nnpm add @vuedx/vue-virtual-textdocument\n```\n<!-- #region API-DOCS -->\n<!-- Do not edit this file. It is a report generated by [scripts/docgen.js](https://github.com/znck/vue-developer-experience/tree/master/scripts/docgen.js). -->\n\n## API\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-AsyncDocumentStore-class\" id=\"-vuedx-vue-virtual-textdocument-AsyncDocumentStore-class\"></a>\n\n### [AsyncDocumentStore](#-vuedx-vue-virtual-textdocument-AsyncDocumentStore-class)\n\n\n\n<details><summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare class AsyncDocumentStore<T> extends DocumentStore<T> {\n  constructor(resolve: (uri: string) => T | Promise<T | null> | null, normalize?: (uri: string) => string);\n  get(uri: string): T | null;\n  get(uri: string): Promise<T | null>;\n}\n```\n\n**Members:**\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-AsyncDocumentStore-get-member-1-\" id=\"-vuedx-vue-virtual-textdocument-AsyncDocumentStore-get-member-1-\"></a>\n\n#### [get](#-vuedx-vue-virtual-textdocument-AsyncDocumentStore-get-member-1-)\n\n\n\n**Signature:**\n```ts\nget(uri: string): T | null;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-AsyncDocumentStore-get-member-2-\" id=\"-vuedx-vue-virtual-textdocument-AsyncDocumentStore-get-member-2-\"></a>\n\n#### [get](#-vuedx-vue-virtual-textdocument-AsyncDocumentStore-get-member-2-)\n\n\n\n**Signature:**\n```ts\nget(uri: string): Promise<T | null>;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n\n<br>\n</details>\n\n<br>\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-class\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-class\"></a>\n\n### [DocumentStore](#-vuedx-vue-virtual-textdocument-DocumentStore-class)\n\n\n\n<details><summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare class DocumentStore<T> {\n  constructor(resolve: (uri: string) => T | null, normalize?: (uri: string) => string);\n  all(): string[];\n  delete(uri: string): boolean;\n  dispose(): void;\n  get(uri: string): T | null;\n  protected getNormalizedUri(uri: string): string;\n  has(uri: string): boolean;\n  protected map: Map<string, T>;\n  normalize: (uri: string) => string;\n  protected resolve: (uri: string) => T | null;\n  protected reverseUriMap: Map<string, string>;\n  set(uri: string, document: T): void;\n}\n```\n\n**Members:**\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-all-member-1-\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-all-member-1-\"></a>\n\n#### [all](#-vuedx-vue-virtual-textdocument-DocumentStore-all-member-1-)\n\n\n\n**Signature:**\n```ts\nall(): string[];\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-delete-member-1-\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-delete-member-1-\"></a>\n\n#### [delete](#-vuedx-vue-virtual-textdocument-DocumentStore-delete-member-1-)\n\n\n\n**Signature:**\n```ts\ndelete(uri: string): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-dispose-member-1-\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-dispose-member-1-\"></a>\n\n#### [dispose](#-vuedx-vue-virtual-textdocument-DocumentStore-dispose-member-1-)\n\n\n\n**Signature:**\n```ts\ndispose(): void;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-get-member-1-\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-get-member-1-\"></a>\n\n#### [get](#-vuedx-vue-virtual-textdocument-DocumentStore-get-member-1-)\n\n\n\n**Signature:**\n```ts\nget(uri: string): T | null;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-getNormalizedUri-member-1-\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-getNormalizedUri-member-1-\"></a>\n\n#### [getNormalizedUri](#-vuedx-vue-virtual-textdocument-DocumentStore-getNormalizedUri-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected getNormalizedUri(uri: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-has-member-1-\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-has-member-1-\"></a>\n\n#### [has](#-vuedx-vue-virtual-textdocument-DocumentStore-has-member-1-)\n\n\n\n**Signature:**\n```ts\nhas(uri: string): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-set-member-1-\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-set-member-1-\"></a>\n\n#### [set](#-vuedx-vue-virtual-textdocument-DocumentStore-set-member-1-)\n\n\n\n**Signature:**\n```ts\nset(uri: string, document: T): void;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n| document | <code>T</code> | - |\n\n<br>\n</details>\n\n<br>\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-class\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-class\"></a>\n\n### [RenderFunctionTextDocument](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-class)\n\n\n\n<details><summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare class RenderFunctionTextDocument extends TransformedBlockTextDocument {\n  constructor(container: VueTextDocument, selector: Selector, transformed: TextDocument, source: TextDocument);\n  get ast(): CodegenResult['ast'] | undefined;\n  get contextCompletionsTriggerOffset(): number;\n  static create(options: CreateVirtualTextDocumentOptions): RenderFunctionTextDocument;\n  findExpression(offset: number, length: number): undefined | {\n        offset: number;\n        length: number;\n    };\n  protected generate(): string;\n  getAllGeneratedOffsetsAt(offset: number): undefined | Array<{\n        length: number;\n        offset: number;\n    }>;\n  getGeneratedOffsetAt(offset: number): undefined | {\n        length: number;\n        offset: number;\n    };\n  protected getKnownComponents(): Record<string, ComponentImport>;\n  getOriginalOffsetAt(offset: number): undefined | {\n        offset: number;\n        length: number;\n    };\n  isInGeneratedRange(offset: number): boolean;\n  isInTemplateIdentifierRange(offset: number): boolean;\n  get parserErrors(): CodegenResult['errors'];\n  get tagCompletionsTriggerOffset(): number;\n  toDisplayMappings(): string;\n  protected tryGenerate(): string;\n}\n```\n\n**Members:**\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-create-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-create-member-1-\"></a>\n\n#### [create](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-create-member-1-)\n\n\n\n**Signature:**\n```ts\nstatic create(options: CreateVirtualTextDocumentOptions): RenderFunctionTextDocument;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| options | <code><a href=\"#-vuedx-vue-virtual-textdocument--CreateVirtualTextDocumentOptions-interface\">CreateVirtualTextDocumentOptions</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-findExpression-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-findExpression-member-1-\"></a>\n\n#### [findExpression](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-findExpression-member-1-)\n\n\n\n**Signature:**\n```ts\nfindExpression(offset: number, length: number): undefined | {\n        offset: number;\n        length: number;\n    };\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n| length | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-generate-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-generate-member-1-\"></a>\n\n#### [generate](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-generate-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected generate(): string;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getAllGeneratedOffsetsAt-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getAllGeneratedOffsetsAt-member-1-\"></a>\n\n#### [getAllGeneratedOffsetsAt](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getAllGeneratedOffsetsAt-member-1-)\n\n\n\n**Signature:**\n```ts\ngetAllGeneratedOffsetsAt(offset: number): undefined | Array<{\n        length: number;\n        offset: number;\n    }>;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getGeneratedOffsetAt-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getGeneratedOffsetAt-member-1-\"></a>\n\n#### [getGeneratedOffsetAt](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getGeneratedOffsetAt-member-1-)\n\n\n\n**Signature:**\n```ts\ngetGeneratedOffsetAt(offset: number): undefined | {\n        length: number;\n        offset: number;\n    };\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getKnownComponents-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getKnownComponents-member-1-\"></a>\n\n#### [getKnownComponents](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getKnownComponents-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected getKnownComponents(): Record<string, ComponentImport>;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getOriginalOffsetAt-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getOriginalOffsetAt-member-1-\"></a>\n\n#### [getOriginalOffsetAt](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getOriginalOffsetAt-member-1-)\n\n\n\n**Signature:**\n```ts\ngetOriginalOffsetAt(offset: number): undefined | {\n        offset: number;\n        length: number;\n    };\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-isInGeneratedRange-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-isInGeneratedRange-member-1-\"></a>\n\n#### [isInGeneratedRange](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-isInGeneratedRange-member-1-)\n\n\n\n**Signature:**\n```ts\nisInGeneratedRange(offset: number): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-isInTemplateIdentifierRange-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-isInTemplateIdentifierRange-member-1-\"></a>\n\n#### [isInTemplateIdentifierRange](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-isInTemplateIdentifierRange-member-1-)\n\n\n\n**Signature:**\n```ts\nisInTemplateIdentifierRange(offset: number): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-toDisplayMappings-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-toDisplayMappings-member-1-\"></a>\n\n#### [toDisplayMappings](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-toDisplayMappings-member-1-)\n\n\n\n**Signature:**\n```ts\ntoDisplayMappings(): string;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-tryGenerate-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-tryGenerate-member-1-\"></a>\n\n#### [tryGenerate](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-tryGenerate-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected tryGenerate(): string;\n```\n\n\n<br>\n</details>\n\n<br>\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-class\" id=\"-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-class\"></a>\n\n### [TransformedBlockTextDocument](#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-class)\n\n\n\n<details><summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare class TransformedBlockTextDocument extends VirtualTextDocument {\n  protected constructor(container: VueTextDocument, selector: Selector, transformed: TextDocument, source: TextDocument | VirtualTextDocument, _transform: (document: TransformedBlockTextDocument) => BlockTransformResult);\n  static create(options: CreateTransformedBlockTextDocumentOptions): TransformedBlockTextDocument;\n  protected refresh(): void;\n  transform(): BlockTransformResult;\n  tryGetGeneratedOffset(offset: number): number | undefined;\n  tryGetSourceOffset(offset: number): number | undefined;\n}\n```\n\n**Members:**\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-create-member-1-\" id=\"-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-create-member-1-\"></a>\n\n#### [create](#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-create-member-1-)\n\n\n\n**Signature:**\n```ts\nstatic create(options: CreateTransformedBlockTextDocumentOptions): TransformedBlockTextDocument;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| options | <code><a href=\"#-vuedx-vue-virtual-textdocument--CreateTransformedBlockTextDocumentOptions-interface\">CreateTransformedBlockTextDocumentOptions</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-refresh-member-1-\" id=\"-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-refresh-member-1-\"></a>\n\n#### [refresh](#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-refresh-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected refresh(): void;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-transform-member-1-\" id=\"-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-transform-member-1-\"></a>\n\n#### [transform](#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-transform-member-1-)\n\n\n\n**Signature:**\n```ts\ntransform(): BlockTransformResult;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-tryGetGeneratedOffset-member-1-\" id=\"-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-tryGetGeneratedOffset-member-1-\"></a>\n\n#### [tryGetGeneratedOffset](#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-tryGetGeneratedOffset-member-1-)\n\n\n\n**Signature:**\n```ts\ntryGetGeneratedOffset(offset: number): number | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-tryGetSourceOffset-member-1-\" id=\"-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-tryGetSourceOffset-member-1-\"></a>\n\n#### [tryGetSourceOffset](#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-tryGetSourceOffset-member-1-)\n\n\n\n**Signature:**\n```ts\ntryGetSourceOffset(offset: number): number | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n</details>\n\n<br>\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VirtualTextDocument-class\" id=\"-vuedx-vue-virtual-textdocument-VirtualTextDocument-class\"></a>\n\n### [VirtualTextDocument](#-vuedx-vue-virtual-textdocument-VirtualTextDocument-class)\n\n\n\n<details><summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare class VirtualTextDocument extends ProxyTextDocument {\n  protected constructor(container: VueTextDocument, selector: Selector, doc: TextDocument);\n  readonly container: VueTextDocument;\n  static create(options: CreateVirtualTextDocumentOptions): VirtualTextDocument;\n  protected isDirty: boolean;\n  markDirty(): void;\n  protected refresh(): void;\n  readonly selector: Selector;\n}\n```\n\n**Members:**\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VirtualTextDocument-create-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VirtualTextDocument-create-member-1-\"></a>\n\n#### [create](#-vuedx-vue-virtual-textdocument-VirtualTextDocument-create-member-1-)\n\n\n\n**Signature:**\n```ts\nstatic create(options: CreateVirtualTextDocumentOptions): VirtualTextDocument;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| options | <code><a href=\"#-vuedx-vue-virtual-textdocument--CreateVirtualTextDocumentOptions-interface\">CreateVirtualTextDocumentOptions</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VirtualTextDocument-markDirty-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VirtualTextDocument-markDirty-member-1-\"></a>\n\n#### [markDirty](#-vuedx-vue-virtual-textdocument-VirtualTextDocument-markDirty-member-1-)\n\n\n\n**Signature:**\n```ts\nmarkDirty(): void;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VirtualTextDocument-refresh-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VirtualTextDocument-refresh-member-1-\"></a>\n\n#### [refresh](#-vuedx-vue-virtual-textdocument-VirtualTextDocument-refresh-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected refresh(): void;\n```\n\n\n<br>\n</details>\n\n<br>\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-class\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-class\"></a>\n\n### [VueTextDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-class)\n\n\n\n<details><summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare class VueTextDocument extends ProxyTextDocument {\n  constructor(doc: TextDocument, options?: VueTextDocumentOptions, parseOptions?: SFCParseOptions);\n  all(): VirtualTextDocument[];\n  blockAt(position: Position | number): SFCBlock | null | undefined;\n  static create(uri: string, languageId: string, version: number, content: string, options?: VueTextDocumentOptions, parseOptions?: SFCParseOptions): VueTextDocument;\n  protected createBlockDocument(selector: BlockSelector): VirtualTextDocument | undefined;\n  protected createInternalModuleDocument(): TransformedBlockTextDocument;\n  protected createModuleDocument(): TransformedBlockTextDocument;\n  protected createRenderDocument(): RenderFunctionTextDocument;\n  protected createTemplateASTDocument(): TransformedBlockTextDocument;\n  get descriptor(): SFCDescriptor;\n  documentAt(position: Position | number): VirtualTextDocument | undefined;\n  getBlock(selector: BlockSelector): SFCBlock | null | undefined;\n  getBlockSelector(block: SFCBlock): BlockSelector | undefined;\n  getDocument(selector: typeof RENDER_SELECTOR): RenderFunctionTextDocument;\n  getDocument(selector: SelectorLike): VirtualTextDocument;\n  getDocument(selector: string): VirtualTextDocument | undefined;\n  getDocumentFileName(selectorLike: SelectorLike): string;\n  protected getDocumentId(selector: Selector): string;\n  protected getDocumentLanguage(selector: Selector): string;\n  markDirty(): void;\n  readonly options: VueTextDocumentOptions;\n  protected parse(): void;\n  static update(document: VueTextDocument, changes: TextDocumentContentChangeEvent[], version: number): VueTextDocument;\n}\n```\n\n**Members:**\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-all-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-all-member-1-\"></a>\n\n#### [all](#-vuedx-vue-virtual-textdocument-VueTextDocument-all-member-1-)\n\n\n\n**Signature:**\n```ts\nall(): VirtualTextDocument[];\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-blockAt-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-blockAt-member-1-\"></a>\n\n#### [blockAt](#-vuedx-vue-virtual-textdocument-VueTextDocument-blockAt-member-1-)\n\n\n\n**Signature:**\n```ts\nblockAt(position: Position | number): SFCBlock | null | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| position | <code><a href=\"#vscode-languageserver-textdocument-Position-interface\">Position</a> &#124; number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-create-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-create-member-1-\"></a>\n\n#### [create](#-vuedx-vue-virtual-textdocument-VueTextDocument-create-member-1-)\n\n\n\n**Signature:**\n```ts\nstatic create(uri: string, languageId: string, version: number, content: string, options?: VueTextDocumentOptions, parseOptions?: SFCParseOptions): VueTextDocument;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n| languageId | <code>string</code> | - |\n| version | <code>number</code> | - |\n| content | <code>string</code> | - |\n| options | <code><a href=\"#-vuedx-vue-virtual-textdocument--VueTextDocumentOptions-interface\">VueTextDocumentOptions</a></code> | - |\n| parseOptions | <code><a href=\"#-vue-compiler-sfc-SFCParseOptions-interface\">SFCParseOptions</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-createBlockDocument-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-createBlockDocument-member-1-\"></a>\n\n#### [createBlockDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-createBlockDocument-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected createBlockDocument(selector: BlockSelector): VirtualTextDocument | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selector | <code><a href=\"#-vuedx-vue-virtual-textdocument--BlockSelector-type\">BlockSelector</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-createInternalModuleDocument-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-createInternalModuleDocument-member-1-\"></a>\n\n#### [createInternalModuleDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-createInternalModuleDocument-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected createInternalModuleDocument(): TransformedBlockTextDocument;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-createModuleDocument-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-createModuleDocument-member-1-\"></a>\n\n#### [createModuleDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-createModuleDocument-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected createModuleDocument(): TransformedBlockTextDocument;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-createRenderDocument-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-createRenderDocument-member-1-\"></a>\n\n#### [createRenderDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-createRenderDocument-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected createRenderDocument(): RenderFunctionTextDocument;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-createTemplateASTDocument-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-createTemplateASTDocument-member-1-\"></a>\n\n#### [createTemplateASTDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-createTemplateASTDocument-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected createTemplateASTDocument(): TransformedBlockTextDocument;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-documentAt-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-documentAt-member-1-\"></a>\n\n#### [documentAt](#-vuedx-vue-virtual-textdocument-VueTextDocument-documentAt-member-1-)\n\n\n\n**Signature:**\n```ts\ndocumentAt(position: Position | number): VirtualTextDocument | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| position | <code><a href=\"#vscode-languageserver-textdocument-Position-interface\">Position</a> &#124; number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getBlock-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getBlock-member-1-\"></a>\n\n#### [getBlock](#-vuedx-vue-virtual-textdocument-VueTextDocument-getBlock-member-1-)\n\n\n\n**Signature:**\n```ts\ngetBlock(selector: BlockSelector): SFCBlock | null | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selector | <code><a href=\"#-vuedx-vue-virtual-textdocument--BlockSelector-type\">BlockSelector</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getBlockSelector-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getBlockSelector-member-1-\"></a>\n\n#### [getBlockSelector](#-vuedx-vue-virtual-textdocument-VueTextDocument-getBlockSelector-member-1-)\n\n\n\n**Signature:**\n```ts\ngetBlockSelector(block: SFCBlock): BlockSelector | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| block | <code><a href=\"#-vue-compiler-sfc-SFCBlock-interface\">SFCBlock</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-1-\"></a>\n\n#### [getDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-1-)\n\n\n\n**Signature:**\n```ts\ngetDocument(selector: typeof RENDER_SELECTOR): RenderFunctionTextDocument;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selector | <code>typeof <a href=\"#-vuedx-vue-virtual-textdocument--RENDER-SELECTOR-var\">RENDER_SELECTOR</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-2-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-2-\"></a>\n\n#### [getDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-2-)\n\n\n\n**Signature:**\n```ts\ngetDocument(selector: SelectorLike): VirtualTextDocument;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selector | <code><a href=\"#-vuedx-vue-virtual-textdocument--SelectorLike-type\">SelectorLike</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-3-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-3-\"></a>\n\n#### [getDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-3-)\n\n\n\n**Signature:**\n```ts\ngetDocument(selector: string): VirtualTextDocument | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selector | <code>string</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentFileName-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentFileName-member-1-\"></a>\n\n#### [getDocumentFileName](#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentFileName-member-1-)\n\n\n\n**Signature:**\n```ts\ngetDocumentFileName(selectorLike: SelectorLike): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selectorLike | <code><a href=\"#-vuedx-vue-virtual-textdocument--SelectorLike-type\">SelectorLike</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentId-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentId-member-1-\"></a>\n\n#### [getDocumentId](#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentId-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected getDocumentId(selector: Selector): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selector | <code><a href=\"#-vuedx-vue-virtual-textdocument--Selector-type\">Selector</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentLanguage-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentLanguage-member-1-\"></a>\n\n#### [getDocumentLanguage](#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentLanguage-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected getDocumentLanguage(selector: Selector): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selector | <code><a href=\"#-vuedx-vue-virtual-textdocument--Selector-type\">Selector</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-markDirty-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-markDirty-member-1-\"></a>\n\n#### [markDirty](#-vuedx-vue-virtual-textdocument-VueTextDocument-markDirty-member-1-)\n\n\n\n**Signature:**\n```ts\nmarkDirty(): void;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-parse-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-parse-member-1-\"></a>\n\n#### [parse](#-vuedx-vue-virtual-textdocument-VueTextDocument-parse-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected parse(): void;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-update-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-update-member-1-\"></a>\n\n#### [update](#-vuedx-vue-virtual-textdocument-VueTextDocument-update-member-1-)\n\n\n\n**Signature:**\n```ts\nstatic update(document: VueTextDocument, changes: TextDocumentContentChangeEvent[], version: number): VueTextDocument;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| document | <code><a href=\"#-vuedx-vue-virtual-textdocument--VueTextDocument-class\">VueTextDocument</a></code> | - |\n| changes | <code><a href=\"#vscode-languageserver-textdocument-TextDocumentContentChangeEvent-type\">TextDocumentContentChangeEvent</a>[]</code> | - |\n| version | <code>number</code> | - |\n\n<br>\n</details>\n\n<br>\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-asFsPath-function-1-\" id=\"-vuedx-vue-virtual-textdocument-asFsPath-function-1-\"></a>\n\n### [asFsPath](#-vuedx-vue-virtual-textdocument-asFsPath-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function asFsPath(uri: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-asFsUri-function-1-\" id=\"-vuedx-vue-virtual-textdocument-asFsUri-function-1-\"></a>\n\n### [asFsUri](#-vuedx-vue-virtual-textdocument-asFsUri-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function asFsUri(fileName: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-asUri-function-1-\" id=\"-vuedx-vue-virtual-textdocument-asUri-function-1-\"></a>\n\n### [asUri](#-vuedx-vue-virtual-textdocument-asUri-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function asUri(fileNameOrUri: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileNameOrUri | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-basename-function-1-\" id=\"-vuedx-vue-virtual-textdocument-basename-function-1-\"></a>\n\n### [basename](#-vuedx-vue-virtual-textdocument-basename-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function basename(fileName: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-binarySearch-function-1-\" id=\"-vuedx-vue-virtual-textdocument-binarySearch-function-1-\"></a>\n\n### [binarySearch](#-vuedx-vue-virtual-textdocument-binarySearch-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function binarySearch<T>(array: T[], isMatch: (a: T) => number, returnMin?: boolean): T | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| array | <code>T[]</code> | - |\n| isMatch | <code>(a: T) => number</code> | - |\n| returnMin | <code>boolean</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-getBlockLanguage-function-1-\" id=\"-vuedx-vue-virtual-textdocument-getBlockLanguage-function-1-\"></a>\n\n### [getBlockLanguage](#-vuedx-vue-virtual-textdocument-getBlockLanguage-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function getBlockLanguage(block?: SFCBlock | null): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| block | <code><a href=\"#-vue-compiler-sfc-SFCBlock-interface\">SFCBlock</a> &#124; null</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-getContainingFile-function-1-\" id=\"-vuedx-vue-virtual-textdocument-getContainingFile-function-1-\"></a>\n\n### [getContainingFile](#-vuedx-vue-virtual-textdocument-getContainingFile-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function getContainingFile(fileName: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-getLanguageExtension-function-1-\" id=\"-vuedx-vue-virtual-textdocument-getLanguageExtension-function-1-\"></a>\n\n### [getLanguageExtension](#-vuedx-vue-virtual-textdocument-getLanguageExtension-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function getLanguageExtension(lang: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| lang | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-getLanguageIdFromExtension-function-1-\" id=\"-vuedx-vue-virtual-textdocument-getLanguageIdFromExtension-function-1-\"></a>\n\n### [getLanguageIdFromExtension](#-vuedx-vue-virtual-textdocument-getLanguageIdFromExtension-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function getLanguageIdFromExtension(ext: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| ext | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-isOffsetInBlock-function-1-\" id=\"-vuedx-vue-virtual-textdocument-isOffsetInBlock-function-1-\"></a>\n\n### [isOffsetInBlock](#-vuedx-vue-virtual-textdocument-isOffsetInBlock-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function isOffsetInBlock(offset: number, block?: SFCBlock | null): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n| block | <code><a href=\"#-vue-compiler-sfc-SFCBlock-interface\">SFCBlock</a> &#124; null</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-isVirtualFile-function-1-\" id=\"-vuedx-vue-virtual-textdocument-isVirtualFile-function-1-\"></a>\n\n### [isVirtualFile](#-vuedx-vue-virtual-textdocument-isVirtualFile-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function isVirtualFile(fileName: string): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-isVirtualFileOfType-function-1-\" id=\"-vuedx-vue-virtual-textdocument-isVirtualFileOfType-function-1-\"></a>\n\n### [isVirtualFileOfType](#-vuedx-vue-virtual-textdocument-isVirtualFileOfType-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function isVirtualFileOfType(fileName: string, type: '_render' | '_module' | '_internal' | 'script' | 'scriptSetup'): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n| type | <code>'_render' &#124; '_module' &#124; '_internal' &#124; 'script' &#124; 'scriptSetup'</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-isVueFile-function-1-\" id=\"-vuedx-vue-virtual-textdocument-isVueFile-function-1-\"></a>\n\n### [isVueFile](#-vuedx-vue-virtual-textdocument-isVueFile-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function isVueFile(fileName: string): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-parseVirtualFileName-function-1-\" id=\"-vuedx-vue-virtual-textdocument-parseVirtualFileName-function-1-\"></a>\n\n### [parseVirtualFileName](#-vuedx-vue-virtual-textdocument-parseVirtualFileName-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function parseVirtualFileName(fileName: string): {\n    uri: string;\n    selector: Selector;\n} | null;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-relativeVirtualImportPath-function-1-\" id=\"-vuedx-vue-virtual-textdocument-relativeVirtualImportPath-function-1-\"></a>\n\n### [relativeVirtualImportPath](#-vuedx-vue-virtual-textdocument-relativeVirtualImportPath-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function relativeVirtualImportPath(fileName: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-replaceSlashes-function-1-\" id=\"-vuedx-vue-virtual-textdocument-replaceSlashes-function-1-\"></a>\n\n### [replaceSlashes](#-vuedx-vue-virtual-textdocument-replaceSlashes-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function replaceSlashes(fileName: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n<!-- #region API-DOCS -->\n","readmeFilename":"readme.md","_id":"@vuedx/vue-virtual-textdocument@0.4.1-insiders-1609336775.0","_nodeVersion":"14.14.0","_npmVersion":"6.14.8","dist":{"integrity":"sha512-ogmR3xDXIg5HLgXNvlBg4ZHHXRECQX5BoG1LtVWtH/VFTvbZOX0fpOBm/bH1QcXp1PkdbJqKzEGLCk22KP8n6g==","shasum":"cb9882fa2ad7bf784766b9279c8a5466fb07758f","tarball":"https://registry.npmjs.org/@vuedx/vue-virtual-textdocument/-/vue-virtual-textdocument-0.4.1-insiders-1609336775.0.tgz","fileCount":8,"unpackedSize":293566,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJf7IflCRA9TVsSAnZWagAAZX0QAKGcpxANwY2zeVhqDUh/\nZ+j5LqrQOA4bHcLV6vu7QYxcS0v+67a1fdGUfYy2jBSNtQH6sNkkIjqwW4b0\nGLkJSgpJbajZyEo8QyS/zy0rVrYmFmCpErIa2xMzS/ozmKFBV7k5czQPlgSu\n0xqwktSWklvR+wJoHtvgodBrkxStkGtqGSxySk4D3GK3ZH1C/dfpwo5g32d3\nr4tcStyojm9hinTvPA4eBysq/fO3WC22esMErB/f3kc+L35TS4sZYVTSg6dd\nxrUCh+LRhpQkzZU90aqiitfm1udPsU45zAx6TY0aiilDu/jPj/zYEl08tuD9\nTVz3o3kIIMnFOLKjmcQ8A2Aw7QZjnS6McuGoSlPN8r8RNtAocycdGQWjbkv1\n9coxVrIPdQoMWj3TC3H6aGpsJwIb76fcpfyZ8gDmz8sNpVppuahjqeUpJxIf\nvBRaMMrd00iDCxHfrSEWHGCaper9C1poaaA7GBirK+u/VqpOJ0jzzK6hPrKz\nSu9y2c+o63BuA3a4L4NZgyyf7ccepiKnQwX/lhRiPJm0a0bHZ2l2Kj2kl+6m\nKekwwWU5tmasW1caj6qPH1UEvQlzyJTqSjBN9Mq5C43hvOV5SH8ao/LfyujL\ng4okoo0+nd7tnUFon2rcrkyAZtDIeAsnmDQLLrSoKuXHTOmKmvb9p0BKb46O\nb7tk\r\n=u1jv\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIAGVQoyK/i4Jpw63i5l3HgiIBcSIWNmn38tXi7yZqlFAAiEAnjw+AoUORKp5h9/qRDQwrtmUmyJQ6E3o8NGjIVRdnnQ="}]},"_npmUser":{"name":"znck","email":"rahulkdn@gmail.com"},"directories":{},"maintainers":[{"name":"znck","email":"rahulkdn@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/vue-virtual-textdocument_0.4.1-insiders-1609336775.0_1609336805151_0.4035271501870439"},"_hasShrinkwrap":false},"0.4.1":{"name":"@vuedx/vue-virtual-textdocument","version":"0.4.1","description":"An implementation of virtual filesystem for accessing blocks in a `.vue` file as independent files.","main":"dist/index.cjs.js","module":"dist/index.esm.js","types":"dist/index.d.ts","private":false,"scripts":{},"keywords":["vue","vue sfc","sfc","vue virtual files"],"repository":{"type":"git","url":"git+https://github.com/znck/vue-developer-experience.git"},"author":{"name":"Rahul Kadyan","email":"rahulkdn@gmail.com","url":"https://znck.me/"},"funding":{"type":"individual","url":"https://github.com/sponsors/znck"},"license":"MIT","bugs":{"url":"https://github.com/znck/vue-developer-experience/issues"},"homepage":"https://github.com/znck/vue-developer-experience#readme","dependencies":{"@vuedx/analyze":"0.4.1","@vuedx/compiler-sfc":"0.4.1","@vuedx/compiler-tsx":"0.4.1","source-map":"^0.6.1","vscode-languageserver-textdocument":"^1.0.1","vscode-uri":"^2.1.2"},"devDependencies":{"@vuedx/shared":"0.4.1","fast-glob":"^3.2.4","typescript":"^4.0.3"},"_id":"@vuedx/vue-virtual-textdocument@0.4.1","_nodeVersion":"14.14.0","_npmVersion":"6.14.8","dist":{"integrity":"sha512-uyBXaf3/Y2QdssfLG1hmQKbSD/2tYM2eeeHKK56Klz1RzkRBxBAP0rkKS/riHzDZfVuHQ6QP4qa4QpTSav5RGQ==","shasum":"6d61dce6f71c71357ac3e9b5fc3b8d33e5fd4ea2","tarball":"https://registry.npmjs.org/@vuedx/vue-virtual-textdocument/-/vue-virtual-textdocument-0.4.1.tgz","fileCount":8,"unpackedSize":293456,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJf7IhGCRA9TVsSAnZWagAAI4gP/0ZsfEovQ0QN5o/IOmfD\nSy07pF0ie2UlU+T3t/3RyBbgWl2AeftmyejZ3zgAlRKQfFVb6YGKhQIofxhh\nWapoy8Cc+KYgKYaJhDHWxdDmPhWXmo2YqpQcQWf1JuYDJA2U5LzE857I5B6S\nOOUeaDNZcKZ50IYmEpV7dCS/1cPNvyawIadDE0CsdVZ/CsTTfZPmkkuH+5tT\nc1mvUnSa92lpUuSyePaz22qUuAcYwU/DcLYzka4oC2BNHTYe4ASSH+L4LVsp\ngqKRO26HiasiSNEayAf3j2rQAJguOrCU5RryIsUIXftx0WhEBPASZFd6KyYd\nLWkVvwSL4jKz3ghUS2S+p+CdT5qXwldt7oMqfTeOqBWnropPUK5G7ldGvvGx\nRc8l4jRRUK8Wu1oNeHZkH0fo/LDwyoZb0DiyVyO5uDBbqEwesIgnohga1iIs\n/P8wWSXHbRy54VzEpnMqNjru2CHTBGZKJTiMXorsLrMTJU2kexG4cDMDWG48\ndTEOPpM0lJSlS9nbegnbV8bU5hMf3y05xHO2oPsz7D0YR6qUMXRkbS7gLj7v\nB3RCh1VAIJPXWXkvAI2guj1J3iZiiNdWaLkcY3/XL1hhCFbDGyGswmfpo/L5\nuWewmtwbwxSVVeWfV3iD1Nvk74j9Ms3yIBjnT4k6EmVG8OHm67qhRYuOaKvc\nU2Hs\r\n=F7nl\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEMCIBMOdeMxYNordTsIHnsnifmVHBU4l1Wx1iUCq/m29K/MAh842+wNoKwbA6wXpXGMY125cJP01zSd3VS/18rW8BBL"}]},"_npmUser":{"name":"znck","email":"rahulkdn@gmail.com"},"directories":{},"maintainers":[{"name":"znck","email":"rahulkdn@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/vue-virtual-textdocument_0.4.1_1609336901821_0.8204712503250062"},"_hasShrinkwrap":false},"0.4.2-insiders-1609376449.0":{"name":"@vuedx/vue-virtual-textdocument","version":"0.4.2-insiders-1609376449.0","description":"An implementation of virtual filesystem for accessing blocks in a `.vue` file as independent files.","main":"dist/index.cjs.js","module":"dist/index.esm.js","types":"dist/index.d.ts","private":false,"scripts":{},"keywords":["vue","vue sfc","sfc","vue virtual files"],"repository":{"type":"git","url":"git+https://github.com/znck/vue-developer-experience.git"},"author":{"name":"Rahul Kadyan","email":"rahulkdn@gmail.com","url":"https://znck.me/"},"funding":{"type":"individual","url":"https://github.com/sponsors/znck"},"license":"MIT","bugs":{"url":"https://github.com/znck/vue-developer-experience/issues"},"homepage":"https://github.com/znck/vue-developer-experience#readme","dependencies":{"@vuedx/analyze":"0.4.2-insiders-1609376449.0","@vuedx/compiler-sfc":"0.4.2-insiders-1609376449.0","@vuedx/compiler-tsx":"0.4.2-insiders-1609376449.0","source-map":"^0.6.1","vscode-languageserver-textdocument":"^1.0.1","vscode-uri":"^2.1.2"},"devDependencies":{"@vuedx/shared":"0.4.2-insiders-1609376449.0","fast-glob":"^3.2.4","typescript":"^4.0.3"},"readme":"# Vue Virtual TextDocument\n\nAn implementation of virtual filesystem for accessing blocks in a `.vue` file as independent files.\n\n## Support\n\nThis package is part of [VueDX project](https://github.com/znck/vue-developer-experience), maintained by [Rahul Kadyan](https://github.com/znck). You can [💖 sponsor him](https://github.com/sponsors/znck) for continued development of this package and other VueDX tools.\n\n```\nnpm add @vuedx/vue-virtual-textdocument\n```\n<!-- #region API-DOCS -->\n<!-- Do not edit this file. It is a report generated by [scripts/docgen.js](https://github.com/znck/vue-developer-experience/tree/master/scripts/docgen.js). -->\n\n## API\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-AsyncDocumentStore-class\" id=\"-vuedx-vue-virtual-textdocument-AsyncDocumentStore-class\"></a>\n\n### [AsyncDocumentStore](#-vuedx-vue-virtual-textdocument-AsyncDocumentStore-class)\n\n\n\n<details><summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare class AsyncDocumentStore<T> extends DocumentStore<T> {\n  constructor(resolve: (uri: string) => T | Promise<T | null> | null, normalize?: (uri: string) => string);\n  get(uri: string): T | null;\n  get(uri: string): Promise<T | null>;\n}\n```\n\n**Members:**\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-AsyncDocumentStore-get-member-1-\" id=\"-vuedx-vue-virtual-textdocument-AsyncDocumentStore-get-member-1-\"></a>\n\n#### [get](#-vuedx-vue-virtual-textdocument-AsyncDocumentStore-get-member-1-)\n\n\n\n**Signature:**\n```ts\nget(uri: string): T | null;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-AsyncDocumentStore-get-member-2-\" id=\"-vuedx-vue-virtual-textdocument-AsyncDocumentStore-get-member-2-\"></a>\n\n#### [get](#-vuedx-vue-virtual-textdocument-AsyncDocumentStore-get-member-2-)\n\n\n\n**Signature:**\n```ts\nget(uri: string): Promise<T | null>;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n\n<br>\n</details>\n\n<br>\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-class\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-class\"></a>\n\n### [DocumentStore](#-vuedx-vue-virtual-textdocument-DocumentStore-class)\n\n\n\n<details><summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare class DocumentStore<T> {\n  constructor(resolve: (uri: string) => T | null, normalize?: (uri: string) => string);\n  all(): string[];\n  delete(uri: string): boolean;\n  dispose(): void;\n  get(uri: string): T | null;\n  protected getNormalizedUri(uri: string): string;\n  has(uri: string): boolean;\n  protected map: Map<string, T>;\n  normalize: (uri: string) => string;\n  protected resolve: (uri: string) => T | null;\n  protected reverseUriMap: Map<string, string>;\n  set(uri: string, document: T): void;\n}\n```\n\n**Members:**\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-all-member-1-\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-all-member-1-\"></a>\n\n#### [all](#-vuedx-vue-virtual-textdocument-DocumentStore-all-member-1-)\n\n\n\n**Signature:**\n```ts\nall(): string[];\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-delete-member-1-\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-delete-member-1-\"></a>\n\n#### [delete](#-vuedx-vue-virtual-textdocument-DocumentStore-delete-member-1-)\n\n\n\n**Signature:**\n```ts\ndelete(uri: string): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-dispose-member-1-\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-dispose-member-1-\"></a>\n\n#### [dispose](#-vuedx-vue-virtual-textdocument-DocumentStore-dispose-member-1-)\n\n\n\n**Signature:**\n```ts\ndispose(): void;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-get-member-1-\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-get-member-1-\"></a>\n\n#### [get](#-vuedx-vue-virtual-textdocument-DocumentStore-get-member-1-)\n\n\n\n**Signature:**\n```ts\nget(uri: string): T | null;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-getNormalizedUri-member-1-\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-getNormalizedUri-member-1-\"></a>\n\n#### [getNormalizedUri](#-vuedx-vue-virtual-textdocument-DocumentStore-getNormalizedUri-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected getNormalizedUri(uri: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-has-member-1-\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-has-member-1-\"></a>\n\n#### [has](#-vuedx-vue-virtual-textdocument-DocumentStore-has-member-1-)\n\n\n\n**Signature:**\n```ts\nhas(uri: string): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-set-member-1-\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-set-member-1-\"></a>\n\n#### [set](#-vuedx-vue-virtual-textdocument-DocumentStore-set-member-1-)\n\n\n\n**Signature:**\n```ts\nset(uri: string, document: T): void;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n| document | <code>T</code> | - |\n\n<br>\n</details>\n\n<br>\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-class\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-class\"></a>\n\n### [RenderFunctionTextDocument](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-class)\n\n\n\n<details><summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare class RenderFunctionTextDocument extends TransformedBlockTextDocument {\n  constructor(container: VueTextDocument, selector: Selector, transformed: TextDocument, source: TextDocument);\n  get ast(): CodegenResult['ast'] | undefined;\n  get contextCompletionsTriggerOffset(): number;\n  static create(options: CreateVirtualTextDocumentOptions): RenderFunctionTextDocument;\n  findExpression(offset: number, length: number): undefined | {\n        offset: number;\n        length: number;\n    };\n  protected generate(): string;\n  getAllGeneratedOffsetsAt(offset: number): undefined | Array<{\n        length: number;\n        offset: number;\n    }>;\n  getGeneratedOffsetAt(offset: number): undefined | {\n        length: number;\n        offset: number;\n    };\n  protected getKnownComponents(): Record<string, ComponentImport>;\n  getOriginalOffsetAt(offset: number): undefined | {\n        offset: number;\n        length: number;\n    };\n  isInGeneratedRange(offset: number): boolean;\n  isInTemplateIdentifierRange(offset: number): boolean;\n  get parserErrors(): CodegenResult['errors'];\n  get tagCompletionsTriggerOffset(): number;\n  toDisplayMappings(): string;\n  protected tryGenerate(): string;\n}\n```\n\n**Members:**\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-create-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-create-member-1-\"></a>\n\n#### [create](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-create-member-1-)\n\n\n\n**Signature:**\n```ts\nstatic create(options: CreateVirtualTextDocumentOptions): RenderFunctionTextDocument;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| options | <code><a href=\"#-vuedx-vue-virtual-textdocument--CreateVirtualTextDocumentOptions-interface\">CreateVirtualTextDocumentOptions</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-findExpression-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-findExpression-member-1-\"></a>\n\n#### [findExpression](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-findExpression-member-1-)\n\n\n\n**Signature:**\n```ts\nfindExpression(offset: number, length: number): undefined | {\n        offset: number;\n        length: number;\n    };\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n| length | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-generate-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-generate-member-1-\"></a>\n\n#### [generate](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-generate-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected generate(): string;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getAllGeneratedOffsetsAt-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getAllGeneratedOffsetsAt-member-1-\"></a>\n\n#### [getAllGeneratedOffsetsAt](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getAllGeneratedOffsetsAt-member-1-)\n\n\n\n**Signature:**\n```ts\ngetAllGeneratedOffsetsAt(offset: number): undefined | Array<{\n        length: number;\n        offset: number;\n    }>;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getGeneratedOffsetAt-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getGeneratedOffsetAt-member-1-\"></a>\n\n#### [getGeneratedOffsetAt](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getGeneratedOffsetAt-member-1-)\n\n\n\n**Signature:**\n```ts\ngetGeneratedOffsetAt(offset: number): undefined | {\n        length: number;\n        offset: number;\n    };\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getKnownComponents-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getKnownComponents-member-1-\"></a>\n\n#### [getKnownComponents](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getKnownComponents-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected getKnownComponents(): Record<string, ComponentImport>;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getOriginalOffsetAt-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getOriginalOffsetAt-member-1-\"></a>\n\n#### [getOriginalOffsetAt](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getOriginalOffsetAt-member-1-)\n\n\n\n**Signature:**\n```ts\ngetOriginalOffsetAt(offset: number): undefined | {\n        offset: number;\n        length: number;\n    };\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-isInGeneratedRange-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-isInGeneratedRange-member-1-\"></a>\n\n#### [isInGeneratedRange](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-isInGeneratedRange-member-1-)\n\n\n\n**Signature:**\n```ts\nisInGeneratedRange(offset: number): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-isInTemplateIdentifierRange-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-isInTemplateIdentifierRange-member-1-\"></a>\n\n#### [isInTemplateIdentifierRange](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-isInTemplateIdentifierRange-member-1-)\n\n\n\n**Signature:**\n```ts\nisInTemplateIdentifierRange(offset: number): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-toDisplayMappings-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-toDisplayMappings-member-1-\"></a>\n\n#### [toDisplayMappings](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-toDisplayMappings-member-1-)\n\n\n\n**Signature:**\n```ts\ntoDisplayMappings(): string;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-tryGenerate-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-tryGenerate-member-1-\"></a>\n\n#### [tryGenerate](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-tryGenerate-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected tryGenerate(): string;\n```\n\n\n<br>\n</details>\n\n<br>\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-class\" id=\"-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-class\"></a>\n\n### [TransformedBlockTextDocument](#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-class)\n\n\n\n<details><summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare class TransformedBlockTextDocument extends VirtualTextDocument {\n  protected constructor(container: VueTextDocument, selector: Selector, transformed: TextDocument, source: TextDocument | VirtualTextDocument, _transform: (document: TransformedBlockTextDocument) => BlockTransformResult);\n  static create(options: CreateTransformedBlockTextDocumentOptions): TransformedBlockTextDocument;\n  protected refresh(): void;\n  transform(): BlockTransformResult;\n  tryGetGeneratedOffset(offset: number): number | undefined;\n  tryGetSourceOffset(offset: number): number | undefined;\n}\n```\n\n**Members:**\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-create-member-1-\" id=\"-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-create-member-1-\"></a>\n\n#### [create](#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-create-member-1-)\n\n\n\n**Signature:**\n```ts\nstatic create(options: CreateTransformedBlockTextDocumentOptions): TransformedBlockTextDocument;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| options | <code><a href=\"#-vuedx-vue-virtual-textdocument--CreateTransformedBlockTextDocumentOptions-interface\">CreateTransformedBlockTextDocumentOptions</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-refresh-member-1-\" id=\"-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-refresh-member-1-\"></a>\n\n#### [refresh](#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-refresh-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected refresh(): void;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-transform-member-1-\" id=\"-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-transform-member-1-\"></a>\n\n#### [transform](#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-transform-member-1-)\n\n\n\n**Signature:**\n```ts\ntransform(): BlockTransformResult;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-tryGetGeneratedOffset-member-1-\" id=\"-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-tryGetGeneratedOffset-member-1-\"></a>\n\n#### [tryGetGeneratedOffset](#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-tryGetGeneratedOffset-member-1-)\n\n\n\n**Signature:**\n```ts\ntryGetGeneratedOffset(offset: number): number | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-tryGetSourceOffset-member-1-\" id=\"-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-tryGetSourceOffset-member-1-\"></a>\n\n#### [tryGetSourceOffset](#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-tryGetSourceOffset-member-1-)\n\n\n\n**Signature:**\n```ts\ntryGetSourceOffset(offset: number): number | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n</details>\n\n<br>\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VirtualTextDocument-class\" id=\"-vuedx-vue-virtual-textdocument-VirtualTextDocument-class\"></a>\n\n### [VirtualTextDocument](#-vuedx-vue-virtual-textdocument-VirtualTextDocument-class)\n\n\n\n<details><summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare class VirtualTextDocument extends ProxyTextDocument {\n  protected constructor(container: VueTextDocument, selector: Selector, doc: TextDocument);\n  readonly container: VueTextDocument;\n  static create(options: CreateVirtualTextDocumentOptions): VirtualTextDocument;\n  protected isDirty: boolean;\n  markDirty(): void;\n  protected refresh(): void;\n  readonly selector: Selector;\n}\n```\n\n**Members:**\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VirtualTextDocument-create-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VirtualTextDocument-create-member-1-\"></a>\n\n#### [create](#-vuedx-vue-virtual-textdocument-VirtualTextDocument-create-member-1-)\n\n\n\n**Signature:**\n```ts\nstatic create(options: CreateVirtualTextDocumentOptions): VirtualTextDocument;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| options | <code><a href=\"#-vuedx-vue-virtual-textdocument--CreateVirtualTextDocumentOptions-interface\">CreateVirtualTextDocumentOptions</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VirtualTextDocument-markDirty-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VirtualTextDocument-markDirty-member-1-\"></a>\n\n#### [markDirty](#-vuedx-vue-virtual-textdocument-VirtualTextDocument-markDirty-member-1-)\n\n\n\n**Signature:**\n```ts\nmarkDirty(): void;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VirtualTextDocument-refresh-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VirtualTextDocument-refresh-member-1-\"></a>\n\n#### [refresh](#-vuedx-vue-virtual-textdocument-VirtualTextDocument-refresh-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected refresh(): void;\n```\n\n\n<br>\n</details>\n\n<br>\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-class\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-class\"></a>\n\n### [VueTextDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-class)\n\n\n\n<details><summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare class VueTextDocument extends ProxyTextDocument {\n  constructor(doc: TextDocument, options?: VueTextDocumentOptions, parseOptions?: SFCParseOptions);\n  all(): VirtualTextDocument[];\n  blockAt(position: Position | number): SFCBlock | null | undefined;\n  static create(uri: string, languageId: string, version: number, content: string, options?: VueTextDocumentOptions, parseOptions?: SFCParseOptions): VueTextDocument;\n  protected createBlockDocument(selector: BlockSelector): VirtualTextDocument | undefined;\n  protected createInternalModuleDocument(): TransformedBlockTextDocument;\n  protected createModuleDocument(): TransformedBlockTextDocument;\n  protected createRenderDocument(): RenderFunctionTextDocument;\n  protected createTemplateASTDocument(): TransformedBlockTextDocument;\n  get descriptor(): SFCDescriptor;\n  documentAt(position: Position | number): VirtualTextDocument | undefined;\n  getBlock(selector: BlockSelector): SFCBlock | null | undefined;\n  getBlockSelector(block: SFCBlock): BlockSelector | undefined;\n  getDocument(selector: typeof RENDER_SELECTOR): RenderFunctionTextDocument;\n  getDocument(selector: SelectorLike): VirtualTextDocument;\n  getDocument(selector: string): VirtualTextDocument | undefined;\n  getDocumentFileName(selectorLike: SelectorLike): string;\n  protected getDocumentId(selector: Selector): string;\n  protected getDocumentLanguage(selector: Selector): string;\n  markDirty(): void;\n  readonly options: VueTextDocumentOptions;\n  protected parse(): void;\n  static update(document: VueTextDocument, changes: TextDocumentContentChangeEvent[], version: number): VueTextDocument;\n}\n```\n\n**Members:**\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-all-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-all-member-1-\"></a>\n\n#### [all](#-vuedx-vue-virtual-textdocument-VueTextDocument-all-member-1-)\n\n\n\n**Signature:**\n```ts\nall(): VirtualTextDocument[];\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-blockAt-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-blockAt-member-1-\"></a>\n\n#### [blockAt](#-vuedx-vue-virtual-textdocument-VueTextDocument-blockAt-member-1-)\n\n\n\n**Signature:**\n```ts\nblockAt(position: Position | number): SFCBlock | null | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| position | <code><a href=\"#vscode-languageserver-textdocument-Position-interface\">Position</a> &#124; number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-create-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-create-member-1-\"></a>\n\n#### [create](#-vuedx-vue-virtual-textdocument-VueTextDocument-create-member-1-)\n\n\n\n**Signature:**\n```ts\nstatic create(uri: string, languageId: string, version: number, content: string, options?: VueTextDocumentOptions, parseOptions?: SFCParseOptions): VueTextDocument;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n| languageId | <code>string</code> | - |\n| version | <code>number</code> | - |\n| content | <code>string</code> | - |\n| options | <code><a href=\"#-vuedx-vue-virtual-textdocument--VueTextDocumentOptions-interface\">VueTextDocumentOptions</a></code> | - |\n| parseOptions | <code><a href=\"#-vue-compiler-sfc-SFCParseOptions-interface\">SFCParseOptions</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-createBlockDocument-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-createBlockDocument-member-1-\"></a>\n\n#### [createBlockDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-createBlockDocument-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected createBlockDocument(selector: BlockSelector): VirtualTextDocument | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selector | <code><a href=\"#-vuedx-vue-virtual-textdocument--BlockSelector-type\">BlockSelector</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-createInternalModuleDocument-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-createInternalModuleDocument-member-1-\"></a>\n\n#### [createInternalModuleDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-createInternalModuleDocument-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected createInternalModuleDocument(): TransformedBlockTextDocument;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-createModuleDocument-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-createModuleDocument-member-1-\"></a>\n\n#### [createModuleDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-createModuleDocument-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected createModuleDocument(): TransformedBlockTextDocument;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-createRenderDocument-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-createRenderDocument-member-1-\"></a>\n\n#### [createRenderDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-createRenderDocument-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected createRenderDocument(): RenderFunctionTextDocument;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-createTemplateASTDocument-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-createTemplateASTDocument-member-1-\"></a>\n\n#### [createTemplateASTDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-createTemplateASTDocument-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected createTemplateASTDocument(): TransformedBlockTextDocument;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-documentAt-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-documentAt-member-1-\"></a>\n\n#### [documentAt](#-vuedx-vue-virtual-textdocument-VueTextDocument-documentAt-member-1-)\n\n\n\n**Signature:**\n```ts\ndocumentAt(position: Position | number): VirtualTextDocument | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| position | <code><a href=\"#vscode-languageserver-textdocument-Position-interface\">Position</a> &#124; number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getBlock-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getBlock-member-1-\"></a>\n\n#### [getBlock](#-vuedx-vue-virtual-textdocument-VueTextDocument-getBlock-member-1-)\n\n\n\n**Signature:**\n```ts\ngetBlock(selector: BlockSelector): SFCBlock | null | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selector | <code><a href=\"#-vuedx-vue-virtual-textdocument--BlockSelector-type\">BlockSelector</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getBlockSelector-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getBlockSelector-member-1-\"></a>\n\n#### [getBlockSelector](#-vuedx-vue-virtual-textdocument-VueTextDocument-getBlockSelector-member-1-)\n\n\n\n**Signature:**\n```ts\ngetBlockSelector(block: SFCBlock): BlockSelector | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| block | <code><a href=\"#-vue-compiler-sfc-SFCBlock-interface\">SFCBlock</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-1-\"></a>\n\n#### [getDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-1-)\n\n\n\n**Signature:**\n```ts\ngetDocument(selector: typeof RENDER_SELECTOR): RenderFunctionTextDocument;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selector | <code>typeof <a href=\"#-vuedx-vue-virtual-textdocument--RENDER-SELECTOR-var\">RENDER_SELECTOR</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-2-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-2-\"></a>\n\n#### [getDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-2-)\n\n\n\n**Signature:**\n```ts\ngetDocument(selector: SelectorLike): VirtualTextDocument;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selector | <code><a href=\"#-vuedx-vue-virtual-textdocument--SelectorLike-type\">SelectorLike</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-3-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-3-\"></a>\n\n#### [getDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-3-)\n\n\n\n**Signature:**\n```ts\ngetDocument(selector: string): VirtualTextDocument | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selector | <code>string</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentFileName-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentFileName-member-1-\"></a>\n\n#### [getDocumentFileName](#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentFileName-member-1-)\n\n\n\n**Signature:**\n```ts\ngetDocumentFileName(selectorLike: SelectorLike): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selectorLike | <code><a href=\"#-vuedx-vue-virtual-textdocument--SelectorLike-type\">SelectorLike</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentId-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentId-member-1-\"></a>\n\n#### [getDocumentId](#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentId-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected getDocumentId(selector: Selector): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selector | <code><a href=\"#-vuedx-vue-virtual-textdocument--Selector-type\">Selector</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentLanguage-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentLanguage-member-1-\"></a>\n\n#### [getDocumentLanguage](#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentLanguage-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected getDocumentLanguage(selector: Selector): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selector | <code><a href=\"#-vuedx-vue-virtual-textdocument--Selector-type\">Selector</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-markDirty-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-markDirty-member-1-\"></a>\n\n#### [markDirty](#-vuedx-vue-virtual-textdocument-VueTextDocument-markDirty-member-1-)\n\n\n\n**Signature:**\n```ts\nmarkDirty(): void;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-parse-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-parse-member-1-\"></a>\n\n#### [parse](#-vuedx-vue-virtual-textdocument-VueTextDocument-parse-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected parse(): void;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-update-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-update-member-1-\"></a>\n\n#### [update](#-vuedx-vue-virtual-textdocument-VueTextDocument-update-member-1-)\n\n\n\n**Signature:**\n```ts\nstatic update(document: VueTextDocument, changes: TextDocumentContentChangeEvent[], version: number): VueTextDocument;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| document | <code><a href=\"#-vuedx-vue-virtual-textdocument--VueTextDocument-class\">VueTextDocument</a></code> | - |\n| changes | <code><a href=\"#vscode-languageserver-textdocument-TextDocumentContentChangeEvent-type\">TextDocumentContentChangeEvent</a>[]</code> | - |\n| version | <code>number</code> | - |\n\n<br>\n</details>\n\n<br>\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-asFsPath-function-1-\" id=\"-vuedx-vue-virtual-textdocument-asFsPath-function-1-\"></a>\n\n### [asFsPath](#-vuedx-vue-virtual-textdocument-asFsPath-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function asFsPath(uri: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-asFsUri-function-1-\" id=\"-vuedx-vue-virtual-textdocument-asFsUri-function-1-\"></a>\n\n### [asFsUri](#-vuedx-vue-virtual-textdocument-asFsUri-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function asFsUri(fileName: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-asUri-function-1-\" id=\"-vuedx-vue-virtual-textdocument-asUri-function-1-\"></a>\n\n### [asUri](#-vuedx-vue-virtual-textdocument-asUri-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function asUri(fileNameOrUri: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileNameOrUri | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-basename-function-1-\" id=\"-vuedx-vue-virtual-textdocument-basename-function-1-\"></a>\n\n### [basename](#-vuedx-vue-virtual-textdocument-basename-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function basename(fileName: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-binarySearch-function-1-\" id=\"-vuedx-vue-virtual-textdocument-binarySearch-function-1-\"></a>\n\n### [binarySearch](#-vuedx-vue-virtual-textdocument-binarySearch-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function binarySearch<T>(array: T[], isMatch: (a: T) => number, returnMin?: boolean): T | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| array | <code>T[]</code> | - |\n| isMatch | <code>(a: T) => number</code> | - |\n| returnMin | <code>boolean</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-getBlockLanguage-function-1-\" id=\"-vuedx-vue-virtual-textdocument-getBlockLanguage-function-1-\"></a>\n\n### [getBlockLanguage](#-vuedx-vue-virtual-textdocument-getBlockLanguage-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function getBlockLanguage(block?: SFCBlock | null): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| block | <code><a href=\"#-vue-compiler-sfc-SFCBlock-interface\">SFCBlock</a> &#124; null</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-getContainingFile-function-1-\" id=\"-vuedx-vue-virtual-textdocument-getContainingFile-function-1-\"></a>\n\n### [getContainingFile](#-vuedx-vue-virtual-textdocument-getContainingFile-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function getContainingFile(fileName: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-getLanguageExtension-function-1-\" id=\"-vuedx-vue-virtual-textdocument-getLanguageExtension-function-1-\"></a>\n\n### [getLanguageExtension](#-vuedx-vue-virtual-textdocument-getLanguageExtension-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function getLanguageExtension(lang: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| lang | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-getLanguageIdFromExtension-function-1-\" id=\"-vuedx-vue-virtual-textdocument-getLanguageIdFromExtension-function-1-\"></a>\n\n### [getLanguageIdFromExtension](#-vuedx-vue-virtual-textdocument-getLanguageIdFromExtension-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function getLanguageIdFromExtension(ext: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| ext | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-isOffsetInBlock-function-1-\" id=\"-vuedx-vue-virtual-textdocument-isOffsetInBlock-function-1-\"></a>\n\n### [isOffsetInBlock](#-vuedx-vue-virtual-textdocument-isOffsetInBlock-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function isOffsetInBlock(offset: number, block?: SFCBlock | null): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n| block | <code><a href=\"#-vue-compiler-sfc-SFCBlock-interface\">SFCBlock</a> &#124; null</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-isVirtualFile-function-1-\" id=\"-vuedx-vue-virtual-textdocument-isVirtualFile-function-1-\"></a>\n\n### [isVirtualFile](#-vuedx-vue-virtual-textdocument-isVirtualFile-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function isVirtualFile(fileName: string): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-isVirtualFileOfType-function-1-\" id=\"-vuedx-vue-virtual-textdocument-isVirtualFileOfType-function-1-\"></a>\n\n### [isVirtualFileOfType](#-vuedx-vue-virtual-textdocument-isVirtualFileOfType-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function isVirtualFileOfType(fileName: string, type: '_render' | '_module' | '_internal' | 'script' | 'scriptSetup'): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n| type | <code>'_render' &#124; '_module' &#124; '_internal' &#124; 'script' &#124; 'scriptSetup'</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-isVueFile-function-1-\" id=\"-vuedx-vue-virtual-textdocument-isVueFile-function-1-\"></a>\n\n### [isVueFile](#-vuedx-vue-virtual-textdocument-isVueFile-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function isVueFile(fileName: string): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-parseVirtualFileName-function-1-\" id=\"-vuedx-vue-virtual-textdocument-parseVirtualFileName-function-1-\"></a>\n\n### [parseVirtualFileName](#-vuedx-vue-virtual-textdocument-parseVirtualFileName-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function parseVirtualFileName(fileName: string): {\n    uri: string;\n    selector: Selector;\n} | null;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-relativeVirtualImportPath-function-1-\" id=\"-vuedx-vue-virtual-textdocument-relativeVirtualImportPath-function-1-\"></a>\n\n### [relativeVirtualImportPath](#-vuedx-vue-virtual-textdocument-relativeVirtualImportPath-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function relativeVirtualImportPath(fileName: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-replaceSlashes-function-1-\" id=\"-vuedx-vue-virtual-textdocument-replaceSlashes-function-1-\"></a>\n\n### [replaceSlashes](#-vuedx-vue-virtual-textdocument-replaceSlashes-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function replaceSlashes(fileName: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n<!-- #region API-DOCS -->\n","readmeFilename":"readme.md","_id":"@vuedx/vue-virtual-textdocument@0.4.2-insiders-1609376449.0","_nodeVersion":"14.14.0","_npmVersion":"6.14.8","dist":{"integrity":"sha512-ZnCaj7q7cum0ms+RbxMSIVRkQ8GvzTqHj31tfrZYGwm7ZmlDsepl24m5Ds6AfWcBQLa16iiafV4HMJJTGCoj5Q==","shasum":"1d3e9c01f4b02cf5b9ee553146d29e854e873437","tarball":"https://registry.npmjs.org/@vuedx/vue-virtual-textdocument/-/vue-virtual-textdocument-0.4.2-insiders-1609376449.0.tgz","fileCount":8,"unpackedSize":293566,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJf7SLfCRA9TVsSAnZWagAAYWQQAJ1aAXwgewkTgmIbRCVE\nBQeNozv2owppj9DoJXa6NfUem0e+sLMJxTOHJEAZyy2hjkI7icEf7ejbfKp2\nc81s+LWEFka3V0JvXMRsBxJD0ndOBz1tY3ISwuctG9twYJfoh8JN5mhTn3R1\nUQjQ5eLLSUC2ex/+Zo8ebRPc+5TsRhvXu4NES9vsatqcQskZikBQRyuxN40D\n49Kt+FuomZYBWQsrjd5JesWn+gpfQ8xvHCTZbcSEREXHyXjtDmpdcTvVyLWK\nwCMzFjDYJYXhclu23Pzdq3IX/MGGYmuOOU5PHjc6z7NrOVAE/8aNwPHrec7O\nU+f5+VUZ1CGW28muv/CRebtSEI4f8jgehFcQIbLlWtFTz+v5WG30EtDOmKki\nKlsKhO669nU8gnu632RefjLkeGCOVRFdbNBK+0Ui4ciOea6LvkmoKcNhnlT8\nHf1FQyHFkp5XikLUpuG5vUXgeeCWKtuobtODn0GwjDU+wjXqlDzN9ZQlAk/w\nWlluIizoqridnGjqlyKHaEFpdLij4nEkP7IDP3JWyXJct8Jado+7Pjvuj1J7\nkpfjQ/41iBVx6fSsdsd+8zANQUBBjNkMlwxYOiCsJzIzlPSHzd09njL07HaJ\nAhg7bObWFhhqv2gFw14r7vm6uL5RloEa5Z0UtWW6QXq3/Rp0URR7ULOqdwRL\nuuNq\r\n=Gql0\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCwXL05bx0/EbLpB/NsDX47b6qULp0tzoECFAYzDfkMnAIgVy8dGpLvYtKC7snIBkuQaB+8EwtKGdg8zqPXUPK0Lhg="}]},"_npmUser":{"name":"znck","email":"rahulkdn@gmail.com"},"directories":{},"maintainers":[{"name":"znck","email":"rahulkdn@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/vue-virtual-textdocument_0.4.2-insiders-1609376449.0_1609376478984_0.12745883965987415"},"_hasShrinkwrap":false},"0.4.2-insiders-1609376781.0":{"name":"@vuedx/vue-virtual-textdocument","version":"0.4.2-insiders-1609376781.0","description":"An implementation of virtual filesystem for accessing blocks in a `.vue` file as independent files.","main":"dist/index.cjs.js","module":"dist/index.esm.js","types":"dist/index.d.ts","private":false,"scripts":{},"keywords":["vue","vue sfc","sfc","vue virtual files"],"repository":{"type":"git","url":"git+https://github.com/znck/vue-developer-experience.git"},"author":{"name":"Rahul Kadyan","email":"rahulkdn@gmail.com","url":"https://znck.me/"},"funding":{"type":"individual","url":"https://github.com/sponsors/znck"},"license":"MIT","bugs":{"url":"https://github.com/znck/vue-developer-experience/issues"},"homepage":"https://github.com/znck/vue-developer-experience#readme","dependencies":{"@vuedx/analyze":"0.4.2-insiders-1609376781.0","@vuedx/compiler-sfc":"0.4.2-insiders-1609376781.0","@vuedx/compiler-tsx":"0.4.2-insiders-1609376781.0","source-map":"^0.6.1","vscode-languageserver-textdocument":"^1.0.1","vscode-uri":"^2.1.2"},"devDependencies":{"@vuedx/shared":"0.4.2-insiders-1609376781.0","fast-glob":"^3.2.4","typescript":"^4.0.3"},"readme":"# Vue Virtual TextDocument\n\nAn implementation of virtual filesystem for accessing blocks in a `.vue` file as independent files.\n\n## Support\n\nThis package is part of [VueDX project](https://github.com/znck/vue-developer-experience), maintained by [Rahul Kadyan](https://github.com/znck). You can [💖 sponsor him](https://github.com/sponsors/znck) for continued development of this package and other VueDX tools.\n\n```\nnpm add @vuedx/vue-virtual-textdocument\n```\n<!-- #region API-DOCS -->\n<!-- Do not edit this file. It is a report generated by [scripts/docgen.js](https://github.com/znck/vue-developer-experience/tree/master/scripts/docgen.js). -->\n\n## API\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-AsyncDocumentStore-class\" id=\"-vuedx-vue-virtual-textdocument-AsyncDocumentStore-class\"></a>\n\n### [AsyncDocumentStore](#-vuedx-vue-virtual-textdocument-AsyncDocumentStore-class)\n\n\n\n<details><summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare class AsyncDocumentStore<T> extends DocumentStore<T> {\n  constructor(resolve: (uri: string) => T | Promise<T | null> | null, normalize?: (uri: string) => string);\n  get(uri: string): T | null;\n  get(uri: string): Promise<T | null>;\n}\n```\n\n**Members:**\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-AsyncDocumentStore-get-member-1-\" id=\"-vuedx-vue-virtual-textdocument-AsyncDocumentStore-get-member-1-\"></a>\n\n#### [get](#-vuedx-vue-virtual-textdocument-AsyncDocumentStore-get-member-1-)\n\n\n\n**Signature:**\n```ts\nget(uri: string): T | null;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-AsyncDocumentStore-get-member-2-\" id=\"-vuedx-vue-virtual-textdocument-AsyncDocumentStore-get-member-2-\"></a>\n\n#### [get](#-vuedx-vue-virtual-textdocument-AsyncDocumentStore-get-member-2-)\n\n\n\n**Signature:**\n```ts\nget(uri: string): Promise<T | null>;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n\n<br>\n</details>\n\n<br>\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-class\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-class\"></a>\n\n### [DocumentStore](#-vuedx-vue-virtual-textdocument-DocumentStore-class)\n\n\n\n<details><summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare class DocumentStore<T> {\n  constructor(resolve: (uri: string) => T | null, normalize?: (uri: string) => string);\n  all(): string[];\n  delete(uri: string): boolean;\n  dispose(): void;\n  get(uri: string): T | null;\n  protected getNormalizedUri(uri: string): string;\n  has(uri: string): boolean;\n  protected map: Map<string, T>;\n  normalize: (uri: string) => string;\n  protected resolve: (uri: string) => T | null;\n  protected reverseUriMap: Map<string, string>;\n  set(uri: string, document: T): void;\n}\n```\n\n**Members:**\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-all-member-1-\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-all-member-1-\"></a>\n\n#### [all](#-vuedx-vue-virtual-textdocument-DocumentStore-all-member-1-)\n\n\n\n**Signature:**\n```ts\nall(): string[];\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-delete-member-1-\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-delete-member-1-\"></a>\n\n#### [delete](#-vuedx-vue-virtual-textdocument-DocumentStore-delete-member-1-)\n\n\n\n**Signature:**\n```ts\ndelete(uri: string): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-dispose-member-1-\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-dispose-member-1-\"></a>\n\n#### [dispose](#-vuedx-vue-virtual-textdocument-DocumentStore-dispose-member-1-)\n\n\n\n**Signature:**\n```ts\ndispose(): void;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-get-member-1-\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-get-member-1-\"></a>\n\n#### [get](#-vuedx-vue-virtual-textdocument-DocumentStore-get-member-1-)\n\n\n\n**Signature:**\n```ts\nget(uri: string): T | null;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-getNormalizedUri-member-1-\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-getNormalizedUri-member-1-\"></a>\n\n#### [getNormalizedUri](#-vuedx-vue-virtual-textdocument-DocumentStore-getNormalizedUri-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected getNormalizedUri(uri: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-has-member-1-\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-has-member-1-\"></a>\n\n#### [has](#-vuedx-vue-virtual-textdocument-DocumentStore-has-member-1-)\n\n\n\n**Signature:**\n```ts\nhas(uri: string): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-set-member-1-\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-set-member-1-\"></a>\n\n#### [set](#-vuedx-vue-virtual-textdocument-DocumentStore-set-member-1-)\n\n\n\n**Signature:**\n```ts\nset(uri: string, document: T): void;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n| document | <code>T</code> | - |\n\n<br>\n</details>\n\n<br>\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-class\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-class\"></a>\n\n### [RenderFunctionTextDocument](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-class)\n\n\n\n<details><summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare class RenderFunctionTextDocument extends TransformedBlockTextDocument {\n  constructor(container: VueTextDocument, selector: Selector, transformed: TextDocument, source: TextDocument);\n  get ast(): CodegenResult['ast'] | undefined;\n  get contextCompletionsTriggerOffset(): number;\n  static create(options: CreateVirtualTextDocumentOptions): RenderFunctionTextDocument;\n  findExpression(offset: number, length: number): undefined | {\n        offset: number;\n        length: number;\n    };\n  protected generate(): string;\n  getAllGeneratedOffsetsAt(offset: number): undefined | Array<{\n        length: number;\n        offset: number;\n    }>;\n  getGeneratedOffsetAt(offset: number): undefined | {\n        length: number;\n        offset: number;\n    };\n  protected getKnownComponents(): Record<string, ComponentImport>;\n  getOriginalOffsetAt(offset: number): undefined | {\n        offset: number;\n        length: number;\n    };\n  isInGeneratedRange(offset: number): boolean;\n  isInTemplateIdentifierRange(offset: number): boolean;\n  get parserErrors(): CodegenResult['errors'];\n  get tagCompletionsTriggerOffset(): number;\n  toDisplayMappings(): string;\n  protected tryGenerate(): string;\n}\n```\n\n**Members:**\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-create-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-create-member-1-\"></a>\n\n#### [create](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-create-member-1-)\n\n\n\n**Signature:**\n```ts\nstatic create(options: CreateVirtualTextDocumentOptions): RenderFunctionTextDocument;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| options | <code><a href=\"#-vuedx-vue-virtual-textdocument--CreateVirtualTextDocumentOptions-interface\">CreateVirtualTextDocumentOptions</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-findExpression-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-findExpression-member-1-\"></a>\n\n#### [findExpression](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-findExpression-member-1-)\n\n\n\n**Signature:**\n```ts\nfindExpression(offset: number, length: number): undefined | {\n        offset: number;\n        length: number;\n    };\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n| length | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-generate-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-generate-member-1-\"></a>\n\n#### [generate](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-generate-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected generate(): string;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getAllGeneratedOffsetsAt-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getAllGeneratedOffsetsAt-member-1-\"></a>\n\n#### [getAllGeneratedOffsetsAt](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getAllGeneratedOffsetsAt-member-1-)\n\n\n\n**Signature:**\n```ts\ngetAllGeneratedOffsetsAt(offset: number): undefined | Array<{\n        length: number;\n        offset: number;\n    }>;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getGeneratedOffsetAt-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getGeneratedOffsetAt-member-1-\"></a>\n\n#### [getGeneratedOffsetAt](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getGeneratedOffsetAt-member-1-)\n\n\n\n**Signature:**\n```ts\ngetGeneratedOffsetAt(offset: number): undefined | {\n        length: number;\n        offset: number;\n    };\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getKnownComponents-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getKnownComponents-member-1-\"></a>\n\n#### [getKnownComponents](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getKnownComponents-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected getKnownComponents(): Record<string, ComponentImport>;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getOriginalOffsetAt-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getOriginalOffsetAt-member-1-\"></a>\n\n#### [getOriginalOffsetAt](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getOriginalOffsetAt-member-1-)\n\n\n\n**Signature:**\n```ts\ngetOriginalOffsetAt(offset: number): undefined | {\n        offset: number;\n        length: number;\n    };\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-isInGeneratedRange-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-isInGeneratedRange-member-1-\"></a>\n\n#### [isInGeneratedRange](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-isInGeneratedRange-member-1-)\n\n\n\n**Signature:**\n```ts\nisInGeneratedRange(offset: number): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-isInTemplateIdentifierRange-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-isInTemplateIdentifierRange-member-1-\"></a>\n\n#### [isInTemplateIdentifierRange](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-isInTemplateIdentifierRange-member-1-)\n\n\n\n**Signature:**\n```ts\nisInTemplateIdentifierRange(offset: number): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-toDisplayMappings-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-toDisplayMappings-member-1-\"></a>\n\n#### [toDisplayMappings](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-toDisplayMappings-member-1-)\n\n\n\n**Signature:**\n```ts\ntoDisplayMappings(): string;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-tryGenerate-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-tryGenerate-member-1-\"></a>\n\n#### [tryGenerate](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-tryGenerate-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected tryGenerate(): string;\n```\n\n\n<br>\n</details>\n\n<br>\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-class\" id=\"-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-class\"></a>\n\n### [TransformedBlockTextDocument](#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-class)\n\n\n\n<details><summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare class TransformedBlockTextDocument extends VirtualTextDocument {\n  protected constructor(container: VueTextDocument, selector: Selector, transformed: TextDocument, source: TextDocument | VirtualTextDocument, _transform: (document: TransformedBlockTextDocument) => BlockTransformResult);\n  static create(options: CreateTransformedBlockTextDocumentOptions): TransformedBlockTextDocument;\n  protected refresh(): void;\n  transform(): BlockTransformResult;\n  tryGetGeneratedOffset(offset: number): number | undefined;\n  tryGetSourceOffset(offset: number): number | undefined;\n}\n```\n\n**Members:**\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-create-member-1-\" id=\"-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-create-member-1-\"></a>\n\n#### [create](#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-create-member-1-)\n\n\n\n**Signature:**\n```ts\nstatic create(options: CreateTransformedBlockTextDocumentOptions): TransformedBlockTextDocument;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| options | <code><a href=\"#-vuedx-vue-virtual-textdocument--CreateTransformedBlockTextDocumentOptions-interface\">CreateTransformedBlockTextDocumentOptions</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-refresh-member-1-\" id=\"-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-refresh-member-1-\"></a>\n\n#### [refresh](#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-refresh-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected refresh(): void;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-transform-member-1-\" id=\"-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-transform-member-1-\"></a>\n\n#### [transform](#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-transform-member-1-)\n\n\n\n**Signature:**\n```ts\ntransform(): BlockTransformResult;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-tryGetGeneratedOffset-member-1-\" id=\"-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-tryGetGeneratedOffset-member-1-\"></a>\n\n#### [tryGetGeneratedOffset](#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-tryGetGeneratedOffset-member-1-)\n\n\n\n**Signature:**\n```ts\ntryGetGeneratedOffset(offset: number): number | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-tryGetSourceOffset-member-1-\" id=\"-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-tryGetSourceOffset-member-1-\"></a>\n\n#### [tryGetSourceOffset](#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-tryGetSourceOffset-member-1-)\n\n\n\n**Signature:**\n```ts\ntryGetSourceOffset(offset: number): number | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n</details>\n\n<br>\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VirtualTextDocument-class\" id=\"-vuedx-vue-virtual-textdocument-VirtualTextDocument-class\"></a>\n\n### [VirtualTextDocument](#-vuedx-vue-virtual-textdocument-VirtualTextDocument-class)\n\n\n\n<details><summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare class VirtualTextDocument extends ProxyTextDocument {\n  protected constructor(container: VueTextDocument, selector: Selector, doc: TextDocument);\n  readonly container: VueTextDocument;\n  static create(options: CreateVirtualTextDocumentOptions): VirtualTextDocument;\n  protected isDirty: boolean;\n  markDirty(): void;\n  protected refresh(): void;\n  readonly selector: Selector;\n}\n```\n\n**Members:**\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VirtualTextDocument-create-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VirtualTextDocument-create-member-1-\"></a>\n\n#### [create](#-vuedx-vue-virtual-textdocument-VirtualTextDocument-create-member-1-)\n\n\n\n**Signature:**\n```ts\nstatic create(options: CreateVirtualTextDocumentOptions): VirtualTextDocument;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| options | <code><a href=\"#-vuedx-vue-virtual-textdocument--CreateVirtualTextDocumentOptions-interface\">CreateVirtualTextDocumentOptions</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VirtualTextDocument-markDirty-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VirtualTextDocument-markDirty-member-1-\"></a>\n\n#### [markDirty](#-vuedx-vue-virtual-textdocument-VirtualTextDocument-markDirty-member-1-)\n\n\n\n**Signature:**\n```ts\nmarkDirty(): void;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VirtualTextDocument-refresh-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VirtualTextDocument-refresh-member-1-\"></a>\n\n#### [refresh](#-vuedx-vue-virtual-textdocument-VirtualTextDocument-refresh-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected refresh(): void;\n```\n\n\n<br>\n</details>\n\n<br>\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-class\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-class\"></a>\n\n### [VueTextDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-class)\n\n\n\n<details><summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare class VueTextDocument extends ProxyTextDocument {\n  constructor(doc: TextDocument, options?: VueTextDocumentOptions, parseOptions?: SFCParseOptions);\n  all(): VirtualTextDocument[];\n  blockAt(position: Position | number): SFCBlock | null | undefined;\n  static create(uri: string, languageId: string, version: number, content: string, options?: VueTextDocumentOptions, parseOptions?: SFCParseOptions): VueTextDocument;\n  protected createBlockDocument(selector: BlockSelector): VirtualTextDocument | undefined;\n  protected createInternalModuleDocument(): TransformedBlockTextDocument;\n  protected createModuleDocument(): TransformedBlockTextDocument;\n  protected createRenderDocument(): RenderFunctionTextDocument;\n  protected createTemplateASTDocument(): TransformedBlockTextDocument;\n  get descriptor(): SFCDescriptor;\n  documentAt(position: Position | number): VirtualTextDocument | undefined;\n  getBlock(selector: BlockSelector): SFCBlock | null | undefined;\n  getBlockSelector(block: SFCBlock): BlockSelector | undefined;\n  getDocument(selector: typeof RENDER_SELECTOR): RenderFunctionTextDocument;\n  getDocument(selector: SelectorLike): VirtualTextDocument;\n  getDocument(selector: string): VirtualTextDocument | undefined;\n  getDocumentFileName(selectorLike: SelectorLike): string;\n  protected getDocumentId(selector: Selector): string;\n  protected getDocumentLanguage(selector: Selector): string;\n  markDirty(): void;\n  readonly options: VueTextDocumentOptions;\n  protected parse(): void;\n  static update(document: VueTextDocument, changes: TextDocumentContentChangeEvent[], version: number): VueTextDocument;\n}\n```\n\n**Members:**\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-all-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-all-member-1-\"></a>\n\n#### [all](#-vuedx-vue-virtual-textdocument-VueTextDocument-all-member-1-)\n\n\n\n**Signature:**\n```ts\nall(): VirtualTextDocument[];\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-blockAt-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-blockAt-member-1-\"></a>\n\n#### [blockAt](#-vuedx-vue-virtual-textdocument-VueTextDocument-blockAt-member-1-)\n\n\n\n**Signature:**\n```ts\nblockAt(position: Position | number): SFCBlock | null | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| position | <code><a href=\"#vscode-languageserver-textdocument-Position-interface\">Position</a> &#124; number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-create-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-create-member-1-\"></a>\n\n#### [create](#-vuedx-vue-virtual-textdocument-VueTextDocument-create-member-1-)\n\n\n\n**Signature:**\n```ts\nstatic create(uri: string, languageId: string, version: number, content: string, options?: VueTextDocumentOptions, parseOptions?: SFCParseOptions): VueTextDocument;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n| languageId | <code>string</code> | - |\n| version | <code>number</code> | - |\n| content | <code>string</code> | - |\n| options | <code><a href=\"#-vuedx-vue-virtual-textdocument--VueTextDocumentOptions-interface\">VueTextDocumentOptions</a></code> | - |\n| parseOptions | <code><a href=\"#-vue-compiler-sfc-SFCParseOptions-interface\">SFCParseOptions</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-createBlockDocument-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-createBlockDocument-member-1-\"></a>\n\n#### [createBlockDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-createBlockDocument-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected createBlockDocument(selector: BlockSelector): VirtualTextDocument | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selector | <code><a href=\"#-vuedx-vue-virtual-textdocument--BlockSelector-type\">BlockSelector</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-createInternalModuleDocument-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-createInternalModuleDocument-member-1-\"></a>\n\n#### [createInternalModuleDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-createInternalModuleDocument-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected createInternalModuleDocument(): TransformedBlockTextDocument;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-createModuleDocument-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-createModuleDocument-member-1-\"></a>\n\n#### [createModuleDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-createModuleDocument-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected createModuleDocument(): TransformedBlockTextDocument;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-createRenderDocument-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-createRenderDocument-member-1-\"></a>\n\n#### [createRenderDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-createRenderDocument-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected createRenderDocument(): RenderFunctionTextDocument;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-createTemplateASTDocument-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-createTemplateASTDocument-member-1-\"></a>\n\n#### [createTemplateASTDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-createTemplateASTDocument-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected createTemplateASTDocument(): TransformedBlockTextDocument;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-documentAt-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-documentAt-member-1-\"></a>\n\n#### [documentAt](#-vuedx-vue-virtual-textdocument-VueTextDocument-documentAt-member-1-)\n\n\n\n**Signature:**\n```ts\ndocumentAt(position: Position | number): VirtualTextDocument | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| position | <code><a href=\"#vscode-languageserver-textdocument-Position-interface\">Position</a> &#124; number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getBlock-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getBlock-member-1-\"></a>\n\n#### [getBlock](#-vuedx-vue-virtual-textdocument-VueTextDocument-getBlock-member-1-)\n\n\n\n**Signature:**\n```ts\ngetBlock(selector: BlockSelector): SFCBlock | null | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selector | <code><a href=\"#-vuedx-vue-virtual-textdocument--BlockSelector-type\">BlockSelector</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getBlockSelector-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getBlockSelector-member-1-\"></a>\n\n#### [getBlockSelector](#-vuedx-vue-virtual-textdocument-VueTextDocument-getBlockSelector-member-1-)\n\n\n\n**Signature:**\n```ts\ngetBlockSelector(block: SFCBlock): BlockSelector | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| block | <code><a href=\"#-vue-compiler-sfc-SFCBlock-interface\">SFCBlock</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-1-\"></a>\n\n#### [getDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-1-)\n\n\n\n**Signature:**\n```ts\ngetDocument(selector: typeof RENDER_SELECTOR): RenderFunctionTextDocument;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selector | <code>typeof <a href=\"#-vuedx-vue-virtual-textdocument--RENDER-SELECTOR-var\">RENDER_SELECTOR</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-2-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-2-\"></a>\n\n#### [getDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-2-)\n\n\n\n**Signature:**\n```ts\ngetDocument(selector: SelectorLike): VirtualTextDocument;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selector | <code><a href=\"#-vuedx-vue-virtual-textdocument--SelectorLike-type\">SelectorLike</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-3-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-3-\"></a>\n\n#### [getDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-3-)\n\n\n\n**Signature:**\n```ts\ngetDocument(selector: string): VirtualTextDocument | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selector | <code>string</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentFileName-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentFileName-member-1-\"></a>\n\n#### [getDocumentFileName](#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentFileName-member-1-)\n\n\n\n**Signature:**\n```ts\ngetDocumentFileName(selectorLike: SelectorLike): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selectorLike | <code><a href=\"#-vuedx-vue-virtual-textdocument--SelectorLike-type\">SelectorLike</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentId-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentId-member-1-\"></a>\n\n#### [getDocumentId](#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentId-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected getDocumentId(selector: Selector): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selector | <code><a href=\"#-vuedx-vue-virtual-textdocument--Selector-type\">Selector</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentLanguage-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentLanguage-member-1-\"></a>\n\n#### [getDocumentLanguage](#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentLanguage-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected getDocumentLanguage(selector: Selector): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selector | <code><a href=\"#-vuedx-vue-virtual-textdocument--Selector-type\">Selector</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-markDirty-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-markDirty-member-1-\"></a>\n\n#### [markDirty](#-vuedx-vue-virtual-textdocument-VueTextDocument-markDirty-member-1-)\n\n\n\n**Signature:**\n```ts\nmarkDirty(): void;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-parse-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-parse-member-1-\"></a>\n\n#### [parse](#-vuedx-vue-virtual-textdocument-VueTextDocument-parse-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected parse(): void;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-update-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-update-member-1-\"></a>\n\n#### [update](#-vuedx-vue-virtual-textdocument-VueTextDocument-update-member-1-)\n\n\n\n**Signature:**\n```ts\nstatic update(document: VueTextDocument, changes: TextDocumentContentChangeEvent[], version: number): VueTextDocument;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| document | <code><a href=\"#-vuedx-vue-virtual-textdocument--VueTextDocument-class\">VueTextDocument</a></code> | - |\n| changes | <code><a href=\"#vscode-languageserver-textdocument-TextDocumentContentChangeEvent-type\">TextDocumentContentChangeEvent</a>[]</code> | - |\n| version | <code>number</code> | - |\n\n<br>\n</details>\n\n<br>\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-asFsPath-function-1-\" id=\"-vuedx-vue-virtual-textdocument-asFsPath-function-1-\"></a>\n\n### [asFsPath](#-vuedx-vue-virtual-textdocument-asFsPath-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function asFsPath(uri: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-asFsUri-function-1-\" id=\"-vuedx-vue-virtual-textdocument-asFsUri-function-1-\"></a>\n\n### [asFsUri](#-vuedx-vue-virtual-textdocument-asFsUri-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function asFsUri(fileName: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-asUri-function-1-\" id=\"-vuedx-vue-virtual-textdocument-asUri-function-1-\"></a>\n\n### [asUri](#-vuedx-vue-virtual-textdocument-asUri-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function asUri(fileNameOrUri: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileNameOrUri | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-basename-function-1-\" id=\"-vuedx-vue-virtual-textdocument-basename-function-1-\"></a>\n\n### [basename](#-vuedx-vue-virtual-textdocument-basename-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function basename(fileName: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-binarySearch-function-1-\" id=\"-vuedx-vue-virtual-textdocument-binarySearch-function-1-\"></a>\n\n### [binarySearch](#-vuedx-vue-virtual-textdocument-binarySearch-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function binarySearch<T>(array: T[], isMatch: (a: T) => number, returnMin?: boolean): T | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| array | <code>T[]</code> | - |\n| isMatch | <code>(a: T) => number</code> | - |\n| returnMin | <code>boolean</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-getBlockLanguage-function-1-\" id=\"-vuedx-vue-virtual-textdocument-getBlockLanguage-function-1-\"></a>\n\n### [getBlockLanguage](#-vuedx-vue-virtual-textdocument-getBlockLanguage-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function getBlockLanguage(block?: SFCBlock | null): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| block | <code><a href=\"#-vue-compiler-sfc-SFCBlock-interface\">SFCBlock</a> &#124; null</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-getContainingFile-function-1-\" id=\"-vuedx-vue-virtual-textdocument-getContainingFile-function-1-\"></a>\n\n### [getContainingFile](#-vuedx-vue-virtual-textdocument-getContainingFile-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function getContainingFile(fileName: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-getLanguageExtension-function-1-\" id=\"-vuedx-vue-virtual-textdocument-getLanguageExtension-function-1-\"></a>\n\n### [getLanguageExtension](#-vuedx-vue-virtual-textdocument-getLanguageExtension-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function getLanguageExtension(lang: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| lang | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-getLanguageIdFromExtension-function-1-\" id=\"-vuedx-vue-virtual-textdocument-getLanguageIdFromExtension-function-1-\"></a>\n\n### [getLanguageIdFromExtension](#-vuedx-vue-virtual-textdocument-getLanguageIdFromExtension-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function getLanguageIdFromExtension(ext: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| ext | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-isOffsetInBlock-function-1-\" id=\"-vuedx-vue-virtual-textdocument-isOffsetInBlock-function-1-\"></a>\n\n### [isOffsetInBlock](#-vuedx-vue-virtual-textdocument-isOffsetInBlock-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function isOffsetInBlock(offset: number, block?: SFCBlock | null): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n| block | <code><a href=\"#-vue-compiler-sfc-SFCBlock-interface\">SFCBlock</a> &#124; null</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-isVirtualFile-function-1-\" id=\"-vuedx-vue-virtual-textdocument-isVirtualFile-function-1-\"></a>\n\n### [isVirtualFile](#-vuedx-vue-virtual-textdocument-isVirtualFile-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function isVirtualFile(fileName: string): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-isVirtualFileOfType-function-1-\" id=\"-vuedx-vue-virtual-textdocument-isVirtualFileOfType-function-1-\"></a>\n\n### [isVirtualFileOfType](#-vuedx-vue-virtual-textdocument-isVirtualFileOfType-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function isVirtualFileOfType(fileName: string, type: '_render' | '_module' | '_internal' | 'script' | 'scriptSetup'): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n| type | <code>'_render' &#124; '_module' &#124; '_internal' &#124; 'script' &#124; 'scriptSetup'</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-isVueFile-function-1-\" id=\"-vuedx-vue-virtual-textdocument-isVueFile-function-1-\"></a>\n\n### [isVueFile](#-vuedx-vue-virtual-textdocument-isVueFile-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function isVueFile(fileName: string): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-parseVirtualFileName-function-1-\" id=\"-vuedx-vue-virtual-textdocument-parseVirtualFileName-function-1-\"></a>\n\n### [parseVirtualFileName](#-vuedx-vue-virtual-textdocument-parseVirtualFileName-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function parseVirtualFileName(fileName: string): {\n    uri: string;\n    selector: Selector;\n} | null;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-relativeVirtualImportPath-function-1-\" id=\"-vuedx-vue-virtual-textdocument-relativeVirtualImportPath-function-1-\"></a>\n\n### [relativeVirtualImportPath](#-vuedx-vue-virtual-textdocument-relativeVirtualImportPath-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function relativeVirtualImportPath(fileName: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-replaceSlashes-function-1-\" id=\"-vuedx-vue-virtual-textdocument-replaceSlashes-function-1-\"></a>\n\n### [replaceSlashes](#-vuedx-vue-virtual-textdocument-replaceSlashes-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function replaceSlashes(fileName: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n<!-- #region API-DOCS -->\n","readmeFilename":"readme.md","_id":"@vuedx/vue-virtual-textdocument@0.4.2-insiders-1609376781.0","_nodeVersion":"14.14.0","_npmVersion":"6.14.8","dist":{"integrity":"sha512-Op7kD4qr6vECJVSQFjgcWdrrSuYMYv0qD5hSZAsZrkOCGGdPaLVhgf0AgtLdanKJPPDiLfuI1PbGxSS+DhuiHw==","shasum":"aaa406a895d247e321c5d7165c0d815786684eb6","tarball":"https://registry.npmjs.org/@vuedx/vue-virtual-textdocument/-/vue-virtual-textdocument-0.4.2-insiders-1609376781.0.tgz","fileCount":8,"unpackedSize":293566,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJf7SQqCRA9TVsSAnZWagAALogQAIBF3GVJfb0naOWtL2eZ\noEitl2TlVf6KanjAlEZNrwEsfqYiInt2UDD6Df200R5Xe00OzT88jf67E2ry\nlsIRfhVcD18vJ64FeaRMtQ3Tli6Xa0Ryw0LWfYtev2gPO6/JjOzMrfK/F5En\nazRGUypVi3KyYRfucBo7MsmqoyQ/tN7tamHWFsCxqWIeswwuReXVvzFIvjVi\nrJBz7Qg66ZvTSPehpPzk4h21chHlu1X1n6Z4/18cZD4hFkvb34b0l2z+4f2S\nq0BtikDNLf9rqwlzVrfEeUT8Bichhc7StcLaFTv4a6cuFO0z1seQ0G3o3od7\nsRmT6pbN57cd3SHMlN1Wdw8B9HFtido77zT9KGoUJHbuIouWGdOHQuhqOzO7\nb0bOdhuzBR7EWrwzmnswLKQao2DRkhpeYtnrvlBWOZXtaWWiqqoG2npn43+O\nuX1T/+MfHJ7uedx3AUoeZDAa/DGqlULbKMmfn5T6KJUNHlhuShYqmDkbx2d4\nLtAV1QPlRODsjtljYIh0Mn6yPmYzoh6fecuvMIDMh3BwNuTYvxbFAusliBxI\n4fWP41hflUGjUR34OcVv12skXn9S/4l7owzEMEz+XsbS6uXgzVOorRdESBpK\nJ4lQhy/uJLVs83O6mUDgstxmuiOOmxLPBResF8lMX25RdHXij/crb33YT5K9\nOCBr\r\n=QzxZ\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCICf7DtlXUF/zw4+bxXeFNYuOFlec2y6SX2VUo6QINQiHAiEAucOnBm4bdXf4tT4LSa5wBTmX8NlFX+2L4UveKDfWubg="}]},"_npmUser":{"name":"znck","email":"rahulkdn@gmail.com"},"directories":{},"maintainers":[{"name":"znck","email":"rahulkdn@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/vue-virtual-textdocument_0.4.2-insiders-1609376781.0_1609376810208_0.06598220372924546"},"_hasShrinkwrap":false},"0.4.2-insiders-1609385764.0":{"name":"@vuedx/vue-virtual-textdocument","version":"0.4.2-insiders-1609385764.0","description":"An implementation of virtual filesystem for accessing blocks in a `.vue` file as independent files.","main":"dist/index.cjs.js","module":"dist/index.esm.js","types":"dist/index.d.ts","private":false,"scripts":{},"keywords":["vue","vue sfc","sfc","vue virtual files"],"repository":{"type":"git","url":"git+https://github.com/znck/vue-developer-experience.git"},"author":{"name":"Rahul Kadyan","email":"rahulkdn@gmail.com","url":"https://znck.me/"},"funding":{"type":"individual","url":"https://github.com/sponsors/znck"},"license":"MIT","bugs":{"url":"https://github.com/znck/vue-developer-experience/issues"},"homepage":"https://github.com/znck/vue-developer-experience#readme","dependencies":{"@vuedx/analyze":"0.4.2-insiders-1609385764.0","@vuedx/compiler-sfc":"0.4.2-insiders-1609385764.0","@vuedx/compiler-tsx":"0.4.2-insiders-1609385764.0","source-map":"^0.6.1","vscode-languageserver-textdocument":"^1.0.1","vscode-uri":"^2.1.2"},"devDependencies":{"@vuedx/shared":"0.4.2-insiders-1609385764.0","fast-glob":"^3.2.4","typescript":"^4.0.3"},"readme":"# Vue Virtual TextDocument\n\nAn implementation of virtual filesystem for accessing blocks in a `.vue` file as independent files.\n\n## Support\n\nThis package is part of [VueDX project](https://github.com/znck/vue-developer-experience), maintained by [Rahul Kadyan](https://github.com/znck). You can [💖 sponsor him](https://github.com/sponsors/znck) for continued development of this package and other VueDX tools.\n\n```\nnpm add @vuedx/vue-virtual-textdocument\n```\n<!-- #region API-DOCS -->\n<!-- Do not edit this file. It is a report generated by [scripts/docgen.js](https://github.com/znck/vue-developer-experience/tree/master/scripts/docgen.js). -->\n\n## API\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-AsyncDocumentStore-class\" id=\"-vuedx-vue-virtual-textdocument-AsyncDocumentStore-class\"></a>\n\n### [AsyncDocumentStore](#-vuedx-vue-virtual-textdocument-AsyncDocumentStore-class)\n\n\n\n<details><summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare class AsyncDocumentStore<T> extends DocumentStore<T> {\n  constructor(resolve: (uri: string) => T | Promise<T | null> | null, normalize?: (uri: string) => string);\n  get(uri: string): T | null;\n  get(uri: string): Promise<T | null>;\n}\n```\n\n**Members:**\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-AsyncDocumentStore-get-member-1-\" id=\"-vuedx-vue-virtual-textdocument-AsyncDocumentStore-get-member-1-\"></a>\n\n#### [get](#-vuedx-vue-virtual-textdocument-AsyncDocumentStore-get-member-1-)\n\n\n\n**Signature:**\n```ts\nget(uri: string): T | null;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-AsyncDocumentStore-get-member-2-\" id=\"-vuedx-vue-virtual-textdocument-AsyncDocumentStore-get-member-2-\"></a>\n\n#### [get](#-vuedx-vue-virtual-textdocument-AsyncDocumentStore-get-member-2-)\n\n\n\n**Signature:**\n```ts\nget(uri: string): Promise<T | null>;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n\n<br>\n</details>\n\n<br>\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-class\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-class\"></a>\n\n### [DocumentStore](#-vuedx-vue-virtual-textdocument-DocumentStore-class)\n\n\n\n<details><summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare class DocumentStore<T> {\n  constructor(resolve: (uri: string) => T | null, normalize?: (uri: string) => string);\n  all(): string[];\n  delete(uri: string): boolean;\n  dispose(): void;\n  get(uri: string): T | null;\n  protected getNormalizedUri(uri: string): string;\n  has(uri: string): boolean;\n  protected map: Map<string, T>;\n  normalize: (uri: string) => string;\n  protected resolve: (uri: string) => T | null;\n  protected reverseUriMap: Map<string, string>;\n  set(uri: string, document: T): void;\n}\n```\n\n**Members:**\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-all-member-1-\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-all-member-1-\"></a>\n\n#### [all](#-vuedx-vue-virtual-textdocument-DocumentStore-all-member-1-)\n\n\n\n**Signature:**\n```ts\nall(): string[];\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-delete-member-1-\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-delete-member-1-\"></a>\n\n#### [delete](#-vuedx-vue-virtual-textdocument-DocumentStore-delete-member-1-)\n\n\n\n**Signature:**\n```ts\ndelete(uri: string): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-dispose-member-1-\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-dispose-member-1-\"></a>\n\n#### [dispose](#-vuedx-vue-virtual-textdocument-DocumentStore-dispose-member-1-)\n\n\n\n**Signature:**\n```ts\ndispose(): void;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-get-member-1-\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-get-member-1-\"></a>\n\n#### [get](#-vuedx-vue-virtual-textdocument-DocumentStore-get-member-1-)\n\n\n\n**Signature:**\n```ts\nget(uri: string): T | null;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-getNormalizedUri-member-1-\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-getNormalizedUri-member-1-\"></a>\n\n#### [getNormalizedUri](#-vuedx-vue-virtual-textdocument-DocumentStore-getNormalizedUri-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected getNormalizedUri(uri: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-has-member-1-\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-has-member-1-\"></a>\n\n#### [has](#-vuedx-vue-virtual-textdocument-DocumentStore-has-member-1-)\n\n\n\n**Signature:**\n```ts\nhas(uri: string): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-set-member-1-\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-set-member-1-\"></a>\n\n#### [set](#-vuedx-vue-virtual-textdocument-DocumentStore-set-member-1-)\n\n\n\n**Signature:**\n```ts\nset(uri: string, document: T): void;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n| document | <code>T</code> | - |\n\n<br>\n</details>\n\n<br>\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-class\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-class\"></a>\n\n### [RenderFunctionTextDocument](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-class)\n\n\n\n<details><summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare class RenderFunctionTextDocument extends TransformedBlockTextDocument {\n  constructor(container: VueTextDocument, selector: Selector, transformed: TextDocument, source: TextDocument);\n  get ast(): CodegenResult['ast'] | undefined;\n  get contextCompletionsTriggerOffset(): number;\n  static create(options: CreateVirtualTextDocumentOptions): RenderFunctionTextDocument;\n  findExpression(offset: number, length: number): undefined | {\n        offset: number;\n        length: number;\n    };\n  protected generate(): string;\n  getAllGeneratedOffsetsAt(offset: number): undefined | Array<{\n        length: number;\n        offset: number;\n    }>;\n  getGeneratedOffsetAt(offset: number): undefined | {\n        length: number;\n        offset: number;\n    };\n  protected getKnownComponents(): Record<string, ComponentImport>;\n  getOriginalOffsetAt(offset: number): undefined | {\n        offset: number;\n        length: number;\n    };\n  isInGeneratedRange(offset: number): boolean;\n  isInTemplateIdentifierRange(offset: number): boolean;\n  get parserErrors(): CodegenResult['errors'];\n  get tagCompletionsTriggerOffset(): number;\n  toDisplayMappings(): string;\n  protected tryGenerate(): string;\n}\n```\n\n**Members:**\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-create-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-create-member-1-\"></a>\n\n#### [create](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-create-member-1-)\n\n\n\n**Signature:**\n```ts\nstatic create(options: CreateVirtualTextDocumentOptions): RenderFunctionTextDocument;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| options | <code><a href=\"#-vuedx-vue-virtual-textdocument--CreateVirtualTextDocumentOptions-interface\">CreateVirtualTextDocumentOptions</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-findExpression-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-findExpression-member-1-\"></a>\n\n#### [findExpression](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-findExpression-member-1-)\n\n\n\n**Signature:**\n```ts\nfindExpression(offset: number, length: number): undefined | {\n        offset: number;\n        length: number;\n    };\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n| length | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-generate-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-generate-member-1-\"></a>\n\n#### [generate](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-generate-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected generate(): string;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getAllGeneratedOffsetsAt-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getAllGeneratedOffsetsAt-member-1-\"></a>\n\n#### [getAllGeneratedOffsetsAt](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getAllGeneratedOffsetsAt-member-1-)\n\n\n\n**Signature:**\n```ts\ngetAllGeneratedOffsetsAt(offset: number): undefined | Array<{\n        length: number;\n        offset: number;\n    }>;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getGeneratedOffsetAt-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getGeneratedOffsetAt-member-1-\"></a>\n\n#### [getGeneratedOffsetAt](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getGeneratedOffsetAt-member-1-)\n\n\n\n**Signature:**\n```ts\ngetGeneratedOffsetAt(offset: number): undefined | {\n        length: number;\n        offset: number;\n    };\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getKnownComponents-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getKnownComponents-member-1-\"></a>\n\n#### [getKnownComponents](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getKnownComponents-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected getKnownComponents(): Record<string, ComponentImport>;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getOriginalOffsetAt-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getOriginalOffsetAt-member-1-\"></a>\n\n#### [getOriginalOffsetAt](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getOriginalOffsetAt-member-1-)\n\n\n\n**Signature:**\n```ts\ngetOriginalOffsetAt(offset: number): undefined | {\n        offset: number;\n        length: number;\n    };\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-isInGeneratedRange-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-isInGeneratedRange-member-1-\"></a>\n\n#### [isInGeneratedRange](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-isInGeneratedRange-member-1-)\n\n\n\n**Signature:**\n```ts\nisInGeneratedRange(offset: number): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-isInTemplateIdentifierRange-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-isInTemplateIdentifierRange-member-1-\"></a>\n\n#### [isInTemplateIdentifierRange](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-isInTemplateIdentifierRange-member-1-)\n\n\n\n**Signature:**\n```ts\nisInTemplateIdentifierRange(offset: number): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-toDisplayMappings-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-toDisplayMappings-member-1-\"></a>\n\n#### [toDisplayMappings](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-toDisplayMappings-member-1-)\n\n\n\n**Signature:**\n```ts\ntoDisplayMappings(): string;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-tryGenerate-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-tryGenerate-member-1-\"></a>\n\n#### [tryGenerate](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-tryGenerate-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected tryGenerate(): string;\n```\n\n\n<br>\n</details>\n\n<br>\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-class\" id=\"-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-class\"></a>\n\n### [TransformedBlockTextDocument](#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-class)\n\n\n\n<details><summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare class TransformedBlockTextDocument extends VirtualTextDocument {\n  protected constructor(container: VueTextDocument, selector: Selector, transformed: TextDocument, source: TextDocument | VirtualTextDocument, _transform: (document: TransformedBlockTextDocument) => BlockTransformResult);\n  static create(options: CreateTransformedBlockTextDocumentOptions): TransformedBlockTextDocument;\n  protected refresh(): void;\n  transform(): BlockTransformResult;\n  tryGetGeneratedOffset(offset: number): number | undefined;\n  tryGetSourceOffset(offset: number): number | undefined;\n}\n```\n\n**Members:**\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-create-member-1-\" id=\"-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-create-member-1-\"></a>\n\n#### [create](#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-create-member-1-)\n\n\n\n**Signature:**\n```ts\nstatic create(options: CreateTransformedBlockTextDocumentOptions): TransformedBlockTextDocument;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| options | <code><a href=\"#-vuedx-vue-virtual-textdocument--CreateTransformedBlockTextDocumentOptions-interface\">CreateTransformedBlockTextDocumentOptions</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-refresh-member-1-\" id=\"-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-refresh-member-1-\"></a>\n\n#### [refresh](#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-refresh-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected refresh(): void;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-transform-member-1-\" id=\"-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-transform-member-1-\"></a>\n\n#### [transform](#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-transform-member-1-)\n\n\n\n**Signature:**\n```ts\ntransform(): BlockTransformResult;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-tryGetGeneratedOffset-member-1-\" id=\"-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-tryGetGeneratedOffset-member-1-\"></a>\n\n#### [tryGetGeneratedOffset](#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-tryGetGeneratedOffset-member-1-)\n\n\n\n**Signature:**\n```ts\ntryGetGeneratedOffset(offset: number): number | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-tryGetSourceOffset-member-1-\" id=\"-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-tryGetSourceOffset-member-1-\"></a>\n\n#### [tryGetSourceOffset](#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-tryGetSourceOffset-member-1-)\n\n\n\n**Signature:**\n```ts\ntryGetSourceOffset(offset: number): number | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n</details>\n\n<br>\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VirtualTextDocument-class\" id=\"-vuedx-vue-virtual-textdocument-VirtualTextDocument-class\"></a>\n\n### [VirtualTextDocument](#-vuedx-vue-virtual-textdocument-VirtualTextDocument-class)\n\n\n\n<details><summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare class VirtualTextDocument extends ProxyTextDocument {\n  protected constructor(container: VueTextDocument, selector: Selector, doc: TextDocument);\n  readonly container: VueTextDocument;\n  static create(options: CreateVirtualTextDocumentOptions): VirtualTextDocument;\n  protected isDirty: boolean;\n  markDirty(): void;\n  protected refresh(): void;\n  readonly selector: Selector;\n}\n```\n\n**Members:**\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VirtualTextDocument-create-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VirtualTextDocument-create-member-1-\"></a>\n\n#### [create](#-vuedx-vue-virtual-textdocument-VirtualTextDocument-create-member-1-)\n\n\n\n**Signature:**\n```ts\nstatic create(options: CreateVirtualTextDocumentOptions): VirtualTextDocument;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| options | <code><a href=\"#-vuedx-vue-virtual-textdocument--CreateVirtualTextDocumentOptions-interface\">CreateVirtualTextDocumentOptions</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VirtualTextDocument-markDirty-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VirtualTextDocument-markDirty-member-1-\"></a>\n\n#### [markDirty](#-vuedx-vue-virtual-textdocument-VirtualTextDocument-markDirty-member-1-)\n\n\n\n**Signature:**\n```ts\nmarkDirty(): void;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VirtualTextDocument-refresh-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VirtualTextDocument-refresh-member-1-\"></a>\n\n#### [refresh](#-vuedx-vue-virtual-textdocument-VirtualTextDocument-refresh-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected refresh(): void;\n```\n\n\n<br>\n</details>\n\n<br>\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-class\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-class\"></a>\n\n### [VueTextDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-class)\n\n\n\n<details><summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare class VueTextDocument extends ProxyTextDocument {\n  constructor(doc: TextDocument, options?: VueTextDocumentOptions, parseOptions?: SFCParseOptions);\n  all(): VirtualTextDocument[];\n  blockAt(position: Position | number): SFCBlock | null | undefined;\n  static create(uri: string, languageId: string, version: number, content: string, options?: VueTextDocumentOptions, parseOptions?: SFCParseOptions): VueTextDocument;\n  protected createBlockDocument(selector: BlockSelector): VirtualTextDocument | undefined;\n  protected createInternalModuleDocument(): TransformedBlockTextDocument;\n  protected createModuleDocument(): TransformedBlockTextDocument;\n  protected createRenderDocument(): RenderFunctionTextDocument;\n  protected createTemplateASTDocument(): TransformedBlockTextDocument;\n  get descriptor(): SFCDescriptor;\n  documentAt(position: Position | number): VirtualTextDocument | undefined;\n  getBlock(selector: BlockSelector): SFCBlock | null | undefined;\n  getBlockSelector(block: SFCBlock): BlockSelector | undefined;\n  getDocument(selector: typeof RENDER_SELECTOR): RenderFunctionTextDocument;\n  getDocument(selector: SelectorLike): VirtualTextDocument;\n  getDocument(selector: string): VirtualTextDocument | undefined;\n  getDocumentFileName(selectorLike: SelectorLike): string;\n  protected getDocumentId(selector: Selector): string;\n  protected getDocumentLanguage(selector: Selector): string;\n  markDirty(): void;\n  readonly options: VueTextDocumentOptions;\n  protected parse(): void;\n  static update(document: VueTextDocument, changes: TextDocumentContentChangeEvent[], version: number): VueTextDocument;\n}\n```\n\n**Members:**\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-all-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-all-member-1-\"></a>\n\n#### [all](#-vuedx-vue-virtual-textdocument-VueTextDocument-all-member-1-)\n\n\n\n**Signature:**\n```ts\nall(): VirtualTextDocument[];\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-blockAt-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-blockAt-member-1-\"></a>\n\n#### [blockAt](#-vuedx-vue-virtual-textdocument-VueTextDocument-blockAt-member-1-)\n\n\n\n**Signature:**\n```ts\nblockAt(position: Position | number): SFCBlock | null | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| position | <code><a href=\"#vscode-languageserver-textdocument-Position-interface\">Position</a> &#124; number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-create-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-create-member-1-\"></a>\n\n#### [create](#-vuedx-vue-virtual-textdocument-VueTextDocument-create-member-1-)\n\n\n\n**Signature:**\n```ts\nstatic create(uri: string, languageId: string, version: number, content: string, options?: VueTextDocumentOptions, parseOptions?: SFCParseOptions): VueTextDocument;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n| languageId | <code>string</code> | - |\n| version | <code>number</code> | - |\n| content | <code>string</code> | - |\n| options | <code><a href=\"#-vuedx-vue-virtual-textdocument--VueTextDocumentOptions-interface\">VueTextDocumentOptions</a></code> | - |\n| parseOptions | <code><a href=\"#-vue-compiler-sfc-SFCParseOptions-interface\">SFCParseOptions</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-createBlockDocument-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-createBlockDocument-member-1-\"></a>\n\n#### [createBlockDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-createBlockDocument-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected createBlockDocument(selector: BlockSelector): VirtualTextDocument | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selector | <code><a href=\"#-vuedx-vue-virtual-textdocument--BlockSelector-type\">BlockSelector</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-createInternalModuleDocument-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-createInternalModuleDocument-member-1-\"></a>\n\n#### [createInternalModuleDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-createInternalModuleDocument-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected createInternalModuleDocument(): TransformedBlockTextDocument;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-createModuleDocument-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-createModuleDocument-member-1-\"></a>\n\n#### [createModuleDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-createModuleDocument-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected createModuleDocument(): TransformedBlockTextDocument;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-createRenderDocument-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-createRenderDocument-member-1-\"></a>\n\n#### [createRenderDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-createRenderDocument-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected createRenderDocument(): RenderFunctionTextDocument;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-createTemplateASTDocument-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-createTemplateASTDocument-member-1-\"></a>\n\n#### [createTemplateASTDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-createTemplateASTDocument-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected createTemplateASTDocument(): TransformedBlockTextDocument;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-documentAt-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-documentAt-member-1-\"></a>\n\n#### [documentAt](#-vuedx-vue-virtual-textdocument-VueTextDocument-documentAt-member-1-)\n\n\n\n**Signature:**\n```ts\ndocumentAt(position: Position | number): VirtualTextDocument | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| position | <code><a href=\"#vscode-languageserver-textdocument-Position-interface\">Position</a> &#124; number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getBlock-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getBlock-member-1-\"></a>\n\n#### [getBlock](#-vuedx-vue-virtual-textdocument-VueTextDocument-getBlock-member-1-)\n\n\n\n**Signature:**\n```ts\ngetBlock(selector: BlockSelector): SFCBlock | null | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selector | <code><a href=\"#-vuedx-vue-virtual-textdocument--BlockSelector-type\">BlockSelector</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getBlockSelector-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getBlockSelector-member-1-\"></a>\n\n#### [getBlockSelector](#-vuedx-vue-virtual-textdocument-VueTextDocument-getBlockSelector-member-1-)\n\n\n\n**Signature:**\n```ts\ngetBlockSelector(block: SFCBlock): BlockSelector | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| block | <code><a href=\"#-vue-compiler-sfc-SFCBlock-interface\">SFCBlock</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-1-\"></a>\n\n#### [getDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-1-)\n\n\n\n**Signature:**\n```ts\ngetDocument(selector: typeof RENDER_SELECTOR): RenderFunctionTextDocument;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selector | <code>typeof <a href=\"#-vuedx-vue-virtual-textdocument--RENDER-SELECTOR-var\">RENDER_SELECTOR</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-2-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-2-\"></a>\n\n#### [getDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-2-)\n\n\n\n**Signature:**\n```ts\ngetDocument(selector: SelectorLike): VirtualTextDocument;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selector | <code><a href=\"#-vuedx-vue-virtual-textdocument--SelectorLike-type\">SelectorLike</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-3-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-3-\"></a>\n\n#### [getDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-3-)\n\n\n\n**Signature:**\n```ts\ngetDocument(selector: string): VirtualTextDocument | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selector | <code>string</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentFileName-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentFileName-member-1-\"></a>\n\n#### [getDocumentFileName](#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentFileName-member-1-)\n\n\n\n**Signature:**\n```ts\ngetDocumentFileName(selectorLike: SelectorLike): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selectorLike | <code><a href=\"#-vuedx-vue-virtual-textdocument--SelectorLike-type\">SelectorLike</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentId-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentId-member-1-\"></a>\n\n#### [getDocumentId](#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentId-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected getDocumentId(selector: Selector): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selector | <code><a href=\"#-vuedx-vue-virtual-textdocument--Selector-type\">Selector</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentLanguage-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentLanguage-member-1-\"></a>\n\n#### [getDocumentLanguage](#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentLanguage-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected getDocumentLanguage(selector: Selector): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selector | <code><a href=\"#-vuedx-vue-virtual-textdocument--Selector-type\">Selector</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-markDirty-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-markDirty-member-1-\"></a>\n\n#### [markDirty](#-vuedx-vue-virtual-textdocument-VueTextDocument-markDirty-member-1-)\n\n\n\n**Signature:**\n```ts\nmarkDirty(): void;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-parse-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-parse-member-1-\"></a>\n\n#### [parse](#-vuedx-vue-virtual-textdocument-VueTextDocument-parse-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected parse(): void;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-update-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-update-member-1-\"></a>\n\n#### [update](#-vuedx-vue-virtual-textdocument-VueTextDocument-update-member-1-)\n\n\n\n**Signature:**\n```ts\nstatic update(document: VueTextDocument, changes: TextDocumentContentChangeEvent[], version: number): VueTextDocument;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| document | <code><a href=\"#-vuedx-vue-virtual-textdocument--VueTextDocument-class\">VueTextDocument</a></code> | - |\n| changes | <code><a href=\"#vscode-languageserver-textdocument-TextDocumentContentChangeEvent-type\">TextDocumentContentChangeEvent</a>[]</code> | - |\n| version | <code>number</code> | - |\n\n<br>\n</details>\n\n<br>\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-asFsPath-function-1-\" id=\"-vuedx-vue-virtual-textdocument-asFsPath-function-1-\"></a>\n\n### [asFsPath](#-vuedx-vue-virtual-textdocument-asFsPath-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function asFsPath(uri: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-asFsUri-function-1-\" id=\"-vuedx-vue-virtual-textdocument-asFsUri-function-1-\"></a>\n\n### [asFsUri](#-vuedx-vue-virtual-textdocument-asFsUri-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function asFsUri(fileName: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-asUri-function-1-\" id=\"-vuedx-vue-virtual-textdocument-asUri-function-1-\"></a>\n\n### [asUri](#-vuedx-vue-virtual-textdocument-asUri-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function asUri(fileNameOrUri: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileNameOrUri | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-basename-function-1-\" id=\"-vuedx-vue-virtual-textdocument-basename-function-1-\"></a>\n\n### [basename](#-vuedx-vue-virtual-textdocument-basename-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function basename(fileName: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-binarySearch-function-1-\" id=\"-vuedx-vue-virtual-textdocument-binarySearch-function-1-\"></a>\n\n### [binarySearch](#-vuedx-vue-virtual-textdocument-binarySearch-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function binarySearch<T>(array: T[], isMatch: (a: T) => number, returnMin?: boolean): T | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| array | <code>T[]</code> | - |\n| isMatch | <code>(a: T) => number</code> | - |\n| returnMin | <code>boolean</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-getBlockLanguage-function-1-\" id=\"-vuedx-vue-virtual-textdocument-getBlockLanguage-function-1-\"></a>\n\n### [getBlockLanguage](#-vuedx-vue-virtual-textdocument-getBlockLanguage-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function getBlockLanguage(block?: SFCBlock | null): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| block | <code><a href=\"#-vue-compiler-sfc-SFCBlock-interface\">SFCBlock</a> &#124; null</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-getContainingFile-function-1-\" id=\"-vuedx-vue-virtual-textdocument-getContainingFile-function-1-\"></a>\n\n### [getContainingFile](#-vuedx-vue-virtual-textdocument-getContainingFile-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function getContainingFile(fileName: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-getLanguageExtension-function-1-\" id=\"-vuedx-vue-virtual-textdocument-getLanguageExtension-function-1-\"></a>\n\n### [getLanguageExtension](#-vuedx-vue-virtual-textdocument-getLanguageExtension-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function getLanguageExtension(lang: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| lang | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-getLanguageIdFromExtension-function-1-\" id=\"-vuedx-vue-virtual-textdocument-getLanguageIdFromExtension-function-1-\"></a>\n\n### [getLanguageIdFromExtension](#-vuedx-vue-virtual-textdocument-getLanguageIdFromExtension-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function getLanguageIdFromExtension(ext: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| ext | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-isOffsetInBlock-function-1-\" id=\"-vuedx-vue-virtual-textdocument-isOffsetInBlock-function-1-\"></a>\n\n### [isOffsetInBlock](#-vuedx-vue-virtual-textdocument-isOffsetInBlock-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function isOffsetInBlock(offset: number, block?: SFCBlock | null): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n| block | <code><a href=\"#-vue-compiler-sfc-SFCBlock-interface\">SFCBlock</a> &#124; null</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-isVirtualFile-function-1-\" id=\"-vuedx-vue-virtual-textdocument-isVirtualFile-function-1-\"></a>\n\n### [isVirtualFile](#-vuedx-vue-virtual-textdocument-isVirtualFile-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function isVirtualFile(fileName: string): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-isVirtualFileOfType-function-1-\" id=\"-vuedx-vue-virtual-textdocument-isVirtualFileOfType-function-1-\"></a>\n\n### [isVirtualFileOfType](#-vuedx-vue-virtual-textdocument-isVirtualFileOfType-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function isVirtualFileOfType(fileName: string, type: '_render' | '_module' | '_internal' | 'script' | 'scriptSetup'): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n| type | <code>'_render' &#124; '_module' &#124; '_internal' &#124; 'script' &#124; 'scriptSetup'</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-isVueFile-function-1-\" id=\"-vuedx-vue-virtual-textdocument-isVueFile-function-1-\"></a>\n\n### [isVueFile](#-vuedx-vue-virtual-textdocument-isVueFile-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function isVueFile(fileName: string): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-parseVirtualFileName-function-1-\" id=\"-vuedx-vue-virtual-textdocument-parseVirtualFileName-function-1-\"></a>\n\n### [parseVirtualFileName](#-vuedx-vue-virtual-textdocument-parseVirtualFileName-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function parseVirtualFileName(fileName: string): {\n    uri: string;\n    selector: Selector;\n} | null;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-relativeVirtualImportPath-function-1-\" id=\"-vuedx-vue-virtual-textdocument-relativeVirtualImportPath-function-1-\"></a>\n\n### [relativeVirtualImportPath](#-vuedx-vue-virtual-textdocument-relativeVirtualImportPath-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function relativeVirtualImportPath(fileName: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-replaceSlashes-function-1-\" id=\"-vuedx-vue-virtual-textdocument-replaceSlashes-function-1-\"></a>\n\n### [replaceSlashes](#-vuedx-vue-virtual-textdocument-replaceSlashes-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function replaceSlashes(fileName: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n<!-- #region API-DOCS -->\n","readmeFilename":"readme.md","_id":"@vuedx/vue-virtual-textdocument@0.4.2-insiders-1609385764.0","_nodeVersion":"14.14.0","_npmVersion":"6.14.8","dist":{"integrity":"sha512-KsIjNr1Lh89lrWwVtOF/hoBsBQIe2M5hvcNYnCVFccpBso4WZK2BYR6MpK8jDBZTbIimNm48PM54uqjGCAbhjw==","shasum":"b86f1e6cd3c8699c335505ff6a2f9a3b57f96660","tarball":"https://registry.npmjs.org/@vuedx/vue-virtual-textdocument/-/vue-virtual-textdocument-0.4.2-insiders-1609385764.0.tgz","fileCount":8,"unpackedSize":293714,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJf7UdECRA9TVsSAnZWagAAAWoP/1DBiBxuIx8HPSPPS4BV\n4rTWlEOiwi1rynz9qQb7no7nt26Gr9+eNea0Ov/4Oy5FR3nQ/tgU5HlYC2eo\nAERpHWt7sfWZn/KD7gNSwyavGZizH9Uw+LI7NseGARYz8gg9ZzUegkgJXKf+\nPwl5qBJ6CXWSY1bJqEhfRNXnYXzmfLVYcrfMTttUuVA9XW91UgRknw762sX2\nCfNsJp9KjIhvMZLskof19scwHQH3EDgrRGT0xNY5B87hSfR4KSVj3hCtETvH\nJ3xhYMBshxaE61nvbfUPGK3vIWomoDzdLM13rAKvFfnY4QVYDZ6GOMRAAWjz\ne57NU1h09Eii+yyOAHZl2FYgTgRF+XvLN0AsNvzasCgyXFlTdUlb3RRml3s1\nYneTLDVaKQDw3rEdgR7U7eW/L6oop1WvwGk2LHLvk1tWFp8uokvKQk9CmFjc\nigcyxYLnv2FQ1sPRpmYbdIMvfiEGfFTK5fu/hHYmGZuJZFgZ6C4WE8nlQ4nL\nY79croZVDs424tVh2UoaCE79jZ/0fydP0PWIKsCge/ODqdhQGVNC5rJjY+KU\nuB/duMm1/lrrtC+q7P1XIXPAq3VLXvsAIjsZw4/BYUem0x2ADUAvZI5t5nBp\ngFjQ4NcEqWjq3NEWUVz5oNyi6W2M8qhVaZjQn+A2BVHzbLayUdT6maJE7XNT\nzDFQ\r\n=lGyL\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIAJjdVMYU9mxpNLes/21BbUbRPISceN5qZ91+hUIy9RNAiABAHepCRM4ZylxHtQXL864T7HY5yh+rlxOG1nj7vOBww=="}]},"_npmUser":{"name":"znck","email":"rahulkdn@gmail.com"},"directories":{},"maintainers":[{"name":"znck","email":"rahulkdn@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/vue-virtual-textdocument_0.4.2-insiders-1609385764.0_1609385795845_0.6025380477170257"},"_hasShrinkwrap":false},"0.4.2-insiders-1609436485.0":{"name":"@vuedx/vue-virtual-textdocument","version":"0.4.2-insiders-1609436485.0","description":"An implementation of virtual filesystem for accessing blocks in a `.vue` file as independent files.","main":"dist/index.cjs.js","module":"dist/index.esm.js","types":"dist/index.d.ts","private":false,"scripts":{},"keywords":["vue","vue sfc","sfc","vue virtual files"],"repository":{"type":"git","url":"git+https://github.com/znck/vue-developer-experience.git"},"author":{"name":"Rahul Kadyan","email":"rahulkdn@gmail.com","url":"https://znck.me/"},"funding":{"type":"individual","url":"https://github.com/sponsors/znck"},"license":"MIT","bugs":{"url":"https://github.com/znck/vue-developer-experience/issues"},"homepage":"https://github.com/znck/vue-developer-experience#readme","dependencies":{"@vuedx/analyze":"0.4.2-insiders-1609436485.0","@vuedx/compiler-sfc":"0.4.2-insiders-1609436485.0","@vuedx/compiler-tsx":"0.4.2-insiders-1609436485.0","source-map":"^0.6.1","vscode-languageserver-textdocument":"^1.0.1","vscode-uri":"^2.1.2"},"devDependencies":{"@vuedx/shared":"0.4.2-insiders-1609436485.0","fast-glob":"^3.2.4","typescript":"^4.0.3"},"readme":"# Vue Virtual TextDocument\n\nAn implementation of virtual filesystem for accessing blocks in a `.vue` file as independent files.\n\n## Support\n\nThis package is part of [VueDX project](https://github.com/znck/vue-developer-experience), maintained by [Rahul Kadyan](https://github.com/znck). You can [💖 sponsor him](https://github.com/sponsors/znck) for continued development of this package and other VueDX tools.\n\n```\nnpm add @vuedx/vue-virtual-textdocument\n```\n<!-- #region API-DOCS -->\n<!-- Do not edit this file. It is a report generated by [scripts/docgen.js](https://github.com/znck/vue-developer-experience/tree/master/scripts/docgen.js). -->\n\n## API\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-AsyncDocumentStore-class\" id=\"-vuedx-vue-virtual-textdocument-AsyncDocumentStore-class\"></a>\n\n### [AsyncDocumentStore](#-vuedx-vue-virtual-textdocument-AsyncDocumentStore-class)\n\n\n\n<details><summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare class AsyncDocumentStore<T> extends DocumentStore<T> {\n  constructor(resolve: (uri: string) => T | Promise<T | null> | null, normalize?: (uri: string) => string);\n  get(uri: string): T | null;\n  get(uri: string): Promise<T | null>;\n}\n```\n\n**Members:**\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-AsyncDocumentStore-get-member-1-\" id=\"-vuedx-vue-virtual-textdocument-AsyncDocumentStore-get-member-1-\"></a>\n\n#### [get](#-vuedx-vue-virtual-textdocument-AsyncDocumentStore-get-member-1-)\n\n\n\n**Signature:**\n```ts\nget(uri: string): T | null;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-AsyncDocumentStore-get-member-2-\" id=\"-vuedx-vue-virtual-textdocument-AsyncDocumentStore-get-member-2-\"></a>\n\n#### [get](#-vuedx-vue-virtual-textdocument-AsyncDocumentStore-get-member-2-)\n\n\n\n**Signature:**\n```ts\nget(uri: string): Promise<T | null>;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n\n<br>\n</details>\n\n<br>\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-class\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-class\"></a>\n\n### [DocumentStore](#-vuedx-vue-virtual-textdocument-DocumentStore-class)\n\n\n\n<details><summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare class DocumentStore<T> {\n  constructor(resolve: (uri: string) => T | null, normalize?: (uri: string) => string);\n  all(): string[];\n  delete(uri: string): boolean;\n  dispose(): void;\n  get(uri: string): T | null;\n  protected getNormalizedUri(uri: string): string;\n  has(uri: string): boolean;\n  protected map: Map<string, T>;\n  normalize: (uri: string) => string;\n  protected resolve: (uri: string) => T | null;\n  protected reverseUriMap: Map<string, string>;\n  set(uri: string, document: T): void;\n}\n```\n\n**Members:**\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-all-member-1-\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-all-member-1-\"></a>\n\n#### [all](#-vuedx-vue-virtual-textdocument-DocumentStore-all-member-1-)\n\n\n\n**Signature:**\n```ts\nall(): string[];\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-delete-member-1-\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-delete-member-1-\"></a>\n\n#### [delete](#-vuedx-vue-virtual-textdocument-DocumentStore-delete-member-1-)\n\n\n\n**Signature:**\n```ts\ndelete(uri: string): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-dispose-member-1-\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-dispose-member-1-\"></a>\n\n#### [dispose](#-vuedx-vue-virtual-textdocument-DocumentStore-dispose-member-1-)\n\n\n\n**Signature:**\n```ts\ndispose(): void;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-get-member-1-\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-get-member-1-\"></a>\n\n#### [get](#-vuedx-vue-virtual-textdocument-DocumentStore-get-member-1-)\n\n\n\n**Signature:**\n```ts\nget(uri: string): T | null;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-getNormalizedUri-member-1-\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-getNormalizedUri-member-1-\"></a>\n\n#### [getNormalizedUri](#-vuedx-vue-virtual-textdocument-DocumentStore-getNormalizedUri-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected getNormalizedUri(uri: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-has-member-1-\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-has-member-1-\"></a>\n\n#### [has](#-vuedx-vue-virtual-textdocument-DocumentStore-has-member-1-)\n\n\n\n**Signature:**\n```ts\nhas(uri: string): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-set-member-1-\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-set-member-1-\"></a>\n\n#### [set](#-vuedx-vue-virtual-textdocument-DocumentStore-set-member-1-)\n\n\n\n**Signature:**\n```ts\nset(uri: string, document: T): void;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n| document | <code>T</code> | - |\n\n<br>\n</details>\n\n<br>\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-class\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-class\"></a>\n\n### [RenderFunctionTextDocument](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-class)\n\n\n\n<details><summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare class RenderFunctionTextDocument extends TransformedBlockTextDocument {\n  constructor(container: VueTextDocument, selector: Selector, transformed: TextDocument, source: TextDocument);\n  get ast(): CodegenResult['ast'] | undefined;\n  get contextCompletionsTriggerOffset(): number;\n  static create(options: CreateVirtualTextDocumentOptions): RenderFunctionTextDocument;\n  findExpression(offset: number, length: number): undefined | {\n        offset: number;\n        length: number;\n    };\n  protected generate(): string;\n  getAllGeneratedOffsetsAt(offset: number): undefined | Array<{\n        length: number;\n        offset: number;\n    }>;\n  getGeneratedOffsetAt(offset: number): undefined | {\n        length: number;\n        offset: number;\n    };\n  protected getKnownComponents(): Record<string, ComponentImport>;\n  getOriginalOffsetAt(offset: number): undefined | {\n        offset: number;\n        length: number;\n    };\n  isInGeneratedRange(offset: number): boolean;\n  isInTemplateIdentifierRange(offset: number): boolean;\n  get parserErrors(): CodegenResult['errors'];\n  get tagCompletionsTriggerOffset(): number;\n  toDisplayMappings(): string;\n  protected tryGenerate(): string;\n}\n```\n\n**Members:**\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-create-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-create-member-1-\"></a>\n\n#### [create](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-create-member-1-)\n\n\n\n**Signature:**\n```ts\nstatic create(options: CreateVirtualTextDocumentOptions): RenderFunctionTextDocument;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| options | <code><a href=\"#-vuedx-vue-virtual-textdocument--CreateVirtualTextDocumentOptions-interface\">CreateVirtualTextDocumentOptions</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-findExpression-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-findExpression-member-1-\"></a>\n\n#### [findExpression](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-findExpression-member-1-)\n\n\n\n**Signature:**\n```ts\nfindExpression(offset: number, length: number): undefined | {\n        offset: number;\n        length: number;\n    };\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n| length | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-generate-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-generate-member-1-\"></a>\n\n#### [generate](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-generate-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected generate(): string;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getAllGeneratedOffsetsAt-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getAllGeneratedOffsetsAt-member-1-\"></a>\n\n#### [getAllGeneratedOffsetsAt](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getAllGeneratedOffsetsAt-member-1-)\n\n\n\n**Signature:**\n```ts\ngetAllGeneratedOffsetsAt(offset: number): undefined | Array<{\n        length: number;\n        offset: number;\n    }>;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getGeneratedOffsetAt-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getGeneratedOffsetAt-member-1-\"></a>\n\n#### [getGeneratedOffsetAt](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getGeneratedOffsetAt-member-1-)\n\n\n\n**Signature:**\n```ts\ngetGeneratedOffsetAt(offset: number): undefined | {\n        length: number;\n        offset: number;\n    };\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getKnownComponents-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getKnownComponents-member-1-\"></a>\n\n#### [getKnownComponents](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getKnownComponents-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected getKnownComponents(): Record<string, ComponentImport>;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getOriginalOffsetAt-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getOriginalOffsetAt-member-1-\"></a>\n\n#### [getOriginalOffsetAt](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getOriginalOffsetAt-member-1-)\n\n\n\n**Signature:**\n```ts\ngetOriginalOffsetAt(offset: number): undefined | {\n        offset: number;\n        length: number;\n    };\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-isInGeneratedRange-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-isInGeneratedRange-member-1-\"></a>\n\n#### [isInGeneratedRange](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-isInGeneratedRange-member-1-)\n\n\n\n**Signature:**\n```ts\nisInGeneratedRange(offset: number): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-isInTemplateIdentifierRange-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-isInTemplateIdentifierRange-member-1-\"></a>\n\n#### [isInTemplateIdentifierRange](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-isInTemplateIdentifierRange-member-1-)\n\n\n\n**Signature:**\n```ts\nisInTemplateIdentifierRange(offset: number): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-toDisplayMappings-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-toDisplayMappings-member-1-\"></a>\n\n#### [toDisplayMappings](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-toDisplayMappings-member-1-)\n\n\n\n**Signature:**\n```ts\ntoDisplayMappings(): string;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-tryGenerate-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-tryGenerate-member-1-\"></a>\n\n#### [tryGenerate](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-tryGenerate-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected tryGenerate(): string;\n```\n\n\n<br>\n</details>\n\n<br>\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-class\" id=\"-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-class\"></a>\n\n### [TransformedBlockTextDocument](#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-class)\n\n\n\n<details><summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare class TransformedBlockTextDocument extends VirtualTextDocument {\n  protected constructor(container: VueTextDocument, selector: Selector, transformed: TextDocument, source: TextDocument | VirtualTextDocument, _transform: (document: TransformedBlockTextDocument) => BlockTransformResult);\n  static create(options: CreateTransformedBlockTextDocumentOptions): TransformedBlockTextDocument;\n  protected refresh(): void;\n  transform(): BlockTransformResult;\n  tryGetGeneratedOffset(offset: number): number | undefined;\n  tryGetSourceOffset(offset: number): number | undefined;\n}\n```\n\n**Members:**\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-create-member-1-\" id=\"-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-create-member-1-\"></a>\n\n#### [create](#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-create-member-1-)\n\n\n\n**Signature:**\n```ts\nstatic create(options: CreateTransformedBlockTextDocumentOptions): TransformedBlockTextDocument;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| options | <code><a href=\"#-vuedx-vue-virtual-textdocument--CreateTransformedBlockTextDocumentOptions-interface\">CreateTransformedBlockTextDocumentOptions</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-refresh-member-1-\" id=\"-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-refresh-member-1-\"></a>\n\n#### [refresh](#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-refresh-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected refresh(): void;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-transform-member-1-\" id=\"-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-transform-member-1-\"></a>\n\n#### [transform](#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-transform-member-1-)\n\n\n\n**Signature:**\n```ts\ntransform(): BlockTransformResult;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-tryGetGeneratedOffset-member-1-\" id=\"-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-tryGetGeneratedOffset-member-1-\"></a>\n\n#### [tryGetGeneratedOffset](#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-tryGetGeneratedOffset-member-1-)\n\n\n\n**Signature:**\n```ts\ntryGetGeneratedOffset(offset: number): number | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-tryGetSourceOffset-member-1-\" id=\"-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-tryGetSourceOffset-member-1-\"></a>\n\n#### [tryGetSourceOffset](#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-tryGetSourceOffset-member-1-)\n\n\n\n**Signature:**\n```ts\ntryGetSourceOffset(offset: number): number | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n</details>\n\n<br>\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VirtualTextDocument-class\" id=\"-vuedx-vue-virtual-textdocument-VirtualTextDocument-class\"></a>\n\n### [VirtualTextDocument](#-vuedx-vue-virtual-textdocument-VirtualTextDocument-class)\n\n\n\n<details><summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare class VirtualTextDocument extends ProxyTextDocument {\n  protected constructor(container: VueTextDocument, selector: Selector, doc: TextDocument);\n  readonly container: VueTextDocument;\n  static create(options: CreateVirtualTextDocumentOptions): VirtualTextDocument;\n  protected isDirty: boolean;\n  markDirty(): void;\n  protected refresh(): void;\n  readonly selector: Selector;\n}\n```\n\n**Members:**\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VirtualTextDocument-create-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VirtualTextDocument-create-member-1-\"></a>\n\n#### [create](#-vuedx-vue-virtual-textdocument-VirtualTextDocument-create-member-1-)\n\n\n\n**Signature:**\n```ts\nstatic create(options: CreateVirtualTextDocumentOptions): VirtualTextDocument;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| options | <code><a href=\"#-vuedx-vue-virtual-textdocument--CreateVirtualTextDocumentOptions-interface\">CreateVirtualTextDocumentOptions</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VirtualTextDocument-markDirty-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VirtualTextDocument-markDirty-member-1-\"></a>\n\n#### [markDirty](#-vuedx-vue-virtual-textdocument-VirtualTextDocument-markDirty-member-1-)\n\n\n\n**Signature:**\n```ts\nmarkDirty(): void;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VirtualTextDocument-refresh-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VirtualTextDocument-refresh-member-1-\"></a>\n\n#### [refresh](#-vuedx-vue-virtual-textdocument-VirtualTextDocument-refresh-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected refresh(): void;\n```\n\n\n<br>\n</details>\n\n<br>\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-class\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-class\"></a>\n\n### [VueTextDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-class)\n\n\n\n<details><summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare class VueTextDocument extends ProxyTextDocument {\n  constructor(doc: TextDocument, options?: VueTextDocumentOptions, parseOptions?: SFCParseOptions);\n  all(): VirtualTextDocument[];\n  blockAt(position: Position | number): SFCBlock | null | undefined;\n  static create(uri: string, languageId: string, version: number, content: string, options?: VueTextDocumentOptions, parseOptions?: SFCParseOptions): VueTextDocument;\n  protected createBlockDocument(selector: BlockSelector): VirtualTextDocument | undefined;\n  protected createInternalModuleDocument(): TransformedBlockTextDocument;\n  protected createModuleDocument(): TransformedBlockTextDocument;\n  protected createRenderDocument(): RenderFunctionTextDocument;\n  protected createTemplateASTDocument(): TransformedBlockTextDocument;\n  get descriptor(): SFCDescriptor;\n  documentAt(position: Position | number): VirtualTextDocument | undefined;\n  getBlock(selector: BlockSelector): SFCBlock | null | undefined;\n  getBlockSelector(block: SFCBlock): BlockSelector | undefined;\n  getDocument(selector: typeof RENDER_SELECTOR): RenderFunctionTextDocument;\n  getDocument(selector: SelectorLike): VirtualTextDocument;\n  getDocument(selector: string): VirtualTextDocument | undefined;\n  getDocumentFileName(selectorLike: SelectorLike): string;\n  protected getDocumentId(selector: Selector): string;\n  protected getDocumentLanguage(selector: Selector): string;\n  markDirty(): void;\n  readonly options: VueTextDocumentOptions;\n  protected parse(): void;\n  static update(document: VueTextDocument, changes: TextDocumentContentChangeEvent[], version: number): VueTextDocument;\n}\n```\n\n**Members:**\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-all-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-all-member-1-\"></a>\n\n#### [all](#-vuedx-vue-virtual-textdocument-VueTextDocument-all-member-1-)\n\n\n\n**Signature:**\n```ts\nall(): VirtualTextDocument[];\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-blockAt-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-blockAt-member-1-\"></a>\n\n#### [blockAt](#-vuedx-vue-virtual-textdocument-VueTextDocument-blockAt-member-1-)\n\n\n\n**Signature:**\n```ts\nblockAt(position: Position | number): SFCBlock | null | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| position | <code><a href=\"#vscode-languageserver-textdocument-Position-interface\">Position</a> &#124; number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-create-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-create-member-1-\"></a>\n\n#### [create](#-vuedx-vue-virtual-textdocument-VueTextDocument-create-member-1-)\n\n\n\n**Signature:**\n```ts\nstatic create(uri: string, languageId: string, version: number, content: string, options?: VueTextDocumentOptions, parseOptions?: SFCParseOptions): VueTextDocument;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n| languageId | <code>string</code> | - |\n| version | <code>number</code> | - |\n| content | <code>string</code> | - |\n| options | <code><a href=\"#-vuedx-vue-virtual-textdocument--VueTextDocumentOptions-interface\">VueTextDocumentOptions</a></code> | - |\n| parseOptions | <code><a href=\"#-vue-compiler-sfc-SFCParseOptions-interface\">SFCParseOptions</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-createBlockDocument-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-createBlockDocument-member-1-\"></a>\n\n#### [createBlockDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-createBlockDocument-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected createBlockDocument(selector: BlockSelector): VirtualTextDocument | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selector | <code><a href=\"#-vuedx-vue-virtual-textdocument--BlockSelector-type\">BlockSelector</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-createInternalModuleDocument-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-createInternalModuleDocument-member-1-\"></a>\n\n#### [createInternalModuleDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-createInternalModuleDocument-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected createInternalModuleDocument(): TransformedBlockTextDocument;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-createModuleDocument-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-createModuleDocument-member-1-\"></a>\n\n#### [createModuleDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-createModuleDocument-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected createModuleDocument(): TransformedBlockTextDocument;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-createRenderDocument-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-createRenderDocument-member-1-\"></a>\n\n#### [createRenderDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-createRenderDocument-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected createRenderDocument(): RenderFunctionTextDocument;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-createTemplateASTDocument-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-createTemplateASTDocument-member-1-\"></a>\n\n#### [createTemplateASTDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-createTemplateASTDocument-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected createTemplateASTDocument(): TransformedBlockTextDocument;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-documentAt-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-documentAt-member-1-\"></a>\n\n#### [documentAt](#-vuedx-vue-virtual-textdocument-VueTextDocument-documentAt-member-1-)\n\n\n\n**Signature:**\n```ts\ndocumentAt(position: Position | number): VirtualTextDocument | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| position | <code><a href=\"#vscode-languageserver-textdocument-Position-interface\">Position</a> &#124; number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getBlock-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getBlock-member-1-\"></a>\n\n#### [getBlock](#-vuedx-vue-virtual-textdocument-VueTextDocument-getBlock-member-1-)\n\n\n\n**Signature:**\n```ts\ngetBlock(selector: BlockSelector): SFCBlock | null | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selector | <code><a href=\"#-vuedx-vue-virtual-textdocument--BlockSelector-type\">BlockSelector</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getBlockSelector-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getBlockSelector-member-1-\"></a>\n\n#### [getBlockSelector](#-vuedx-vue-virtual-textdocument-VueTextDocument-getBlockSelector-member-1-)\n\n\n\n**Signature:**\n```ts\ngetBlockSelector(block: SFCBlock): BlockSelector | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| block | <code><a href=\"#-vue-compiler-sfc-SFCBlock-interface\">SFCBlock</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-1-\"></a>\n\n#### [getDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-1-)\n\n\n\n**Signature:**\n```ts\ngetDocument(selector: typeof RENDER_SELECTOR): RenderFunctionTextDocument;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selector | <code>typeof <a href=\"#-vuedx-vue-virtual-textdocument--RENDER-SELECTOR-var\">RENDER_SELECTOR</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-2-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-2-\"></a>\n\n#### [getDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-2-)\n\n\n\n**Signature:**\n```ts\ngetDocument(selector: SelectorLike): VirtualTextDocument;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selector | <code><a href=\"#-vuedx-vue-virtual-textdocument--SelectorLike-type\">SelectorLike</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-3-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-3-\"></a>\n\n#### [getDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-3-)\n\n\n\n**Signature:**\n```ts\ngetDocument(selector: string): VirtualTextDocument | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selector | <code>string</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentFileName-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentFileName-member-1-\"></a>\n\n#### [getDocumentFileName](#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentFileName-member-1-)\n\n\n\n**Signature:**\n```ts\ngetDocumentFileName(selectorLike: SelectorLike): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selectorLike | <code><a href=\"#-vuedx-vue-virtual-textdocument--SelectorLike-type\">SelectorLike</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentId-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentId-member-1-\"></a>\n\n#### [getDocumentId](#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentId-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected getDocumentId(selector: Selector): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selector | <code><a href=\"#-vuedx-vue-virtual-textdocument--Selector-type\">Selector</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentLanguage-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentLanguage-member-1-\"></a>\n\n#### [getDocumentLanguage](#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentLanguage-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected getDocumentLanguage(selector: Selector): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selector | <code><a href=\"#-vuedx-vue-virtual-textdocument--Selector-type\">Selector</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-markDirty-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-markDirty-member-1-\"></a>\n\n#### [markDirty](#-vuedx-vue-virtual-textdocument-VueTextDocument-markDirty-member-1-)\n\n\n\n**Signature:**\n```ts\nmarkDirty(): void;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-parse-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-parse-member-1-\"></a>\n\n#### [parse](#-vuedx-vue-virtual-textdocument-VueTextDocument-parse-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected parse(): void;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-update-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-update-member-1-\"></a>\n\n#### [update](#-vuedx-vue-virtual-textdocument-VueTextDocument-update-member-1-)\n\n\n\n**Signature:**\n```ts\nstatic update(document: VueTextDocument, changes: TextDocumentContentChangeEvent[], version: number): VueTextDocument;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| document | <code><a href=\"#-vuedx-vue-virtual-textdocument--VueTextDocument-class\">VueTextDocument</a></code> | - |\n| changes | <code><a href=\"#vscode-languageserver-textdocument-TextDocumentContentChangeEvent-type\">TextDocumentContentChangeEvent</a>[]</code> | - |\n| version | <code>number</code> | - |\n\n<br>\n</details>\n\n<br>\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-asFsPath-function-1-\" id=\"-vuedx-vue-virtual-textdocument-asFsPath-function-1-\"></a>\n\n### [asFsPath](#-vuedx-vue-virtual-textdocument-asFsPath-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function asFsPath(uri: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-asFsUri-function-1-\" id=\"-vuedx-vue-virtual-textdocument-asFsUri-function-1-\"></a>\n\n### [asFsUri](#-vuedx-vue-virtual-textdocument-asFsUri-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function asFsUri(fileName: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-asUri-function-1-\" id=\"-vuedx-vue-virtual-textdocument-asUri-function-1-\"></a>\n\n### [asUri](#-vuedx-vue-virtual-textdocument-asUri-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function asUri(fileNameOrUri: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileNameOrUri | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-basename-function-1-\" id=\"-vuedx-vue-virtual-textdocument-basename-function-1-\"></a>\n\n### [basename](#-vuedx-vue-virtual-textdocument-basename-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function basename(fileName: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-binarySearch-function-1-\" id=\"-vuedx-vue-virtual-textdocument-binarySearch-function-1-\"></a>\n\n### [binarySearch](#-vuedx-vue-virtual-textdocument-binarySearch-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function binarySearch<T>(array: T[], isMatch: (a: T) => number, returnMin?: boolean): T | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| array | <code>T[]</code> | - |\n| isMatch | <code>(a: T) => number</code> | - |\n| returnMin | <code>boolean</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-getBlockLanguage-function-1-\" id=\"-vuedx-vue-virtual-textdocument-getBlockLanguage-function-1-\"></a>\n\n### [getBlockLanguage](#-vuedx-vue-virtual-textdocument-getBlockLanguage-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function getBlockLanguage(block?: SFCBlock | null): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| block | <code><a href=\"#-vue-compiler-sfc-SFCBlock-interface\">SFCBlock</a> &#124; null</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-getContainingFile-function-1-\" id=\"-vuedx-vue-virtual-textdocument-getContainingFile-function-1-\"></a>\n\n### [getContainingFile](#-vuedx-vue-virtual-textdocument-getContainingFile-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function getContainingFile(fileName: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-getLanguageExtension-function-1-\" id=\"-vuedx-vue-virtual-textdocument-getLanguageExtension-function-1-\"></a>\n\n### [getLanguageExtension](#-vuedx-vue-virtual-textdocument-getLanguageExtension-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function getLanguageExtension(lang: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| lang | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-getLanguageIdFromExtension-function-1-\" id=\"-vuedx-vue-virtual-textdocument-getLanguageIdFromExtension-function-1-\"></a>\n\n### [getLanguageIdFromExtension](#-vuedx-vue-virtual-textdocument-getLanguageIdFromExtension-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function getLanguageIdFromExtension(ext: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| ext | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-isOffsetInBlock-function-1-\" id=\"-vuedx-vue-virtual-textdocument-isOffsetInBlock-function-1-\"></a>\n\n### [isOffsetInBlock](#-vuedx-vue-virtual-textdocument-isOffsetInBlock-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function isOffsetInBlock(offset: number, block?: SFCBlock | null): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n| block | <code><a href=\"#-vue-compiler-sfc-SFCBlock-interface\">SFCBlock</a> &#124; null</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-isVirtualFile-function-1-\" id=\"-vuedx-vue-virtual-textdocument-isVirtualFile-function-1-\"></a>\n\n### [isVirtualFile](#-vuedx-vue-virtual-textdocument-isVirtualFile-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function isVirtualFile(fileName: string): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-isVirtualFileOfType-function-1-\" id=\"-vuedx-vue-virtual-textdocument-isVirtualFileOfType-function-1-\"></a>\n\n### [isVirtualFileOfType](#-vuedx-vue-virtual-textdocument-isVirtualFileOfType-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function isVirtualFileOfType(fileName: string, type: '_render' | '_module' | '_internal' | 'script' | 'scriptSetup'): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n| type | <code>'_render' &#124; '_module' &#124; '_internal' &#124; 'script' &#124; 'scriptSetup'</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-isVueFile-function-1-\" id=\"-vuedx-vue-virtual-textdocument-isVueFile-function-1-\"></a>\n\n### [isVueFile](#-vuedx-vue-virtual-textdocument-isVueFile-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function isVueFile(fileName: string): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-parseVirtualFileName-function-1-\" id=\"-vuedx-vue-virtual-textdocument-parseVirtualFileName-function-1-\"></a>\n\n### [parseVirtualFileName](#-vuedx-vue-virtual-textdocument-parseVirtualFileName-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function parseVirtualFileName(fileName: string): {\n    uri: string;\n    selector: Selector;\n} | null;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-relativeVirtualImportPath-function-1-\" id=\"-vuedx-vue-virtual-textdocument-relativeVirtualImportPath-function-1-\"></a>\n\n### [relativeVirtualImportPath](#-vuedx-vue-virtual-textdocument-relativeVirtualImportPath-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function relativeVirtualImportPath(fileName: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-replaceSlashes-function-1-\" id=\"-vuedx-vue-virtual-textdocument-replaceSlashes-function-1-\"></a>\n\n### [replaceSlashes](#-vuedx-vue-virtual-textdocument-replaceSlashes-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function replaceSlashes(fileName: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n<!-- #region API-DOCS -->\n","readmeFilename":"readme.md","_id":"@vuedx/vue-virtual-textdocument@0.4.2-insiders-1609436485.0","_nodeVersion":"14.14.0","_npmVersion":"6.14.8","dist":{"integrity":"sha512-exCGYo5GGGTN75HAZKGt/x5O8ILagv/K9k9MJh7tYujD1IYfuVKWzxsrRpsEgWQNgSFnkLPblcS2M1IgZajh/A==","shasum":"fc6578e749f70edb384a6be34649ccde9d8a7fce","tarball":"https://registry.npmjs.org/@vuedx/vue-virtual-textdocument/-/vue-virtual-textdocument-0.4.2-insiders-1609436485.0.tgz","fileCount":8,"unpackedSize":293714,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJf7g1jCRA9TVsSAnZWagAArL4QAJTBwOkhUejG1pZR9cUy\nmXT+jHI6u19AJ3WVfnbPRIC5kfEWj60cXKMEHnUypRCJYydwoMl/f1HQF1zP\nc2KTU5H6FLv1fingznltohfR/iR58QwjvGCKOtytF7z8M2PevSPGWOB/g9Af\nvM/0e4LI5gtAVnjyEuGfntcyoEZdK/Dzn31YsN8q0rIMy9GYOutDe7wo1MVy\nOyRtJnA5D15BRknyPwZp1MvQphmL3vQF1ouEhgFnuAsdgN0mSwTO6bidW4gP\nr/Y/N3pswuJnw+VbXhL6S0A1v5s8adMyG6kmV9hK3jMM2QDEbg8LAnB+DF9B\nxv68WPGHPeEDKktZgqQHf2eIOZm2Jj0ZO3tYkH4JSw9kGUfyHNztOHJulFUG\nYfXYliEPb4EFCJF6c1q5PsQsKY9DKora9Ah/WmCAFhisJIjovMh7tWAiFLGv\n8EfV/mjKfXB0lCk7/oqXHwAb0rbVraWCQBf8p/RdiQwG4ab4bKgQHBQYjK2N\nztrhCu3BTgE9psZgII3RrfwnmzFAW06IrxDXmPLBO/k4TerDbdSJogWYRx/+\n8i4KE146fKPT/NZiBdISXQ7vrtyz7uHfkJtDx/DyhOj1IBrMiW0AjdOgyjpS\nxkDJA51LdImab/zFbFf6WwnJMxqlDNP+p7l9+ryMmJSinLDSXqRZ9byPPnrT\nbHeg\r\n=9mJE\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIErpUWTcExmEk5sHCXfF5k5TJknoE8Vfi9vZhANNeSsvAiBQIpCWzGPJ747XyWFUILbx1AqOP7ZvtUlivTklkbj6kg=="}]},"_npmUser":{"name":"znck","email":"rahulkdn@gmail.com"},"directories":{},"maintainers":[{"name":"znck","email":"rahulkdn@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/vue-virtual-textdocument_0.4.2-insiders-1609436485.0_1609436515181_0.5785429592197657"},"_hasShrinkwrap":false},"0.4.2-insiders-1609479032.0":{"name":"@vuedx/vue-virtual-textdocument","version":"0.4.2-insiders-1609479032.0","description":"An implementation of virtual filesystem for accessing blocks in a `.vue` file as independent files.","main":"dist/index.cjs.js","module":"dist/index.esm.js","types":"dist/index.d.ts","private":false,"scripts":{},"keywords":["vue","vue sfc","sfc","vue virtual files"],"repository":{"type":"git","url":"git+https://github.com/znck/vue-developer-experience.git"},"author":{"name":"Rahul Kadyan","email":"rahulkdn@gmail.com","url":"https://znck.me/"},"funding":{"type":"individual","url":"https://github.com/sponsors/znck"},"license":"MIT","bugs":{"url":"https://github.com/znck/vue-developer-experience/issues"},"homepage":"https://github.com/znck/vue-developer-experience#readme","dependencies":{"@vuedx/analyze":"0.4.2-insiders-1609479032.0","@vuedx/compiler-sfc":"0.4.2-insiders-1609479032.0","@vuedx/compiler-tsx":"0.4.2-insiders-1609479032.0","source-map":"^0.6.1","vscode-languageserver-textdocument":"^1.0.1","vscode-uri":"^2.1.2"},"devDependencies":{"@vuedx/shared":"0.4.2-insiders-1609479032.0","fast-glob":"^3.2.4","typescript":"^4.0.3"},"readme":"# Vue Virtual TextDocument\n\nAn implementation of virtual filesystem for accessing blocks in a `.vue` file as independent files.\n\n## Support\n\nThis package is part of [VueDX project](https://github.com/znck/vue-developer-experience), maintained by [Rahul Kadyan](https://github.com/znck). You can [💖 sponsor him](https://github.com/sponsors/znck) for continued development of this package and other VueDX tools.\n\n```\nnpm add @vuedx/vue-virtual-textdocument\n```\n<!-- #region API-DOCS -->\n<!-- Do not edit this file. It is a report generated by [scripts/docgen.js](https://github.com/znck/vue-developer-experience/tree/master/scripts/docgen.js). -->\n\n## API\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-AsyncDocumentStore-class\" id=\"-vuedx-vue-virtual-textdocument-AsyncDocumentStore-class\"></a>\n\n### [AsyncDocumentStore](#-vuedx-vue-virtual-textdocument-AsyncDocumentStore-class)\n\n\n\n<details><summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare class AsyncDocumentStore<T> extends DocumentStore<T> {\n  constructor(resolve: (uri: string) => T | Promise<T | null> | null, normalize?: (uri: string) => string);\n  get(uri: string): T | null;\n  get(uri: string): Promise<T | null>;\n}\n```\n\n**Members:**\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-AsyncDocumentStore-get-member-1-\" id=\"-vuedx-vue-virtual-textdocument-AsyncDocumentStore-get-member-1-\"></a>\n\n#### [get](#-vuedx-vue-virtual-textdocument-AsyncDocumentStore-get-member-1-)\n\n\n\n**Signature:**\n```ts\nget(uri: string): T | null;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-AsyncDocumentStore-get-member-2-\" id=\"-vuedx-vue-virtual-textdocument-AsyncDocumentStore-get-member-2-\"></a>\n\n#### [get](#-vuedx-vue-virtual-textdocument-AsyncDocumentStore-get-member-2-)\n\n\n\n**Signature:**\n```ts\nget(uri: string): Promise<T | null>;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n\n<br>\n</details>\n\n<br>\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-class\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-class\"></a>\n\n### [DocumentStore](#-vuedx-vue-virtual-textdocument-DocumentStore-class)\n\n\n\n<details><summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare class DocumentStore<T> {\n  constructor(resolve: (uri: string) => T | null, normalize?: (uri: string) => string);\n  all(): string[];\n  delete(uri: string): boolean;\n  dispose(): void;\n  get(uri: string): T | null;\n  protected getNormalizedUri(uri: string): string;\n  has(uri: string): boolean;\n  protected map: Map<string, T>;\n  normalize: (uri: string) => string;\n  protected resolve: (uri: string) => T | null;\n  protected reverseUriMap: Map<string, string>;\n  set(uri: string, document: T): void;\n}\n```\n\n**Members:**\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-all-member-1-\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-all-member-1-\"></a>\n\n#### [all](#-vuedx-vue-virtual-textdocument-DocumentStore-all-member-1-)\n\n\n\n**Signature:**\n```ts\nall(): string[];\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-delete-member-1-\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-delete-member-1-\"></a>\n\n#### [delete](#-vuedx-vue-virtual-textdocument-DocumentStore-delete-member-1-)\n\n\n\n**Signature:**\n```ts\ndelete(uri: string): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-dispose-member-1-\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-dispose-member-1-\"></a>\n\n#### [dispose](#-vuedx-vue-virtual-textdocument-DocumentStore-dispose-member-1-)\n\n\n\n**Signature:**\n```ts\ndispose(): void;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-get-member-1-\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-get-member-1-\"></a>\n\n#### [get](#-vuedx-vue-virtual-textdocument-DocumentStore-get-member-1-)\n\n\n\n**Signature:**\n```ts\nget(uri: string): T | null;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-getNormalizedUri-member-1-\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-getNormalizedUri-member-1-\"></a>\n\n#### [getNormalizedUri](#-vuedx-vue-virtual-textdocument-DocumentStore-getNormalizedUri-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected getNormalizedUri(uri: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-has-member-1-\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-has-member-1-\"></a>\n\n#### [has](#-vuedx-vue-virtual-textdocument-DocumentStore-has-member-1-)\n\n\n\n**Signature:**\n```ts\nhas(uri: string): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-set-member-1-\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-set-member-1-\"></a>\n\n#### [set](#-vuedx-vue-virtual-textdocument-DocumentStore-set-member-1-)\n\n\n\n**Signature:**\n```ts\nset(uri: string, document: T): void;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n| document | <code>T</code> | - |\n\n<br>\n</details>\n\n<br>\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-class\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-class\"></a>\n\n### [RenderFunctionTextDocument](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-class)\n\n\n\n<details><summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare class RenderFunctionTextDocument extends TransformedBlockTextDocument {\n  constructor(container: VueTextDocument, selector: Selector, transformed: TextDocument, source: TextDocument);\n  get ast(): CodegenResult['ast'] | undefined;\n  get contextCompletionsTriggerOffset(): number;\n  static create(options: CreateVirtualTextDocumentOptions): RenderFunctionTextDocument;\n  findExpression(offset: number, length: number): undefined | {\n        offset: number;\n        length: number;\n    };\n  protected generate(): string;\n  getAllGeneratedOffsetsAt(offset: number): undefined | Array<{\n        length: number;\n        offset: number;\n    }>;\n  getGeneratedOffsetAt(offset: number): undefined | {\n        length: number;\n        offset: number;\n    };\n  protected getKnownComponents(): Record<string, ComponentImport>;\n  getOriginalOffsetAt(offset: number): undefined | {\n        offset: number;\n        length: number;\n    };\n  isInGeneratedRange(offset: number): boolean;\n  isInTemplateIdentifierRange(offset: number): boolean;\n  get parserErrors(): CodegenResult['errors'];\n  get tagCompletionsTriggerOffset(): number;\n  toDisplayMappings(): string;\n  protected tryGenerate(): string;\n}\n```\n\n**Members:**\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-create-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-create-member-1-\"></a>\n\n#### [create](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-create-member-1-)\n\n\n\n**Signature:**\n```ts\nstatic create(options: CreateVirtualTextDocumentOptions): RenderFunctionTextDocument;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| options | <code><a href=\"#-vuedx-vue-virtual-textdocument--CreateVirtualTextDocumentOptions-interface\">CreateVirtualTextDocumentOptions</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-findExpression-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-findExpression-member-1-\"></a>\n\n#### [findExpression](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-findExpression-member-1-)\n\n\n\n**Signature:**\n```ts\nfindExpression(offset: number, length: number): undefined | {\n        offset: number;\n        length: number;\n    };\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n| length | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-generate-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-generate-member-1-\"></a>\n\n#### [generate](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-generate-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected generate(): string;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getAllGeneratedOffsetsAt-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getAllGeneratedOffsetsAt-member-1-\"></a>\n\n#### [getAllGeneratedOffsetsAt](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getAllGeneratedOffsetsAt-member-1-)\n\n\n\n**Signature:**\n```ts\ngetAllGeneratedOffsetsAt(offset: number): undefined | Array<{\n        length: number;\n        offset: number;\n    }>;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getGeneratedOffsetAt-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getGeneratedOffsetAt-member-1-\"></a>\n\n#### [getGeneratedOffsetAt](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getGeneratedOffsetAt-member-1-)\n\n\n\n**Signature:**\n```ts\ngetGeneratedOffsetAt(offset: number): undefined | {\n        length: number;\n        offset: number;\n    };\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getKnownComponents-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getKnownComponents-member-1-\"></a>\n\n#### [getKnownComponents](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getKnownComponents-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected getKnownComponents(): Record<string, ComponentImport>;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getOriginalOffsetAt-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getOriginalOffsetAt-member-1-\"></a>\n\n#### [getOriginalOffsetAt](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getOriginalOffsetAt-member-1-)\n\n\n\n**Signature:**\n```ts\ngetOriginalOffsetAt(offset: number): undefined | {\n        offset: number;\n        length: number;\n    };\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-isInGeneratedRange-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-isInGeneratedRange-member-1-\"></a>\n\n#### [isInGeneratedRange](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-isInGeneratedRange-member-1-)\n\n\n\n**Signature:**\n```ts\nisInGeneratedRange(offset: number): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-isInTemplateIdentifierRange-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-isInTemplateIdentifierRange-member-1-\"></a>\n\n#### [isInTemplateIdentifierRange](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-isInTemplateIdentifierRange-member-1-)\n\n\n\n**Signature:**\n```ts\nisInTemplateIdentifierRange(offset: number): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-toDisplayMappings-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-toDisplayMappings-member-1-\"></a>\n\n#### [toDisplayMappings](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-toDisplayMappings-member-1-)\n\n\n\n**Signature:**\n```ts\ntoDisplayMappings(): string;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-tryGenerate-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-tryGenerate-member-1-\"></a>\n\n#### [tryGenerate](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-tryGenerate-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected tryGenerate(): string;\n```\n\n\n<br>\n</details>\n\n<br>\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-class\" id=\"-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-class\"></a>\n\n### [TransformedBlockTextDocument](#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-class)\n\n\n\n<details><summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare class TransformedBlockTextDocument extends VirtualTextDocument {\n  protected constructor(container: VueTextDocument, selector: Selector, transformed: TextDocument, source: TextDocument | VirtualTextDocument, _transform: (document: TransformedBlockTextDocument) => BlockTransformResult);\n  static create(options: CreateTransformedBlockTextDocumentOptions): TransformedBlockTextDocument;\n  protected refresh(): void;\n  transform(): BlockTransformResult;\n  tryGetGeneratedOffset(offset: number): number | undefined;\n  tryGetSourceOffset(offset: number): number | undefined;\n}\n```\n\n**Members:**\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-create-member-1-\" id=\"-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-create-member-1-\"></a>\n\n#### [create](#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-create-member-1-)\n\n\n\n**Signature:**\n```ts\nstatic create(options: CreateTransformedBlockTextDocumentOptions): TransformedBlockTextDocument;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| options | <code><a href=\"#-vuedx-vue-virtual-textdocument--CreateTransformedBlockTextDocumentOptions-interface\">CreateTransformedBlockTextDocumentOptions</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-refresh-member-1-\" id=\"-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-refresh-member-1-\"></a>\n\n#### [refresh](#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-refresh-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected refresh(): void;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-transform-member-1-\" id=\"-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-transform-member-1-\"></a>\n\n#### [transform](#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-transform-member-1-)\n\n\n\n**Signature:**\n```ts\ntransform(): BlockTransformResult;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-tryGetGeneratedOffset-member-1-\" id=\"-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-tryGetGeneratedOffset-member-1-\"></a>\n\n#### [tryGetGeneratedOffset](#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-tryGetGeneratedOffset-member-1-)\n\n\n\n**Signature:**\n```ts\ntryGetGeneratedOffset(offset: number): number | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-tryGetSourceOffset-member-1-\" id=\"-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-tryGetSourceOffset-member-1-\"></a>\n\n#### [tryGetSourceOffset](#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-tryGetSourceOffset-member-1-)\n\n\n\n**Signature:**\n```ts\ntryGetSourceOffset(offset: number): number | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n</details>\n\n<br>\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VirtualTextDocument-class\" id=\"-vuedx-vue-virtual-textdocument-VirtualTextDocument-class\"></a>\n\n### [VirtualTextDocument](#-vuedx-vue-virtual-textdocument-VirtualTextDocument-class)\n\n\n\n<details><summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare class VirtualTextDocument extends ProxyTextDocument {\n  protected constructor(container: VueTextDocument, selector: Selector, doc: TextDocument);\n  readonly container: VueTextDocument;\n  static create(options: CreateVirtualTextDocumentOptions): VirtualTextDocument;\n  protected isDirty: boolean;\n  markDirty(): void;\n  protected refresh(): void;\n  readonly selector: Selector;\n}\n```\n\n**Members:**\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VirtualTextDocument-create-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VirtualTextDocument-create-member-1-\"></a>\n\n#### [create](#-vuedx-vue-virtual-textdocument-VirtualTextDocument-create-member-1-)\n\n\n\n**Signature:**\n```ts\nstatic create(options: CreateVirtualTextDocumentOptions): VirtualTextDocument;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| options | <code><a href=\"#-vuedx-vue-virtual-textdocument--CreateVirtualTextDocumentOptions-interface\">CreateVirtualTextDocumentOptions</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VirtualTextDocument-markDirty-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VirtualTextDocument-markDirty-member-1-\"></a>\n\n#### [markDirty](#-vuedx-vue-virtual-textdocument-VirtualTextDocument-markDirty-member-1-)\n\n\n\n**Signature:**\n```ts\nmarkDirty(): void;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VirtualTextDocument-refresh-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VirtualTextDocument-refresh-member-1-\"></a>\n\n#### [refresh](#-vuedx-vue-virtual-textdocument-VirtualTextDocument-refresh-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected refresh(): void;\n```\n\n\n<br>\n</details>\n\n<br>\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-class\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-class\"></a>\n\n### [VueTextDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-class)\n\n\n\n<details><summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare class VueTextDocument extends ProxyTextDocument {\n  constructor(doc: TextDocument, options?: VueTextDocumentOptions, parseOptions?: SFCParseOptions);\n  all(): VirtualTextDocument[];\n  blockAt(position: Position | number): SFCBlock | null | undefined;\n  static create(uri: string, languageId: string, version: number, content: string, options?: VueTextDocumentOptions, parseOptions?: SFCParseOptions): VueTextDocument;\n  protected createBlockDocument(selector: BlockSelector): VirtualTextDocument | undefined;\n  protected createInternalModuleDocument(): TransformedBlockTextDocument;\n  protected createModuleDocument(): TransformedBlockTextDocument;\n  protected createRenderDocument(): RenderFunctionTextDocument;\n  protected createTemplateASTDocument(): TransformedBlockTextDocument;\n  get descriptor(): SFCDescriptor;\n  documentAt(position: Position | number): VirtualTextDocument | undefined;\n  getBlock(selector: BlockSelector): SFCBlock | null | undefined;\n  getBlockSelector(block: SFCBlock): BlockSelector | undefined;\n  getDocument(selector: typeof RENDER_SELECTOR): RenderFunctionTextDocument;\n  getDocument(selector: SelectorLike): VirtualTextDocument;\n  getDocument(selector: string): VirtualTextDocument | undefined;\n  getDocumentFileName(selectorLike: SelectorLike): string;\n  protected getDocumentId(selector: Selector): string;\n  protected getDocumentLanguage(selector: Selector): string;\n  markDirty(): void;\n  readonly options: VueTextDocumentOptions;\n  protected parse(): void;\n  static update(document: VueTextDocument, changes: TextDocumentContentChangeEvent[], version: number): VueTextDocument;\n}\n```\n\n**Members:**\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-all-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-all-member-1-\"></a>\n\n#### [all](#-vuedx-vue-virtual-textdocument-VueTextDocument-all-member-1-)\n\n\n\n**Signature:**\n```ts\nall(): VirtualTextDocument[];\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-blockAt-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-blockAt-member-1-\"></a>\n\n#### [blockAt](#-vuedx-vue-virtual-textdocument-VueTextDocument-blockAt-member-1-)\n\n\n\n**Signature:**\n```ts\nblockAt(position: Position | number): SFCBlock | null | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| position | <code><a href=\"#vscode-languageserver-textdocument-Position-interface\">Position</a> &#124; number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-create-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-create-member-1-\"></a>\n\n#### [create](#-vuedx-vue-virtual-textdocument-VueTextDocument-create-member-1-)\n\n\n\n**Signature:**\n```ts\nstatic create(uri: string, languageId: string, version: number, content: string, options?: VueTextDocumentOptions, parseOptions?: SFCParseOptions): VueTextDocument;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n| languageId | <code>string</code> | - |\n| version | <code>number</code> | - |\n| content | <code>string</code> | - |\n| options | <code><a href=\"#-vuedx-vue-virtual-textdocument--VueTextDocumentOptions-interface\">VueTextDocumentOptions</a></code> | - |\n| parseOptions | <code><a href=\"#-vue-compiler-sfc-SFCParseOptions-interface\">SFCParseOptions</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-createBlockDocument-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-createBlockDocument-member-1-\"></a>\n\n#### [createBlockDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-createBlockDocument-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected createBlockDocument(selector: BlockSelector): VirtualTextDocument | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selector | <code><a href=\"#-vuedx-vue-virtual-textdocument--BlockSelector-type\">BlockSelector</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-createInternalModuleDocument-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-createInternalModuleDocument-member-1-\"></a>\n\n#### [createInternalModuleDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-createInternalModuleDocument-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected createInternalModuleDocument(): TransformedBlockTextDocument;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-createModuleDocument-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-createModuleDocument-member-1-\"></a>\n\n#### [createModuleDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-createModuleDocument-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected createModuleDocument(): TransformedBlockTextDocument;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-createRenderDocument-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-createRenderDocument-member-1-\"></a>\n\n#### [createRenderDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-createRenderDocument-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected createRenderDocument(): RenderFunctionTextDocument;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-createTemplateASTDocument-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-createTemplateASTDocument-member-1-\"></a>\n\n#### [createTemplateASTDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-createTemplateASTDocument-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected createTemplateASTDocument(): TransformedBlockTextDocument;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-documentAt-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-documentAt-member-1-\"></a>\n\n#### [documentAt](#-vuedx-vue-virtual-textdocument-VueTextDocument-documentAt-member-1-)\n\n\n\n**Signature:**\n```ts\ndocumentAt(position: Position | number): VirtualTextDocument | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| position | <code><a href=\"#vscode-languageserver-textdocument-Position-interface\">Position</a> &#124; number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getBlock-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getBlock-member-1-\"></a>\n\n#### [getBlock](#-vuedx-vue-virtual-textdocument-VueTextDocument-getBlock-member-1-)\n\n\n\n**Signature:**\n```ts\ngetBlock(selector: BlockSelector): SFCBlock | null | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selector | <code><a href=\"#-vuedx-vue-virtual-textdocument--BlockSelector-type\">BlockSelector</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getBlockSelector-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getBlockSelector-member-1-\"></a>\n\n#### [getBlockSelector](#-vuedx-vue-virtual-textdocument-VueTextDocument-getBlockSelector-member-1-)\n\n\n\n**Signature:**\n```ts\ngetBlockSelector(block: SFCBlock): BlockSelector | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| block | <code><a href=\"#-vue-compiler-sfc-SFCBlock-interface\">SFCBlock</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-1-\"></a>\n\n#### [getDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-1-)\n\n\n\n**Signature:**\n```ts\ngetDocument(selector: typeof RENDER_SELECTOR): RenderFunctionTextDocument;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selector | <code>typeof <a href=\"#-vuedx-vue-virtual-textdocument--RENDER-SELECTOR-var\">RENDER_SELECTOR</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-2-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-2-\"></a>\n\n#### [getDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-2-)\n\n\n\n**Signature:**\n```ts\ngetDocument(selector: SelectorLike): VirtualTextDocument;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selector | <code><a href=\"#-vuedx-vue-virtual-textdocument--SelectorLike-type\">SelectorLike</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-3-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-3-\"></a>\n\n#### [getDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-3-)\n\n\n\n**Signature:**\n```ts\ngetDocument(selector: string): VirtualTextDocument | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selector | <code>string</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentFileName-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentFileName-member-1-\"></a>\n\n#### [getDocumentFileName](#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentFileName-member-1-)\n\n\n\n**Signature:**\n```ts\ngetDocumentFileName(selectorLike: SelectorLike): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selectorLike | <code><a href=\"#-vuedx-vue-virtual-textdocument--SelectorLike-type\">SelectorLike</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentId-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentId-member-1-\"></a>\n\n#### [getDocumentId](#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentId-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected getDocumentId(selector: Selector): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selector | <code><a href=\"#-vuedx-vue-virtual-textdocument--Selector-type\">Selector</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentLanguage-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentLanguage-member-1-\"></a>\n\n#### [getDocumentLanguage](#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentLanguage-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected getDocumentLanguage(selector: Selector): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selector | <code><a href=\"#-vuedx-vue-virtual-textdocument--Selector-type\">Selector</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-markDirty-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-markDirty-member-1-\"></a>\n\n#### [markDirty](#-vuedx-vue-virtual-textdocument-VueTextDocument-markDirty-member-1-)\n\n\n\n**Signature:**\n```ts\nmarkDirty(): void;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-parse-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-parse-member-1-\"></a>\n\n#### [parse](#-vuedx-vue-virtual-textdocument-VueTextDocument-parse-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected parse(): void;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-update-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-update-member-1-\"></a>\n\n#### [update](#-vuedx-vue-virtual-textdocument-VueTextDocument-update-member-1-)\n\n\n\n**Signature:**\n```ts\nstatic update(document: VueTextDocument, changes: TextDocumentContentChangeEvent[], version: number): VueTextDocument;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| document | <code><a href=\"#-vuedx-vue-virtual-textdocument--VueTextDocument-class\">VueTextDocument</a></code> | - |\n| changes | <code><a href=\"#vscode-languageserver-textdocument-TextDocumentContentChangeEvent-type\">TextDocumentContentChangeEvent</a>[]</code> | - |\n| version | <code>number</code> | - |\n\n<br>\n</details>\n\n<br>\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-asFsPath-function-1-\" id=\"-vuedx-vue-virtual-textdocument-asFsPath-function-1-\"></a>\n\n### [asFsPath](#-vuedx-vue-virtual-textdocument-asFsPath-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function asFsPath(uri: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-asFsUri-function-1-\" id=\"-vuedx-vue-virtual-textdocument-asFsUri-function-1-\"></a>\n\n### [asFsUri](#-vuedx-vue-virtual-textdocument-asFsUri-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function asFsUri(fileName: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-asUri-function-1-\" id=\"-vuedx-vue-virtual-textdocument-asUri-function-1-\"></a>\n\n### [asUri](#-vuedx-vue-virtual-textdocument-asUri-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function asUri(fileNameOrUri: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileNameOrUri | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-basename-function-1-\" id=\"-vuedx-vue-virtual-textdocument-basename-function-1-\"></a>\n\n### [basename](#-vuedx-vue-virtual-textdocument-basename-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function basename(fileName: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-binarySearch-function-1-\" id=\"-vuedx-vue-virtual-textdocument-binarySearch-function-1-\"></a>\n\n### [binarySearch](#-vuedx-vue-virtual-textdocument-binarySearch-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function binarySearch<T>(array: T[], isMatch: (a: T) => number, returnMin?: boolean): T | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| array | <code>T[]</code> | - |\n| isMatch | <code>(a: T) => number</code> | - |\n| returnMin | <code>boolean</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-getBlockLanguage-function-1-\" id=\"-vuedx-vue-virtual-textdocument-getBlockLanguage-function-1-\"></a>\n\n### [getBlockLanguage](#-vuedx-vue-virtual-textdocument-getBlockLanguage-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function getBlockLanguage(block?: SFCBlock | null): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| block | <code><a href=\"#-vue-compiler-sfc-SFCBlock-interface\">SFCBlock</a> &#124; null</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-getContainingFile-function-1-\" id=\"-vuedx-vue-virtual-textdocument-getContainingFile-function-1-\"></a>\n\n### [getContainingFile](#-vuedx-vue-virtual-textdocument-getContainingFile-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function getContainingFile(fileName: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-getLanguageExtension-function-1-\" id=\"-vuedx-vue-virtual-textdocument-getLanguageExtension-function-1-\"></a>\n\n### [getLanguageExtension](#-vuedx-vue-virtual-textdocument-getLanguageExtension-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function getLanguageExtension(lang: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| lang | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-getLanguageIdFromExtension-function-1-\" id=\"-vuedx-vue-virtual-textdocument-getLanguageIdFromExtension-function-1-\"></a>\n\n### [getLanguageIdFromExtension](#-vuedx-vue-virtual-textdocument-getLanguageIdFromExtension-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function getLanguageIdFromExtension(ext: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| ext | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-isOffsetInBlock-function-1-\" id=\"-vuedx-vue-virtual-textdocument-isOffsetInBlock-function-1-\"></a>\n\n### [isOffsetInBlock](#-vuedx-vue-virtual-textdocument-isOffsetInBlock-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function isOffsetInBlock(offset: number, block?: SFCBlock | null): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n| block | <code><a href=\"#-vue-compiler-sfc-SFCBlock-interface\">SFCBlock</a> &#124; null</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-isVirtualFile-function-1-\" id=\"-vuedx-vue-virtual-textdocument-isVirtualFile-function-1-\"></a>\n\n### [isVirtualFile](#-vuedx-vue-virtual-textdocument-isVirtualFile-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function isVirtualFile(fileName: string): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-isVirtualFileOfType-function-1-\" id=\"-vuedx-vue-virtual-textdocument-isVirtualFileOfType-function-1-\"></a>\n\n### [isVirtualFileOfType](#-vuedx-vue-virtual-textdocument-isVirtualFileOfType-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function isVirtualFileOfType(fileName: string, type: '_render' | '_module' | '_internal' | 'script' | 'scriptSetup'): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n| type | <code>'_render' &#124; '_module' &#124; '_internal' &#124; 'script' &#124; 'scriptSetup'</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-isVueFile-function-1-\" id=\"-vuedx-vue-virtual-textdocument-isVueFile-function-1-\"></a>\n\n### [isVueFile](#-vuedx-vue-virtual-textdocument-isVueFile-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function isVueFile(fileName: string): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-parseVirtualFileName-function-1-\" id=\"-vuedx-vue-virtual-textdocument-parseVirtualFileName-function-1-\"></a>\n\n### [parseVirtualFileName](#-vuedx-vue-virtual-textdocument-parseVirtualFileName-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function parseVirtualFileName(fileName: string): {\n    uri: string;\n    selector: Selector;\n} | null;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-relativeVirtualImportPath-function-1-\" id=\"-vuedx-vue-virtual-textdocument-relativeVirtualImportPath-function-1-\"></a>\n\n### [relativeVirtualImportPath](#-vuedx-vue-virtual-textdocument-relativeVirtualImportPath-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function relativeVirtualImportPath(fileName: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-replaceSlashes-function-1-\" id=\"-vuedx-vue-virtual-textdocument-replaceSlashes-function-1-\"></a>\n\n### [replaceSlashes](#-vuedx-vue-virtual-textdocument-replaceSlashes-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function replaceSlashes(fileName: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n<!-- #region API-DOCS -->\n","readmeFilename":"readme.md","_id":"@vuedx/vue-virtual-textdocument@0.4.2-insiders-1609479032.0","_nodeVersion":"14.14.0","_npmVersion":"6.14.8","dist":{"integrity":"sha512-ZFdFNu+VryTSxVUts26haPW4+NpArneFEf7rAvAFb1IJzhW7Nnya+g3pox+ONXHqikfszOTcEzPETeyG+zuiXA==","shasum":"713cfef94fcb868a4c70d3f9b95d9c692ce0af24","tarball":"https://registry.npmjs.org/@vuedx/vue-virtual-textdocument/-/vue-virtual-textdocument-0.4.2-insiders-1609479032.0.tgz","fileCount":8,"unpackedSize":293714,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJf7rOVCRA9TVsSAnZWagAAZpMQAIU6bx1GhCDpgm11oMRR\n7MeO2XHavj8AKgHKR7eSVfy4eJztqqN9GCR/xjuRvtVpsW5uTQhJkauaPn/o\nO1VNpaHKLX49SpQDxcsFAhfFCjjel2g4c2H+a0dVehNJKQv0WVvlKqYYPII6\nRDPm5SF1RRQP1Zrt8vem1HWKKGe9X6MEHyRzOLjhJTt5qqyhhZZP4MEk3RYV\ncyUHYxhFDrGyoesAHg1SwKkHBkjWVtX5uvmBjeMMrcaje0NJNZvAFpCdWp1t\nbnxH7F1KQBgYKOWptWiBrkktLwbnH8ITCnVeY9s5e3Q3yWhMvYbi97ntHOBL\nmjN9BDTOqBLCccjlIwJhoRkIhxjkSFPW258Gi948gJ6n4G7TStxIgP7kWtWW\nUCb/5m6tnea4YtFywhiBFCQT+BHoXn5u2HHBajxNZNLKGeIRoDLe0XhAFXPn\nfqyoIpExoYjmVQ+e/wTxSbmjQYkh2PuG45z/AUu5rBOuiemPAyLbtR2YBIGF\nmHrrFfJnYxR8dQoQer8SopOrzqk4s8bi0sLj8uh/EEWBsghlOzYWQyHKVEDS\nU4h7+MSN/wOa5cbkItP5ZEvTzrVm/vc6Kv25t9cD8RtX3r+hs2rbX9yllVE5\n0oUO2dG4q8WH8uMKWjYCI8SDQuUZHC3D9w/ed1urOHg/0OZxi6hAo4XdQtMd\nnziY\r\n=50JJ\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIDGF7jrTnambK1jzoQksE5gPADtb73BfuHYS1DMVc1QcAiBoyQN3JQDGQaTab7L9TqJysfK4Wd/KnQDAfstCErgiHQ=="}]},"_npmUser":{"name":"znck","email":"rahulkdn@gmail.com"},"directories":{},"maintainers":[{"name":"znck","email":"rahulkdn@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/vue-virtual-textdocument_0.4.2-insiders-1609479032.0_1609479061053_0.07697039929569738"},"_hasShrinkwrap":false},"0.4.2-insiders-1609960000.0":{"name":"@vuedx/vue-virtual-textdocument","version":"0.4.2-insiders-1609960000.0","description":"An implementation of virtual filesystem for accessing blocks in a `.vue` file as independent files.","main":"dist/index.cjs.js","module":"dist/index.esm.js","types":"dist/index.d.ts","private":false,"scripts":{},"keywords":["vue","vue sfc","sfc","vue virtual files"],"repository":{"type":"git","url":"git+https://github.com/znck/vue-developer-experience.git"},"author":{"name":"Rahul Kadyan","email":"rahulkdn@gmail.com","url":"https://znck.me/"},"funding":{"type":"individual","url":"https://github.com/sponsors/znck"},"license":"MIT","bugs":{"url":"https://github.com/znck/vue-developer-experience/issues"},"homepage":"https://github.com/znck/vue-developer-experience#readme","dependencies":{"@vuedx/analyze":"0.4.2-insiders-1609960000.0","@vuedx/compiler-sfc":"0.4.2-insiders-1609960000.0","@vuedx/compiler-tsx":"0.4.2-insiders-1609960000.0","source-map":"^0.6.1","vscode-languageserver-textdocument":"^1.0.1","vscode-uri":"^2.1.2"},"devDependencies":{"@vuedx/shared":"0.4.2-insiders-1609960000.0","fast-glob":"^3.2.4","typescript":"^4.0.3"},"readme":"# Vue Virtual TextDocument\n\nAn implementation of virtual filesystem for accessing blocks in a `.vue` file as independent files.\n\n## Support\n\nThis package is part of [VueDX project](https://github.com/znck/vue-developer-experience), maintained by [Rahul Kadyan](https://github.com/znck). You can [💖 sponsor him](https://github.com/sponsors/znck) for continued development of this package and other VueDX tools.\n\n```\nnpm add @vuedx/vue-virtual-textdocument\n```\n<!-- #region API-DOCS -->\n<!-- Do not edit this file. It is a report generated by [scripts/docgen.js](https://github.com/znck/vue-developer-experience/tree/master/scripts/docgen.js). -->\n\n## API\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-AsyncDocumentStore-class\" id=\"-vuedx-vue-virtual-textdocument-AsyncDocumentStore-class\"></a>\n\n### [AsyncDocumentStore](#-vuedx-vue-virtual-textdocument-AsyncDocumentStore-class)\n\n\n\n<details><summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare class AsyncDocumentStore<T> extends DocumentStore<T> {\n  constructor(resolve: (uri: string) => T | Promise<T | null> | null, normalize?: (uri: string) => string);\n  get(uri: string): T | null;\n  get(uri: string): Promise<T | null>;\n}\n```\n\n**Members:**\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-AsyncDocumentStore-get-member-1-\" id=\"-vuedx-vue-virtual-textdocument-AsyncDocumentStore-get-member-1-\"></a>\n\n#### [get](#-vuedx-vue-virtual-textdocument-AsyncDocumentStore-get-member-1-)\n\n\n\n**Signature:**\n```ts\nget(uri: string): T | null;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-AsyncDocumentStore-get-member-2-\" id=\"-vuedx-vue-virtual-textdocument-AsyncDocumentStore-get-member-2-\"></a>\n\n#### [get](#-vuedx-vue-virtual-textdocument-AsyncDocumentStore-get-member-2-)\n\n\n\n**Signature:**\n```ts\nget(uri: string): Promise<T | null>;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n\n<br>\n</details>\n\n<br>\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-class\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-class\"></a>\n\n### [DocumentStore](#-vuedx-vue-virtual-textdocument-DocumentStore-class)\n\n\n\n<details><summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare class DocumentStore<T> {\n  constructor(resolve: (uri: string) => T | null, normalize?: (uri: string) => string);\n  all(): string[];\n  delete(uri: string): boolean;\n  dispose(): void;\n  get(uri: string): T | null;\n  protected getNormalizedUri(uri: string): string;\n  has(uri: string): boolean;\n  protected map: Map<string, T>;\n  normalize: (uri: string) => string;\n  protected resolve: (uri: string) => T | null;\n  protected reverseUriMap: Map<string, string>;\n  set(uri: string, document: T): void;\n}\n```\n\n**Members:**\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-all-member-1-\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-all-member-1-\"></a>\n\n#### [all](#-vuedx-vue-virtual-textdocument-DocumentStore-all-member-1-)\n\n\n\n**Signature:**\n```ts\nall(): string[];\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-delete-member-1-\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-delete-member-1-\"></a>\n\n#### [delete](#-vuedx-vue-virtual-textdocument-DocumentStore-delete-member-1-)\n\n\n\n**Signature:**\n```ts\ndelete(uri: string): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-dispose-member-1-\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-dispose-member-1-\"></a>\n\n#### [dispose](#-vuedx-vue-virtual-textdocument-DocumentStore-dispose-member-1-)\n\n\n\n**Signature:**\n```ts\ndispose(): void;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-get-member-1-\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-get-member-1-\"></a>\n\n#### [get](#-vuedx-vue-virtual-textdocument-DocumentStore-get-member-1-)\n\n\n\n**Signature:**\n```ts\nget(uri: string): T | null;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-getNormalizedUri-member-1-\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-getNormalizedUri-member-1-\"></a>\n\n#### [getNormalizedUri](#-vuedx-vue-virtual-textdocument-DocumentStore-getNormalizedUri-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected getNormalizedUri(uri: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-has-member-1-\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-has-member-1-\"></a>\n\n#### [has](#-vuedx-vue-virtual-textdocument-DocumentStore-has-member-1-)\n\n\n\n**Signature:**\n```ts\nhas(uri: string): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-set-member-1-\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-set-member-1-\"></a>\n\n#### [set](#-vuedx-vue-virtual-textdocument-DocumentStore-set-member-1-)\n\n\n\n**Signature:**\n```ts\nset(uri: string, document: T): void;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n| document | <code>T</code> | - |\n\n<br>\n</details>\n\n<br>\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-class\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-class\"></a>\n\n### [RenderFunctionTextDocument](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-class)\n\n\n\n<details><summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare class RenderFunctionTextDocument extends TransformedBlockTextDocument {\n  constructor(container: VueTextDocument, selector: Selector, transformed: TextDocument, source: TextDocument);\n  get ast(): CodegenResult['ast'] | undefined;\n  get contextCompletionsTriggerOffset(): number;\n  static create(options: CreateVirtualTextDocumentOptions): RenderFunctionTextDocument;\n  findExpression(offset: number, length: number): undefined | {\n        offset: number;\n        length: number;\n    };\n  protected generate(): string;\n  getAllGeneratedOffsetsAt(offset: number): undefined | Array<{\n        length: number;\n        offset: number;\n    }>;\n  getGeneratedOffsetAt(offset: number): undefined | {\n        length: number;\n        offset: number;\n    };\n  protected getKnownComponents(): Record<string, ComponentImport>;\n  getOriginalOffsetAt(offset: number): undefined | {\n        offset: number;\n        length: number;\n    };\n  isInGeneratedRange(offset: number): boolean;\n  isInTemplateIdentifierRange(offset: number): boolean;\n  get parserErrors(): CodegenResult['errors'];\n  get tagCompletionsTriggerOffset(): number;\n  toDisplayMappings(): string;\n  protected tryGenerate(): string;\n}\n```\n\n**Members:**\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-create-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-create-member-1-\"></a>\n\n#### [create](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-create-member-1-)\n\n\n\n**Signature:**\n```ts\nstatic create(options: CreateVirtualTextDocumentOptions): RenderFunctionTextDocument;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| options | <code><a href=\"#-vuedx-vue-virtual-textdocument--CreateVirtualTextDocumentOptions-interface\">CreateVirtualTextDocumentOptions</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-findExpression-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-findExpression-member-1-\"></a>\n\n#### [findExpression](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-findExpression-member-1-)\n\n\n\n**Signature:**\n```ts\nfindExpression(offset: number, length: number): undefined | {\n        offset: number;\n        length: number;\n    };\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n| length | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-generate-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-generate-member-1-\"></a>\n\n#### [generate](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-generate-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected generate(): string;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getAllGeneratedOffsetsAt-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getAllGeneratedOffsetsAt-member-1-\"></a>\n\n#### [getAllGeneratedOffsetsAt](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getAllGeneratedOffsetsAt-member-1-)\n\n\n\n**Signature:**\n```ts\ngetAllGeneratedOffsetsAt(offset: number): undefined | Array<{\n        length: number;\n        offset: number;\n    }>;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getGeneratedOffsetAt-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getGeneratedOffsetAt-member-1-\"></a>\n\n#### [getGeneratedOffsetAt](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getGeneratedOffsetAt-member-1-)\n\n\n\n**Signature:**\n```ts\ngetGeneratedOffsetAt(offset: number): undefined | {\n        length: number;\n        offset: number;\n    };\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getKnownComponents-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getKnownComponents-member-1-\"></a>\n\n#### [getKnownComponents](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getKnownComponents-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected getKnownComponents(): Record<string, ComponentImport>;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getOriginalOffsetAt-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getOriginalOffsetAt-member-1-\"></a>\n\n#### [getOriginalOffsetAt](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getOriginalOffsetAt-member-1-)\n\n\n\n**Signature:**\n```ts\ngetOriginalOffsetAt(offset: number): undefined | {\n        offset: number;\n        length: number;\n    };\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-isInGeneratedRange-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-isInGeneratedRange-member-1-\"></a>\n\n#### [isInGeneratedRange](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-isInGeneratedRange-member-1-)\n\n\n\n**Signature:**\n```ts\nisInGeneratedRange(offset: number): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-isInTemplateIdentifierRange-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-isInTemplateIdentifierRange-member-1-\"></a>\n\n#### [isInTemplateIdentifierRange](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-isInTemplateIdentifierRange-member-1-)\n\n\n\n**Signature:**\n```ts\nisInTemplateIdentifierRange(offset: number): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-toDisplayMappings-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-toDisplayMappings-member-1-\"></a>\n\n#### [toDisplayMappings](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-toDisplayMappings-member-1-)\n\n\n\n**Signature:**\n```ts\ntoDisplayMappings(): string;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-tryGenerate-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-tryGenerate-member-1-\"></a>\n\n#### [tryGenerate](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-tryGenerate-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected tryGenerate(): string;\n```\n\n\n<br>\n</details>\n\n<br>\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-class\" id=\"-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-class\"></a>\n\n### [TransformedBlockTextDocument](#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-class)\n\n\n\n<details><summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare class TransformedBlockTextDocument extends VirtualTextDocument {\n  protected constructor(container: VueTextDocument, selector: Selector, transformed: TextDocument, source: TextDocument | VirtualTextDocument, _transform: (document: TransformedBlockTextDocument) => BlockTransformResult);\n  static create(options: CreateTransformedBlockTextDocumentOptions): TransformedBlockTextDocument;\n  protected refresh(): void;\n  transform(): BlockTransformResult;\n  tryGetGeneratedOffset(offset: number): number | undefined;\n  tryGetSourceOffset(offset: number): number | undefined;\n}\n```\n\n**Members:**\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-create-member-1-\" id=\"-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-create-member-1-\"></a>\n\n#### [create](#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-create-member-1-)\n\n\n\n**Signature:**\n```ts\nstatic create(options: CreateTransformedBlockTextDocumentOptions): TransformedBlockTextDocument;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| options | <code><a href=\"#-vuedx-vue-virtual-textdocument--CreateTransformedBlockTextDocumentOptions-interface\">CreateTransformedBlockTextDocumentOptions</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-refresh-member-1-\" id=\"-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-refresh-member-1-\"></a>\n\n#### [refresh](#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-refresh-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected refresh(): void;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-transform-member-1-\" id=\"-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-transform-member-1-\"></a>\n\n#### [transform](#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-transform-member-1-)\n\n\n\n**Signature:**\n```ts\ntransform(): BlockTransformResult;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-tryGetGeneratedOffset-member-1-\" id=\"-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-tryGetGeneratedOffset-member-1-\"></a>\n\n#### [tryGetGeneratedOffset](#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-tryGetGeneratedOffset-member-1-)\n\n\n\n**Signature:**\n```ts\ntryGetGeneratedOffset(offset: number): number | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-tryGetSourceOffset-member-1-\" id=\"-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-tryGetSourceOffset-member-1-\"></a>\n\n#### [tryGetSourceOffset](#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-tryGetSourceOffset-member-1-)\n\n\n\n**Signature:**\n```ts\ntryGetSourceOffset(offset: number): number | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n</details>\n\n<br>\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VirtualTextDocument-class\" id=\"-vuedx-vue-virtual-textdocument-VirtualTextDocument-class\"></a>\n\n### [VirtualTextDocument](#-vuedx-vue-virtual-textdocument-VirtualTextDocument-class)\n\n\n\n<details><summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare class VirtualTextDocument extends ProxyTextDocument {\n  protected constructor(container: VueTextDocument, selector: Selector, doc: TextDocument);\n  readonly container: VueTextDocument;\n  static create(options: CreateVirtualTextDocumentOptions): VirtualTextDocument;\n  protected isDirty: boolean;\n  markDirty(): void;\n  protected refresh(): void;\n  readonly selector: Selector;\n}\n```\n\n**Members:**\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VirtualTextDocument-create-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VirtualTextDocument-create-member-1-\"></a>\n\n#### [create](#-vuedx-vue-virtual-textdocument-VirtualTextDocument-create-member-1-)\n\n\n\n**Signature:**\n```ts\nstatic create(options: CreateVirtualTextDocumentOptions): VirtualTextDocument;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| options | <code><a href=\"#-vuedx-vue-virtual-textdocument--CreateVirtualTextDocumentOptions-interface\">CreateVirtualTextDocumentOptions</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VirtualTextDocument-markDirty-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VirtualTextDocument-markDirty-member-1-\"></a>\n\n#### [markDirty](#-vuedx-vue-virtual-textdocument-VirtualTextDocument-markDirty-member-1-)\n\n\n\n**Signature:**\n```ts\nmarkDirty(): void;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VirtualTextDocument-refresh-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VirtualTextDocument-refresh-member-1-\"></a>\n\n#### [refresh](#-vuedx-vue-virtual-textdocument-VirtualTextDocument-refresh-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected refresh(): void;\n```\n\n\n<br>\n</details>\n\n<br>\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-class\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-class\"></a>\n\n### [VueTextDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-class)\n\n\n\n<details><summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare class VueTextDocument extends ProxyTextDocument {\n  constructor(doc: TextDocument, options?: VueTextDocumentOptions, parseOptions?: SFCParseOptions);\n  all(): VirtualTextDocument[];\n  blockAt(position: Position | number): SFCBlock | null | undefined;\n  static create(uri: string, languageId: string, version: number, content: string, options?: VueTextDocumentOptions, parseOptions?: SFCParseOptions): VueTextDocument;\n  protected createBlockDocument(selector: BlockSelector): VirtualTextDocument | undefined;\n  protected createInternalModuleDocument(): TransformedBlockTextDocument;\n  protected createModuleDocument(): TransformedBlockTextDocument;\n  protected createRenderDocument(): RenderFunctionTextDocument;\n  protected createTemplateASTDocument(): TransformedBlockTextDocument;\n  get descriptor(): SFCDescriptor;\n  documentAt(position: Position | number): VirtualTextDocument | undefined;\n  getBlock(selector: BlockSelector): SFCBlock | null | undefined;\n  getBlockSelector(block: SFCBlock): BlockSelector | undefined;\n  getDocument(selector: typeof RENDER_SELECTOR): RenderFunctionTextDocument;\n  getDocument(selector: SelectorLike): VirtualTextDocument;\n  getDocument(selector: string): VirtualTextDocument | undefined;\n  getDocumentFileName(selectorLike: SelectorLike): string;\n  protected getDocumentId(selector: Selector): string;\n  protected getDocumentLanguage(selector: Selector): string;\n  markDirty(): void;\n  readonly options: VueTextDocumentOptions;\n  protected parse(): void;\n  static update(document: VueTextDocument, changes: TextDocumentContentChangeEvent[], version: number): VueTextDocument;\n}\n```\n\n**Members:**\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-all-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-all-member-1-\"></a>\n\n#### [all](#-vuedx-vue-virtual-textdocument-VueTextDocument-all-member-1-)\n\n\n\n**Signature:**\n```ts\nall(): VirtualTextDocument[];\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-blockAt-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-blockAt-member-1-\"></a>\n\n#### [blockAt](#-vuedx-vue-virtual-textdocument-VueTextDocument-blockAt-member-1-)\n\n\n\n**Signature:**\n```ts\nblockAt(position: Position | number): SFCBlock | null | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| position | <code><a href=\"#vscode-languageserver-textdocument-Position-interface\">Position</a> &#124; number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-create-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-create-member-1-\"></a>\n\n#### [create](#-vuedx-vue-virtual-textdocument-VueTextDocument-create-member-1-)\n\n\n\n**Signature:**\n```ts\nstatic create(uri: string, languageId: string, version: number, content: string, options?: VueTextDocumentOptions, parseOptions?: SFCParseOptions): VueTextDocument;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n| languageId | <code>string</code> | - |\n| version | <code>number</code> | - |\n| content | <code>string</code> | - |\n| options | <code><a href=\"#-vuedx-vue-virtual-textdocument--VueTextDocumentOptions-interface\">VueTextDocumentOptions</a></code> | - |\n| parseOptions | <code><a href=\"#-vue-compiler-sfc-SFCParseOptions-interface\">SFCParseOptions</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-createBlockDocument-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-createBlockDocument-member-1-\"></a>\n\n#### [createBlockDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-createBlockDocument-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected createBlockDocument(selector: BlockSelector): VirtualTextDocument | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selector | <code><a href=\"#-vuedx-vue-virtual-textdocument--BlockSelector-type\">BlockSelector</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-createInternalModuleDocument-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-createInternalModuleDocument-member-1-\"></a>\n\n#### [createInternalModuleDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-createInternalModuleDocument-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected createInternalModuleDocument(): TransformedBlockTextDocument;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-createModuleDocument-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-createModuleDocument-member-1-\"></a>\n\n#### [createModuleDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-createModuleDocument-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected createModuleDocument(): TransformedBlockTextDocument;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-createRenderDocument-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-createRenderDocument-member-1-\"></a>\n\n#### [createRenderDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-createRenderDocument-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected createRenderDocument(): RenderFunctionTextDocument;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-createTemplateASTDocument-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-createTemplateASTDocument-member-1-\"></a>\n\n#### [createTemplateASTDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-createTemplateASTDocument-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected createTemplateASTDocument(): TransformedBlockTextDocument;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-documentAt-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-documentAt-member-1-\"></a>\n\n#### [documentAt](#-vuedx-vue-virtual-textdocument-VueTextDocument-documentAt-member-1-)\n\n\n\n**Signature:**\n```ts\ndocumentAt(position: Position | number): VirtualTextDocument | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| position | <code><a href=\"#vscode-languageserver-textdocument-Position-interface\">Position</a> &#124; number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getBlock-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getBlock-member-1-\"></a>\n\n#### [getBlock](#-vuedx-vue-virtual-textdocument-VueTextDocument-getBlock-member-1-)\n\n\n\n**Signature:**\n```ts\ngetBlock(selector: BlockSelector): SFCBlock | null | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selector | <code><a href=\"#-vuedx-vue-virtual-textdocument--BlockSelector-type\">BlockSelector</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getBlockSelector-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getBlockSelector-member-1-\"></a>\n\n#### [getBlockSelector](#-vuedx-vue-virtual-textdocument-VueTextDocument-getBlockSelector-member-1-)\n\n\n\n**Signature:**\n```ts\ngetBlockSelector(block: SFCBlock): BlockSelector | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| block | <code><a href=\"#-vue-compiler-sfc-SFCBlock-interface\">SFCBlock</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-1-\"></a>\n\n#### [getDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-1-)\n\n\n\n**Signature:**\n```ts\ngetDocument(selector: typeof RENDER_SELECTOR): RenderFunctionTextDocument;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selector | <code>typeof <a href=\"#-vuedx-vue-virtual-textdocument--RENDER-SELECTOR-var\">RENDER_SELECTOR</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-2-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-2-\"></a>\n\n#### [getDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-2-)\n\n\n\n**Signature:**\n```ts\ngetDocument(selector: SelectorLike): VirtualTextDocument;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selector | <code><a href=\"#-vuedx-vue-virtual-textdocument--SelectorLike-type\">SelectorLike</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-3-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-3-\"></a>\n\n#### [getDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-3-)\n\n\n\n**Signature:**\n```ts\ngetDocument(selector: string): VirtualTextDocument | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selector | <code>string</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentFileName-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentFileName-member-1-\"></a>\n\n#### [getDocumentFileName](#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentFileName-member-1-)\n\n\n\n**Signature:**\n```ts\ngetDocumentFileName(selectorLike: SelectorLike): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selectorLike | <code><a href=\"#-vuedx-vue-virtual-textdocument--SelectorLike-type\">SelectorLike</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentId-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentId-member-1-\"></a>\n\n#### [getDocumentId](#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentId-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected getDocumentId(selector: Selector): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selector | <code><a href=\"#-vuedx-vue-virtual-textdocument--Selector-type\">Selector</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentLanguage-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentLanguage-member-1-\"></a>\n\n#### [getDocumentLanguage](#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentLanguage-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected getDocumentLanguage(selector: Selector): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selector | <code><a href=\"#-vuedx-vue-virtual-textdocument--Selector-type\">Selector</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-markDirty-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-markDirty-member-1-\"></a>\n\n#### [markDirty](#-vuedx-vue-virtual-textdocument-VueTextDocument-markDirty-member-1-)\n\n\n\n**Signature:**\n```ts\nmarkDirty(): void;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-parse-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-parse-member-1-\"></a>\n\n#### [parse](#-vuedx-vue-virtual-textdocument-VueTextDocument-parse-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected parse(): void;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-update-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-update-member-1-\"></a>\n\n#### [update](#-vuedx-vue-virtual-textdocument-VueTextDocument-update-member-1-)\n\n\n\n**Signature:**\n```ts\nstatic update(document: VueTextDocument, changes: TextDocumentContentChangeEvent[], version: number): VueTextDocument;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| document | <code><a href=\"#-vuedx-vue-virtual-textdocument--VueTextDocument-class\">VueTextDocument</a></code> | - |\n| changes | <code><a href=\"#vscode-languageserver-textdocument-TextDocumentContentChangeEvent-type\">TextDocumentContentChangeEvent</a>[]</code> | - |\n| version | <code>number</code> | - |\n\n<br>\n</details>\n\n<br>\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-asFsPath-function-1-\" id=\"-vuedx-vue-virtual-textdocument-asFsPath-function-1-\"></a>\n\n### [asFsPath](#-vuedx-vue-virtual-textdocument-asFsPath-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function asFsPath(uri: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-asFsUri-function-1-\" id=\"-vuedx-vue-virtual-textdocument-asFsUri-function-1-\"></a>\n\n### [asFsUri](#-vuedx-vue-virtual-textdocument-asFsUri-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function asFsUri(fileName: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-asUri-function-1-\" id=\"-vuedx-vue-virtual-textdocument-asUri-function-1-\"></a>\n\n### [asUri](#-vuedx-vue-virtual-textdocument-asUri-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function asUri(fileNameOrUri: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileNameOrUri | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-basename-function-1-\" id=\"-vuedx-vue-virtual-textdocument-basename-function-1-\"></a>\n\n### [basename](#-vuedx-vue-virtual-textdocument-basename-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function basename(fileName: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-binarySearch-function-1-\" id=\"-vuedx-vue-virtual-textdocument-binarySearch-function-1-\"></a>\n\n### [binarySearch](#-vuedx-vue-virtual-textdocument-binarySearch-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function binarySearch<T>(array: T[], isMatch: (a: T) => number, returnMin?: boolean): T | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| array | <code>T[]</code> | - |\n| isMatch | <code>(a: T) => number</code> | - |\n| returnMin | <code>boolean</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-getBlockLanguage-function-1-\" id=\"-vuedx-vue-virtual-textdocument-getBlockLanguage-function-1-\"></a>\n\n### [getBlockLanguage](#-vuedx-vue-virtual-textdocument-getBlockLanguage-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function getBlockLanguage(block?: SFCBlock | null): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| block | <code><a href=\"#-vue-compiler-sfc-SFCBlock-interface\">SFCBlock</a> &#124; null</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-getContainingFile-function-1-\" id=\"-vuedx-vue-virtual-textdocument-getContainingFile-function-1-\"></a>\n\n### [getContainingFile](#-vuedx-vue-virtual-textdocument-getContainingFile-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function getContainingFile(fileName: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-getLanguageExtension-function-1-\" id=\"-vuedx-vue-virtual-textdocument-getLanguageExtension-function-1-\"></a>\n\n### [getLanguageExtension](#-vuedx-vue-virtual-textdocument-getLanguageExtension-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function getLanguageExtension(lang: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| lang | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-getLanguageIdFromExtension-function-1-\" id=\"-vuedx-vue-virtual-textdocument-getLanguageIdFromExtension-function-1-\"></a>\n\n### [getLanguageIdFromExtension](#-vuedx-vue-virtual-textdocument-getLanguageIdFromExtension-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function getLanguageIdFromExtension(ext: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| ext | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-isOffsetInBlock-function-1-\" id=\"-vuedx-vue-virtual-textdocument-isOffsetInBlock-function-1-\"></a>\n\n### [isOffsetInBlock](#-vuedx-vue-virtual-textdocument-isOffsetInBlock-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function isOffsetInBlock(offset: number, block?: SFCBlock | null): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n| block | <code><a href=\"#-vue-compiler-sfc-SFCBlock-interface\">SFCBlock</a> &#124; null</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-isVirtualFile-function-1-\" id=\"-vuedx-vue-virtual-textdocument-isVirtualFile-function-1-\"></a>\n\n### [isVirtualFile](#-vuedx-vue-virtual-textdocument-isVirtualFile-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function isVirtualFile(fileName: string): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-isVirtualFileOfType-function-1-\" id=\"-vuedx-vue-virtual-textdocument-isVirtualFileOfType-function-1-\"></a>\n\n### [isVirtualFileOfType](#-vuedx-vue-virtual-textdocument-isVirtualFileOfType-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function isVirtualFileOfType(fileName: string, type: '_render' | '_module' | '_internal' | 'script' | 'scriptSetup'): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n| type | <code>'_render' &#124; '_module' &#124; '_internal' &#124; 'script' &#124; 'scriptSetup'</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-isVueFile-function-1-\" id=\"-vuedx-vue-virtual-textdocument-isVueFile-function-1-\"></a>\n\n### [isVueFile](#-vuedx-vue-virtual-textdocument-isVueFile-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function isVueFile(fileName: string): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-parseVirtualFileName-function-1-\" id=\"-vuedx-vue-virtual-textdocument-parseVirtualFileName-function-1-\"></a>\n\n### [parseVirtualFileName](#-vuedx-vue-virtual-textdocument-parseVirtualFileName-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function parseVirtualFileName(fileName: string): {\n    uri: string;\n    selector: Selector;\n} | null;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-relativeVirtualImportPath-function-1-\" id=\"-vuedx-vue-virtual-textdocument-relativeVirtualImportPath-function-1-\"></a>\n\n### [relativeVirtualImportPath](#-vuedx-vue-virtual-textdocument-relativeVirtualImportPath-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function relativeVirtualImportPath(fileName: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-replaceSlashes-function-1-\" id=\"-vuedx-vue-virtual-textdocument-replaceSlashes-function-1-\"></a>\n\n### [replaceSlashes](#-vuedx-vue-virtual-textdocument-replaceSlashes-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function replaceSlashes(fileName: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n<!-- #region API-DOCS -->\n","readmeFilename":"readme.md","_id":"@vuedx/vue-virtual-textdocument@0.4.2-insiders-1609960000.0","_nodeVersion":"14.14.0","_npmVersion":"6.14.8","dist":{"integrity":"sha512-uslRFnT8/xDz6pcSGNr+AfxQQuOr3R+bgJuK5K2k0+tChtP7INIpi7JbLS3+p2CQFl24i7UneFxDkHoNHL04Xw==","shasum":"69c2cab367311f0fc61fc96a56cfd835e61f10c6","tarball":"https://registry.npmjs.org/@vuedx/vue-virtual-textdocument/-/vue-virtual-textdocument-0.4.2-insiders-1609960000.0.tgz","fileCount":8,"unpackedSize":293714,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJf9gpgCRA9TVsSAnZWagAAh0cP/2DurvYvhuNzhmjdoXRv\nfFJ4YvMLsaxtO5zrgSgrW6t86bw+wVmOfKx1ZBBLg8mX1iyp6iYfxfJ1g7B7\ntY5vYvI5ivPXGYM0MAcV7nKMtzCTYzYjazvjkg5zPaNWPaKGQhT6pTY1kSeO\nO72SdVvwF7ov03k6EfWk0n4hftC+Mnwh/80kVphtzXnhhE7AqBODWJSrrJCh\nkZZoRjCg0ftPfW3l5A3AVKokks8pPDBaakl8VcXWdMTDS2Mhv9Yt7F0kQJSn\nXuJKmPhhOe8KQejQXZTuDyLBrzd4N9PCShWGsVbA+dQKWBxQQ9YK3lIKUt4z\np0BVSTJMvlTJeZeoLHHRQi2uRPmy71va8OZr/3DXDYLww/8gLPIRE9HDqhLv\n2nyouP2leKdTOD9ed6XFAPhPq1UPT11j5mpQ/lO5qBwKIAe1xg8tk749e7AB\np9jay2mTi2jPc5Lho7HYWIB/5CQZmYSVuJ6khciJgXY7YC/FWJgiordZK9qc\nB6u2zwTTy6s/IjvF/4IoJMjFjLIbnXsuJGPc0Yql02VufrCrHwfT8G6Wm1cI\nhxNNYPjWi6qKcbvzQC6WLryCkVHw6VfrCwwq5l7WUdgJFRwNL74nS7dIz8Du\n6PZxXK3N0/M32+uIkDj1xKGkSl3zd4q4ULKFGu8qfgV5kp1TJYuzD8BFYMKJ\nuQnG\r\n=MNC8\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIHure5RwnJ8ei0SVKPWQGDpfevR9V9+eSLWcJnU85aDaAiEA5zJP3tB/TduIzeiq8Etj+qIE8OfSwzMdpY3yyb/RlqE="}]},"_npmUser":{"name":"znck","email":"rahulkdn@gmail.com"},"directories":{},"maintainers":[{"name":"znck","email":"rahulkdn@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/vue-virtual-textdocument_0.4.2-insiders-1609960000.0_1609960031588_0.09309908039810688"},"_hasShrinkwrap":false},"0.4.2-insiders-1610169628.0":{"name":"@vuedx/vue-virtual-textdocument","version":"0.4.2-insiders-1610169628.0","description":"An implementation of virtual filesystem for accessing blocks in a `.vue` file as independent files.","main":"dist/index.cjs.js","module":"dist/index.esm.js","types":"dist/index.d.ts","private":false,"scripts":{},"keywords":["vue","vue sfc","sfc","vue virtual files"],"repository":{"type":"git","url":"git+https://github.com/znck/vue-developer-experience.git"},"author":{"name":"Rahul Kadyan","email":"rahulkdn@gmail.com","url":"https://znck.me/"},"funding":{"type":"individual","url":"https://github.com/sponsors/znck"},"license":"MIT","bugs":{"url":"https://github.com/znck/vue-developer-experience/issues"},"homepage":"https://github.com/znck/vue-developer-experience#readme","dependencies":{"@vuedx/analyze":"0.4.2-insiders-1610169628.0","@vuedx/compiler-sfc":"0.4.2-insiders-1610169628.0","@vuedx/compiler-tsx":"0.4.2-insiders-1610169628.0","source-map":"^0.6.1","vscode-languageserver-textdocument":"^1.0.1","vscode-uri":"^2.1.2"},"devDependencies":{"@vuedx/shared":"0.4.2-insiders-1610169628.0","fast-glob":"^3.2.4","typescript":"^4.0.3"},"readme":"# Vue Virtual TextDocument\n\nAn implementation of virtual filesystem for accessing blocks in a `.vue` file as independent files.\n\n## Support\n\nThis package is part of [VueDX project](https://github.com/znck/vue-developer-experience), maintained by [Rahul Kadyan](https://github.com/znck). You can [💖 sponsor him](https://github.com/sponsors/znck) for continued development of this package and other VueDX tools.\n\n```\nnpm add @vuedx/vue-virtual-textdocument\n```\n<!-- #region API-DOCS -->\n<!-- Do not edit this file. It is a report generated by [scripts/docgen.js](https://github.com/znck/vue-developer-experience/tree/master/scripts/docgen.js). -->\n\n## API\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-AsyncDocumentStore-class\" id=\"-vuedx-vue-virtual-textdocument-AsyncDocumentStore-class\"></a>\n\n### [AsyncDocumentStore](#-vuedx-vue-virtual-textdocument-AsyncDocumentStore-class)\n\n\n\n<details><summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare class AsyncDocumentStore<T> extends DocumentStore<T> {\n  constructor(resolve: (uri: string) => T | Promise<T | null> | null, normalize?: (uri: string) => string);\n  get(uri: string): T | null;\n  get(uri: string): Promise<T | null>;\n}\n```\n\n**Members:**\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-AsyncDocumentStore-get-member-1-\" id=\"-vuedx-vue-virtual-textdocument-AsyncDocumentStore-get-member-1-\"></a>\n\n#### [get](#-vuedx-vue-virtual-textdocument-AsyncDocumentStore-get-member-1-)\n\n\n\n**Signature:**\n```ts\nget(uri: string): T | null;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-AsyncDocumentStore-get-member-2-\" id=\"-vuedx-vue-virtual-textdocument-AsyncDocumentStore-get-member-2-\"></a>\n\n#### [get](#-vuedx-vue-virtual-textdocument-AsyncDocumentStore-get-member-2-)\n\n\n\n**Signature:**\n```ts\nget(uri: string): Promise<T | null>;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n\n<br>\n</details>\n\n<br>\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-class\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-class\"></a>\n\n### [DocumentStore](#-vuedx-vue-virtual-textdocument-DocumentStore-class)\n\n\n\n<details><summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare class DocumentStore<T> {\n  constructor(resolve: (uri: string) => T | null, normalize?: (uri: string) => string);\n  all(): string[];\n  delete(uri: string): boolean;\n  dispose(): void;\n  get(uri: string): T | null;\n  protected getNormalizedUri(uri: string): string;\n  has(uri: string): boolean;\n  protected map: Map<string, T>;\n  normalize: (uri: string) => string;\n  protected resolve: (uri: string) => T | null;\n  protected reverseUriMap: Map<string, string>;\n  set(uri: string, document: T): void;\n}\n```\n\n**Members:**\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-all-member-1-\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-all-member-1-\"></a>\n\n#### [all](#-vuedx-vue-virtual-textdocument-DocumentStore-all-member-1-)\n\n\n\n**Signature:**\n```ts\nall(): string[];\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-delete-member-1-\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-delete-member-1-\"></a>\n\n#### [delete](#-vuedx-vue-virtual-textdocument-DocumentStore-delete-member-1-)\n\n\n\n**Signature:**\n```ts\ndelete(uri: string): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-dispose-member-1-\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-dispose-member-1-\"></a>\n\n#### [dispose](#-vuedx-vue-virtual-textdocument-DocumentStore-dispose-member-1-)\n\n\n\n**Signature:**\n```ts\ndispose(): void;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-get-member-1-\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-get-member-1-\"></a>\n\n#### [get](#-vuedx-vue-virtual-textdocument-DocumentStore-get-member-1-)\n\n\n\n**Signature:**\n```ts\nget(uri: string): T | null;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-getNormalizedUri-member-1-\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-getNormalizedUri-member-1-\"></a>\n\n#### [getNormalizedUri](#-vuedx-vue-virtual-textdocument-DocumentStore-getNormalizedUri-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected getNormalizedUri(uri: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-has-member-1-\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-has-member-1-\"></a>\n\n#### [has](#-vuedx-vue-virtual-textdocument-DocumentStore-has-member-1-)\n\n\n\n**Signature:**\n```ts\nhas(uri: string): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-set-member-1-\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-set-member-1-\"></a>\n\n#### [set](#-vuedx-vue-virtual-textdocument-DocumentStore-set-member-1-)\n\n\n\n**Signature:**\n```ts\nset(uri: string, document: T): void;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n| document | <code>T</code> | - |\n\n<br>\n</details>\n\n<br>\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-class\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-class\"></a>\n\n### [RenderFunctionTextDocument](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-class)\n\n\n\n<details><summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare class RenderFunctionTextDocument extends TransformedBlockTextDocument {\n  constructor(container: VueTextDocument, selector: Selector, transformed: TextDocument, source: TextDocument);\n  get ast(): CodegenResult['ast'] | undefined;\n  get contextCompletionsTriggerOffset(): number;\n  static create(options: CreateVirtualTextDocumentOptions): RenderFunctionTextDocument;\n  findExpression(offset: number, length: number): undefined | {\n        offset: number;\n        length: number;\n    };\n  protected generate(): string;\n  getAllGeneratedOffsetsAt(offset: number): undefined | Array<{\n        length: number;\n        offset: number;\n    }>;\n  getGeneratedOffsetAt(offset: number): undefined | {\n        length: number;\n        offset: number;\n    };\n  protected getKnownComponents(): Record<string, ComponentImport>;\n  getOriginalOffsetAt(offset: number): undefined | {\n        offset: number;\n        length: number;\n    };\n  isInGeneratedRange(offset: number): boolean;\n  isInTemplateIdentifierRange(offset: number): boolean;\n  get parserErrors(): CodegenResult['errors'];\n  get tagCompletionsTriggerOffset(): number;\n  toDisplayMappings(): string;\n  protected tryGenerate(): string;\n}\n```\n\n**Members:**\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-create-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-create-member-1-\"></a>\n\n#### [create](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-create-member-1-)\n\n\n\n**Signature:**\n```ts\nstatic create(options: CreateVirtualTextDocumentOptions): RenderFunctionTextDocument;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| options | <code><a href=\"#-vuedx-vue-virtual-textdocument--CreateVirtualTextDocumentOptions-interface\">CreateVirtualTextDocumentOptions</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-findExpression-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-findExpression-member-1-\"></a>\n\n#### [findExpression](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-findExpression-member-1-)\n\n\n\n**Signature:**\n```ts\nfindExpression(offset: number, length: number): undefined | {\n        offset: number;\n        length: number;\n    };\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n| length | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-generate-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-generate-member-1-\"></a>\n\n#### [generate](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-generate-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected generate(): string;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getAllGeneratedOffsetsAt-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getAllGeneratedOffsetsAt-member-1-\"></a>\n\n#### [getAllGeneratedOffsetsAt](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getAllGeneratedOffsetsAt-member-1-)\n\n\n\n**Signature:**\n```ts\ngetAllGeneratedOffsetsAt(offset: number): undefined | Array<{\n        length: number;\n        offset: number;\n    }>;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getGeneratedOffsetAt-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getGeneratedOffsetAt-member-1-\"></a>\n\n#### [getGeneratedOffsetAt](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getGeneratedOffsetAt-member-1-)\n\n\n\n**Signature:**\n```ts\ngetGeneratedOffsetAt(offset: number): undefined | {\n        length: number;\n        offset: number;\n    };\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getKnownComponents-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getKnownComponents-member-1-\"></a>\n\n#### [getKnownComponents](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getKnownComponents-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected getKnownComponents(): Record<string, ComponentImport>;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getOriginalOffsetAt-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getOriginalOffsetAt-member-1-\"></a>\n\n#### [getOriginalOffsetAt](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getOriginalOffsetAt-member-1-)\n\n\n\n**Signature:**\n```ts\ngetOriginalOffsetAt(offset: number): undefined | {\n        offset: number;\n        length: number;\n    };\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-isInGeneratedRange-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-isInGeneratedRange-member-1-\"></a>\n\n#### [isInGeneratedRange](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-isInGeneratedRange-member-1-)\n\n\n\n**Signature:**\n```ts\nisInGeneratedRange(offset: number): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-isInTemplateIdentifierRange-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-isInTemplateIdentifierRange-member-1-\"></a>\n\n#### [isInTemplateIdentifierRange](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-isInTemplateIdentifierRange-member-1-)\n\n\n\n**Signature:**\n```ts\nisInTemplateIdentifierRange(offset: number): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-toDisplayMappings-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-toDisplayMappings-member-1-\"></a>\n\n#### [toDisplayMappings](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-toDisplayMappings-member-1-)\n\n\n\n**Signature:**\n```ts\ntoDisplayMappings(): string;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-tryGenerate-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-tryGenerate-member-1-\"></a>\n\n#### [tryGenerate](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-tryGenerate-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected tryGenerate(): string;\n```\n\n\n<br>\n</details>\n\n<br>\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-class\" id=\"-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-class\"></a>\n\n### [TransformedBlockTextDocument](#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-class)\n\n\n\n<details><summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare class TransformedBlockTextDocument extends VirtualTextDocument {\n  protected constructor(container: VueTextDocument, selector: Selector, transformed: TextDocument, source: TextDocument | VirtualTextDocument, _transform: (document: TransformedBlockTextDocument) => BlockTransformResult);\n  static create(options: CreateTransformedBlockTextDocumentOptions): TransformedBlockTextDocument;\n  protected refresh(): void;\n  transform(): BlockTransformResult;\n  tryGetGeneratedOffset(offset: number): number | undefined;\n  tryGetSourceOffset(offset: number): number | undefined;\n}\n```\n\n**Members:**\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-create-member-1-\" id=\"-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-create-member-1-\"></a>\n\n#### [create](#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-create-member-1-)\n\n\n\n**Signature:**\n```ts\nstatic create(options: CreateTransformedBlockTextDocumentOptions): TransformedBlockTextDocument;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| options | <code><a href=\"#-vuedx-vue-virtual-textdocument--CreateTransformedBlockTextDocumentOptions-interface\">CreateTransformedBlockTextDocumentOptions</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-refresh-member-1-\" id=\"-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-refresh-member-1-\"></a>\n\n#### [refresh](#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-refresh-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected refresh(): void;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-transform-member-1-\" id=\"-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-transform-member-1-\"></a>\n\n#### [transform](#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-transform-member-1-)\n\n\n\n**Signature:**\n```ts\ntransform(): BlockTransformResult;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-tryGetGeneratedOffset-member-1-\" id=\"-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-tryGetGeneratedOffset-member-1-\"></a>\n\n#### [tryGetGeneratedOffset](#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-tryGetGeneratedOffset-member-1-)\n\n\n\n**Signature:**\n```ts\ntryGetGeneratedOffset(offset: number): number | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-tryGetSourceOffset-member-1-\" id=\"-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-tryGetSourceOffset-member-1-\"></a>\n\n#### [tryGetSourceOffset](#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-tryGetSourceOffset-member-1-)\n\n\n\n**Signature:**\n```ts\ntryGetSourceOffset(offset: number): number | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n</details>\n\n<br>\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VirtualTextDocument-class\" id=\"-vuedx-vue-virtual-textdocument-VirtualTextDocument-class\"></a>\n\n### [VirtualTextDocument](#-vuedx-vue-virtual-textdocument-VirtualTextDocument-class)\n\n\n\n<details><summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare class VirtualTextDocument extends ProxyTextDocument {\n  protected constructor(container: VueTextDocument, selector: Selector, doc: TextDocument);\n  readonly container: VueTextDocument;\n  static create(options: CreateVirtualTextDocumentOptions): VirtualTextDocument;\n  protected isDirty: boolean;\n  markDirty(): void;\n  protected refresh(): void;\n  readonly selector: Selector;\n}\n```\n\n**Members:**\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VirtualTextDocument-create-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VirtualTextDocument-create-member-1-\"></a>\n\n#### [create](#-vuedx-vue-virtual-textdocument-VirtualTextDocument-create-member-1-)\n\n\n\n**Signature:**\n```ts\nstatic create(options: CreateVirtualTextDocumentOptions): VirtualTextDocument;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| options | <code><a href=\"#-vuedx-vue-virtual-textdocument--CreateVirtualTextDocumentOptions-interface\">CreateVirtualTextDocumentOptions</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VirtualTextDocument-markDirty-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VirtualTextDocument-markDirty-member-1-\"></a>\n\n#### [markDirty](#-vuedx-vue-virtual-textdocument-VirtualTextDocument-markDirty-member-1-)\n\n\n\n**Signature:**\n```ts\nmarkDirty(): void;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VirtualTextDocument-refresh-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VirtualTextDocument-refresh-member-1-\"></a>\n\n#### [refresh](#-vuedx-vue-virtual-textdocument-VirtualTextDocument-refresh-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected refresh(): void;\n```\n\n\n<br>\n</details>\n\n<br>\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-class\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-class\"></a>\n\n### [VueTextDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-class)\n\n\n\n<details><summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare class VueTextDocument extends ProxyTextDocument {\n  constructor(doc: TextDocument, options?: VueTextDocumentOptions, parseOptions?: SFCParseOptions);\n  all(): VirtualTextDocument[];\n  blockAt(position: Position | number): SFCBlock | null | undefined;\n  static create(uri: string, languageId: string, version: number, content: string, options?: VueTextDocumentOptions, parseOptions?: SFCParseOptions): VueTextDocument;\n  protected createBlockDocument(selector: BlockSelector): VirtualTextDocument | undefined;\n  protected createInternalModuleDocument(): TransformedBlockTextDocument;\n  protected createModuleDocument(): TransformedBlockTextDocument;\n  protected createRenderDocument(): RenderFunctionTextDocument;\n  protected createTemplateASTDocument(): TransformedBlockTextDocument;\n  get descriptor(): SFCDescriptor;\n  documentAt(position: Position | number): VirtualTextDocument | undefined;\n  getBlock(selector: BlockSelector): SFCBlock | null | undefined;\n  getBlockSelector(block: SFCBlock): BlockSelector | undefined;\n  getDocument(selector: typeof RENDER_SELECTOR): RenderFunctionTextDocument;\n  getDocument(selector: SelectorLike): VirtualTextDocument;\n  getDocument(selector: string): VirtualTextDocument | undefined;\n  getDocumentFileName(selectorLike: SelectorLike): string;\n  protected getDocumentId(selector: Selector): string;\n  protected getDocumentLanguage(selector: Selector): string;\n  markDirty(): void;\n  readonly options: VueTextDocumentOptions;\n  protected parse(): void;\n  static update(document: VueTextDocument, changes: TextDocumentContentChangeEvent[], version: number): VueTextDocument;\n}\n```\n\n**Members:**\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-all-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-all-member-1-\"></a>\n\n#### [all](#-vuedx-vue-virtual-textdocument-VueTextDocument-all-member-1-)\n\n\n\n**Signature:**\n```ts\nall(): VirtualTextDocument[];\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-blockAt-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-blockAt-member-1-\"></a>\n\n#### [blockAt](#-vuedx-vue-virtual-textdocument-VueTextDocument-blockAt-member-1-)\n\n\n\n**Signature:**\n```ts\nblockAt(position: Position | number): SFCBlock | null | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| position | <code><a href=\"#vscode-languageserver-textdocument-Position-interface\">Position</a> &#124; number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-create-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-create-member-1-\"></a>\n\n#### [create](#-vuedx-vue-virtual-textdocument-VueTextDocument-create-member-1-)\n\n\n\n**Signature:**\n```ts\nstatic create(uri: string, languageId: string, version: number, content: string, options?: VueTextDocumentOptions, parseOptions?: SFCParseOptions): VueTextDocument;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n| languageId | <code>string</code> | - |\n| version | <code>number</code> | - |\n| content | <code>string</code> | - |\n| options | <code><a href=\"#-vuedx-vue-virtual-textdocument--VueTextDocumentOptions-interface\">VueTextDocumentOptions</a></code> | - |\n| parseOptions | <code><a href=\"#-vue-compiler-sfc-SFCParseOptions-interface\">SFCParseOptions</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-createBlockDocument-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-createBlockDocument-member-1-\"></a>\n\n#### [createBlockDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-createBlockDocument-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected createBlockDocument(selector: BlockSelector): VirtualTextDocument | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selector | <code><a href=\"#-vuedx-vue-virtual-textdocument--BlockSelector-type\">BlockSelector</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-createInternalModuleDocument-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-createInternalModuleDocument-member-1-\"></a>\n\n#### [createInternalModuleDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-createInternalModuleDocument-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected createInternalModuleDocument(): TransformedBlockTextDocument;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-createModuleDocument-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-createModuleDocument-member-1-\"></a>\n\n#### [createModuleDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-createModuleDocument-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected createModuleDocument(): TransformedBlockTextDocument;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-createRenderDocument-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-createRenderDocument-member-1-\"></a>\n\n#### [createRenderDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-createRenderDocument-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected createRenderDocument(): RenderFunctionTextDocument;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-createTemplateASTDocument-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-createTemplateASTDocument-member-1-\"></a>\n\n#### [createTemplateASTDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-createTemplateASTDocument-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected createTemplateASTDocument(): TransformedBlockTextDocument;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-documentAt-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-documentAt-member-1-\"></a>\n\n#### [documentAt](#-vuedx-vue-virtual-textdocument-VueTextDocument-documentAt-member-1-)\n\n\n\n**Signature:**\n```ts\ndocumentAt(position: Position | number): VirtualTextDocument | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| position | <code><a href=\"#vscode-languageserver-textdocument-Position-interface\">Position</a> &#124; number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getBlock-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getBlock-member-1-\"></a>\n\n#### [getBlock](#-vuedx-vue-virtual-textdocument-VueTextDocument-getBlock-member-1-)\n\n\n\n**Signature:**\n```ts\ngetBlock(selector: BlockSelector): SFCBlock | null | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selector | <code><a href=\"#-vuedx-vue-virtual-textdocument--BlockSelector-type\">BlockSelector</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getBlockSelector-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getBlockSelector-member-1-\"></a>\n\n#### [getBlockSelector](#-vuedx-vue-virtual-textdocument-VueTextDocument-getBlockSelector-member-1-)\n\n\n\n**Signature:**\n```ts\ngetBlockSelector(block: SFCBlock): BlockSelector | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| block | <code><a href=\"#-vue-compiler-sfc-SFCBlock-interface\">SFCBlock</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-1-\"></a>\n\n#### [getDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-1-)\n\n\n\n**Signature:**\n```ts\ngetDocument(selector: typeof RENDER_SELECTOR): RenderFunctionTextDocument;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selector | <code>typeof <a href=\"#-vuedx-vue-virtual-textdocument--RENDER-SELECTOR-var\">RENDER_SELECTOR</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-2-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-2-\"></a>\n\n#### [getDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-2-)\n\n\n\n**Signature:**\n```ts\ngetDocument(selector: SelectorLike): VirtualTextDocument;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selector | <code><a href=\"#-vuedx-vue-virtual-textdocument--SelectorLike-type\">SelectorLike</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-3-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-3-\"></a>\n\n#### [getDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-3-)\n\n\n\n**Signature:**\n```ts\ngetDocument(selector: string): VirtualTextDocument | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selector | <code>string</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentFileName-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentFileName-member-1-\"></a>\n\n#### [getDocumentFileName](#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentFileName-member-1-)\n\n\n\n**Signature:**\n```ts\ngetDocumentFileName(selectorLike: SelectorLike): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selectorLike | <code><a href=\"#-vuedx-vue-virtual-textdocument--SelectorLike-type\">SelectorLike</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentId-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentId-member-1-\"></a>\n\n#### [getDocumentId](#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentId-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected getDocumentId(selector: Selector): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selector | <code><a href=\"#-vuedx-vue-virtual-textdocument--Selector-type\">Selector</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentLanguage-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentLanguage-member-1-\"></a>\n\n#### [getDocumentLanguage](#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentLanguage-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected getDocumentLanguage(selector: Selector): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selector | <code><a href=\"#-vuedx-vue-virtual-textdocument--Selector-type\">Selector</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-markDirty-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-markDirty-member-1-\"></a>\n\n#### [markDirty](#-vuedx-vue-virtual-textdocument-VueTextDocument-markDirty-member-1-)\n\n\n\n**Signature:**\n```ts\nmarkDirty(): void;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-parse-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-parse-member-1-\"></a>\n\n#### [parse](#-vuedx-vue-virtual-textdocument-VueTextDocument-parse-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected parse(): void;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-update-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-update-member-1-\"></a>\n\n#### [update](#-vuedx-vue-virtual-textdocument-VueTextDocument-update-member-1-)\n\n\n\n**Signature:**\n```ts\nstatic update(document: VueTextDocument, changes: TextDocumentContentChangeEvent[], version: number): VueTextDocument;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| document | <code><a href=\"#-vuedx-vue-virtual-textdocument--VueTextDocument-class\">VueTextDocument</a></code> | - |\n| changes | <code><a href=\"#vscode-languageserver-textdocument-TextDocumentContentChangeEvent-type\">TextDocumentContentChangeEvent</a>[]</code> | - |\n| version | <code>number</code> | - |\n\n<br>\n</details>\n\n<br>\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-asFsPath-function-1-\" id=\"-vuedx-vue-virtual-textdocument-asFsPath-function-1-\"></a>\n\n### [asFsPath](#-vuedx-vue-virtual-textdocument-asFsPath-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function asFsPath(uri: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-asFsUri-function-1-\" id=\"-vuedx-vue-virtual-textdocument-asFsUri-function-1-\"></a>\n\n### [asFsUri](#-vuedx-vue-virtual-textdocument-asFsUri-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function asFsUri(fileName: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-asUri-function-1-\" id=\"-vuedx-vue-virtual-textdocument-asUri-function-1-\"></a>\n\n### [asUri](#-vuedx-vue-virtual-textdocument-asUri-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function asUri(fileNameOrUri: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileNameOrUri | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-basename-function-1-\" id=\"-vuedx-vue-virtual-textdocument-basename-function-1-\"></a>\n\n### [basename](#-vuedx-vue-virtual-textdocument-basename-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function basename(fileName: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-binarySearch-function-1-\" id=\"-vuedx-vue-virtual-textdocument-binarySearch-function-1-\"></a>\n\n### [binarySearch](#-vuedx-vue-virtual-textdocument-binarySearch-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function binarySearch<T>(array: T[], isMatch: (a: T) => number, returnMin?: boolean): T | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| array | <code>T[]</code> | - |\n| isMatch | <code>(a: T) => number</code> | - |\n| returnMin | <code>boolean</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-getBlockLanguage-function-1-\" id=\"-vuedx-vue-virtual-textdocument-getBlockLanguage-function-1-\"></a>\n\n### [getBlockLanguage](#-vuedx-vue-virtual-textdocument-getBlockLanguage-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function getBlockLanguage(block?: SFCBlock | null): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| block | <code><a href=\"#-vue-compiler-sfc-SFCBlock-interface\">SFCBlock</a> &#124; null</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-getContainingFile-function-1-\" id=\"-vuedx-vue-virtual-textdocument-getContainingFile-function-1-\"></a>\n\n### [getContainingFile](#-vuedx-vue-virtual-textdocument-getContainingFile-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function getContainingFile(fileName: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-getLanguageExtension-function-1-\" id=\"-vuedx-vue-virtual-textdocument-getLanguageExtension-function-1-\"></a>\n\n### [getLanguageExtension](#-vuedx-vue-virtual-textdocument-getLanguageExtension-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function getLanguageExtension(lang: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| lang | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-getLanguageIdFromExtension-function-1-\" id=\"-vuedx-vue-virtual-textdocument-getLanguageIdFromExtension-function-1-\"></a>\n\n### [getLanguageIdFromExtension](#-vuedx-vue-virtual-textdocument-getLanguageIdFromExtension-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function getLanguageIdFromExtension(ext: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| ext | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-isOffsetInBlock-function-1-\" id=\"-vuedx-vue-virtual-textdocument-isOffsetInBlock-function-1-\"></a>\n\n### [isOffsetInBlock](#-vuedx-vue-virtual-textdocument-isOffsetInBlock-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function isOffsetInBlock(offset: number, block?: SFCBlock | null): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n| block | <code><a href=\"#-vue-compiler-sfc-SFCBlock-interface\">SFCBlock</a> &#124; null</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-isVirtualFile-function-1-\" id=\"-vuedx-vue-virtual-textdocument-isVirtualFile-function-1-\"></a>\n\n### [isVirtualFile](#-vuedx-vue-virtual-textdocument-isVirtualFile-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function isVirtualFile(fileName: string): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-isVirtualFileOfType-function-1-\" id=\"-vuedx-vue-virtual-textdocument-isVirtualFileOfType-function-1-\"></a>\n\n### [isVirtualFileOfType](#-vuedx-vue-virtual-textdocument-isVirtualFileOfType-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function isVirtualFileOfType(fileName: string, type: '_render' | '_module' | '_internal' | 'script' | 'scriptSetup'): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n| type | <code>'_render' &#124; '_module' &#124; '_internal' &#124; 'script' &#124; 'scriptSetup'</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-isVueFile-function-1-\" id=\"-vuedx-vue-virtual-textdocument-isVueFile-function-1-\"></a>\n\n### [isVueFile](#-vuedx-vue-virtual-textdocument-isVueFile-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function isVueFile(fileName: string): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-parseVirtualFileName-function-1-\" id=\"-vuedx-vue-virtual-textdocument-parseVirtualFileName-function-1-\"></a>\n\n### [parseVirtualFileName](#-vuedx-vue-virtual-textdocument-parseVirtualFileName-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function parseVirtualFileName(fileName: string): {\n    uri: string;\n    selector: Selector;\n} | null;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-relativeVirtualImportPath-function-1-\" id=\"-vuedx-vue-virtual-textdocument-relativeVirtualImportPath-function-1-\"></a>\n\n### [relativeVirtualImportPath](#-vuedx-vue-virtual-textdocument-relativeVirtualImportPath-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function relativeVirtualImportPath(fileName: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-replaceSlashes-function-1-\" id=\"-vuedx-vue-virtual-textdocument-replaceSlashes-function-1-\"></a>\n\n### [replaceSlashes](#-vuedx-vue-virtual-textdocument-replaceSlashes-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function replaceSlashes(fileName: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n<!-- #region API-DOCS -->\n","readmeFilename":"readme.md","_id":"@vuedx/vue-virtual-textdocument@0.4.2-insiders-1610169628.0","_nodeVersion":"14.14.0","_npmVersion":"6.14.8","dist":{"integrity":"sha512-PyCOkdrwvqXpq5GQD6XstqpqwFx7k574MSR0zxtyFP8x8GpDZ/8945JA2PZk0zjxa/fKgRWquuzRYSbmU5M09w==","shasum":"e34bb5a3adef7d32d5f22e023a9aa6f5056e7fc6","tarball":"https://registry.npmjs.org/@vuedx/vue-virtual-textdocument/-/vue-virtual-textdocument-0.4.2-insiders-1610169628.0.tgz","fileCount":8,"unpackedSize":293714,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJf+T08CRA9TVsSAnZWagAA73YP+wd2AyB02zBtvSh+oDhf\nBefOOMzBEvq0C0gIsmkJNaTp9GeWRbPbua1o/nEZDjaO+JEnW9OzQIstw8gM\ndkYmu7Nh3s7wu1/+M4S1PJnncWiDYjCWVBTRI7mZlV+sxXl3N09MbzjUy6HX\nOokef6dEq/PwxRlZ46NBE1PCoRGvDXr2abL6e+nL7odSQia7tTsv7TETyxlX\npRKa+iAQq46roAJ535jo3RYHd++rfEabOKcnjhGL9WrybPnYMLNspmh9PZmR\ndeKUQyJDjbFj26v5Wyi744gSzf0/aj1FwDrQgyqrMoiLypROBUq/S23x84EB\n0X/ziY17oY1oklkb839vaD3xvhP9krNL/gKJX1S3bnMdyg5SpTRAe3IF8NMJ\nYLidjreFM9OVDdKDEK33K+eJp0Lsio5oRa0jkup7gei2aCFRS/Ayp33wOaBC\nBo3pLcIikGgG82WU8gS0+xfgAIwFP93aCkrGt8OjiU4de7sUyruF4vwP1De1\nCsoYXRYftBJ6z+19oeMyiEpnHsyKOLSO+GkqiHzhN3FZx1PQMLHX4yM0Lh+4\nuYH44fSd4YN4m3WWMwX90lz6ZNl13QyPCM3BcHHsep1/GwxEN7DDTKuGw97c\nvI7/UVnQhCcwsswZzc9nB4rteLCni0trkG0tdT60vkvd9lo3ckas/FDWwSha\nwUou\r\n=KWpc\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCWWZnpwez0ZehZNoH6iR0qwXEgcTrF3Ehm0mxX1b7XugIgIgiXPmbZLbET0YNne/uVK9E92V0pgBjsWIfeo4IAWNM="}]},"_npmUser":{"name":"znck","email":"rahulkdn@gmail.com"},"directories":{},"maintainers":[{"name":"znck","email":"rahulkdn@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/vue-virtual-textdocument_0.4.2-insiders-1610169628.0_1610169660104_0.3118297923046025"},"_hasShrinkwrap":false},"0.4.2-insiders-1610448877.0":{"name":"@vuedx/vue-virtual-textdocument","version":"0.4.2-insiders-1610448877.0","description":"An implementation of virtual filesystem for accessing blocks in a `.vue` file as independent files.","main":"dist/index.cjs.js","module":"dist/index.esm.js","types":"dist/index.d.ts","private":false,"scripts":{},"keywords":["vue","vue sfc","sfc","vue virtual files"],"repository":{"type":"git","url":"git+https://github.com/znck/vue-developer-experience.git"},"author":{"name":"Rahul Kadyan","email":"rahulkdn@gmail.com","url":"https://znck.me/"},"funding":{"type":"individual","url":"https://github.com/sponsors/znck"},"license":"MIT","bugs":{"url":"https://github.com/znck/vue-developer-experience/issues"},"homepage":"https://github.com/znck/vue-developer-experience#readme","dependencies":{"@vuedx/analyze":"0.4.2-insiders-1610448877.0","@vuedx/compiler-sfc":"0.4.2-insiders-1610448877.0","@vuedx/compiler-tsx":"0.4.2-insiders-1610448877.0","source-map":"^0.6.1","vscode-languageserver-textdocument":"^1.0.1","vscode-uri":"^2.1.2"},"devDependencies":{"@vuedx/shared":"0.4.2-insiders-1610448877.0","fast-glob":"^3.2.4","typescript":"^4.0.3"},"readme":"# Vue Virtual TextDocument\n\nAn implementation of virtual filesystem for accessing blocks in a `.vue` file as independent files.\n\n## Support\n\nThis package is part of [VueDX project](https://github.com/znck/vue-developer-experience), maintained by [Rahul Kadyan](https://github.com/znck). You can [💖 sponsor him](https://github.com/sponsors/znck) for continued development of this package and other VueDX tools.\n\n```\nnpm add @vuedx/vue-virtual-textdocument\n```\n<!-- #region API-DOCS -->\n<!-- Do not edit this file. It is a report generated by [scripts/docgen.js](https://github.com/znck/vue-developer-experience/tree/master/scripts/docgen.js). -->\n\n## API\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-AsyncDocumentStore-class\" id=\"-vuedx-vue-virtual-textdocument-AsyncDocumentStore-class\"></a>\n\n### [AsyncDocumentStore](#-vuedx-vue-virtual-textdocument-AsyncDocumentStore-class)\n\n\n\n<details><summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare class AsyncDocumentStore<T> extends DocumentStore<T> {\n  constructor(resolve: (uri: string) => T | Promise<T | null> | null, normalize?: (uri: string) => string);\n  get(uri: string): T | null;\n  get(uri: string): Promise<T | null>;\n}\n```\n\n**Members:**\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-AsyncDocumentStore-get-member-1-\" id=\"-vuedx-vue-virtual-textdocument-AsyncDocumentStore-get-member-1-\"></a>\n\n#### [get](#-vuedx-vue-virtual-textdocument-AsyncDocumentStore-get-member-1-)\n\n\n\n**Signature:**\n```ts\nget(uri: string): T | null;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-AsyncDocumentStore-get-member-2-\" id=\"-vuedx-vue-virtual-textdocument-AsyncDocumentStore-get-member-2-\"></a>\n\n#### [get](#-vuedx-vue-virtual-textdocument-AsyncDocumentStore-get-member-2-)\n\n\n\n**Signature:**\n```ts\nget(uri: string): Promise<T | null>;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n\n<br>\n</details>\n\n<br>\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-class\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-class\"></a>\n\n### [DocumentStore](#-vuedx-vue-virtual-textdocument-DocumentStore-class)\n\n\n\n<details><summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare class DocumentStore<T> {\n  constructor(resolve: (uri: string) => T | null, normalize?: (uri: string) => string);\n  all(): string[];\n  delete(uri: string): boolean;\n  dispose(): void;\n  get(uri: string): T | null;\n  protected getNormalizedUri(uri: string): string;\n  has(uri: string): boolean;\n  protected map: Map<string, T>;\n  normalize: (uri: string) => string;\n  protected resolve: (uri: string) => T | null;\n  protected reverseUriMap: Map<string, string>;\n  set(uri: string, document: T): void;\n}\n```\n\n**Members:**\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-all-member-1-\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-all-member-1-\"></a>\n\n#### [all](#-vuedx-vue-virtual-textdocument-DocumentStore-all-member-1-)\n\n\n\n**Signature:**\n```ts\nall(): string[];\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-delete-member-1-\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-delete-member-1-\"></a>\n\n#### [delete](#-vuedx-vue-virtual-textdocument-DocumentStore-delete-member-1-)\n\n\n\n**Signature:**\n```ts\ndelete(uri: string): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-dispose-member-1-\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-dispose-member-1-\"></a>\n\n#### [dispose](#-vuedx-vue-virtual-textdocument-DocumentStore-dispose-member-1-)\n\n\n\n**Signature:**\n```ts\ndispose(): void;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-get-member-1-\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-get-member-1-\"></a>\n\n#### [get](#-vuedx-vue-virtual-textdocument-DocumentStore-get-member-1-)\n\n\n\n**Signature:**\n```ts\nget(uri: string): T | null;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-getNormalizedUri-member-1-\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-getNormalizedUri-member-1-\"></a>\n\n#### [getNormalizedUri](#-vuedx-vue-virtual-textdocument-DocumentStore-getNormalizedUri-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected getNormalizedUri(uri: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-has-member-1-\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-has-member-1-\"></a>\n\n#### [has](#-vuedx-vue-virtual-textdocument-DocumentStore-has-member-1-)\n\n\n\n**Signature:**\n```ts\nhas(uri: string): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-set-member-1-\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-set-member-1-\"></a>\n\n#### [set](#-vuedx-vue-virtual-textdocument-DocumentStore-set-member-1-)\n\n\n\n**Signature:**\n```ts\nset(uri: string, document: T): void;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n| document | <code>T</code> | - |\n\n<br>\n</details>\n\n<br>\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-class\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-class\"></a>\n\n### [RenderFunctionTextDocument](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-class)\n\n\n\n<details><summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare class RenderFunctionTextDocument extends TransformedBlockTextDocument {\n  constructor(container: VueTextDocument, selector: Selector, transformed: TextDocument, source: TextDocument);\n  get ast(): CodegenResult['ast'] | undefined;\n  get contextCompletionsTriggerOffset(): number;\n  static create(options: CreateVirtualTextDocumentOptions): RenderFunctionTextDocument;\n  findExpression(offset: number, length: number): undefined | {\n        offset: number;\n        length: number;\n    };\n  protected generate(): string;\n  getAllGeneratedOffsetsAt(offset: number): undefined | Array<{\n        length: number;\n        offset: number;\n    }>;\n  getGeneratedOffsetAt(offset: number): undefined | {\n        length: number;\n        offset: number;\n    };\n  protected getKnownComponents(): Record<string, ComponentImport>;\n  getOriginalOffsetAt(offset: number): undefined | {\n        offset: number;\n        length: number;\n    };\n  isInGeneratedRange(offset: number): boolean;\n  isInTemplateIdentifierRange(offset: number): boolean;\n  get parserErrors(): CodegenResult['errors'];\n  get tagCompletionsTriggerOffset(): number;\n  toDisplayMappings(): string;\n  protected tryGenerate(): string;\n}\n```\n\n**Members:**\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-create-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-create-member-1-\"></a>\n\n#### [create](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-create-member-1-)\n\n\n\n**Signature:**\n```ts\nstatic create(options: CreateVirtualTextDocumentOptions): RenderFunctionTextDocument;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| options | <code><a href=\"#-vuedx-vue-virtual-textdocument--CreateVirtualTextDocumentOptions-interface\">CreateVirtualTextDocumentOptions</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-findExpression-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-findExpression-member-1-\"></a>\n\n#### [findExpression](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-findExpression-member-1-)\n\n\n\n**Signature:**\n```ts\nfindExpression(offset: number, length: number): undefined | {\n        offset: number;\n        length: number;\n    };\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n| length | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-generate-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-generate-member-1-\"></a>\n\n#### [generate](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-generate-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected generate(): string;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getAllGeneratedOffsetsAt-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getAllGeneratedOffsetsAt-member-1-\"></a>\n\n#### [getAllGeneratedOffsetsAt](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getAllGeneratedOffsetsAt-member-1-)\n\n\n\n**Signature:**\n```ts\ngetAllGeneratedOffsetsAt(offset: number): undefined | Array<{\n        length: number;\n        offset: number;\n    }>;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getGeneratedOffsetAt-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getGeneratedOffsetAt-member-1-\"></a>\n\n#### [getGeneratedOffsetAt](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getGeneratedOffsetAt-member-1-)\n\n\n\n**Signature:**\n```ts\ngetGeneratedOffsetAt(offset: number): undefined | {\n        length: number;\n        offset: number;\n    };\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getKnownComponents-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getKnownComponents-member-1-\"></a>\n\n#### [getKnownComponents](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getKnownComponents-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected getKnownComponents(): Record<string, ComponentImport>;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getOriginalOffsetAt-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getOriginalOffsetAt-member-1-\"></a>\n\n#### [getOriginalOffsetAt](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getOriginalOffsetAt-member-1-)\n\n\n\n**Signature:**\n```ts\ngetOriginalOffsetAt(offset: number): undefined | {\n        offset: number;\n        length: number;\n    };\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-isInGeneratedRange-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-isInGeneratedRange-member-1-\"></a>\n\n#### [isInGeneratedRange](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-isInGeneratedRange-member-1-)\n\n\n\n**Signature:**\n```ts\nisInGeneratedRange(offset: number): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-isInTemplateIdentifierRange-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-isInTemplateIdentifierRange-member-1-\"></a>\n\n#### [isInTemplateIdentifierRange](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-isInTemplateIdentifierRange-member-1-)\n\n\n\n**Signature:**\n```ts\nisInTemplateIdentifierRange(offset: number): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-toDisplayMappings-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-toDisplayMappings-member-1-\"></a>\n\n#### [toDisplayMappings](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-toDisplayMappings-member-1-)\n\n\n\n**Signature:**\n```ts\ntoDisplayMappings(): string;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-tryGenerate-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-tryGenerate-member-1-\"></a>\n\n#### [tryGenerate](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-tryGenerate-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected tryGenerate(): string;\n```\n\n\n<br>\n</details>\n\n<br>\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-class\" id=\"-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-class\"></a>\n\n### [TransformedBlockTextDocument](#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-class)\n\n\n\n<details><summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare class TransformedBlockTextDocument extends VirtualTextDocument {\n  protected constructor(container: VueTextDocument, selector: Selector, transformed: TextDocument, source: TextDocument | VirtualTextDocument, _transform: (document: TransformedBlockTextDocument) => BlockTransformResult);\n  static create(options: CreateTransformedBlockTextDocumentOptions): TransformedBlockTextDocument;\n  protected refresh(): void;\n  transform(): BlockTransformResult;\n  tryGetGeneratedOffset(offset: number): number | undefined;\n  tryGetSourceOffset(offset: number): number | undefined;\n}\n```\n\n**Members:**\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-create-member-1-\" id=\"-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-create-member-1-\"></a>\n\n#### [create](#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-create-member-1-)\n\n\n\n**Signature:**\n```ts\nstatic create(options: CreateTransformedBlockTextDocumentOptions): TransformedBlockTextDocument;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| options | <code><a href=\"#-vuedx-vue-virtual-textdocument--CreateTransformedBlockTextDocumentOptions-interface\">CreateTransformedBlockTextDocumentOptions</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-refresh-member-1-\" id=\"-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-refresh-member-1-\"></a>\n\n#### [refresh](#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-refresh-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected refresh(): void;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-transform-member-1-\" id=\"-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-transform-member-1-\"></a>\n\n#### [transform](#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-transform-member-1-)\n\n\n\n**Signature:**\n```ts\ntransform(): BlockTransformResult;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-tryGetGeneratedOffset-member-1-\" id=\"-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-tryGetGeneratedOffset-member-1-\"></a>\n\n#### [tryGetGeneratedOffset](#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-tryGetGeneratedOffset-member-1-)\n\n\n\n**Signature:**\n```ts\ntryGetGeneratedOffset(offset: number): number | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-tryGetSourceOffset-member-1-\" id=\"-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-tryGetSourceOffset-member-1-\"></a>\n\n#### [tryGetSourceOffset](#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-tryGetSourceOffset-member-1-)\n\n\n\n**Signature:**\n```ts\ntryGetSourceOffset(offset: number): number | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n</details>\n\n<br>\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VirtualTextDocument-class\" id=\"-vuedx-vue-virtual-textdocument-VirtualTextDocument-class\"></a>\n\n### [VirtualTextDocument](#-vuedx-vue-virtual-textdocument-VirtualTextDocument-class)\n\n\n\n<details><summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare class VirtualTextDocument extends ProxyTextDocument {\n  protected constructor(container: VueTextDocument, selector: Selector, doc: TextDocument);\n  readonly container: VueTextDocument;\n  static create(options: CreateVirtualTextDocumentOptions): VirtualTextDocument;\n  protected isDirty: boolean;\n  markDirty(): void;\n  protected refresh(): void;\n  readonly selector: Selector;\n}\n```\n\n**Members:**\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VirtualTextDocument-create-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VirtualTextDocument-create-member-1-\"></a>\n\n#### [create](#-vuedx-vue-virtual-textdocument-VirtualTextDocument-create-member-1-)\n\n\n\n**Signature:**\n```ts\nstatic create(options: CreateVirtualTextDocumentOptions): VirtualTextDocument;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| options | <code><a href=\"#-vuedx-vue-virtual-textdocument--CreateVirtualTextDocumentOptions-interface\">CreateVirtualTextDocumentOptions</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VirtualTextDocument-markDirty-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VirtualTextDocument-markDirty-member-1-\"></a>\n\n#### [markDirty](#-vuedx-vue-virtual-textdocument-VirtualTextDocument-markDirty-member-1-)\n\n\n\n**Signature:**\n```ts\nmarkDirty(): void;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VirtualTextDocument-refresh-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VirtualTextDocument-refresh-member-1-\"></a>\n\n#### [refresh](#-vuedx-vue-virtual-textdocument-VirtualTextDocument-refresh-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected refresh(): void;\n```\n\n\n<br>\n</details>\n\n<br>\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-class\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-class\"></a>\n\n### [VueTextDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-class)\n\n\n\n<details><summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare class VueTextDocument extends ProxyTextDocument {\n  constructor(doc: TextDocument, options?: VueTextDocumentOptions, parseOptions?: SFCParseOptions);\n  all(): VirtualTextDocument[];\n  blockAt(position: Position | number): SFCBlock | null | undefined;\n  static create(uri: string, languageId: string, version: number, content: string, options?: VueTextDocumentOptions, parseOptions?: SFCParseOptions): VueTextDocument;\n  protected createBlockDocument(selector: BlockSelector): VirtualTextDocument | undefined;\n  protected createInternalModuleDocument(): TransformedBlockTextDocument;\n  protected createModuleDocument(): TransformedBlockTextDocument;\n  protected createRenderDocument(): RenderFunctionTextDocument;\n  protected createTemplateASTDocument(): TransformedBlockTextDocument;\n  get descriptor(): SFCDescriptor;\n  documentAt(position: Position | number): VirtualTextDocument | undefined;\n  getBlock(selector: BlockSelector): SFCBlock | null | undefined;\n  getBlockSelector(block: SFCBlock): BlockSelector | undefined;\n  getDocument(selector: typeof RENDER_SELECTOR): RenderFunctionTextDocument;\n  getDocument(selector: SelectorLike): VirtualTextDocument;\n  getDocument(selector: string): VirtualTextDocument | undefined;\n  getDocumentFileName(selectorLike: SelectorLike): string;\n  protected getDocumentId(selector: Selector): string;\n  protected getDocumentLanguage(selector: Selector): string;\n  markDirty(): void;\n  readonly options: VueTextDocumentOptions;\n  protected parse(): void;\n  static update(document: VueTextDocument, changes: TextDocumentContentChangeEvent[], version: number): VueTextDocument;\n}\n```\n\n**Members:**\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-all-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-all-member-1-\"></a>\n\n#### [all](#-vuedx-vue-virtual-textdocument-VueTextDocument-all-member-1-)\n\n\n\n**Signature:**\n```ts\nall(): VirtualTextDocument[];\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-blockAt-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-blockAt-member-1-\"></a>\n\n#### [blockAt](#-vuedx-vue-virtual-textdocument-VueTextDocument-blockAt-member-1-)\n\n\n\n**Signature:**\n```ts\nblockAt(position: Position | number): SFCBlock | null | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| position | <code><a href=\"#vscode-languageserver-textdocument-Position-interface\">Position</a> &#124; number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-create-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-create-member-1-\"></a>\n\n#### [create](#-vuedx-vue-virtual-textdocument-VueTextDocument-create-member-1-)\n\n\n\n**Signature:**\n```ts\nstatic create(uri: string, languageId: string, version: number, content: string, options?: VueTextDocumentOptions, parseOptions?: SFCParseOptions): VueTextDocument;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n| languageId | <code>string</code> | - |\n| version | <code>number</code> | - |\n| content | <code>string</code> | - |\n| options | <code><a href=\"#-vuedx-vue-virtual-textdocument--VueTextDocumentOptions-interface\">VueTextDocumentOptions</a></code> | - |\n| parseOptions | <code><a href=\"#-vue-compiler-sfc-SFCParseOptions-interface\">SFCParseOptions</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-createBlockDocument-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-createBlockDocument-member-1-\"></a>\n\n#### [createBlockDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-createBlockDocument-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected createBlockDocument(selector: BlockSelector): VirtualTextDocument | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selector | <code><a href=\"#-vuedx-vue-virtual-textdocument--BlockSelector-type\">BlockSelector</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-createInternalModuleDocument-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-createInternalModuleDocument-member-1-\"></a>\n\n#### [createInternalModuleDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-createInternalModuleDocument-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected createInternalModuleDocument(): TransformedBlockTextDocument;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-createModuleDocument-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-createModuleDocument-member-1-\"></a>\n\n#### [createModuleDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-createModuleDocument-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected createModuleDocument(): TransformedBlockTextDocument;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-createRenderDocument-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-createRenderDocument-member-1-\"></a>\n\n#### [createRenderDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-createRenderDocument-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected createRenderDocument(): RenderFunctionTextDocument;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-createTemplateASTDocument-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-createTemplateASTDocument-member-1-\"></a>\n\n#### [createTemplateASTDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-createTemplateASTDocument-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected createTemplateASTDocument(): TransformedBlockTextDocument;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-documentAt-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-documentAt-member-1-\"></a>\n\n#### [documentAt](#-vuedx-vue-virtual-textdocument-VueTextDocument-documentAt-member-1-)\n\n\n\n**Signature:**\n```ts\ndocumentAt(position: Position | number): VirtualTextDocument | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| position | <code><a href=\"#vscode-languageserver-textdocument-Position-interface\">Position</a> &#124; number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getBlock-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getBlock-member-1-\"></a>\n\n#### [getBlock](#-vuedx-vue-virtual-textdocument-VueTextDocument-getBlock-member-1-)\n\n\n\n**Signature:**\n```ts\ngetBlock(selector: BlockSelector): SFCBlock | null | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selector | <code><a href=\"#-vuedx-vue-virtual-textdocument--BlockSelector-type\">BlockSelector</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getBlockSelector-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getBlockSelector-member-1-\"></a>\n\n#### [getBlockSelector](#-vuedx-vue-virtual-textdocument-VueTextDocument-getBlockSelector-member-1-)\n\n\n\n**Signature:**\n```ts\ngetBlockSelector(block: SFCBlock): BlockSelector | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| block | <code><a href=\"#-vue-compiler-sfc-SFCBlock-interface\">SFCBlock</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-1-\"></a>\n\n#### [getDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-1-)\n\n\n\n**Signature:**\n```ts\ngetDocument(selector: typeof RENDER_SELECTOR): RenderFunctionTextDocument;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selector | <code>typeof <a href=\"#-vuedx-vue-virtual-textdocument--RENDER-SELECTOR-var\">RENDER_SELECTOR</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-2-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-2-\"></a>\n\n#### [getDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-2-)\n\n\n\n**Signature:**\n```ts\ngetDocument(selector: SelectorLike): VirtualTextDocument;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selector | <code><a href=\"#-vuedx-vue-virtual-textdocument--SelectorLike-type\">SelectorLike</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-3-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-3-\"></a>\n\n#### [getDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-3-)\n\n\n\n**Signature:**\n```ts\ngetDocument(selector: string): VirtualTextDocument | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selector | <code>string</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentFileName-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentFileName-member-1-\"></a>\n\n#### [getDocumentFileName](#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentFileName-member-1-)\n\n\n\n**Signature:**\n```ts\ngetDocumentFileName(selectorLike: SelectorLike): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selectorLike | <code><a href=\"#-vuedx-vue-virtual-textdocument--SelectorLike-type\">SelectorLike</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentId-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentId-member-1-\"></a>\n\n#### [getDocumentId](#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentId-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected getDocumentId(selector: Selector): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selector | <code><a href=\"#-vuedx-vue-virtual-textdocument--Selector-type\">Selector</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentLanguage-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentLanguage-member-1-\"></a>\n\n#### [getDocumentLanguage](#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentLanguage-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected getDocumentLanguage(selector: Selector): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selector | <code><a href=\"#-vuedx-vue-virtual-textdocument--Selector-type\">Selector</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-markDirty-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-markDirty-member-1-\"></a>\n\n#### [markDirty](#-vuedx-vue-virtual-textdocument-VueTextDocument-markDirty-member-1-)\n\n\n\n**Signature:**\n```ts\nmarkDirty(): void;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-parse-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-parse-member-1-\"></a>\n\n#### [parse](#-vuedx-vue-virtual-textdocument-VueTextDocument-parse-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected parse(): void;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-update-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-update-member-1-\"></a>\n\n#### [update](#-vuedx-vue-virtual-textdocument-VueTextDocument-update-member-1-)\n\n\n\n**Signature:**\n```ts\nstatic update(document: VueTextDocument, changes: TextDocumentContentChangeEvent[], version: number): VueTextDocument;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| document | <code><a href=\"#-vuedx-vue-virtual-textdocument--VueTextDocument-class\">VueTextDocument</a></code> | - |\n| changes | <code><a href=\"#vscode-languageserver-textdocument-TextDocumentContentChangeEvent-type\">TextDocumentContentChangeEvent</a>[]</code> | - |\n| version | <code>number</code> | - |\n\n<br>\n</details>\n\n<br>\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-asFsPath-function-1-\" id=\"-vuedx-vue-virtual-textdocument-asFsPath-function-1-\"></a>\n\n### [asFsPath](#-vuedx-vue-virtual-textdocument-asFsPath-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function asFsPath(uri: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-asFsUri-function-1-\" id=\"-vuedx-vue-virtual-textdocument-asFsUri-function-1-\"></a>\n\n### [asFsUri](#-vuedx-vue-virtual-textdocument-asFsUri-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function asFsUri(fileName: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-asUri-function-1-\" id=\"-vuedx-vue-virtual-textdocument-asUri-function-1-\"></a>\n\n### [asUri](#-vuedx-vue-virtual-textdocument-asUri-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function asUri(fileNameOrUri: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileNameOrUri | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-basename-function-1-\" id=\"-vuedx-vue-virtual-textdocument-basename-function-1-\"></a>\n\n### [basename](#-vuedx-vue-virtual-textdocument-basename-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function basename(fileName: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-binarySearch-function-1-\" id=\"-vuedx-vue-virtual-textdocument-binarySearch-function-1-\"></a>\n\n### [binarySearch](#-vuedx-vue-virtual-textdocument-binarySearch-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function binarySearch<T>(array: T[], isMatch: (a: T) => number, returnMin?: boolean): T | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| array | <code>T[]</code> | - |\n| isMatch | <code>(a: T) => number</code> | - |\n| returnMin | <code>boolean</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-getBlockLanguage-function-1-\" id=\"-vuedx-vue-virtual-textdocument-getBlockLanguage-function-1-\"></a>\n\n### [getBlockLanguage](#-vuedx-vue-virtual-textdocument-getBlockLanguage-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function getBlockLanguage(block?: SFCBlock | null): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| block | <code><a href=\"#-vue-compiler-sfc-SFCBlock-interface\">SFCBlock</a> &#124; null</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-getContainingFile-function-1-\" id=\"-vuedx-vue-virtual-textdocument-getContainingFile-function-1-\"></a>\n\n### [getContainingFile](#-vuedx-vue-virtual-textdocument-getContainingFile-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function getContainingFile(fileName: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-getLanguageExtension-function-1-\" id=\"-vuedx-vue-virtual-textdocument-getLanguageExtension-function-1-\"></a>\n\n### [getLanguageExtension](#-vuedx-vue-virtual-textdocument-getLanguageExtension-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function getLanguageExtension(lang: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| lang | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-getLanguageIdFromExtension-function-1-\" id=\"-vuedx-vue-virtual-textdocument-getLanguageIdFromExtension-function-1-\"></a>\n\n### [getLanguageIdFromExtension](#-vuedx-vue-virtual-textdocument-getLanguageIdFromExtension-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function getLanguageIdFromExtension(ext: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| ext | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-isOffsetInBlock-function-1-\" id=\"-vuedx-vue-virtual-textdocument-isOffsetInBlock-function-1-\"></a>\n\n### [isOffsetInBlock](#-vuedx-vue-virtual-textdocument-isOffsetInBlock-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function isOffsetInBlock(offset: number, block?: SFCBlock | null): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n| block | <code><a href=\"#-vue-compiler-sfc-SFCBlock-interface\">SFCBlock</a> &#124; null</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-isVirtualFile-function-1-\" id=\"-vuedx-vue-virtual-textdocument-isVirtualFile-function-1-\"></a>\n\n### [isVirtualFile](#-vuedx-vue-virtual-textdocument-isVirtualFile-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function isVirtualFile(fileName: string): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-isVirtualFileOfType-function-1-\" id=\"-vuedx-vue-virtual-textdocument-isVirtualFileOfType-function-1-\"></a>\n\n### [isVirtualFileOfType](#-vuedx-vue-virtual-textdocument-isVirtualFileOfType-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function isVirtualFileOfType(fileName: string, type: '_render' | '_module' | '_internal' | 'script' | 'scriptSetup'): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n| type | <code>'_render' &#124; '_module' &#124; '_internal' &#124; 'script' &#124; 'scriptSetup'</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-isVueFile-function-1-\" id=\"-vuedx-vue-virtual-textdocument-isVueFile-function-1-\"></a>\n\n### [isVueFile](#-vuedx-vue-virtual-textdocument-isVueFile-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function isVueFile(fileName: string): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-parseVirtualFileName-function-1-\" id=\"-vuedx-vue-virtual-textdocument-parseVirtualFileName-function-1-\"></a>\n\n### [parseVirtualFileName](#-vuedx-vue-virtual-textdocument-parseVirtualFileName-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function parseVirtualFileName(fileName: string): {\n    uri: string;\n    selector: Selector;\n} | null;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-relativeVirtualImportPath-function-1-\" id=\"-vuedx-vue-virtual-textdocument-relativeVirtualImportPath-function-1-\"></a>\n\n### [relativeVirtualImportPath](#-vuedx-vue-virtual-textdocument-relativeVirtualImportPath-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function relativeVirtualImportPath(fileName: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-replaceSlashes-function-1-\" id=\"-vuedx-vue-virtual-textdocument-replaceSlashes-function-1-\"></a>\n\n### [replaceSlashes](#-vuedx-vue-virtual-textdocument-replaceSlashes-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function replaceSlashes(fileName: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n<!-- #region API-DOCS -->\n","readmeFilename":"readme.md","_id":"@vuedx/vue-virtual-textdocument@0.4.2-insiders-1610448877.0","_nodeVersion":"14.14.0","_npmVersion":"6.14.8","dist":{"integrity":"sha512-RcfcUksFt9CcHd3EdOlIbs0OKOk9vPpMc8Vfkb2FlY9ZpG36xlqbEBPEdv7hojJAWmoiYz1s4m8Sgb5Vmud2/A==","shasum":"e80d585b35975e5651deb4c11a3be8387d52070c","tarball":"https://registry.npmjs.org/@vuedx/vue-virtual-textdocument/-/vue-virtual-textdocument-0.4.2-insiders-1610448877.0.tgz","fileCount":8,"unpackedSize":298413,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJf/YANCRA9TVsSAnZWagAAs5IP/jdfxIKDy8L0RTIM0jOp\nHy9eNu2dzCwb3W9wXqSHmDBn6zj/TFRw/Rk23B/2eXzEPeXzM3W7c8EG87OD\nkA1AndAMoHNiI5hr96HtW8wvstYhGIyz5miSBh5JdISDsU1vAyTduOC2BesS\n+Jov6Ln9RbjZkhrmR9KJhDJtx/6GJpIEJNHWKD1ts0PqdGVPz3diJsbGeIQo\nsZc30oRKAf1JYOXjjSNDuZqPqCRKsDc0X9AoSzRsGOU8fp9xS6wHtU8t3zT6\nl4OXOP02BRmyVPNYpS7nN/lYKO16Y/nczx++Xww0deALIzUC5HZNocpQqWrk\nx54wZqqUDrvvXVCkLgcC1IBjf5al5daXBwoVkUYzvu5iwUgHBcAzZERpcw1t\nCm5ndyysPIwrdVs7JNqj4sbyMoJjaBjTdsrB2SM54TBOwbBaSt/Ydrx1UhYH\ngaP83t+UUffQ9YlckgtdVn1gl5LGRRoykf4ze339CzPB+Vqp8I+P3Sfl+q/v\nsU0WDxyLE8QoPPL6WxdxxnNuHKJJeTT5PSC+pLmtX/xG61OHcN+m+KZvXVcl\nG7ctXvochWsI88N0BABbTNSUYksBLNiWty+bH/PO3o9HntmQrIBgEiDdf1ly\niWByoRV+zFzj03hOSYoiRgaKLoparSdQfu7X8YC4hF7vWHGcsY+U0f3v4kCM\n7CFU\r\n=/ydW\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDHJKcSXhJ0nb2UlpCZXbW62WvZrmcZfeNuTNlz8kxW6gIhALTwbBhKAfzkzbgNAL9bTl4TMMw0qEC+SrxRtDaybPDl"}]},"_npmUser":{"name":"znck","email":"rahulkdn@gmail.com"},"directories":{},"maintainers":[{"name":"znck","email":"rahulkdn@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/vue-virtual-textdocument_0.4.2-insiders-1610448877.0_1610448908678_0.6819538325240078"},"_hasShrinkwrap":false},"0.5.1-insiders-1610450632.0":{"name":"@vuedx/vue-virtual-textdocument","version":"0.5.1-insiders-1610450632.0","description":"An implementation of virtual filesystem for accessing blocks in a `.vue` file as independent files.","main":"dist/index.cjs.js","module":"dist/index.esm.js","types":"dist/index.d.ts","private":false,"scripts":{},"keywords":["vue","vue sfc","sfc","vue virtual files"],"repository":{"type":"git","url":"git+https://github.com/znck/vue-developer-experience.git"},"author":{"name":"Rahul Kadyan","email":"rahulkdn@gmail.com","url":"https://znck.me/"},"funding":{"type":"individual","url":"https://github.com/sponsors/znck"},"license":"MIT","bugs":{"url":"https://github.com/znck/vue-developer-experience/issues"},"homepage":"https://github.com/znck/vue-developer-experience#readme","dependencies":{"@vuedx/analyze":"0.5.1-insiders-1610450632.0","@vuedx/compiler-sfc":"0.5.1-insiders-1610450632.0","@vuedx/compiler-tsx":"0.5.1-insiders-1610450632.0","source-map":"^0.6.1","vscode-languageserver-textdocument":"^1.0.1","vscode-uri":"^2.1.2"},"devDependencies":{"@vuedx/shared":"0.5.1-insiders-1610450632.0","fast-glob":"^3.2.4","typescript":"^4.0.3"},"readme":"# Vue Virtual TextDocument\n\nAn implementation of virtual filesystem for accessing blocks in a `.vue` file as independent files.\n\n## Support\n\nThis package is part of [VueDX project](https://github.com/znck/vue-developer-experience), maintained by [Rahul Kadyan](https://github.com/znck). You can [💖 sponsor him](https://github.com/sponsors/znck) for continued development of this package and other VueDX tools.\n\n```\nnpm add @vuedx/vue-virtual-textdocument\n```\n<!-- #region API-DOCS -->\n<!-- Do not edit this file. It is a report generated by [scripts/docgen.js](https://github.com/znck/vue-developer-experience/tree/master/scripts/docgen.js). -->\n\n## API\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-AsyncDocumentStore-class\" id=\"-vuedx-vue-virtual-textdocument-AsyncDocumentStore-class\"></a>\n\n### [AsyncDocumentStore](#-vuedx-vue-virtual-textdocument-AsyncDocumentStore-class)\n\n\n\n<details><summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare class AsyncDocumentStore<T> extends DocumentStore<T> {\n  constructor(resolve: (uri: string) => T | Promise<T | null> | null, normalize?: (uri: string) => string);\n  get(uri: string): T | null;\n  get(uri: string): Promise<T | null>;\n}\n```\n\n**Members:**\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-AsyncDocumentStore-get-member-1-\" id=\"-vuedx-vue-virtual-textdocument-AsyncDocumentStore-get-member-1-\"></a>\n\n#### [get](#-vuedx-vue-virtual-textdocument-AsyncDocumentStore-get-member-1-)\n\n\n\n**Signature:**\n```ts\nget(uri: string): T | null;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-AsyncDocumentStore-get-member-2-\" id=\"-vuedx-vue-virtual-textdocument-AsyncDocumentStore-get-member-2-\"></a>\n\n#### [get](#-vuedx-vue-virtual-textdocument-AsyncDocumentStore-get-member-2-)\n\n\n\n**Signature:**\n```ts\nget(uri: string): Promise<T | null>;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n\n<br>\n</details>\n\n<br>\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-class\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-class\"></a>\n\n### [DocumentStore](#-vuedx-vue-virtual-textdocument-DocumentStore-class)\n\n\n\n<details><summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare class DocumentStore<T> {\n  constructor(resolve: (uri: string) => T | null, normalize?: (uri: string) => string);\n  all(): string[];\n  delete(uri: string): boolean;\n  dispose(): void;\n  get(uri: string): T | null;\n  protected getNormalizedUri(uri: string): string;\n  has(uri: string): boolean;\n  protected map: Map<string, T>;\n  normalize: (uri: string) => string;\n  protected resolve: (uri: string) => T | null;\n  protected reverseUriMap: Map<string, string>;\n  set(uri: string, document: T): void;\n}\n```\n\n**Members:**\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-all-member-1-\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-all-member-1-\"></a>\n\n#### [all](#-vuedx-vue-virtual-textdocument-DocumentStore-all-member-1-)\n\n\n\n**Signature:**\n```ts\nall(): string[];\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-delete-member-1-\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-delete-member-1-\"></a>\n\n#### [delete](#-vuedx-vue-virtual-textdocument-DocumentStore-delete-member-1-)\n\n\n\n**Signature:**\n```ts\ndelete(uri: string): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-dispose-member-1-\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-dispose-member-1-\"></a>\n\n#### [dispose](#-vuedx-vue-virtual-textdocument-DocumentStore-dispose-member-1-)\n\n\n\n**Signature:**\n```ts\ndispose(): void;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-get-member-1-\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-get-member-1-\"></a>\n\n#### [get](#-vuedx-vue-virtual-textdocument-DocumentStore-get-member-1-)\n\n\n\n**Signature:**\n```ts\nget(uri: string): T | null;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-getNormalizedUri-member-1-\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-getNormalizedUri-member-1-\"></a>\n\n#### [getNormalizedUri](#-vuedx-vue-virtual-textdocument-DocumentStore-getNormalizedUri-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected getNormalizedUri(uri: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-has-member-1-\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-has-member-1-\"></a>\n\n#### [has](#-vuedx-vue-virtual-textdocument-DocumentStore-has-member-1-)\n\n\n\n**Signature:**\n```ts\nhas(uri: string): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-set-member-1-\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-set-member-1-\"></a>\n\n#### [set](#-vuedx-vue-virtual-textdocument-DocumentStore-set-member-1-)\n\n\n\n**Signature:**\n```ts\nset(uri: string, document: T): void;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n| document | <code>T</code> | - |\n\n<br>\n</details>\n\n<br>\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-class\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-class\"></a>\n\n### [RenderFunctionTextDocument](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-class)\n\n\n\n<details><summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare class RenderFunctionTextDocument extends TransformedBlockTextDocument {\n  constructor(container: VueTextDocument, selector: Selector, transformed: TextDocument, source: TextDocument);\n  get ast(): CodegenResult['ast'] | undefined;\n  get contextCompletionsTriggerOffset(): number;\n  static create(options: CreateVirtualTextDocumentOptions): RenderFunctionTextDocument;\n  findExpression(offset: number, length: number): undefined | {\n        offset: number;\n        length: number;\n    };\n  protected generate(): string;\n  getAllGeneratedOffsetsAt(offset: number): undefined | Array<{\n        length: number;\n        offset: number;\n    }>;\n  getGeneratedOffsetAt(offset: number): undefined | {\n        length: number;\n        offset: number;\n    };\n  protected getKnownComponents(): Record<string, ComponentImport>;\n  getOriginalOffsetAt(offset: number): undefined | {\n        offset: number;\n        length: number;\n    };\n  isInGeneratedRange(offset: number): boolean;\n  isInTemplateIdentifierRange(offset: number): boolean;\n  get parserErrors(): CodegenResult['errors'];\n  get tagCompletionsTriggerOffset(): number;\n  toDisplayMappings(): string;\n  protected tryGenerate(): string;\n}\n```\n\n**Members:**\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-create-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-create-member-1-\"></a>\n\n#### [create](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-create-member-1-)\n\n\n\n**Signature:**\n```ts\nstatic create(options: CreateVirtualTextDocumentOptions): RenderFunctionTextDocument;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| options | <code><a href=\"#-vuedx-vue-virtual-textdocument--CreateVirtualTextDocumentOptions-interface\">CreateVirtualTextDocumentOptions</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-findExpression-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-findExpression-member-1-\"></a>\n\n#### [findExpression](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-findExpression-member-1-)\n\n\n\n**Signature:**\n```ts\nfindExpression(offset: number, length: number): undefined | {\n        offset: number;\n        length: number;\n    };\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n| length | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-generate-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-generate-member-1-\"></a>\n\n#### [generate](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-generate-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected generate(): string;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getAllGeneratedOffsetsAt-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getAllGeneratedOffsetsAt-member-1-\"></a>\n\n#### [getAllGeneratedOffsetsAt](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getAllGeneratedOffsetsAt-member-1-)\n\n\n\n**Signature:**\n```ts\ngetAllGeneratedOffsetsAt(offset: number): undefined | Array<{\n        length: number;\n        offset: number;\n    }>;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getGeneratedOffsetAt-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getGeneratedOffsetAt-member-1-\"></a>\n\n#### [getGeneratedOffsetAt](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getGeneratedOffsetAt-member-1-)\n\n\n\n**Signature:**\n```ts\ngetGeneratedOffsetAt(offset: number): undefined | {\n        length: number;\n        offset: number;\n    };\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getKnownComponents-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getKnownComponents-member-1-\"></a>\n\n#### [getKnownComponents](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getKnownComponents-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected getKnownComponents(): Record<string, ComponentImport>;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getOriginalOffsetAt-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getOriginalOffsetAt-member-1-\"></a>\n\n#### [getOriginalOffsetAt](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getOriginalOffsetAt-member-1-)\n\n\n\n**Signature:**\n```ts\ngetOriginalOffsetAt(offset: number): undefined | {\n        offset: number;\n        length: number;\n    };\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-isInGeneratedRange-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-isInGeneratedRange-member-1-\"></a>\n\n#### [isInGeneratedRange](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-isInGeneratedRange-member-1-)\n\n\n\n**Signature:**\n```ts\nisInGeneratedRange(offset: number): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-isInTemplateIdentifierRange-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-isInTemplateIdentifierRange-member-1-\"></a>\n\n#### [isInTemplateIdentifierRange](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-isInTemplateIdentifierRange-member-1-)\n\n\n\n**Signature:**\n```ts\nisInTemplateIdentifierRange(offset: number): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-toDisplayMappings-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-toDisplayMappings-member-1-\"></a>\n\n#### [toDisplayMappings](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-toDisplayMappings-member-1-)\n\n\n\n**Signature:**\n```ts\ntoDisplayMappings(): string;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-tryGenerate-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-tryGenerate-member-1-\"></a>\n\n#### [tryGenerate](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-tryGenerate-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected tryGenerate(): string;\n```\n\n\n<br>\n</details>\n\n<br>\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-class\" id=\"-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-class\"></a>\n\n### [TransformedBlockTextDocument](#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-class)\n\n\n\n<details><summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare class TransformedBlockTextDocument extends VirtualTextDocument {\n  protected constructor(container: VueTextDocument, selector: Selector, transformed: TextDocument, source: TextDocument | VirtualTextDocument, _transform: (document: TransformedBlockTextDocument) => BlockTransformResult);\n  static create(options: CreateTransformedBlockTextDocumentOptions): TransformedBlockTextDocument;\n  protected refresh(): void;\n  transform(): BlockTransformResult;\n  tryGetGeneratedOffset(offset: number): number | undefined;\n  tryGetSourceOffset(offset: number): number | undefined;\n}\n```\n\n**Members:**\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-create-member-1-\" id=\"-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-create-member-1-\"></a>\n\n#### [create](#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-create-member-1-)\n\n\n\n**Signature:**\n```ts\nstatic create(options: CreateTransformedBlockTextDocumentOptions): TransformedBlockTextDocument;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| options | <code><a href=\"#-vuedx-vue-virtual-textdocument--CreateTransformedBlockTextDocumentOptions-interface\">CreateTransformedBlockTextDocumentOptions</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-refresh-member-1-\" id=\"-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-refresh-member-1-\"></a>\n\n#### [refresh](#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-refresh-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected refresh(): void;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-transform-member-1-\" id=\"-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-transform-member-1-\"></a>\n\n#### [transform](#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-transform-member-1-)\n\n\n\n**Signature:**\n```ts\ntransform(): BlockTransformResult;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-tryGetGeneratedOffset-member-1-\" id=\"-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-tryGetGeneratedOffset-member-1-\"></a>\n\n#### [tryGetGeneratedOffset](#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-tryGetGeneratedOffset-member-1-)\n\n\n\n**Signature:**\n```ts\ntryGetGeneratedOffset(offset: number): number | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-tryGetSourceOffset-member-1-\" id=\"-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-tryGetSourceOffset-member-1-\"></a>\n\n#### [tryGetSourceOffset](#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-tryGetSourceOffset-member-1-)\n\n\n\n**Signature:**\n```ts\ntryGetSourceOffset(offset: number): number | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n</details>\n\n<br>\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VirtualTextDocument-class\" id=\"-vuedx-vue-virtual-textdocument-VirtualTextDocument-class\"></a>\n\n### [VirtualTextDocument](#-vuedx-vue-virtual-textdocument-VirtualTextDocument-class)\n\n\n\n<details><summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare class VirtualTextDocument extends ProxyTextDocument {\n  protected constructor(container: VueTextDocument, selector: Selector, doc: TextDocument);\n  readonly container: VueTextDocument;\n  static create(options: CreateVirtualTextDocumentOptions): VirtualTextDocument;\n  protected isDirty: boolean;\n  markDirty(): void;\n  protected refresh(): void;\n  readonly selector: Selector;\n}\n```\n\n**Members:**\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VirtualTextDocument-create-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VirtualTextDocument-create-member-1-\"></a>\n\n#### [create](#-vuedx-vue-virtual-textdocument-VirtualTextDocument-create-member-1-)\n\n\n\n**Signature:**\n```ts\nstatic create(options: CreateVirtualTextDocumentOptions): VirtualTextDocument;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| options | <code><a href=\"#-vuedx-vue-virtual-textdocument--CreateVirtualTextDocumentOptions-interface\">CreateVirtualTextDocumentOptions</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VirtualTextDocument-markDirty-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VirtualTextDocument-markDirty-member-1-\"></a>\n\n#### [markDirty](#-vuedx-vue-virtual-textdocument-VirtualTextDocument-markDirty-member-1-)\n\n\n\n**Signature:**\n```ts\nmarkDirty(): void;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VirtualTextDocument-refresh-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VirtualTextDocument-refresh-member-1-\"></a>\n\n#### [refresh](#-vuedx-vue-virtual-textdocument-VirtualTextDocument-refresh-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected refresh(): void;\n```\n\n\n<br>\n</details>\n\n<br>\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-class\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-class\"></a>\n\n### [VueTextDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-class)\n\n\n\n<details><summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare class VueTextDocument extends ProxyTextDocument {\n  constructor(doc: TextDocument, options?: VueTextDocumentOptions, parseOptions?: SFCParseOptions);\n  all(): VirtualTextDocument[];\n  blockAt(position: Position | number): SFCBlock | null | undefined;\n  static create(uri: string, languageId: string, version: number, content: string, options?: VueTextDocumentOptions, parseOptions?: SFCParseOptions): VueTextDocument;\n  protected createBlockDocument(selector: BlockSelector): VirtualTextDocument | undefined;\n  protected createInternalModuleDocument(): TransformedBlockTextDocument;\n  protected createModuleDocument(): TransformedBlockTextDocument;\n  protected createRenderDocument(): RenderFunctionTextDocument;\n  protected createTemplateASTDocument(): TransformedBlockTextDocument;\n  get descriptor(): SFCDescriptor;\n  documentAt(position: Position | number): VirtualTextDocument | undefined;\n  getBlock(selector: BlockSelector): SFCBlock | null | undefined;\n  getBlockSelector(block: SFCBlock): BlockSelector | undefined;\n  getDocument(selector: typeof RENDER_SELECTOR): RenderFunctionTextDocument;\n  getDocument(selector: SelectorLike): VirtualTextDocument;\n  getDocument(selector: string): VirtualTextDocument | undefined;\n  getDocumentFileName(selectorLike: SelectorLike): string;\n  protected getDocumentId(selector: Selector): string;\n  protected getDocumentLanguage(selector: Selector): string;\n  markDirty(): void;\n  readonly options: VueTextDocumentOptions;\n  protected parse(): void;\n  static update(document: VueTextDocument, changes: TextDocumentContentChangeEvent[], version: number): VueTextDocument;\n}\n```\n\n**Members:**\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-all-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-all-member-1-\"></a>\n\n#### [all](#-vuedx-vue-virtual-textdocument-VueTextDocument-all-member-1-)\n\n\n\n**Signature:**\n```ts\nall(): VirtualTextDocument[];\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-blockAt-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-blockAt-member-1-\"></a>\n\n#### [blockAt](#-vuedx-vue-virtual-textdocument-VueTextDocument-blockAt-member-1-)\n\n\n\n**Signature:**\n```ts\nblockAt(position: Position | number): SFCBlock | null | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| position | <code><a href=\"#vscode-languageserver-textdocument-Position-interface\">Position</a> &#124; number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-create-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-create-member-1-\"></a>\n\n#### [create](#-vuedx-vue-virtual-textdocument-VueTextDocument-create-member-1-)\n\n\n\n**Signature:**\n```ts\nstatic create(uri: string, languageId: string, version: number, content: string, options?: VueTextDocumentOptions, parseOptions?: SFCParseOptions): VueTextDocument;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n| languageId | <code>string</code> | - |\n| version | <code>number</code> | - |\n| content | <code>string</code> | - |\n| options | <code><a href=\"#-vuedx-vue-virtual-textdocument--VueTextDocumentOptions-interface\">VueTextDocumentOptions</a></code> | - |\n| parseOptions | <code><a href=\"#-vue-compiler-sfc-SFCParseOptions-interface\">SFCParseOptions</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-createBlockDocument-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-createBlockDocument-member-1-\"></a>\n\n#### [createBlockDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-createBlockDocument-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected createBlockDocument(selector: BlockSelector): VirtualTextDocument | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selector | <code><a href=\"#-vuedx-vue-virtual-textdocument--BlockSelector-type\">BlockSelector</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-createInternalModuleDocument-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-createInternalModuleDocument-member-1-\"></a>\n\n#### [createInternalModuleDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-createInternalModuleDocument-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected createInternalModuleDocument(): TransformedBlockTextDocument;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-createModuleDocument-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-createModuleDocument-member-1-\"></a>\n\n#### [createModuleDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-createModuleDocument-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected createModuleDocument(): TransformedBlockTextDocument;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-createRenderDocument-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-createRenderDocument-member-1-\"></a>\n\n#### [createRenderDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-createRenderDocument-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected createRenderDocument(): RenderFunctionTextDocument;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-createTemplateASTDocument-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-createTemplateASTDocument-member-1-\"></a>\n\n#### [createTemplateASTDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-createTemplateASTDocument-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected createTemplateASTDocument(): TransformedBlockTextDocument;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-documentAt-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-documentAt-member-1-\"></a>\n\n#### [documentAt](#-vuedx-vue-virtual-textdocument-VueTextDocument-documentAt-member-1-)\n\n\n\n**Signature:**\n```ts\ndocumentAt(position: Position | number): VirtualTextDocument | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| position | <code><a href=\"#vscode-languageserver-textdocument-Position-interface\">Position</a> &#124; number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getBlock-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getBlock-member-1-\"></a>\n\n#### [getBlock](#-vuedx-vue-virtual-textdocument-VueTextDocument-getBlock-member-1-)\n\n\n\n**Signature:**\n```ts\ngetBlock(selector: BlockSelector): SFCBlock | null | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selector | <code><a href=\"#-vuedx-vue-virtual-textdocument--BlockSelector-type\">BlockSelector</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getBlockSelector-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getBlockSelector-member-1-\"></a>\n\n#### [getBlockSelector](#-vuedx-vue-virtual-textdocument-VueTextDocument-getBlockSelector-member-1-)\n\n\n\n**Signature:**\n```ts\ngetBlockSelector(block: SFCBlock): BlockSelector | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| block | <code><a href=\"#-vue-compiler-sfc-SFCBlock-interface\">SFCBlock</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-1-\"></a>\n\n#### [getDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-1-)\n\n\n\n**Signature:**\n```ts\ngetDocument(selector: typeof RENDER_SELECTOR): RenderFunctionTextDocument;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selector | <code>typeof <a href=\"#-vuedx-vue-virtual-textdocument--RENDER-SELECTOR-var\">RENDER_SELECTOR</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-2-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-2-\"></a>\n\n#### [getDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-2-)\n\n\n\n**Signature:**\n```ts\ngetDocument(selector: SelectorLike): VirtualTextDocument;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selector | <code><a href=\"#-vuedx-vue-virtual-textdocument--SelectorLike-type\">SelectorLike</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-3-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-3-\"></a>\n\n#### [getDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-3-)\n\n\n\n**Signature:**\n```ts\ngetDocument(selector: string): VirtualTextDocument | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selector | <code>string</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentFileName-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentFileName-member-1-\"></a>\n\n#### [getDocumentFileName](#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentFileName-member-1-)\n\n\n\n**Signature:**\n```ts\ngetDocumentFileName(selectorLike: SelectorLike): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selectorLike | <code><a href=\"#-vuedx-vue-virtual-textdocument--SelectorLike-type\">SelectorLike</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentId-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentId-member-1-\"></a>\n\n#### [getDocumentId](#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentId-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected getDocumentId(selector: Selector): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selector | <code><a href=\"#-vuedx-vue-virtual-textdocument--Selector-type\">Selector</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentLanguage-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentLanguage-member-1-\"></a>\n\n#### [getDocumentLanguage](#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentLanguage-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected getDocumentLanguage(selector: Selector): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selector | <code><a href=\"#-vuedx-vue-virtual-textdocument--Selector-type\">Selector</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-markDirty-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-markDirty-member-1-\"></a>\n\n#### [markDirty](#-vuedx-vue-virtual-textdocument-VueTextDocument-markDirty-member-1-)\n\n\n\n**Signature:**\n```ts\nmarkDirty(): void;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-parse-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-parse-member-1-\"></a>\n\n#### [parse](#-vuedx-vue-virtual-textdocument-VueTextDocument-parse-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected parse(): void;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-update-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-update-member-1-\"></a>\n\n#### [update](#-vuedx-vue-virtual-textdocument-VueTextDocument-update-member-1-)\n\n\n\n**Signature:**\n```ts\nstatic update(document: VueTextDocument, changes: TextDocumentContentChangeEvent[], version: number): VueTextDocument;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| document | <code><a href=\"#-vuedx-vue-virtual-textdocument--VueTextDocument-class\">VueTextDocument</a></code> | - |\n| changes | <code><a href=\"#vscode-languageserver-textdocument-TextDocumentContentChangeEvent-type\">TextDocumentContentChangeEvent</a>[]</code> | - |\n| version | <code>number</code> | - |\n\n<br>\n</details>\n\n<br>\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-asFsPath-function-1-\" id=\"-vuedx-vue-virtual-textdocument-asFsPath-function-1-\"></a>\n\n### [asFsPath](#-vuedx-vue-virtual-textdocument-asFsPath-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function asFsPath(uri: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-asFsUri-function-1-\" id=\"-vuedx-vue-virtual-textdocument-asFsUri-function-1-\"></a>\n\n### [asFsUri](#-vuedx-vue-virtual-textdocument-asFsUri-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function asFsUri(fileName: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-asUri-function-1-\" id=\"-vuedx-vue-virtual-textdocument-asUri-function-1-\"></a>\n\n### [asUri](#-vuedx-vue-virtual-textdocument-asUri-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function asUri(fileNameOrUri: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileNameOrUri | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-basename-function-1-\" id=\"-vuedx-vue-virtual-textdocument-basename-function-1-\"></a>\n\n### [basename](#-vuedx-vue-virtual-textdocument-basename-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function basename(fileName: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-binarySearch-function-1-\" id=\"-vuedx-vue-virtual-textdocument-binarySearch-function-1-\"></a>\n\n### [binarySearch](#-vuedx-vue-virtual-textdocument-binarySearch-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function binarySearch<T>(array: T[], isMatch: (a: T) => number, returnMin?: boolean): T | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| array | <code>T[]</code> | - |\n| isMatch | <code>(a: T) => number</code> | - |\n| returnMin | <code>boolean</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-getBlockLanguage-function-1-\" id=\"-vuedx-vue-virtual-textdocument-getBlockLanguage-function-1-\"></a>\n\n### [getBlockLanguage](#-vuedx-vue-virtual-textdocument-getBlockLanguage-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function getBlockLanguage(block?: SFCBlock | null): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| block | <code><a href=\"#-vue-compiler-sfc-SFCBlock-interface\">SFCBlock</a> &#124; null</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-getContainingFile-function-1-\" id=\"-vuedx-vue-virtual-textdocument-getContainingFile-function-1-\"></a>\n\n### [getContainingFile](#-vuedx-vue-virtual-textdocument-getContainingFile-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function getContainingFile(fileName: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-getLanguageExtension-function-1-\" id=\"-vuedx-vue-virtual-textdocument-getLanguageExtension-function-1-\"></a>\n\n### [getLanguageExtension](#-vuedx-vue-virtual-textdocument-getLanguageExtension-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function getLanguageExtension(lang: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| lang | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-getLanguageIdFromExtension-function-1-\" id=\"-vuedx-vue-virtual-textdocument-getLanguageIdFromExtension-function-1-\"></a>\n\n### [getLanguageIdFromExtension](#-vuedx-vue-virtual-textdocument-getLanguageIdFromExtension-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function getLanguageIdFromExtension(ext: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| ext | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-isOffsetInBlock-function-1-\" id=\"-vuedx-vue-virtual-textdocument-isOffsetInBlock-function-1-\"></a>\n\n### [isOffsetInBlock](#-vuedx-vue-virtual-textdocument-isOffsetInBlock-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function isOffsetInBlock(offset: number, block?: SFCBlock | null): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n| block | <code><a href=\"#-vue-compiler-sfc-SFCBlock-interface\">SFCBlock</a> &#124; null</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-isVirtualFile-function-1-\" id=\"-vuedx-vue-virtual-textdocument-isVirtualFile-function-1-\"></a>\n\n### [isVirtualFile](#-vuedx-vue-virtual-textdocument-isVirtualFile-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function isVirtualFile(fileName: string): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-isVirtualFileOfType-function-1-\" id=\"-vuedx-vue-virtual-textdocument-isVirtualFileOfType-function-1-\"></a>\n\n### [isVirtualFileOfType](#-vuedx-vue-virtual-textdocument-isVirtualFileOfType-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function isVirtualFileOfType(fileName: string, type: '_render' | '_module' | '_internal' | 'script' | 'scriptSetup'): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n| type | <code>'_render' &#124; '_module' &#124; '_internal' &#124; 'script' &#124; 'scriptSetup'</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-isVueFile-function-1-\" id=\"-vuedx-vue-virtual-textdocument-isVueFile-function-1-\"></a>\n\n### [isVueFile](#-vuedx-vue-virtual-textdocument-isVueFile-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function isVueFile(fileName: string): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-parseVirtualFileName-function-1-\" id=\"-vuedx-vue-virtual-textdocument-parseVirtualFileName-function-1-\"></a>\n\n### [parseVirtualFileName](#-vuedx-vue-virtual-textdocument-parseVirtualFileName-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function parseVirtualFileName(fileName: string): {\n    uri: string;\n    selector: Selector;\n} | null;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-relativeVirtualImportPath-function-1-\" id=\"-vuedx-vue-virtual-textdocument-relativeVirtualImportPath-function-1-\"></a>\n\n### [relativeVirtualImportPath](#-vuedx-vue-virtual-textdocument-relativeVirtualImportPath-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function relativeVirtualImportPath(fileName: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-replaceSlashes-function-1-\" id=\"-vuedx-vue-virtual-textdocument-replaceSlashes-function-1-\"></a>\n\n### [replaceSlashes](#-vuedx-vue-virtual-textdocument-replaceSlashes-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function replaceSlashes(fileName: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n<!-- #region API-DOCS -->\n","readmeFilename":"readme.md","_id":"@vuedx/vue-virtual-textdocument@0.5.1-insiders-1610450632.0","_nodeVersion":"14.14.0","_npmVersion":"6.14.8","dist":{"integrity":"sha512-uIlfL6xi7c4z/agWEcXsYisIqwsYjUTSYSWxaOtw1k94kr+KP5cZ9O1EW01E9ewxAXVEF9RpcAKcvoRo/Cs7/w==","shasum":"1f258eacfa26b3d4a6d76365a86b02b65bb49b4f","tarball":"https://registry.npmjs.org/@vuedx/vue-virtual-textdocument/-/vue-virtual-textdocument-0.5.1-insiders-1610450632.0.tgz","fileCount":8,"unpackedSize":298413,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJf/YbtCRA9TVsSAnZWagAAjhwP/08G2Enj/MwSSZwEWiIv\nI1q+XFo1RWll4JMm8+XCjedh5p9Zvke5FZ3LCSm2RF0dvzVVSxYIwFYDuAcn\nSpwhuawH3ByQTz0mB2PuukOPrO+xAfEHMj9yq2m0B23gdT9IBDKP9sYEhpIw\nX6fStHxow/WZHzRwzqqZ/1MQCJYWWykEQDpD+Ppo5VIq/pBASRw7j0eqJqTs\nO8n8PO72wRfnlDWbnzx3Kw5IiaI+bT62AZ4JtJmv793f7GdonkMnjiA997W3\nLhe/Kht/0P2bLUK0PVSoyC7n8n08wFnL2Kqxne6gj3pKHuZ/oRmcR/LSa3v/\noe9pBPX/62zN/G3avb3tSWVyF1RdzTVUJz1sPMItkENytnlHlPw0Qnp9i8Ut\nFMoHyDyM8RqIazZ4QPsLfPkC/pDtVi0nmZMwQiR0I9pOMy1DQnusq/wlSPhd\nS3YhLkGnC7lw4cWxYDqTL0KIYb9twj/aI/SoJkAax2GFf6jxVcpgBRX4cSwq\nE224oSytn2w69rILHRsWWPWHLKITlSbnHIYUDjPFeVDgJdAgQJCjWqDC1QsR\nryAh6LbnXeSKkjy0zRx4ucnira0HshHkX5X7Vy0UBmxnKIAiJtVayUU0EUjf\nLEsI0a4aRWBD5zjrT47rhBTIgsSTNeBEgrNYpArb+RT9jQWa0wDY8Q835G6r\nKnFS\r\n=jfSI\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIGnRzf3JvJ8nvvOODnHHVQdtBmiAGGdqQApJ/g1qFqUfAiBJYVbreM96G/dEZrLVOhG1DHSFCRd+ALCq/witrcr6gA=="}]},"_npmUser":{"name":"znck","email":"rahulkdn@gmail.com"},"directories":{},"maintainers":[{"name":"znck","email":"rahulkdn@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/vue-virtual-textdocument_0.5.1-insiders-1610450632.0_1610450668784_0.1832758499206517"},"_hasShrinkwrap":false},"0.5.0":{"name":"@vuedx/vue-virtual-textdocument","version":"0.5.0","description":"An implementation of virtual filesystem for accessing blocks in a `.vue` file as independent files.","main":"dist/index.cjs.js","module":"dist/index.esm.js","types":"dist/index.d.ts","private":false,"scripts":{},"keywords":["vue","vue sfc","sfc","vue virtual files"],"repository":{"type":"git","url":"git+https://github.com/znck/vue-developer-experience.git"},"author":{"name":"Rahul Kadyan","email":"rahulkdn@gmail.com","url":"https://znck.me/"},"funding":{"type":"individual","url":"https://github.com/sponsors/znck"},"license":"MIT","bugs":{"url":"https://github.com/znck/vue-developer-experience/issues"},"homepage":"https://github.com/znck/vue-developer-experience#readme","dependencies":{"@vuedx/analyze":"0.5.0","@vuedx/compiler-sfc":"0.5.0","@vuedx/compiler-tsx":"0.5.0","source-map":"^0.6.1","vscode-languageserver-textdocument":"^1.0.1","vscode-uri":"^2.1.2"},"devDependencies":{"@vuedx/shared":"0.5.0","fast-glob":"^3.2.4","typescript":"^4.0.3"},"_id":"@vuedx/vue-virtual-textdocument@0.5.0","_nodeVersion":"14.14.0","_npmVersion":"6.14.8","dist":{"integrity":"sha512-uIZmXhyiG1myZuXeix3YqZE9ONUxFiTaswUmnalNnwXXOXXKwYVtVxs/03pNZdtXiVlKh53Hf9VW26Rgx/IVQg==","shasum":"3c72ae2ac254d745f813cfb197892f58da3dda6a","tarball":"https://registry.npmjs.org/@vuedx/vue-virtual-textdocument/-/vue-virtual-textdocument-0.5.0.tgz","fileCount":8,"unpackedSize":298303,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJf/YfdCRA9TVsSAnZWagAA3Y0P/1DYfOHQDXqHoZpjxbq4\ntokIJ/h+gKJkKzyuaNADQQ5qIIhY36eJX2OYtO1DR29ZVCDDyB0grC5EehcQ\nUaqHDq3VTdeOh9lyIX/m7P5HUxh5Vsgd6ahNth9P6SRi9JjfGDrOsmqJ4NJT\njPnp/xQvoZIFbGdXU75WrccfDpUaHhwW5QyinLmrOyLdrzo7rU8wmtAhDBAv\nhOfZYc8IK3S3wbBhhx72ScKeNut1Hm1qtXD2WqHXdXb0zAhF4/7Q0hMpGm3i\nv3JQWRW1evjdhDwlJCbA+T3fejUHu7chAODv9WJkSzSUbM5pxu7fZewd/uLH\nhCqAFkTdhTz3nBDZpFxOPawXNWVh8XA/B2aCKjPShr3+hkEDuRblKH06ourZ\nI+ynl5rL2h8tKOiu3mAYUYyEoo1tbTUX+PAdNHUEuCsho0gxWuJHi5Hygyec\nnOTXl3RvVgFTcDon6FT+/1k6xPpA3rGzMzKo3n3t0bBDJ6UBSWiLc44GBlxz\n7AgCldr7kcH/u+QazMTmZikjN22fIjElFQAUfIfu5M1WHQC0cj3R+id7Y+yI\nwtrxMqXhKl5V4RNjh3tyHwxbnPGVCfQDUuc/h8U9MdZr7isNFhXslv1jP2IO\n+Zoj7Er9xYn248TaeRz9rG/IIChHSSMSAMRRHxUJ2CZUgj0+c2YJ0PvhWEUs\nbQOH\r\n=x3od\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCyCgmO6sYi0LoKhUwE/JezQy3szRfv7+fYHrU2dTvxWwIhAN9VQZyhnYWykhfKL6sNqTjrIFSONWXjFrirc1TZ4+0B"}]},"_npmUser":{"name":"znck","email":"rahulkdn@gmail.com"},"directories":{},"maintainers":[{"name":"znck","email":"rahulkdn@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/vue-virtual-textdocument_0.5.0_1610450908852_0.33296444397869274"},"_hasShrinkwrap":false},"0.5.1-insiders-1610688008.0":{"name":"@vuedx/vue-virtual-textdocument","version":"0.5.1-insiders-1610688008.0","description":"An implementation of virtual filesystem for accessing blocks in a `.vue` file as independent files.","main":"dist/index.cjs.js","module":"dist/index.esm.js","types":"dist/index.d.ts","private":false,"scripts":{},"keywords":["vue","vue sfc","sfc","vue virtual files"],"repository":{"type":"git","url":"git+https://github.com/znck/vue-developer-experience.git"},"author":{"name":"Rahul Kadyan","email":"rahulkdn@gmail.com","url":"https://znck.me/"},"funding":{"type":"individual","url":"https://github.com/sponsors/znck"},"license":"MIT","bugs":{"url":"https://github.com/znck/vue-developer-experience/issues"},"homepage":"https://github.com/znck/vue-developer-experience#readme","dependencies":{"@vuedx/analyze":"0.5.1-insiders-1610688008.0","@vuedx/compiler-sfc":"0.5.1-insiders-1610688008.0","@vuedx/compiler-tsx":"0.5.1-insiders-1610688008.0","source-map":"^0.6.1","vscode-languageserver-textdocument":"^1.0.1","vscode-uri":"^2.1.2"},"devDependencies":{"@vuedx/shared":"0.5.1-insiders-1610688008.0","fast-glob":"^3.2.4","typescript":"^4.0.3"},"readme":"# Vue Virtual TextDocument\n\nAn implementation of virtual filesystem for accessing blocks in a `.vue` file as independent files.\n\n## Support\n\nThis package is part of [VueDX project](https://github.com/znck/vue-developer-experience), maintained by [Rahul Kadyan](https://github.com/znck). You can [💖 sponsor him](https://github.com/sponsors/znck) for continued development of this package and other VueDX tools.\n\n```\nnpm add @vuedx/vue-virtual-textdocument\n```\n<!-- #region API-DOCS -->\n<!-- Do not edit this file. It is a report generated by [scripts/docgen.js](https://github.com/znck/vue-developer-experience/tree/master/scripts/docgen.js). -->\n\n## API\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-AsyncDocumentStore-class\" id=\"-vuedx-vue-virtual-textdocument-AsyncDocumentStore-class\"></a>\n\n### [AsyncDocumentStore](#-vuedx-vue-virtual-textdocument-AsyncDocumentStore-class)\n\n\n\n<details><summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare class AsyncDocumentStore<T> extends DocumentStore<T> {\n  constructor(resolve: (uri: string) => T | Promise<T | null> | null, normalize?: (uri: string) => string);\n  get(uri: string): T | null;\n  get(uri: string): Promise<T | null>;\n}\n```\n\n**Members:**\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-AsyncDocumentStore-get-member-1-\" id=\"-vuedx-vue-virtual-textdocument-AsyncDocumentStore-get-member-1-\"></a>\n\n#### [get](#-vuedx-vue-virtual-textdocument-AsyncDocumentStore-get-member-1-)\n\n\n\n**Signature:**\n```ts\nget(uri: string): T | null;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-AsyncDocumentStore-get-member-2-\" id=\"-vuedx-vue-virtual-textdocument-AsyncDocumentStore-get-member-2-\"></a>\n\n#### [get](#-vuedx-vue-virtual-textdocument-AsyncDocumentStore-get-member-2-)\n\n\n\n**Signature:**\n```ts\nget(uri: string): Promise<T | null>;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n\n<br>\n</details>\n\n<br>\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-class\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-class\"></a>\n\n### [DocumentStore](#-vuedx-vue-virtual-textdocument-DocumentStore-class)\n\n\n\n<details><summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare class DocumentStore<T> {\n  constructor(resolve: (uri: string) => T | null, normalize?: (uri: string) => string);\n  all(): string[];\n  delete(uri: string): boolean;\n  dispose(): void;\n  get(uri: string): T | null;\n  protected getNormalizedUri(uri: string): string;\n  has(uri: string): boolean;\n  protected map: Map<string, T>;\n  normalize: (uri: string) => string;\n  protected resolve: (uri: string) => T | null;\n  protected reverseUriMap: Map<string, string>;\n  set(uri: string, document: T): void;\n}\n```\n\n**Members:**\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-all-member-1-\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-all-member-1-\"></a>\n\n#### [all](#-vuedx-vue-virtual-textdocument-DocumentStore-all-member-1-)\n\n\n\n**Signature:**\n```ts\nall(): string[];\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-delete-member-1-\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-delete-member-1-\"></a>\n\n#### [delete](#-vuedx-vue-virtual-textdocument-DocumentStore-delete-member-1-)\n\n\n\n**Signature:**\n```ts\ndelete(uri: string): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-dispose-member-1-\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-dispose-member-1-\"></a>\n\n#### [dispose](#-vuedx-vue-virtual-textdocument-DocumentStore-dispose-member-1-)\n\n\n\n**Signature:**\n```ts\ndispose(): void;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-get-member-1-\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-get-member-1-\"></a>\n\n#### [get](#-vuedx-vue-virtual-textdocument-DocumentStore-get-member-1-)\n\n\n\n**Signature:**\n```ts\nget(uri: string): T | null;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-getNormalizedUri-member-1-\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-getNormalizedUri-member-1-\"></a>\n\n#### [getNormalizedUri](#-vuedx-vue-virtual-textdocument-DocumentStore-getNormalizedUri-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected getNormalizedUri(uri: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-has-member-1-\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-has-member-1-\"></a>\n\n#### [has](#-vuedx-vue-virtual-textdocument-DocumentStore-has-member-1-)\n\n\n\n**Signature:**\n```ts\nhas(uri: string): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-set-member-1-\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-set-member-1-\"></a>\n\n#### [set](#-vuedx-vue-virtual-textdocument-DocumentStore-set-member-1-)\n\n\n\n**Signature:**\n```ts\nset(uri: string, document: T): void;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n| document | <code>T</code> | - |\n\n<br>\n</details>\n\n<br>\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-class\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-class\"></a>\n\n### [RenderFunctionTextDocument](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-class)\n\n\n\n<details><summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare class RenderFunctionTextDocument extends TransformedBlockTextDocument {\n  constructor(container: VueTextDocument, selector: Selector, transformed: TextDocument, source: TextDocument);\n  get ast(): CodegenResult['ast'] | undefined;\n  get contextCompletionsTriggerOffset(): number;\n  static create(options: CreateVirtualTextDocumentOptions): RenderFunctionTextDocument;\n  findExpression(offset: number, length: number): undefined | {\n        offset: number;\n        length: number;\n    };\n  protected generate(): string;\n  getAllGeneratedOffsetsAt(offset: number): undefined | Array<{\n        length: number;\n        offset: number;\n    }>;\n  getGeneratedOffsetAt(offset: number): undefined | {\n        length: number;\n        offset: number;\n    };\n  protected getKnownComponents(): Record<string, ComponentImport>;\n  getOriginalOffsetAt(offset: number): undefined | {\n        offset: number;\n        length: number;\n    };\n  isInGeneratedRange(offset: number): boolean;\n  isInTemplateIdentifierRange(offset: number): boolean;\n  get parserErrors(): CodegenResult['errors'];\n  get tagCompletionsTriggerOffset(): number;\n  toDisplayMappings(): string;\n  protected tryGenerate(): string;\n}\n```\n\n**Members:**\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-create-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-create-member-1-\"></a>\n\n#### [create](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-create-member-1-)\n\n\n\n**Signature:**\n```ts\nstatic create(options: CreateVirtualTextDocumentOptions): RenderFunctionTextDocument;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| options | <code><a href=\"#-vuedx-vue-virtual-textdocument--CreateVirtualTextDocumentOptions-interface\">CreateVirtualTextDocumentOptions</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-findExpression-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-findExpression-member-1-\"></a>\n\n#### [findExpression](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-findExpression-member-1-)\n\n\n\n**Signature:**\n```ts\nfindExpression(offset: number, length: number): undefined | {\n        offset: number;\n        length: number;\n    };\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n| length | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-generate-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-generate-member-1-\"></a>\n\n#### [generate](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-generate-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected generate(): string;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getAllGeneratedOffsetsAt-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getAllGeneratedOffsetsAt-member-1-\"></a>\n\n#### [getAllGeneratedOffsetsAt](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getAllGeneratedOffsetsAt-member-1-)\n\n\n\n**Signature:**\n```ts\ngetAllGeneratedOffsetsAt(offset: number): undefined | Array<{\n        length: number;\n        offset: number;\n    }>;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getGeneratedOffsetAt-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getGeneratedOffsetAt-member-1-\"></a>\n\n#### [getGeneratedOffsetAt](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getGeneratedOffsetAt-member-1-)\n\n\n\n**Signature:**\n```ts\ngetGeneratedOffsetAt(offset: number): undefined | {\n        length: number;\n        offset: number;\n    };\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getKnownComponents-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getKnownComponents-member-1-\"></a>\n\n#### [getKnownComponents](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getKnownComponents-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected getKnownComponents(): Record<string, ComponentImport>;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getOriginalOffsetAt-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getOriginalOffsetAt-member-1-\"></a>\n\n#### [getOriginalOffsetAt](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getOriginalOffsetAt-member-1-)\n\n\n\n**Signature:**\n```ts\ngetOriginalOffsetAt(offset: number): undefined | {\n        offset: number;\n        length: number;\n    };\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-isInGeneratedRange-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-isInGeneratedRange-member-1-\"></a>\n\n#### [isInGeneratedRange](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-isInGeneratedRange-member-1-)\n\n\n\n**Signature:**\n```ts\nisInGeneratedRange(offset: number): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-isInTemplateIdentifierRange-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-isInTemplateIdentifierRange-member-1-\"></a>\n\n#### [isInTemplateIdentifierRange](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-isInTemplateIdentifierRange-member-1-)\n\n\n\n**Signature:**\n```ts\nisInTemplateIdentifierRange(offset: number): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-toDisplayMappings-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-toDisplayMappings-member-1-\"></a>\n\n#### [toDisplayMappings](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-toDisplayMappings-member-1-)\n\n\n\n**Signature:**\n```ts\ntoDisplayMappings(): string;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-tryGenerate-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-tryGenerate-member-1-\"></a>\n\n#### [tryGenerate](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-tryGenerate-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected tryGenerate(): string;\n```\n\n\n<br>\n</details>\n\n<br>\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-class\" id=\"-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-class\"></a>\n\n### [TransformedBlockTextDocument](#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-class)\n\n\n\n<details><summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare class TransformedBlockTextDocument extends VirtualTextDocument {\n  protected constructor(container: VueTextDocument, selector: Selector, transformed: TextDocument, source: TextDocument | VirtualTextDocument, _transform: (document: TransformedBlockTextDocument) => BlockTransformResult);\n  static create(options: CreateTransformedBlockTextDocumentOptions): TransformedBlockTextDocument;\n  protected refresh(): void;\n  transform(): BlockTransformResult;\n  tryGetGeneratedOffset(offset: number): number | undefined;\n  tryGetSourceOffset(offset: number): number | undefined;\n}\n```\n\n**Members:**\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-create-member-1-\" id=\"-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-create-member-1-\"></a>\n\n#### [create](#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-create-member-1-)\n\n\n\n**Signature:**\n```ts\nstatic create(options: CreateTransformedBlockTextDocumentOptions): TransformedBlockTextDocument;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| options | <code><a href=\"#-vuedx-vue-virtual-textdocument--CreateTransformedBlockTextDocumentOptions-interface\">CreateTransformedBlockTextDocumentOptions</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-refresh-member-1-\" id=\"-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-refresh-member-1-\"></a>\n\n#### [refresh](#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-refresh-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected refresh(): void;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-transform-member-1-\" id=\"-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-transform-member-1-\"></a>\n\n#### [transform](#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-transform-member-1-)\n\n\n\n**Signature:**\n```ts\ntransform(): BlockTransformResult;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-tryGetGeneratedOffset-member-1-\" id=\"-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-tryGetGeneratedOffset-member-1-\"></a>\n\n#### [tryGetGeneratedOffset](#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-tryGetGeneratedOffset-member-1-)\n\n\n\n**Signature:**\n```ts\ntryGetGeneratedOffset(offset: number): number | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-tryGetSourceOffset-member-1-\" id=\"-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-tryGetSourceOffset-member-1-\"></a>\n\n#### [tryGetSourceOffset](#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-tryGetSourceOffset-member-1-)\n\n\n\n**Signature:**\n```ts\ntryGetSourceOffset(offset: number): number | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n</details>\n\n<br>\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VirtualTextDocument-class\" id=\"-vuedx-vue-virtual-textdocument-VirtualTextDocument-class\"></a>\n\n### [VirtualTextDocument](#-vuedx-vue-virtual-textdocument-VirtualTextDocument-class)\n\n\n\n<details><summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare class VirtualTextDocument extends ProxyTextDocument {\n  protected constructor(container: VueTextDocument, selector: Selector, doc: TextDocument);\n  readonly container: VueTextDocument;\n  static create(options: CreateVirtualTextDocumentOptions): VirtualTextDocument;\n  protected isDirty: boolean;\n  markDirty(): void;\n  protected refresh(): void;\n  readonly selector: Selector;\n}\n```\n\n**Members:**\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VirtualTextDocument-create-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VirtualTextDocument-create-member-1-\"></a>\n\n#### [create](#-vuedx-vue-virtual-textdocument-VirtualTextDocument-create-member-1-)\n\n\n\n**Signature:**\n```ts\nstatic create(options: CreateVirtualTextDocumentOptions): VirtualTextDocument;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| options | <code><a href=\"#-vuedx-vue-virtual-textdocument--CreateVirtualTextDocumentOptions-interface\">CreateVirtualTextDocumentOptions</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VirtualTextDocument-markDirty-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VirtualTextDocument-markDirty-member-1-\"></a>\n\n#### [markDirty](#-vuedx-vue-virtual-textdocument-VirtualTextDocument-markDirty-member-1-)\n\n\n\n**Signature:**\n```ts\nmarkDirty(): void;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VirtualTextDocument-refresh-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VirtualTextDocument-refresh-member-1-\"></a>\n\n#### [refresh](#-vuedx-vue-virtual-textdocument-VirtualTextDocument-refresh-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected refresh(): void;\n```\n\n\n<br>\n</details>\n\n<br>\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-class\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-class\"></a>\n\n### [VueTextDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-class)\n\n\n\n<details><summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare class VueTextDocument extends ProxyTextDocument {\n  constructor(doc: TextDocument, options?: VueTextDocumentOptions, parseOptions?: SFCParseOptions);\n  all(): VirtualTextDocument[];\n  blockAt(position: Position | number): SFCBlock | null | undefined;\n  static create(uri: string, languageId: string, version: number, content: string, options?: VueTextDocumentOptions, parseOptions?: SFCParseOptions): VueTextDocument;\n  protected createBlockDocument(selector: BlockSelector): VirtualTextDocument | undefined;\n  protected createInternalModuleDocument(): TransformedBlockTextDocument;\n  protected createModuleDocument(): TransformedBlockTextDocument;\n  protected createRenderDocument(): RenderFunctionTextDocument;\n  protected createTemplateASTDocument(): TransformedBlockTextDocument;\n  get descriptor(): SFCDescriptor;\n  documentAt(position: Position | number): VirtualTextDocument | undefined;\n  getBlock(selector: BlockSelector): SFCBlock | null | undefined;\n  getBlockSelector(block: SFCBlock): BlockSelector | undefined;\n  getDocument(selector: typeof RENDER_SELECTOR): RenderFunctionTextDocument;\n  getDocument(selector: SelectorLike): VirtualTextDocument;\n  getDocument(selector: string): VirtualTextDocument | undefined;\n  getDocumentFileName(selectorLike: SelectorLike): string;\n  protected getDocumentId(selector: Selector): string;\n  protected getDocumentLanguage(selector: Selector): string;\n  markDirty(): void;\n  readonly options: VueTextDocumentOptions;\n  protected parse(): void;\n  static update(document: VueTextDocument, changes: TextDocumentContentChangeEvent[], version: number): VueTextDocument;\n}\n```\n\n**Members:**\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-all-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-all-member-1-\"></a>\n\n#### [all](#-vuedx-vue-virtual-textdocument-VueTextDocument-all-member-1-)\n\n\n\n**Signature:**\n```ts\nall(): VirtualTextDocument[];\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-blockAt-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-blockAt-member-1-\"></a>\n\n#### [blockAt](#-vuedx-vue-virtual-textdocument-VueTextDocument-blockAt-member-1-)\n\n\n\n**Signature:**\n```ts\nblockAt(position: Position | number): SFCBlock | null | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| position | <code><a href=\"#vscode-languageserver-textdocument-Position-interface\">Position</a> &#124; number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-create-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-create-member-1-\"></a>\n\n#### [create](#-vuedx-vue-virtual-textdocument-VueTextDocument-create-member-1-)\n\n\n\n**Signature:**\n```ts\nstatic create(uri: string, languageId: string, version: number, content: string, options?: VueTextDocumentOptions, parseOptions?: SFCParseOptions): VueTextDocument;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n| languageId | <code>string</code> | - |\n| version | <code>number</code> | - |\n| content | <code>string</code> | - |\n| options | <code><a href=\"#-vuedx-vue-virtual-textdocument--VueTextDocumentOptions-interface\">VueTextDocumentOptions</a></code> | - |\n| parseOptions | <code><a href=\"#-vue-compiler-sfc-SFCParseOptions-interface\">SFCParseOptions</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-createBlockDocument-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-createBlockDocument-member-1-\"></a>\n\n#### [createBlockDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-createBlockDocument-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected createBlockDocument(selector: BlockSelector): VirtualTextDocument | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selector | <code><a href=\"#-vuedx-vue-virtual-textdocument--BlockSelector-type\">BlockSelector</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-createInternalModuleDocument-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-createInternalModuleDocument-member-1-\"></a>\n\n#### [createInternalModuleDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-createInternalModuleDocument-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected createInternalModuleDocument(): TransformedBlockTextDocument;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-createModuleDocument-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-createModuleDocument-member-1-\"></a>\n\n#### [createModuleDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-createModuleDocument-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected createModuleDocument(): TransformedBlockTextDocument;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-createRenderDocument-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-createRenderDocument-member-1-\"></a>\n\n#### [createRenderDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-createRenderDocument-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected createRenderDocument(): RenderFunctionTextDocument;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-createTemplateASTDocument-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-createTemplateASTDocument-member-1-\"></a>\n\n#### [createTemplateASTDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-createTemplateASTDocument-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected createTemplateASTDocument(): TransformedBlockTextDocument;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-documentAt-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-documentAt-member-1-\"></a>\n\n#### [documentAt](#-vuedx-vue-virtual-textdocument-VueTextDocument-documentAt-member-1-)\n\n\n\n**Signature:**\n```ts\ndocumentAt(position: Position | number): VirtualTextDocument | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| position | <code><a href=\"#vscode-languageserver-textdocument-Position-interface\">Position</a> &#124; number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getBlock-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getBlock-member-1-\"></a>\n\n#### [getBlock](#-vuedx-vue-virtual-textdocument-VueTextDocument-getBlock-member-1-)\n\n\n\n**Signature:**\n```ts\ngetBlock(selector: BlockSelector): SFCBlock | null | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selector | <code><a href=\"#-vuedx-vue-virtual-textdocument--BlockSelector-type\">BlockSelector</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getBlockSelector-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getBlockSelector-member-1-\"></a>\n\n#### [getBlockSelector](#-vuedx-vue-virtual-textdocument-VueTextDocument-getBlockSelector-member-1-)\n\n\n\n**Signature:**\n```ts\ngetBlockSelector(block: SFCBlock): BlockSelector | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| block | <code><a href=\"#-vue-compiler-sfc-SFCBlock-interface\">SFCBlock</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-1-\"></a>\n\n#### [getDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-1-)\n\n\n\n**Signature:**\n```ts\ngetDocument(selector: typeof RENDER_SELECTOR): RenderFunctionTextDocument;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selector | <code>typeof <a href=\"#-vuedx-vue-virtual-textdocument--RENDER-SELECTOR-var\">RENDER_SELECTOR</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-2-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-2-\"></a>\n\n#### [getDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-2-)\n\n\n\n**Signature:**\n```ts\ngetDocument(selector: SelectorLike): VirtualTextDocument;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selector | <code><a href=\"#-vuedx-vue-virtual-textdocument--SelectorLike-type\">SelectorLike</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-3-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-3-\"></a>\n\n#### [getDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-3-)\n\n\n\n**Signature:**\n```ts\ngetDocument(selector: string): VirtualTextDocument | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selector | <code>string</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentFileName-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentFileName-member-1-\"></a>\n\n#### [getDocumentFileName](#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentFileName-member-1-)\n\n\n\n**Signature:**\n```ts\ngetDocumentFileName(selectorLike: SelectorLike): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selectorLike | <code><a href=\"#-vuedx-vue-virtual-textdocument--SelectorLike-type\">SelectorLike</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentId-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentId-member-1-\"></a>\n\n#### [getDocumentId](#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentId-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected getDocumentId(selector: Selector): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selector | <code><a href=\"#-vuedx-vue-virtual-textdocument--Selector-type\">Selector</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentLanguage-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentLanguage-member-1-\"></a>\n\n#### [getDocumentLanguage](#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentLanguage-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected getDocumentLanguage(selector: Selector): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selector | <code><a href=\"#-vuedx-vue-virtual-textdocument--Selector-type\">Selector</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-markDirty-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-markDirty-member-1-\"></a>\n\n#### [markDirty](#-vuedx-vue-virtual-textdocument-VueTextDocument-markDirty-member-1-)\n\n\n\n**Signature:**\n```ts\nmarkDirty(): void;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-parse-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-parse-member-1-\"></a>\n\n#### [parse](#-vuedx-vue-virtual-textdocument-VueTextDocument-parse-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected parse(): void;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-update-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-update-member-1-\"></a>\n\n#### [update](#-vuedx-vue-virtual-textdocument-VueTextDocument-update-member-1-)\n\n\n\n**Signature:**\n```ts\nstatic update(document: VueTextDocument, changes: TextDocumentContentChangeEvent[], version: number): VueTextDocument;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| document | <code><a href=\"#-vuedx-vue-virtual-textdocument--VueTextDocument-class\">VueTextDocument</a></code> | - |\n| changes | <code><a href=\"#vscode-languageserver-textdocument-TextDocumentContentChangeEvent-type\">TextDocumentContentChangeEvent</a>[]</code> | - |\n| version | <code>number</code> | - |\n\n<br>\n</details>\n\n<br>\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-asFsPath-function-1-\" id=\"-vuedx-vue-virtual-textdocument-asFsPath-function-1-\"></a>\n\n### [asFsPath](#-vuedx-vue-virtual-textdocument-asFsPath-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function asFsPath(uri: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-asFsUri-function-1-\" id=\"-vuedx-vue-virtual-textdocument-asFsUri-function-1-\"></a>\n\n### [asFsUri](#-vuedx-vue-virtual-textdocument-asFsUri-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function asFsUri(fileName: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-asUri-function-1-\" id=\"-vuedx-vue-virtual-textdocument-asUri-function-1-\"></a>\n\n### [asUri](#-vuedx-vue-virtual-textdocument-asUri-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function asUri(fileNameOrUri: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileNameOrUri | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-basename-function-1-\" id=\"-vuedx-vue-virtual-textdocument-basename-function-1-\"></a>\n\n### [basename](#-vuedx-vue-virtual-textdocument-basename-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function basename(fileName: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-binarySearch-function-1-\" id=\"-vuedx-vue-virtual-textdocument-binarySearch-function-1-\"></a>\n\n### [binarySearch](#-vuedx-vue-virtual-textdocument-binarySearch-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function binarySearch<T>(array: T[], isMatch: (a: T) => number, returnMin?: boolean): T | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| array | <code>T[]</code> | - |\n| isMatch | <code>(a: T) => number</code> | - |\n| returnMin | <code>boolean</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-getBlockLanguage-function-1-\" id=\"-vuedx-vue-virtual-textdocument-getBlockLanguage-function-1-\"></a>\n\n### [getBlockLanguage](#-vuedx-vue-virtual-textdocument-getBlockLanguage-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function getBlockLanguage(block?: SFCBlock | null): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| block | <code><a href=\"#-vue-compiler-sfc-SFCBlock-interface\">SFCBlock</a> &#124; null</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-getContainingFile-function-1-\" id=\"-vuedx-vue-virtual-textdocument-getContainingFile-function-1-\"></a>\n\n### [getContainingFile](#-vuedx-vue-virtual-textdocument-getContainingFile-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function getContainingFile(fileName: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-getLanguageExtension-function-1-\" id=\"-vuedx-vue-virtual-textdocument-getLanguageExtension-function-1-\"></a>\n\n### [getLanguageExtension](#-vuedx-vue-virtual-textdocument-getLanguageExtension-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function getLanguageExtension(lang: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| lang | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-getLanguageIdFromExtension-function-1-\" id=\"-vuedx-vue-virtual-textdocument-getLanguageIdFromExtension-function-1-\"></a>\n\n### [getLanguageIdFromExtension](#-vuedx-vue-virtual-textdocument-getLanguageIdFromExtension-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function getLanguageIdFromExtension(ext: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| ext | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-isOffsetInBlock-function-1-\" id=\"-vuedx-vue-virtual-textdocument-isOffsetInBlock-function-1-\"></a>\n\n### [isOffsetInBlock](#-vuedx-vue-virtual-textdocument-isOffsetInBlock-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function isOffsetInBlock(offset: number, block?: SFCBlock | null): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n| block | <code><a href=\"#-vue-compiler-sfc-SFCBlock-interface\">SFCBlock</a> &#124; null</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-isVirtualFile-function-1-\" id=\"-vuedx-vue-virtual-textdocument-isVirtualFile-function-1-\"></a>\n\n### [isVirtualFile](#-vuedx-vue-virtual-textdocument-isVirtualFile-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function isVirtualFile(fileName: string): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-isVirtualFileOfType-function-1-\" id=\"-vuedx-vue-virtual-textdocument-isVirtualFileOfType-function-1-\"></a>\n\n### [isVirtualFileOfType](#-vuedx-vue-virtual-textdocument-isVirtualFileOfType-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function isVirtualFileOfType(fileName: string, type: '_render' | '_module' | '_internal' | 'script' | 'scriptSetup'): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n| type | <code>'_render' &#124; '_module' &#124; '_internal' &#124; 'script' &#124; 'scriptSetup'</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-isVueFile-function-1-\" id=\"-vuedx-vue-virtual-textdocument-isVueFile-function-1-\"></a>\n\n### [isVueFile](#-vuedx-vue-virtual-textdocument-isVueFile-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function isVueFile(fileName: string): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-parseVirtualFileName-function-1-\" id=\"-vuedx-vue-virtual-textdocument-parseVirtualFileName-function-1-\"></a>\n\n### [parseVirtualFileName](#-vuedx-vue-virtual-textdocument-parseVirtualFileName-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function parseVirtualFileName(fileName: string): {\n    uri: string;\n    selector: Selector;\n} | null;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-relativeVirtualImportPath-function-1-\" id=\"-vuedx-vue-virtual-textdocument-relativeVirtualImportPath-function-1-\"></a>\n\n### [relativeVirtualImportPath](#-vuedx-vue-virtual-textdocument-relativeVirtualImportPath-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function relativeVirtualImportPath(fileName: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-replaceSlashes-function-1-\" id=\"-vuedx-vue-virtual-textdocument-replaceSlashes-function-1-\"></a>\n\n### [replaceSlashes](#-vuedx-vue-virtual-textdocument-replaceSlashes-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function replaceSlashes(fileName: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n<!-- #region API-DOCS -->\n","readmeFilename":"readme.md","_id":"@vuedx/vue-virtual-textdocument@0.5.1-insiders-1610688008.0","_nodeVersion":"14.14.0","_npmVersion":"6.14.8","dist":{"integrity":"sha512-JJO4Qiy4TQmmrdLh6Xg1NHY1q3CQyBjH5uTHJq/k+zGsgxV1PEp2CrIozFhC6ih946qnhd0bNIeKwNxUW0d3dw==","shasum":"3bcf1404ff03605e16022d16719c986907ec4904","tarball":"https://registry.npmjs.org/@vuedx/vue-virtual-textdocument/-/vue-virtual-textdocument-0.5.1-insiders-1610688008.0.tgz","fileCount":8,"unpackedSize":298413,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgASYrCRA9TVsSAnZWagAAraIP/0Jw1xdyyindvUuQB98d\ntdePiHXf7Jt+kxzAQFVt7TV00Yl/nc9/5eu/qUqgEwupw0aPjydqRIrpcl3S\noX/yEI0+w1GZeV97MlWmLgguloV3VTSNHEGPi/LjRNmHKpU7EX5HYraBARWB\nP5Ux95/8snhyBnL2cpNXCLUGFqIBLE7COna8PUYHmnvD9czuITcKw93WSTA3\nUjt2KnUbGYX+ZoNRihVT04UuP5HFdde++dMsMBmVttZc8eMv6G5OStq/IhhJ\n+QmVaMqHVQ4WlmNxGGWRyh2ZDG+RZYRNo58NaWF8xQrg7cwCoTZO+MmejUo3\nimxnYPE/cU2HNvvdWrzBCmC4ZvY9KZT6i8t2GUeglYAUg6CdyseJ4MNAy3RC\ncKRLHNPfq5RnvPNI10aTL9I+H/PoGkA2qjf7vmNDF7BknkbMmI1F/C0XTHTG\ntLe08NWBAaEQLn1CWL3JpSYbvZXMG9DSSFNaX+uPh4ZShDkqq6+ghy08wkd+\nNryuieqDSEpLnirsC1Pm2/rPvXxNZEATa9DCoKufEa/1fgTBD8KYcGLzCp1J\nbkaNMpxqeW5d1J4iyGlrjlWG79oQiLlnB7Lc532meThcnxm7tswLMm/Pq2XZ\nky9DRQwsNemP7WyML+TSpBmLREvOdnHchMxgqwJkZ2vEXKKw4ghP/cza8nda\net6q\r\n=LvOS\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQChpWPpq2viWGuOQe82TCGrFmCBJCKe/Mh9wj0qMmeDawIgQyzWQfFDUKQcrqvqeepPR0+TZUa3bXYj9PtJqGKX1d0="}]},"_npmUser":{"name":"znck","email":"rahulkdn@gmail.com"},"directories":{},"maintainers":[{"name":"znck","email":"rahulkdn@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/vue-virtual-textdocument_0.5.1-insiders-1610688008.0_1610688042897_0.12431089677466156"},"_hasShrinkwrap":false},"0.5.1-insiders-1610735282.0":{"name":"@vuedx/vue-virtual-textdocument","version":"0.5.1-insiders-1610735282.0","description":"An implementation of virtual filesystem for accessing blocks in a `.vue` file as independent files.","main":"dist/index.cjs.js","module":"dist/index.esm.js","types":"dist/index.d.ts","private":false,"scripts":{},"keywords":["vue","vue sfc","sfc","vue virtual files"],"repository":{"type":"git","url":"git+https://github.com/znck/vue-developer-experience.git"},"author":{"name":"Rahul Kadyan","email":"rahulkdn@gmail.com","url":"https://znck.me/"},"funding":{"type":"individual","url":"https://github.com/sponsors/znck"},"license":"MIT","bugs":{"url":"https://github.com/znck/vue-developer-experience/issues"},"homepage":"https://github.com/znck/vue-developer-experience#readme","dependencies":{"@vuedx/analyze":"0.5.1-insiders-1610735282.0","@vuedx/compiler-sfc":"0.5.1-insiders-1610735282.0","@vuedx/compiler-tsx":"0.5.1-insiders-1610735282.0","source-map":"^0.6.1","vscode-languageserver-textdocument":"^1.0.1","vscode-uri":"^2.1.2"},"devDependencies":{"@vuedx/shared":"0.5.1-insiders-1610735282.0","fast-glob":"^3.2.4","typescript":"^4.0.3"},"readme":"# Vue Virtual TextDocument\n\nAn implementation of virtual filesystem for accessing blocks in a `.vue` file as independent files.\n\n## Support\n\nThis package is part of [VueDX project](https://github.com/znck/vue-developer-experience), maintained by [Rahul Kadyan](https://github.com/znck). You can [💖 sponsor him](https://github.com/sponsors/znck) for continued development of this package and other VueDX tools.\n\n```\nnpm add @vuedx/vue-virtual-textdocument\n```\n<!-- #region API-DOCS -->\n<!-- Do not edit this file. It is a report generated by [scripts/docgen.js](https://github.com/znck/vue-developer-experience/tree/master/scripts/docgen.js). -->\n\n## API\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-AsyncDocumentStore-class\" id=\"-vuedx-vue-virtual-textdocument-AsyncDocumentStore-class\"></a>\n\n### [AsyncDocumentStore](#-vuedx-vue-virtual-textdocument-AsyncDocumentStore-class)\n\n\n\n<details><summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare class AsyncDocumentStore<T> extends DocumentStore<T> {\n  constructor(resolve: (uri: string) => T | Promise<T | null> | null, normalize?: (uri: string) => string);\n  get(uri: string): T | null;\n  get(uri: string): Promise<T | null>;\n}\n```\n\n**Members:**\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-AsyncDocumentStore-get-member-1-\" id=\"-vuedx-vue-virtual-textdocument-AsyncDocumentStore-get-member-1-\"></a>\n\n#### [get](#-vuedx-vue-virtual-textdocument-AsyncDocumentStore-get-member-1-)\n\n\n\n**Signature:**\n```ts\nget(uri: string): T | null;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-AsyncDocumentStore-get-member-2-\" id=\"-vuedx-vue-virtual-textdocument-AsyncDocumentStore-get-member-2-\"></a>\n\n#### [get](#-vuedx-vue-virtual-textdocument-AsyncDocumentStore-get-member-2-)\n\n\n\n**Signature:**\n```ts\nget(uri: string): Promise<T | null>;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n\n<br>\n</details>\n\n<br>\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-class\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-class\"></a>\n\n### [DocumentStore](#-vuedx-vue-virtual-textdocument-DocumentStore-class)\n\n\n\n<details><summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare class DocumentStore<T> {\n  constructor(resolve: (uri: string) => T | null, normalize?: (uri: string) => string);\n  all(): string[];\n  delete(uri: string): boolean;\n  dispose(): void;\n  get(uri: string): T | null;\n  protected getNormalizedUri(uri: string): string;\n  has(uri: string): boolean;\n  protected map: Map<string, T>;\n  normalize: (uri: string) => string;\n  protected resolve: (uri: string) => T | null;\n  protected reverseUriMap: Map<string, string>;\n  set(uri: string, document: T): void;\n}\n```\n\n**Members:**\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-all-member-1-\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-all-member-1-\"></a>\n\n#### [all](#-vuedx-vue-virtual-textdocument-DocumentStore-all-member-1-)\n\n\n\n**Signature:**\n```ts\nall(): string[];\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-delete-member-1-\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-delete-member-1-\"></a>\n\n#### [delete](#-vuedx-vue-virtual-textdocument-DocumentStore-delete-member-1-)\n\n\n\n**Signature:**\n```ts\ndelete(uri: string): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-dispose-member-1-\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-dispose-member-1-\"></a>\n\n#### [dispose](#-vuedx-vue-virtual-textdocument-DocumentStore-dispose-member-1-)\n\n\n\n**Signature:**\n```ts\ndispose(): void;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-get-member-1-\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-get-member-1-\"></a>\n\n#### [get](#-vuedx-vue-virtual-textdocument-DocumentStore-get-member-1-)\n\n\n\n**Signature:**\n```ts\nget(uri: string): T | null;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-getNormalizedUri-member-1-\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-getNormalizedUri-member-1-\"></a>\n\n#### [getNormalizedUri](#-vuedx-vue-virtual-textdocument-DocumentStore-getNormalizedUri-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected getNormalizedUri(uri: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-has-member-1-\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-has-member-1-\"></a>\n\n#### [has](#-vuedx-vue-virtual-textdocument-DocumentStore-has-member-1-)\n\n\n\n**Signature:**\n```ts\nhas(uri: string): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-set-member-1-\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-set-member-1-\"></a>\n\n#### [set](#-vuedx-vue-virtual-textdocument-DocumentStore-set-member-1-)\n\n\n\n**Signature:**\n```ts\nset(uri: string, document: T): void;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n| document | <code>T</code> | - |\n\n<br>\n</details>\n\n<br>\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-class\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-class\"></a>\n\n### [RenderFunctionTextDocument](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-class)\n\n\n\n<details><summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare class RenderFunctionTextDocument extends TransformedBlockTextDocument {\n  constructor(container: VueTextDocument, selector: Selector, transformed: TextDocument, source: TextDocument);\n  get ast(): CodegenResult['ast'] | undefined;\n  get contextCompletionsTriggerOffset(): number;\n  static create(options: CreateVirtualTextDocumentOptions): RenderFunctionTextDocument;\n  findExpression(offset: number, length: number): undefined | {\n        offset: number;\n        length: number;\n    };\n  protected generate(): string;\n  getAllGeneratedOffsetsAt(offset: number): undefined | Array<{\n        length: number;\n        offset: number;\n    }>;\n  getGeneratedOffsetAt(offset: number): undefined | {\n        length: number;\n        offset: number;\n    };\n  protected getKnownComponents(): Record<string, ComponentImport>;\n  getOriginalOffsetAt(offset: number): undefined | {\n        offset: number;\n        length: number;\n    };\n  isInGeneratedRange(offset: number): boolean;\n  isInTemplateIdentifierRange(offset: number): boolean;\n  get parserErrors(): CodegenResult['errors'];\n  get tagCompletionsTriggerOffset(): number;\n  toDisplayMappings(): string;\n  protected tryGenerate(): string;\n}\n```\n\n**Members:**\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-create-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-create-member-1-\"></a>\n\n#### [create](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-create-member-1-)\n\n\n\n**Signature:**\n```ts\nstatic create(options: CreateVirtualTextDocumentOptions): RenderFunctionTextDocument;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| options | <code><a href=\"#-vuedx-vue-virtual-textdocument--CreateVirtualTextDocumentOptions-interface\">CreateVirtualTextDocumentOptions</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-findExpression-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-findExpression-member-1-\"></a>\n\n#### [findExpression](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-findExpression-member-1-)\n\n\n\n**Signature:**\n```ts\nfindExpression(offset: number, length: number): undefined | {\n        offset: number;\n        length: number;\n    };\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n| length | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-generate-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-generate-member-1-\"></a>\n\n#### [generate](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-generate-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected generate(): string;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getAllGeneratedOffsetsAt-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getAllGeneratedOffsetsAt-member-1-\"></a>\n\n#### [getAllGeneratedOffsetsAt](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getAllGeneratedOffsetsAt-member-1-)\n\n\n\n**Signature:**\n```ts\ngetAllGeneratedOffsetsAt(offset: number): undefined | Array<{\n        length: number;\n        offset: number;\n    }>;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getGeneratedOffsetAt-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getGeneratedOffsetAt-member-1-\"></a>\n\n#### [getGeneratedOffsetAt](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getGeneratedOffsetAt-member-1-)\n\n\n\n**Signature:**\n```ts\ngetGeneratedOffsetAt(offset: number): undefined | {\n        length: number;\n        offset: number;\n    };\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getKnownComponents-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getKnownComponents-member-1-\"></a>\n\n#### [getKnownComponents](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getKnownComponents-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected getKnownComponents(): Record<string, ComponentImport>;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getOriginalOffsetAt-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getOriginalOffsetAt-member-1-\"></a>\n\n#### [getOriginalOffsetAt](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getOriginalOffsetAt-member-1-)\n\n\n\n**Signature:**\n```ts\ngetOriginalOffsetAt(offset: number): undefined | {\n        offset: number;\n        length: number;\n    };\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-isInGeneratedRange-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-isInGeneratedRange-member-1-\"></a>\n\n#### [isInGeneratedRange](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-isInGeneratedRange-member-1-)\n\n\n\n**Signature:**\n```ts\nisInGeneratedRange(offset: number): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-isInTemplateIdentifierRange-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-isInTemplateIdentifierRange-member-1-\"></a>\n\n#### [isInTemplateIdentifierRange](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-isInTemplateIdentifierRange-member-1-)\n\n\n\n**Signature:**\n```ts\nisInTemplateIdentifierRange(offset: number): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-toDisplayMappings-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-toDisplayMappings-member-1-\"></a>\n\n#### [toDisplayMappings](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-toDisplayMappings-member-1-)\n\n\n\n**Signature:**\n```ts\ntoDisplayMappings(): string;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-tryGenerate-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-tryGenerate-member-1-\"></a>\n\n#### [tryGenerate](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-tryGenerate-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected tryGenerate(): string;\n```\n\n\n<br>\n</details>\n\n<br>\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-class\" id=\"-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-class\"></a>\n\n### [TransformedBlockTextDocument](#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-class)\n\n\n\n<details><summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare class TransformedBlockTextDocument extends VirtualTextDocument {\n  protected constructor(container: VueTextDocument, selector: Selector, transformed: TextDocument, source: TextDocument | VirtualTextDocument, _transform: (document: TransformedBlockTextDocument) => BlockTransformResult);\n  static create(options: CreateTransformedBlockTextDocumentOptions): TransformedBlockTextDocument;\n  protected refresh(): void;\n  transform(): BlockTransformResult;\n  tryGetGeneratedOffset(offset: number): number | undefined;\n  tryGetSourceOffset(offset: number): number | undefined;\n}\n```\n\n**Members:**\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-create-member-1-\" id=\"-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-create-member-1-\"></a>\n\n#### [create](#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-create-member-1-)\n\n\n\n**Signature:**\n```ts\nstatic create(options: CreateTransformedBlockTextDocumentOptions): TransformedBlockTextDocument;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| options | <code><a href=\"#-vuedx-vue-virtual-textdocument--CreateTransformedBlockTextDocumentOptions-interface\">CreateTransformedBlockTextDocumentOptions</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-refresh-member-1-\" id=\"-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-refresh-member-1-\"></a>\n\n#### [refresh](#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-refresh-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected refresh(): void;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-transform-member-1-\" id=\"-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-transform-member-1-\"></a>\n\n#### [transform](#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-transform-member-1-)\n\n\n\n**Signature:**\n```ts\ntransform(): BlockTransformResult;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-tryGetGeneratedOffset-member-1-\" id=\"-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-tryGetGeneratedOffset-member-1-\"></a>\n\n#### [tryGetGeneratedOffset](#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-tryGetGeneratedOffset-member-1-)\n\n\n\n**Signature:**\n```ts\ntryGetGeneratedOffset(offset: number): number | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-tryGetSourceOffset-member-1-\" id=\"-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-tryGetSourceOffset-member-1-\"></a>\n\n#### [tryGetSourceOffset](#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-tryGetSourceOffset-member-1-)\n\n\n\n**Signature:**\n```ts\ntryGetSourceOffset(offset: number): number | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n</details>\n\n<br>\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VirtualTextDocument-class\" id=\"-vuedx-vue-virtual-textdocument-VirtualTextDocument-class\"></a>\n\n### [VirtualTextDocument](#-vuedx-vue-virtual-textdocument-VirtualTextDocument-class)\n\n\n\n<details><summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare class VirtualTextDocument extends ProxyTextDocument {\n  protected constructor(container: VueTextDocument, selector: Selector, doc: TextDocument);\n  readonly container: VueTextDocument;\n  static create(options: CreateVirtualTextDocumentOptions): VirtualTextDocument;\n  protected isDirty: boolean;\n  markDirty(): void;\n  protected refresh(): void;\n  readonly selector: Selector;\n}\n```\n\n**Members:**\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VirtualTextDocument-create-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VirtualTextDocument-create-member-1-\"></a>\n\n#### [create](#-vuedx-vue-virtual-textdocument-VirtualTextDocument-create-member-1-)\n\n\n\n**Signature:**\n```ts\nstatic create(options: CreateVirtualTextDocumentOptions): VirtualTextDocument;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| options | <code><a href=\"#-vuedx-vue-virtual-textdocument--CreateVirtualTextDocumentOptions-interface\">CreateVirtualTextDocumentOptions</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VirtualTextDocument-markDirty-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VirtualTextDocument-markDirty-member-1-\"></a>\n\n#### [markDirty](#-vuedx-vue-virtual-textdocument-VirtualTextDocument-markDirty-member-1-)\n\n\n\n**Signature:**\n```ts\nmarkDirty(): void;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VirtualTextDocument-refresh-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VirtualTextDocument-refresh-member-1-\"></a>\n\n#### [refresh](#-vuedx-vue-virtual-textdocument-VirtualTextDocument-refresh-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected refresh(): void;\n```\n\n\n<br>\n</details>\n\n<br>\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-class\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-class\"></a>\n\n### [VueTextDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-class)\n\n\n\n<details><summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare class VueTextDocument extends ProxyTextDocument {\n  constructor(doc: TextDocument, options?: VueTextDocumentOptions, parseOptions?: SFCParseOptions);\n  all(): VirtualTextDocument[];\n  blockAt(position: Position | number): SFCBlock | null | undefined;\n  static create(uri: string, languageId: string, version: number, content: string, options?: VueTextDocumentOptions, parseOptions?: SFCParseOptions): VueTextDocument;\n  protected createBlockDocument(selector: BlockSelector): VirtualTextDocument | undefined;\n  protected createInternalModuleDocument(): TransformedBlockTextDocument;\n  protected createModuleDocument(): TransformedBlockTextDocument;\n  protected createRenderDocument(): RenderFunctionTextDocument;\n  protected createTemplateASTDocument(): TransformedBlockTextDocument;\n  get descriptor(): SFCDescriptor;\n  documentAt(position: Position | number): VirtualTextDocument | undefined;\n  getBlock(selector: BlockSelector): SFCBlock | null | undefined;\n  getBlockSelector(block: SFCBlock): BlockSelector | undefined;\n  getDocument(selector: typeof RENDER_SELECTOR): RenderFunctionTextDocument;\n  getDocument(selector: SelectorLike): VirtualTextDocument;\n  getDocument(selector: string): VirtualTextDocument | undefined;\n  getDocumentFileName(selectorLike: SelectorLike): string;\n  protected getDocumentId(selector: Selector): string;\n  protected getDocumentLanguage(selector: Selector): string;\n  markDirty(): void;\n  readonly options: VueTextDocumentOptions;\n  protected parse(): void;\n  static update(document: VueTextDocument, changes: TextDocumentContentChangeEvent[], version: number): VueTextDocument;\n}\n```\n\n**Members:**\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-all-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-all-member-1-\"></a>\n\n#### [all](#-vuedx-vue-virtual-textdocument-VueTextDocument-all-member-1-)\n\n\n\n**Signature:**\n```ts\nall(): VirtualTextDocument[];\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-blockAt-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-blockAt-member-1-\"></a>\n\n#### [blockAt](#-vuedx-vue-virtual-textdocument-VueTextDocument-blockAt-member-1-)\n\n\n\n**Signature:**\n```ts\nblockAt(position: Position | number): SFCBlock | null | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| position | <code><a href=\"#vscode-languageserver-textdocument-Position-interface\">Position</a> &#124; number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-create-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-create-member-1-\"></a>\n\n#### [create](#-vuedx-vue-virtual-textdocument-VueTextDocument-create-member-1-)\n\n\n\n**Signature:**\n```ts\nstatic create(uri: string, languageId: string, version: number, content: string, options?: VueTextDocumentOptions, parseOptions?: SFCParseOptions): VueTextDocument;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n| languageId | <code>string</code> | - |\n| version | <code>number</code> | - |\n| content | <code>string</code> | - |\n| options | <code><a href=\"#-vuedx-vue-virtual-textdocument--VueTextDocumentOptions-interface\">VueTextDocumentOptions</a></code> | - |\n| parseOptions | <code><a href=\"#-vue-compiler-sfc-SFCParseOptions-interface\">SFCParseOptions</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-createBlockDocument-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-createBlockDocument-member-1-\"></a>\n\n#### [createBlockDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-createBlockDocument-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected createBlockDocument(selector: BlockSelector): VirtualTextDocument | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selector | <code><a href=\"#-vuedx-vue-virtual-textdocument--BlockSelector-type\">BlockSelector</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-createInternalModuleDocument-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-createInternalModuleDocument-member-1-\"></a>\n\n#### [createInternalModuleDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-createInternalModuleDocument-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected createInternalModuleDocument(): TransformedBlockTextDocument;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-createModuleDocument-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-createModuleDocument-member-1-\"></a>\n\n#### [createModuleDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-createModuleDocument-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected createModuleDocument(): TransformedBlockTextDocument;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-createRenderDocument-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-createRenderDocument-member-1-\"></a>\n\n#### [createRenderDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-createRenderDocument-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected createRenderDocument(): RenderFunctionTextDocument;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-createTemplateASTDocument-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-createTemplateASTDocument-member-1-\"></a>\n\n#### [createTemplateASTDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-createTemplateASTDocument-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected createTemplateASTDocument(): TransformedBlockTextDocument;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-documentAt-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-documentAt-member-1-\"></a>\n\n#### [documentAt](#-vuedx-vue-virtual-textdocument-VueTextDocument-documentAt-member-1-)\n\n\n\n**Signature:**\n```ts\ndocumentAt(position: Position | number): VirtualTextDocument | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| position | <code><a href=\"#vscode-languageserver-textdocument-Position-interface\">Position</a> &#124; number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getBlock-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getBlock-member-1-\"></a>\n\n#### [getBlock](#-vuedx-vue-virtual-textdocument-VueTextDocument-getBlock-member-1-)\n\n\n\n**Signature:**\n```ts\ngetBlock(selector: BlockSelector): SFCBlock | null | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selector | <code><a href=\"#-vuedx-vue-virtual-textdocument--BlockSelector-type\">BlockSelector</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getBlockSelector-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getBlockSelector-member-1-\"></a>\n\n#### [getBlockSelector](#-vuedx-vue-virtual-textdocument-VueTextDocument-getBlockSelector-member-1-)\n\n\n\n**Signature:**\n```ts\ngetBlockSelector(block: SFCBlock): BlockSelector | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| block | <code><a href=\"#-vue-compiler-sfc-SFCBlock-interface\">SFCBlock</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-1-\"></a>\n\n#### [getDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-1-)\n\n\n\n**Signature:**\n```ts\ngetDocument(selector: typeof RENDER_SELECTOR): RenderFunctionTextDocument;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selector | <code>typeof <a href=\"#-vuedx-vue-virtual-textdocument--RENDER-SELECTOR-var\">RENDER_SELECTOR</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-2-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-2-\"></a>\n\n#### [getDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-2-)\n\n\n\n**Signature:**\n```ts\ngetDocument(selector: SelectorLike): VirtualTextDocument;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selector | <code><a href=\"#-vuedx-vue-virtual-textdocument--SelectorLike-type\">SelectorLike</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-3-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-3-\"></a>\n\n#### [getDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-3-)\n\n\n\n**Signature:**\n```ts\ngetDocument(selector: string): VirtualTextDocument | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selector | <code>string</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentFileName-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentFileName-member-1-\"></a>\n\n#### [getDocumentFileName](#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentFileName-member-1-)\n\n\n\n**Signature:**\n```ts\ngetDocumentFileName(selectorLike: SelectorLike): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selectorLike | <code><a href=\"#-vuedx-vue-virtual-textdocument--SelectorLike-type\">SelectorLike</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentId-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentId-member-1-\"></a>\n\n#### [getDocumentId](#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentId-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected getDocumentId(selector: Selector): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selector | <code><a href=\"#-vuedx-vue-virtual-textdocument--Selector-type\">Selector</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentLanguage-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentLanguage-member-1-\"></a>\n\n#### [getDocumentLanguage](#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentLanguage-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected getDocumentLanguage(selector: Selector): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selector | <code><a href=\"#-vuedx-vue-virtual-textdocument--Selector-type\">Selector</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-markDirty-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-markDirty-member-1-\"></a>\n\n#### [markDirty](#-vuedx-vue-virtual-textdocument-VueTextDocument-markDirty-member-1-)\n\n\n\n**Signature:**\n```ts\nmarkDirty(): void;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-parse-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-parse-member-1-\"></a>\n\n#### [parse](#-vuedx-vue-virtual-textdocument-VueTextDocument-parse-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected parse(): void;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-update-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-update-member-1-\"></a>\n\n#### [update](#-vuedx-vue-virtual-textdocument-VueTextDocument-update-member-1-)\n\n\n\n**Signature:**\n```ts\nstatic update(document: VueTextDocument, changes: TextDocumentContentChangeEvent[], version: number): VueTextDocument;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| document | <code><a href=\"#-vuedx-vue-virtual-textdocument--VueTextDocument-class\">VueTextDocument</a></code> | - |\n| changes | <code><a href=\"#vscode-languageserver-textdocument-TextDocumentContentChangeEvent-type\">TextDocumentContentChangeEvent</a>[]</code> | - |\n| version | <code>number</code> | - |\n\n<br>\n</details>\n\n<br>\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-asFsPath-function-1-\" id=\"-vuedx-vue-virtual-textdocument-asFsPath-function-1-\"></a>\n\n### [asFsPath](#-vuedx-vue-virtual-textdocument-asFsPath-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function asFsPath(uri: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-asFsUri-function-1-\" id=\"-vuedx-vue-virtual-textdocument-asFsUri-function-1-\"></a>\n\n### [asFsUri](#-vuedx-vue-virtual-textdocument-asFsUri-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function asFsUri(fileName: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-asUri-function-1-\" id=\"-vuedx-vue-virtual-textdocument-asUri-function-1-\"></a>\n\n### [asUri](#-vuedx-vue-virtual-textdocument-asUri-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function asUri(fileNameOrUri: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileNameOrUri | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-basename-function-1-\" id=\"-vuedx-vue-virtual-textdocument-basename-function-1-\"></a>\n\n### [basename](#-vuedx-vue-virtual-textdocument-basename-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function basename(fileName: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-binarySearch-function-1-\" id=\"-vuedx-vue-virtual-textdocument-binarySearch-function-1-\"></a>\n\n### [binarySearch](#-vuedx-vue-virtual-textdocument-binarySearch-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function binarySearch<T>(array: T[], isMatch: (a: T) => number, returnMin?: boolean): T | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| array | <code>T[]</code> | - |\n| isMatch | <code>(a: T) => number</code> | - |\n| returnMin | <code>boolean</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-getBlockLanguage-function-1-\" id=\"-vuedx-vue-virtual-textdocument-getBlockLanguage-function-1-\"></a>\n\n### [getBlockLanguage](#-vuedx-vue-virtual-textdocument-getBlockLanguage-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function getBlockLanguage(block?: SFCBlock | null): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| block | <code><a href=\"#-vue-compiler-sfc-SFCBlock-interface\">SFCBlock</a> &#124; null</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-getContainingFile-function-1-\" id=\"-vuedx-vue-virtual-textdocument-getContainingFile-function-1-\"></a>\n\n### [getContainingFile](#-vuedx-vue-virtual-textdocument-getContainingFile-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function getContainingFile(fileName: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-getLanguageExtension-function-1-\" id=\"-vuedx-vue-virtual-textdocument-getLanguageExtension-function-1-\"></a>\n\n### [getLanguageExtension](#-vuedx-vue-virtual-textdocument-getLanguageExtension-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function getLanguageExtension(lang: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| lang | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-getLanguageIdFromExtension-function-1-\" id=\"-vuedx-vue-virtual-textdocument-getLanguageIdFromExtension-function-1-\"></a>\n\n### [getLanguageIdFromExtension](#-vuedx-vue-virtual-textdocument-getLanguageIdFromExtension-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function getLanguageIdFromExtension(ext: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| ext | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-isOffsetInBlock-function-1-\" id=\"-vuedx-vue-virtual-textdocument-isOffsetInBlock-function-1-\"></a>\n\n### [isOffsetInBlock](#-vuedx-vue-virtual-textdocument-isOffsetInBlock-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function isOffsetInBlock(offset: number, block?: SFCBlock | null): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n| block | <code><a href=\"#-vue-compiler-sfc-SFCBlock-interface\">SFCBlock</a> &#124; null</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-isVirtualFile-function-1-\" id=\"-vuedx-vue-virtual-textdocument-isVirtualFile-function-1-\"></a>\n\n### [isVirtualFile](#-vuedx-vue-virtual-textdocument-isVirtualFile-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function isVirtualFile(fileName: string): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-isVirtualFileOfType-function-1-\" id=\"-vuedx-vue-virtual-textdocument-isVirtualFileOfType-function-1-\"></a>\n\n### [isVirtualFileOfType](#-vuedx-vue-virtual-textdocument-isVirtualFileOfType-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function isVirtualFileOfType(fileName: string, type: '_render' | '_module' | '_internal' | 'script' | 'scriptSetup'): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n| type | <code>'_render' &#124; '_module' &#124; '_internal' &#124; 'script' &#124; 'scriptSetup'</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-isVueFile-function-1-\" id=\"-vuedx-vue-virtual-textdocument-isVueFile-function-1-\"></a>\n\n### [isVueFile](#-vuedx-vue-virtual-textdocument-isVueFile-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function isVueFile(fileName: string): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-parseVirtualFileName-function-1-\" id=\"-vuedx-vue-virtual-textdocument-parseVirtualFileName-function-1-\"></a>\n\n### [parseVirtualFileName](#-vuedx-vue-virtual-textdocument-parseVirtualFileName-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function parseVirtualFileName(fileName: string): {\n    uri: string;\n    selector: Selector;\n} | null;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-relativeVirtualImportPath-function-1-\" id=\"-vuedx-vue-virtual-textdocument-relativeVirtualImportPath-function-1-\"></a>\n\n### [relativeVirtualImportPath](#-vuedx-vue-virtual-textdocument-relativeVirtualImportPath-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function relativeVirtualImportPath(fileName: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-replaceSlashes-function-1-\" id=\"-vuedx-vue-virtual-textdocument-replaceSlashes-function-1-\"></a>\n\n### [replaceSlashes](#-vuedx-vue-virtual-textdocument-replaceSlashes-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function replaceSlashes(fileName: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n<!-- #region API-DOCS -->\n","readmeFilename":"readme.md","_id":"@vuedx/vue-virtual-textdocument@0.5.1-insiders-1610735282.0","_nodeVersion":"14.14.0","_npmVersion":"6.14.8","dist":{"integrity":"sha512-kbfhtxWGXTLPIUOJo1VvouIBA4KgRvZQswtxkUnno7Qu6QHw1ZjlNWy0mvspg+AXQmNXrxmwe1efg+pfiSxbOQ==","shasum":"88f7c207100d9390c783d30cccbe53c09278907d","tarball":"https://registry.npmjs.org/@vuedx/vue-virtual-textdocument/-/vue-virtual-textdocument-0.5.1-insiders-1610735282.0.tgz","fileCount":8,"unpackedSize":298413,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgAd7RCRA9TVsSAnZWagAAe8QP/RnmHPoyaNYAywBdtfU0\n8kUcu0hmr9RBA0Wes3B23bXxEwGjuaXsxuTVngDEZi+Fs7uLW5CrK0q0ld46\npI16i/jZxzth5wRo6TM2Hm1Pbmjo0ArX/l338lAziOl7WXT02QgU4DN2HnnM\n5ysZu5r6LA77aaRvhxj14ncdpevHr9BAWt7m7zn8ErWppAksJ3VPHC1LnFvb\nImw65dJvy1rj6y39HPafkOn4CmzzE6IB5oZsRuLrhoB6JUvswnfDtrnAt0SN\nx6I5xnQoHK6jhzRmDPfd2KmWj3wUcIJ5XivotQijfp/G+fzheCm941rOOrvW\nTT6dc7PbMdhpbjj7xo8f0NA76VRIELWkuPjtSnueEqIR/bsNQJ8Zq4Wf/SQ0\n+SfY0rUn20ILAil7U+RRUxrp+dhjj3GS84S742sjXXaUGP3JtkaEZsIVnDfo\nueCXrgsg9vMEyvKbYHG5pi9DtgBeb7bm53Cw8n0pTXKunSqa5Oqt2Kf8x1QP\nv80gEOjv02CzaJ3R9KP9NQhzEPjnMmyeei/wmZQSw/nvLU0+qATEnf2m/QX5\nJiKaYS9iyrq+x06P/BjsmjM2cqcpGVUjc/4cc+C2fVp8rD9lIs4dN+t0mRb3\nikrYL2w65IjAjG1UG2pTRCsQrhDFdOb1XQJlrqBl7doNt2V4bKpcYdGO0ZTL\nZWhC\r\n=y79r\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDTQRxyVSYD3zYbAtGq/7gAipAo70pDjFoJ1rj5O8sY2QIgFcHpniK9ouSQImKNIT3Ul+TgxFVJsaJk5VrK9AJCkpk="}]},"_npmUser":{"name":"znck","email":"rahulkdn@gmail.com"},"directories":{},"maintainers":[{"name":"znck","email":"rahulkdn@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/vue-virtual-textdocument_0.5.1-insiders-1610735282.0_1610735312613_0.10867138574432111"},"_hasShrinkwrap":false},"0.5.1-insiders-1610828338.0":{"name":"@vuedx/vue-virtual-textdocument","version":"0.5.1-insiders-1610828338.0","description":"An implementation of virtual filesystem for accessing blocks in a `.vue` file as independent files.","main":"dist/index.cjs.js","module":"dist/index.esm.js","types":"dist/index.d.ts","private":false,"scripts":{},"keywords":["vue","vue sfc","sfc","vue virtual files"],"repository":{"type":"git","url":"git+https://github.com/znck/vue-developer-experience.git"},"author":{"name":"Rahul Kadyan","email":"rahulkdn@gmail.com","url":"https://znck.me/"},"funding":{"type":"individual","url":"https://github.com/sponsors/znck"},"license":"MIT","bugs":{"url":"https://github.com/znck/vue-developer-experience/issues"},"homepage":"https://github.com/znck/vue-developer-experience#readme","dependencies":{"@vuedx/analyze":"0.5.1-insiders-1610828338.0","@vuedx/compiler-sfc":"0.5.1-insiders-1610828338.0","@vuedx/compiler-tsx":"0.5.1-insiders-1610828338.0","@vuedx/shared":"0.5.1-insiders-1610828338.0","source-map":"^0.6.1","vscode-languageserver-textdocument":"^1.0.1","vscode-uri":"^2.1.2"},"devDependencies":{"fast-glob":"^3.2.4","typescript":"^4.0.3"},"readme":"# Vue Virtual TextDocument\n\nAn implementation of virtual filesystem for accessing blocks in a `.vue` file as independent files.\n\n## Support\n\nThis package is part of [VueDX project](https://github.com/znck/vue-developer-experience), maintained by [Rahul Kadyan](https://github.com/znck). You can [💖 sponsor him](https://github.com/sponsors/znck) for continued development of this package and other VueDX tools.\n\n```\nnpm add @vuedx/vue-virtual-textdocument\n```\n<!-- #region API-DOCS -->\n<!-- Do not edit this file. It is a report generated by [scripts/docgen.js](https://github.com/znck/vue-developer-experience/tree/master/scripts/docgen.js). -->\n\n## API\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-AsyncDocumentStore-class\" id=\"-vuedx-vue-virtual-textdocument-AsyncDocumentStore-class\"></a>\n\n### [AsyncDocumentStore](#-vuedx-vue-virtual-textdocument-AsyncDocumentStore-class)\n\n\n\n<details><summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare class AsyncDocumentStore<T> extends DocumentStore<T> {\n  constructor(resolve: (uri: string) => T | Promise<T | null> | null, normalize?: (uri: string) => string);\n  get(uri: string): T | null;\n  get(uri: string): Promise<T | null>;\n}\n```\n\n**Members:**\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-AsyncDocumentStore-get-member-1-\" id=\"-vuedx-vue-virtual-textdocument-AsyncDocumentStore-get-member-1-\"></a>\n\n#### [get](#-vuedx-vue-virtual-textdocument-AsyncDocumentStore-get-member-1-)\n\n\n\n**Signature:**\n```ts\nget(uri: string): T | null;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-AsyncDocumentStore-get-member-2-\" id=\"-vuedx-vue-virtual-textdocument-AsyncDocumentStore-get-member-2-\"></a>\n\n#### [get](#-vuedx-vue-virtual-textdocument-AsyncDocumentStore-get-member-2-)\n\n\n\n**Signature:**\n```ts\nget(uri: string): Promise<T | null>;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n\n<br>\n</details>\n\n<br>\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-class\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-class\"></a>\n\n### [DocumentStore](#-vuedx-vue-virtual-textdocument-DocumentStore-class)\n\n\n\n<details><summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare class DocumentStore<T> {\n  constructor(resolve: (uri: string) => T | null, normalize?: (uri: string) => string);\n  all(): string[];\n  delete(uri: string): boolean;\n  dispose(): void;\n  get(uri: string): T | null;\n  protected getNormalizedUri(uri: string): string;\n  has(uri: string): boolean;\n  protected map: Map<string, T>;\n  normalize: (uri: string) => string;\n  protected resolve: (uri: string) => T | null;\n  protected reverseUriMap: Map<string, string>;\n  set(uri: string, document: T): void;\n}\n```\n\n**Members:**\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-all-member-1-\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-all-member-1-\"></a>\n\n#### [all](#-vuedx-vue-virtual-textdocument-DocumentStore-all-member-1-)\n\n\n\n**Signature:**\n```ts\nall(): string[];\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-delete-member-1-\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-delete-member-1-\"></a>\n\n#### [delete](#-vuedx-vue-virtual-textdocument-DocumentStore-delete-member-1-)\n\n\n\n**Signature:**\n```ts\ndelete(uri: string): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-dispose-member-1-\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-dispose-member-1-\"></a>\n\n#### [dispose](#-vuedx-vue-virtual-textdocument-DocumentStore-dispose-member-1-)\n\n\n\n**Signature:**\n```ts\ndispose(): void;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-get-member-1-\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-get-member-1-\"></a>\n\n#### [get](#-vuedx-vue-virtual-textdocument-DocumentStore-get-member-1-)\n\n\n\n**Signature:**\n```ts\nget(uri: string): T | null;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-getNormalizedUri-member-1-\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-getNormalizedUri-member-1-\"></a>\n\n#### [getNormalizedUri](#-vuedx-vue-virtual-textdocument-DocumentStore-getNormalizedUri-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected getNormalizedUri(uri: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-has-member-1-\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-has-member-1-\"></a>\n\n#### [has](#-vuedx-vue-virtual-textdocument-DocumentStore-has-member-1-)\n\n\n\n**Signature:**\n```ts\nhas(uri: string): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-set-member-1-\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-set-member-1-\"></a>\n\n#### [set](#-vuedx-vue-virtual-textdocument-DocumentStore-set-member-1-)\n\n\n\n**Signature:**\n```ts\nset(uri: string, document: T): void;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n| document | <code>T</code> | - |\n\n<br>\n</details>\n\n<br>\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-class\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-class\"></a>\n\n### [RenderFunctionTextDocument](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-class)\n\n\n\n<details><summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare class RenderFunctionTextDocument extends TransformedBlockTextDocument {\n  constructor(container: VueTextDocument, selector: Selector, transformed: TextDocument, source: TextDocument);\n  get ast(): CodegenResult['ast'] | undefined;\n  get contextCompletionsTriggerOffset(): number;\n  static create(options: CreateVirtualTextDocumentOptions): RenderFunctionTextDocument;\n  findExpression(offset: number, length: number): undefined | {\n        offset: number;\n        length: number;\n    };\n  protected generate(): string;\n  getAllGeneratedOffsetsAt(offset: number): undefined | Array<{\n        length: number;\n        offset: number;\n    }>;\n  getGeneratedOffsetAt(offset: number): undefined | {\n        length: number;\n        offset: number;\n    };\n  protected getKnownComponents(): Record<string, ComponentImport>;\n  getOriginalOffsetAt(offset: number): undefined | {\n        offset: number;\n        length: number;\n    };\n  isInGeneratedRange(offset: number): boolean;\n  isInTemplateIdentifierRange(offset: number): boolean;\n  get parserErrors(): CodegenResult['errors'];\n  get tagCompletionsTriggerOffset(): number;\n  toDisplayMappings(): string;\n  protected tryGenerate(): string;\n}\n```\n\n**Members:**\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-create-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-create-member-1-\"></a>\n\n#### [create](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-create-member-1-)\n\n\n\n**Signature:**\n```ts\nstatic create(options: CreateVirtualTextDocumentOptions): RenderFunctionTextDocument;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| options | <code><a href=\"#-vuedx-vue-virtual-textdocument--CreateVirtualTextDocumentOptions-interface\">CreateVirtualTextDocumentOptions</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-findExpression-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-findExpression-member-1-\"></a>\n\n#### [findExpression](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-findExpression-member-1-)\n\n\n\n**Signature:**\n```ts\nfindExpression(offset: number, length: number): undefined | {\n        offset: number;\n        length: number;\n    };\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n| length | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-generate-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-generate-member-1-\"></a>\n\n#### [generate](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-generate-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected generate(): string;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getAllGeneratedOffsetsAt-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getAllGeneratedOffsetsAt-member-1-\"></a>\n\n#### [getAllGeneratedOffsetsAt](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getAllGeneratedOffsetsAt-member-1-)\n\n\n\n**Signature:**\n```ts\ngetAllGeneratedOffsetsAt(offset: number): undefined | Array<{\n        length: number;\n        offset: number;\n    }>;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getGeneratedOffsetAt-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getGeneratedOffsetAt-member-1-\"></a>\n\n#### [getGeneratedOffsetAt](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getGeneratedOffsetAt-member-1-)\n\n\n\n**Signature:**\n```ts\ngetGeneratedOffsetAt(offset: number): undefined | {\n        length: number;\n        offset: number;\n    };\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getKnownComponents-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getKnownComponents-member-1-\"></a>\n\n#### [getKnownComponents](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getKnownComponents-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected getKnownComponents(): Record<string, ComponentImport>;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getOriginalOffsetAt-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getOriginalOffsetAt-member-1-\"></a>\n\n#### [getOriginalOffsetAt](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getOriginalOffsetAt-member-1-)\n\n\n\n**Signature:**\n```ts\ngetOriginalOffsetAt(offset: number): undefined | {\n        offset: number;\n        length: number;\n    };\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-isInGeneratedRange-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-isInGeneratedRange-member-1-\"></a>\n\n#### [isInGeneratedRange](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-isInGeneratedRange-member-1-)\n\n\n\n**Signature:**\n```ts\nisInGeneratedRange(offset: number): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-isInTemplateIdentifierRange-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-isInTemplateIdentifierRange-member-1-\"></a>\n\n#### [isInTemplateIdentifierRange](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-isInTemplateIdentifierRange-member-1-)\n\n\n\n**Signature:**\n```ts\nisInTemplateIdentifierRange(offset: number): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-toDisplayMappings-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-toDisplayMappings-member-1-\"></a>\n\n#### [toDisplayMappings](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-toDisplayMappings-member-1-)\n\n\n\n**Signature:**\n```ts\ntoDisplayMappings(): string;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-tryGenerate-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-tryGenerate-member-1-\"></a>\n\n#### [tryGenerate](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-tryGenerate-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected tryGenerate(): string;\n```\n\n\n<br>\n</details>\n\n<br>\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-class\" id=\"-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-class\"></a>\n\n### [TransformedBlockTextDocument](#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-class)\n\n\n\n<details><summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare class TransformedBlockTextDocument extends VirtualTextDocument {\n  protected constructor(container: VueTextDocument, selector: Selector, transformed: TextDocument, source: TextDocument | VirtualTextDocument, _transform: (document: TransformedBlockTextDocument) => BlockTransformResult);\n  static create(options: CreateTransformedBlockTextDocumentOptions): TransformedBlockTextDocument;\n  protected refresh(): void;\n  transform(): BlockTransformResult;\n  tryGetGeneratedOffset(offset: number): number | undefined;\n  tryGetSourceOffset(offset: number): number | undefined;\n}\n```\n\n**Members:**\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-create-member-1-\" id=\"-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-create-member-1-\"></a>\n\n#### [create](#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-create-member-1-)\n\n\n\n**Signature:**\n```ts\nstatic create(options: CreateTransformedBlockTextDocumentOptions): TransformedBlockTextDocument;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| options | <code><a href=\"#-vuedx-vue-virtual-textdocument--CreateTransformedBlockTextDocumentOptions-interface\">CreateTransformedBlockTextDocumentOptions</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-refresh-member-1-\" id=\"-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-refresh-member-1-\"></a>\n\n#### [refresh](#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-refresh-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected refresh(): void;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-transform-member-1-\" id=\"-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-transform-member-1-\"></a>\n\n#### [transform](#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-transform-member-1-)\n\n\n\n**Signature:**\n```ts\ntransform(): BlockTransformResult;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-tryGetGeneratedOffset-member-1-\" id=\"-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-tryGetGeneratedOffset-member-1-\"></a>\n\n#### [tryGetGeneratedOffset](#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-tryGetGeneratedOffset-member-1-)\n\n\n\n**Signature:**\n```ts\ntryGetGeneratedOffset(offset: number): number | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-tryGetSourceOffset-member-1-\" id=\"-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-tryGetSourceOffset-member-1-\"></a>\n\n#### [tryGetSourceOffset](#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-tryGetSourceOffset-member-1-)\n\n\n\n**Signature:**\n```ts\ntryGetSourceOffset(offset: number): number | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n</details>\n\n<br>\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VirtualTextDocument-class\" id=\"-vuedx-vue-virtual-textdocument-VirtualTextDocument-class\"></a>\n\n### [VirtualTextDocument](#-vuedx-vue-virtual-textdocument-VirtualTextDocument-class)\n\n\n\n<details><summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare class VirtualTextDocument extends ProxyTextDocument {\n  protected constructor(container: VueTextDocument, selector: Selector, doc: TextDocument);\n  readonly container: VueTextDocument;\n  static create(options: CreateVirtualTextDocumentOptions): VirtualTextDocument;\n  protected isDirty: boolean;\n  markDirty(): void;\n  protected refresh(): void;\n  readonly selector: Selector;\n}\n```\n\n**Members:**\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VirtualTextDocument-create-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VirtualTextDocument-create-member-1-\"></a>\n\n#### [create](#-vuedx-vue-virtual-textdocument-VirtualTextDocument-create-member-1-)\n\n\n\n**Signature:**\n```ts\nstatic create(options: CreateVirtualTextDocumentOptions): VirtualTextDocument;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| options | <code><a href=\"#-vuedx-vue-virtual-textdocument--CreateVirtualTextDocumentOptions-interface\">CreateVirtualTextDocumentOptions</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VirtualTextDocument-markDirty-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VirtualTextDocument-markDirty-member-1-\"></a>\n\n#### [markDirty](#-vuedx-vue-virtual-textdocument-VirtualTextDocument-markDirty-member-1-)\n\n\n\n**Signature:**\n```ts\nmarkDirty(): void;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VirtualTextDocument-refresh-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VirtualTextDocument-refresh-member-1-\"></a>\n\n#### [refresh](#-vuedx-vue-virtual-textdocument-VirtualTextDocument-refresh-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected refresh(): void;\n```\n\n\n<br>\n</details>\n\n<br>\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-class\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-class\"></a>\n\n### [VueTextDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-class)\n\n\n\n<details><summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare class VueTextDocument extends ProxyTextDocument {\n  constructor(doc: TextDocument, options?: VueTextDocumentOptions, parseOptions?: SFCParseOptions);\n  all(): VirtualTextDocument[];\n  blockAt(position: Position | number): SFCBlock | null | undefined;\n  static create(uri: string, languageId: string, version: number, content: string, options?: VueTextDocumentOptions, parseOptions?: SFCParseOptions): VueTextDocument;\n  protected createBlockDocument(selector: BlockSelector): VirtualTextDocument | undefined;\n  protected createInternalModuleDocument(): TransformedBlockTextDocument;\n  protected createModuleDocument(): TransformedBlockTextDocument;\n  protected createRenderDocument(): RenderFunctionTextDocument;\n  protected createTemplateASTDocument(): TransformedBlockTextDocument;\n  get descriptor(): SFCDescriptor;\n  documentAt(position: Position | number): VirtualTextDocument | undefined;\n  getBlock(selector: BlockSelector): SFCBlock | null | undefined;\n  getBlockSelector(block: SFCBlock): BlockSelector | undefined;\n  getDocument(selector: typeof RENDER_SELECTOR): RenderFunctionTextDocument;\n  getDocument(selector: SelectorLike): VirtualTextDocument;\n  getDocument(selector: string): VirtualTextDocument | undefined;\n  getDocumentFileName(selectorLike: SelectorLike): string;\n  protected getDocumentId(selector: Selector): string;\n  protected getDocumentLanguage(selector: Selector): string;\n  markDirty(): void;\n  readonly options: VueTextDocumentOptions;\n  protected parse(): void;\n  static update(document: VueTextDocument, changes: TextDocumentContentChangeEvent[], version: number): VueTextDocument;\n}\n```\n\n**Members:**\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-all-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-all-member-1-\"></a>\n\n#### [all](#-vuedx-vue-virtual-textdocument-VueTextDocument-all-member-1-)\n\n\n\n**Signature:**\n```ts\nall(): VirtualTextDocument[];\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-blockAt-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-blockAt-member-1-\"></a>\n\n#### [blockAt](#-vuedx-vue-virtual-textdocument-VueTextDocument-blockAt-member-1-)\n\n\n\n**Signature:**\n```ts\nblockAt(position: Position | number): SFCBlock | null | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| position | <code><a href=\"#vscode-languageserver-textdocument-Position-interface\">Position</a> &#124; number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-create-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-create-member-1-\"></a>\n\n#### [create](#-vuedx-vue-virtual-textdocument-VueTextDocument-create-member-1-)\n\n\n\n**Signature:**\n```ts\nstatic create(uri: string, languageId: string, version: number, content: string, options?: VueTextDocumentOptions, parseOptions?: SFCParseOptions): VueTextDocument;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n| languageId | <code>string</code> | - |\n| version | <code>number</code> | - |\n| content | <code>string</code> | - |\n| options | <code><a href=\"#-vuedx-vue-virtual-textdocument--VueTextDocumentOptions-interface\">VueTextDocumentOptions</a></code> | - |\n| parseOptions | <code><a href=\"#-vue-compiler-sfc-SFCParseOptions-interface\">SFCParseOptions</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-createBlockDocument-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-createBlockDocument-member-1-\"></a>\n\n#### [createBlockDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-createBlockDocument-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected createBlockDocument(selector: BlockSelector): VirtualTextDocument | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selector | <code><a href=\"#-vuedx-vue-virtual-textdocument--BlockSelector-type\">BlockSelector</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-createInternalModuleDocument-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-createInternalModuleDocument-member-1-\"></a>\n\n#### [createInternalModuleDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-createInternalModuleDocument-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected createInternalModuleDocument(): TransformedBlockTextDocument;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-createModuleDocument-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-createModuleDocument-member-1-\"></a>\n\n#### [createModuleDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-createModuleDocument-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected createModuleDocument(): TransformedBlockTextDocument;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-createRenderDocument-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-createRenderDocument-member-1-\"></a>\n\n#### [createRenderDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-createRenderDocument-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected createRenderDocument(): RenderFunctionTextDocument;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-createTemplateASTDocument-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-createTemplateASTDocument-member-1-\"></a>\n\n#### [createTemplateASTDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-createTemplateASTDocument-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected createTemplateASTDocument(): TransformedBlockTextDocument;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-documentAt-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-documentAt-member-1-\"></a>\n\n#### [documentAt](#-vuedx-vue-virtual-textdocument-VueTextDocument-documentAt-member-1-)\n\n\n\n**Signature:**\n```ts\ndocumentAt(position: Position | number): VirtualTextDocument | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| position | <code><a href=\"#vscode-languageserver-textdocument-Position-interface\">Position</a> &#124; number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getBlock-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getBlock-member-1-\"></a>\n\n#### [getBlock](#-vuedx-vue-virtual-textdocument-VueTextDocument-getBlock-member-1-)\n\n\n\n**Signature:**\n```ts\ngetBlock(selector: BlockSelector): SFCBlock | null | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selector | <code><a href=\"#-vuedx-vue-virtual-textdocument--BlockSelector-type\">BlockSelector</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getBlockSelector-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getBlockSelector-member-1-\"></a>\n\n#### [getBlockSelector](#-vuedx-vue-virtual-textdocument-VueTextDocument-getBlockSelector-member-1-)\n\n\n\n**Signature:**\n```ts\ngetBlockSelector(block: SFCBlock): BlockSelector | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| block | <code><a href=\"#-vue-compiler-sfc-SFCBlock-interface\">SFCBlock</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-1-\"></a>\n\n#### [getDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-1-)\n\n\n\n**Signature:**\n```ts\ngetDocument(selector: typeof RENDER_SELECTOR): RenderFunctionTextDocument;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selector | <code>typeof <a href=\"#-vuedx-vue-virtual-textdocument--RENDER-SELECTOR-var\">RENDER_SELECTOR</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-2-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-2-\"></a>\n\n#### [getDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-2-)\n\n\n\n**Signature:**\n```ts\ngetDocument(selector: SelectorLike): VirtualTextDocument;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selector | <code><a href=\"#-vuedx-vue-virtual-textdocument--SelectorLike-type\">SelectorLike</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-3-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-3-\"></a>\n\n#### [getDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-3-)\n\n\n\n**Signature:**\n```ts\ngetDocument(selector: string): VirtualTextDocument | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selector | <code>string</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentFileName-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentFileName-member-1-\"></a>\n\n#### [getDocumentFileName](#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentFileName-member-1-)\n\n\n\n**Signature:**\n```ts\ngetDocumentFileName(selectorLike: SelectorLike): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selectorLike | <code><a href=\"#-vuedx-vue-virtual-textdocument--SelectorLike-type\">SelectorLike</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentId-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentId-member-1-\"></a>\n\n#### [getDocumentId](#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentId-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected getDocumentId(selector: Selector): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selector | <code><a href=\"#-vuedx-vue-virtual-textdocument--Selector-type\">Selector</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentLanguage-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentLanguage-member-1-\"></a>\n\n#### [getDocumentLanguage](#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentLanguage-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected getDocumentLanguage(selector: Selector): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selector | <code><a href=\"#-vuedx-vue-virtual-textdocument--Selector-type\">Selector</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-markDirty-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-markDirty-member-1-\"></a>\n\n#### [markDirty](#-vuedx-vue-virtual-textdocument-VueTextDocument-markDirty-member-1-)\n\n\n\n**Signature:**\n```ts\nmarkDirty(): void;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-parse-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-parse-member-1-\"></a>\n\n#### [parse](#-vuedx-vue-virtual-textdocument-VueTextDocument-parse-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected parse(): void;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-update-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-update-member-1-\"></a>\n\n#### [update](#-vuedx-vue-virtual-textdocument-VueTextDocument-update-member-1-)\n\n\n\n**Signature:**\n```ts\nstatic update(document: VueTextDocument, changes: TextDocumentContentChangeEvent[], version: number): VueTextDocument;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| document | <code><a href=\"#-vuedx-vue-virtual-textdocument--VueTextDocument-class\">VueTextDocument</a></code> | - |\n| changes | <code><a href=\"#vscode-languageserver-textdocument-TextDocumentContentChangeEvent-type\">TextDocumentContentChangeEvent</a>[]</code> | - |\n| version | <code>number</code> | - |\n\n<br>\n</details>\n\n<br>\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-asFsPath-function-1-\" id=\"-vuedx-vue-virtual-textdocument-asFsPath-function-1-\"></a>\n\n### [asFsPath](#-vuedx-vue-virtual-textdocument-asFsPath-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function asFsPath(uri: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-asFsUri-function-1-\" id=\"-vuedx-vue-virtual-textdocument-asFsUri-function-1-\"></a>\n\n### [asFsUri](#-vuedx-vue-virtual-textdocument-asFsUri-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function asFsUri(fileName: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-asUri-function-1-\" id=\"-vuedx-vue-virtual-textdocument-asUri-function-1-\"></a>\n\n### [asUri](#-vuedx-vue-virtual-textdocument-asUri-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function asUri(fileNameOrUri: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileNameOrUri | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-basename-function-1-\" id=\"-vuedx-vue-virtual-textdocument-basename-function-1-\"></a>\n\n### [basename](#-vuedx-vue-virtual-textdocument-basename-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function basename(fileName: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-binarySearch-function-1-\" id=\"-vuedx-vue-virtual-textdocument-binarySearch-function-1-\"></a>\n\n### [binarySearch](#-vuedx-vue-virtual-textdocument-binarySearch-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function binarySearch<T>(array: T[], isMatch: (a: T) => number, returnMin?: boolean): T | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| array | <code>T[]</code> | - |\n| isMatch | <code>(a: T) => number</code> | - |\n| returnMin | <code>boolean</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-getBlockLanguage-function-1-\" id=\"-vuedx-vue-virtual-textdocument-getBlockLanguage-function-1-\"></a>\n\n### [getBlockLanguage](#-vuedx-vue-virtual-textdocument-getBlockLanguage-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function getBlockLanguage(block?: SFCBlock | null): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| block | <code><a href=\"#-vue-compiler-sfc-SFCBlock-interface\">SFCBlock</a> &#124; null</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-getContainingFile-function-1-\" id=\"-vuedx-vue-virtual-textdocument-getContainingFile-function-1-\"></a>\n\n### [getContainingFile](#-vuedx-vue-virtual-textdocument-getContainingFile-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function getContainingFile(fileName: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-getLanguageExtension-function-1-\" id=\"-vuedx-vue-virtual-textdocument-getLanguageExtension-function-1-\"></a>\n\n### [getLanguageExtension](#-vuedx-vue-virtual-textdocument-getLanguageExtension-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function getLanguageExtension(lang: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| lang | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-getLanguageIdFromExtension-function-1-\" id=\"-vuedx-vue-virtual-textdocument-getLanguageIdFromExtension-function-1-\"></a>\n\n### [getLanguageIdFromExtension](#-vuedx-vue-virtual-textdocument-getLanguageIdFromExtension-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function getLanguageIdFromExtension(ext: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| ext | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-isOffsetInBlock-function-1-\" id=\"-vuedx-vue-virtual-textdocument-isOffsetInBlock-function-1-\"></a>\n\n### [isOffsetInBlock](#-vuedx-vue-virtual-textdocument-isOffsetInBlock-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function isOffsetInBlock(offset: number, block?: SFCBlock | null): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n| block | <code><a href=\"#-vue-compiler-sfc-SFCBlock-interface\">SFCBlock</a> &#124; null</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-isVirtualFile-function-1-\" id=\"-vuedx-vue-virtual-textdocument-isVirtualFile-function-1-\"></a>\n\n### [isVirtualFile](#-vuedx-vue-virtual-textdocument-isVirtualFile-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function isVirtualFile(fileName: string): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-isVirtualFileOfType-function-1-\" id=\"-vuedx-vue-virtual-textdocument-isVirtualFileOfType-function-1-\"></a>\n\n### [isVirtualFileOfType](#-vuedx-vue-virtual-textdocument-isVirtualFileOfType-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function isVirtualFileOfType(fileName: string, type: '_render' | '_module' | '_internal' | 'script' | 'scriptSetup'): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n| type | <code>'_render' &#124; '_module' &#124; '_internal' &#124; 'script' &#124; 'scriptSetup'</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-isVueFile-function-1-\" id=\"-vuedx-vue-virtual-textdocument-isVueFile-function-1-\"></a>\n\n### [isVueFile](#-vuedx-vue-virtual-textdocument-isVueFile-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function isVueFile(fileName: string): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-parseVirtualFileName-function-1-\" id=\"-vuedx-vue-virtual-textdocument-parseVirtualFileName-function-1-\"></a>\n\n### [parseVirtualFileName](#-vuedx-vue-virtual-textdocument-parseVirtualFileName-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function parseVirtualFileName(fileName: string): {\n    uri: string;\n    selector: Selector;\n} | null;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-relativeVirtualImportPath-function-1-\" id=\"-vuedx-vue-virtual-textdocument-relativeVirtualImportPath-function-1-\"></a>\n\n### [relativeVirtualImportPath](#-vuedx-vue-virtual-textdocument-relativeVirtualImportPath-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function relativeVirtualImportPath(fileName: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-replaceSlashes-function-1-\" id=\"-vuedx-vue-virtual-textdocument-replaceSlashes-function-1-\"></a>\n\n### [replaceSlashes](#-vuedx-vue-virtual-textdocument-replaceSlashes-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function replaceSlashes(fileName: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n<!-- #region API-DOCS -->\n","readmeFilename":"readme.md","_id":"@vuedx/vue-virtual-textdocument@0.5.1-insiders-1610828338.0","_nodeVersion":"14.14.0","_npmVersion":"6.14.8","dist":{"integrity":"sha512-T62ry/sBbdfbXtz26WrKNFnqP7LwnlmBw06SST0wqiE8H8UwSEpqu69Dck8JvyjvcH7xudUu8GkoooRMPmEN4g==","shasum":"ccf7414a0c634bf6fced4989a7cdef3836e60c4d","tarball":"https://registry.npmjs.org/@vuedx/vue-virtual-textdocument/-/vue-virtual-textdocument-0.5.1-insiders-1610828338.0.tgz","fileCount":8,"unpackedSize":287045,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgA0pVCRA9TVsSAnZWagAA9TIP/2TPt+FIUbcWAZE92h0H\nRJoiTn0rMAyTXNW74PDip2jmlGHmoIxeQDvysSwYFwajtVuMtZO/k10DY6As\nDR6YuxMn24r6Gsd5b3pS3CR6GboGrENnV92xT7HB0Vc3jAYmVlvkdXjn6Gef\nyq8B12HMe+YT7KmGfQwOlZ+cqGeQoSanTxJkgwi+uonNXKSntNunVD2Dnfxh\nRNpEZmTukU0mBYoMNvp4OxluLMcyCXqWn0DDfdfUxoxjSK3VClf2Z15uKuee\nPM7isYuMEhmjsSXhPQXvDvbjpbHQOeSCVu/BpN+CtZbWJymwwDaAockIb4Kx\nIuWgaaE/ZlwJFsgJ9R48EeDDl8sNWbDmtDlatc/U8ZKiyLOKnTWgT2Pwlng1\numqg7KcOZONc7p0s29V8Ue2c9ZvhMqz+FrvF2xknz6+FZlu64rJoCst2xkhI\niQGubdHjF5yKl00aFxkCCDOOevtvyau5w6Pzfby+h7F7GgVBnGnmv5A1bDpN\nFXSQduOh1giWMKpSMjL+tBFRcvwc++LHH5NS12SRtJkZSRYH3vOCFzYYO1b1\nzmhUQ2MV6T3a/w9kMp2BVK1gNtPUJUUSvWdOkqrylXt0GapDJwhhh8af3FZt\n0sKNc6ISpuLlHrfXs0opT8dJ8ikkrXrMoW8pSUn/IoW0HWlzqaAaD+CXgK6W\nwJAl\r\n=HtMH\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIHiPNpfNOawGIYs90AAt4K0Snnbi+e3RwIC6mSmRStiBAiEA9Z1/+OdSHwuxO6kIUdosBeRvXqRq7sRgrUB+3ZLWk20="}]},"_npmUser":{"name":"znck","email":"rahulkdn@gmail.com"},"directories":{},"maintainers":[{"name":"znck","email":"rahulkdn@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/vue-virtual-textdocument_0.5.1-insiders-1610828338.0_1610828373223_0.278426334797649"},"_hasShrinkwrap":false},"0.6.1-insiders-1610883378.0":{"name":"@vuedx/vue-virtual-textdocument","version":"0.6.1-insiders-1610883378.0","description":"An implementation of virtual filesystem for accessing blocks in a `.vue` file as independent files.","main":"dist/index.cjs.js","module":"dist/index.esm.js","types":"dist/index.d.ts","private":false,"scripts":{},"keywords":["vue","vue sfc","sfc","vue virtual files"],"repository":{"type":"git","url":"git+https://github.com/znck/vue-developer-experience.git"},"author":{"name":"Rahul Kadyan","email":"rahulkdn@gmail.com","url":"https://znck.me/"},"funding":{"type":"individual","url":"https://github.com/sponsors/znck"},"license":"MIT","bugs":{"url":"https://github.com/znck/vue-developer-experience/issues"},"homepage":"https://github.com/znck/vue-developer-experience#readme","dependencies":{"@vuedx/analyze":"0.6.1-insiders-1610883378.0","@vuedx/compiler-sfc":"0.6.1-insiders-1610883378.0","@vuedx/compiler-tsx":"0.6.1-insiders-1610883378.0","@vuedx/shared":"0.6.1-insiders-1610883378.0","source-map":"^0.6.1","vscode-languageserver-textdocument":"^1.0.1","vscode-uri":"^2.1.2"},"devDependencies":{"fast-glob":"^3.2.4","typescript":"^4.0.3"},"readme":"# Vue Virtual TextDocument\n\nAn implementation of virtual filesystem for accessing blocks in a `.vue` file as independent files.\n\n## Support\n\nThis package is part of [VueDX project](https://github.com/znck/vue-developer-experience), maintained by [Rahul Kadyan](https://github.com/znck). You can [💖 sponsor him](https://github.com/sponsors/znck) for continued development of this package and other VueDX tools.\n\n```\nnpm add @vuedx/vue-virtual-textdocument\n```\n<!-- #region API-DOCS -->\n<!-- Do not edit this file. It is a report generated by [scripts/docgen.js](https://github.com/znck/vue-developer-experience/tree/master/scripts/docgen.js). -->\n\n## API\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-AsyncDocumentStore-class\" id=\"-vuedx-vue-virtual-textdocument-AsyncDocumentStore-class\"></a>\n\n### [AsyncDocumentStore](#-vuedx-vue-virtual-textdocument-AsyncDocumentStore-class)\n\n\n\n<details><summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare class AsyncDocumentStore<T> extends DocumentStore<T> {\n  constructor(resolve: (uri: string) => T | Promise<T | null> | null, normalize?: (uri: string) => string);\n  get(uri: string): T | null;\n  get(uri: string): Promise<T | null>;\n}\n```\n\n**Members:**\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-AsyncDocumentStore-get-member-1-\" id=\"-vuedx-vue-virtual-textdocument-AsyncDocumentStore-get-member-1-\"></a>\n\n#### [get](#-vuedx-vue-virtual-textdocument-AsyncDocumentStore-get-member-1-)\n\n\n\n**Signature:**\n```ts\nget(uri: string): T | null;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-AsyncDocumentStore-get-member-2-\" id=\"-vuedx-vue-virtual-textdocument-AsyncDocumentStore-get-member-2-\"></a>\n\n#### [get](#-vuedx-vue-virtual-textdocument-AsyncDocumentStore-get-member-2-)\n\n\n\n**Signature:**\n```ts\nget(uri: string): Promise<T | null>;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n\n<br>\n</details>\n\n<br>\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-class\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-class\"></a>\n\n### [DocumentStore](#-vuedx-vue-virtual-textdocument-DocumentStore-class)\n\n\n\n<details><summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare class DocumentStore<T> {\n  constructor(resolve: (uri: string) => T | null, normalize?: (uri: string) => string);\n  all(): string[];\n  delete(uri: string): boolean;\n  dispose(): void;\n  get(uri: string): T | null;\n  protected getNormalizedUri(uri: string): string;\n  has(uri: string): boolean;\n  protected map: Map<string, T>;\n  normalize: (uri: string) => string;\n  protected resolve: (uri: string) => T | null;\n  protected reverseUriMap: Map<string, string>;\n  set(uri: string, document: T): void;\n}\n```\n\n**Members:**\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-all-member-1-\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-all-member-1-\"></a>\n\n#### [all](#-vuedx-vue-virtual-textdocument-DocumentStore-all-member-1-)\n\n\n\n**Signature:**\n```ts\nall(): string[];\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-delete-member-1-\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-delete-member-1-\"></a>\n\n#### [delete](#-vuedx-vue-virtual-textdocument-DocumentStore-delete-member-1-)\n\n\n\n**Signature:**\n```ts\ndelete(uri: string): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-dispose-member-1-\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-dispose-member-1-\"></a>\n\n#### [dispose](#-vuedx-vue-virtual-textdocument-DocumentStore-dispose-member-1-)\n\n\n\n**Signature:**\n```ts\ndispose(): void;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-get-member-1-\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-get-member-1-\"></a>\n\n#### [get](#-vuedx-vue-virtual-textdocument-DocumentStore-get-member-1-)\n\n\n\n**Signature:**\n```ts\nget(uri: string): T | null;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-getNormalizedUri-member-1-\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-getNormalizedUri-member-1-\"></a>\n\n#### [getNormalizedUri](#-vuedx-vue-virtual-textdocument-DocumentStore-getNormalizedUri-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected getNormalizedUri(uri: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-has-member-1-\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-has-member-1-\"></a>\n\n#### [has](#-vuedx-vue-virtual-textdocument-DocumentStore-has-member-1-)\n\n\n\n**Signature:**\n```ts\nhas(uri: string): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-set-member-1-\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-set-member-1-\"></a>\n\n#### [set](#-vuedx-vue-virtual-textdocument-DocumentStore-set-member-1-)\n\n\n\n**Signature:**\n```ts\nset(uri: string, document: T): void;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n| document | <code>T</code> | - |\n\n<br>\n</details>\n\n<br>\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-class\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-class\"></a>\n\n### [RenderFunctionTextDocument](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-class)\n\n\n\n<details><summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare class RenderFunctionTextDocument extends TransformedBlockTextDocument {\n  constructor(container: VueTextDocument, selector: Selector, transformed: TextDocument, source: TextDocument);\n  get ast(): CodegenResult['ast'] | undefined;\n  get contextCompletionsTriggerOffset(): number;\n  static create(options: CreateVirtualTextDocumentOptions): RenderFunctionTextDocument;\n  findExpression(offset: number, length: number): undefined | {\n        offset: number;\n        length: number;\n    };\n  protected generate(): string;\n  getAllGeneratedOffsetsAt(offset: number): undefined | Array<{\n        length: number;\n        offset: number;\n    }>;\n  getGeneratedOffsetAt(offset: number): undefined | {\n        length: number;\n        offset: number;\n    };\n  protected getKnownComponents(): Record<string, ComponentImport>;\n  getOriginalOffsetAt(offset: number): undefined | {\n        offset: number;\n        length: number;\n    };\n  isInGeneratedRange(offset: number): boolean;\n  isInTemplateIdentifierRange(offset: number): boolean;\n  get parserErrors(): CodegenResult['errors'];\n  get tagCompletionsTriggerOffset(): number;\n  toDisplayMappings(): string;\n  protected tryGenerate(): string;\n}\n```\n\n**Members:**\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-create-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-create-member-1-\"></a>\n\n#### [create](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-create-member-1-)\n\n\n\n**Signature:**\n```ts\nstatic create(options: CreateVirtualTextDocumentOptions): RenderFunctionTextDocument;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| options | <code><a href=\"#-vuedx-vue-virtual-textdocument--CreateVirtualTextDocumentOptions-interface\">CreateVirtualTextDocumentOptions</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-findExpression-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-findExpression-member-1-\"></a>\n\n#### [findExpression](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-findExpression-member-1-)\n\n\n\n**Signature:**\n```ts\nfindExpression(offset: number, length: number): undefined | {\n        offset: number;\n        length: number;\n    };\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n| length | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-generate-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-generate-member-1-\"></a>\n\n#### [generate](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-generate-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected generate(): string;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getAllGeneratedOffsetsAt-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getAllGeneratedOffsetsAt-member-1-\"></a>\n\n#### [getAllGeneratedOffsetsAt](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getAllGeneratedOffsetsAt-member-1-)\n\n\n\n**Signature:**\n```ts\ngetAllGeneratedOffsetsAt(offset: number): undefined | Array<{\n        length: number;\n        offset: number;\n    }>;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getGeneratedOffsetAt-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getGeneratedOffsetAt-member-1-\"></a>\n\n#### [getGeneratedOffsetAt](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getGeneratedOffsetAt-member-1-)\n\n\n\n**Signature:**\n```ts\ngetGeneratedOffsetAt(offset: number): undefined | {\n        length: number;\n        offset: number;\n    };\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getKnownComponents-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getKnownComponents-member-1-\"></a>\n\n#### [getKnownComponents](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getKnownComponents-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected getKnownComponents(): Record<string, ComponentImport>;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getOriginalOffsetAt-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getOriginalOffsetAt-member-1-\"></a>\n\n#### [getOriginalOffsetAt](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getOriginalOffsetAt-member-1-)\n\n\n\n**Signature:**\n```ts\ngetOriginalOffsetAt(offset: number): undefined | {\n        offset: number;\n        length: number;\n    };\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-isInGeneratedRange-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-isInGeneratedRange-member-1-\"></a>\n\n#### [isInGeneratedRange](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-isInGeneratedRange-member-1-)\n\n\n\n**Signature:**\n```ts\nisInGeneratedRange(offset: number): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-isInTemplateIdentifierRange-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-isInTemplateIdentifierRange-member-1-\"></a>\n\n#### [isInTemplateIdentifierRange](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-isInTemplateIdentifierRange-member-1-)\n\n\n\n**Signature:**\n```ts\nisInTemplateIdentifierRange(offset: number): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-toDisplayMappings-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-toDisplayMappings-member-1-\"></a>\n\n#### [toDisplayMappings](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-toDisplayMappings-member-1-)\n\n\n\n**Signature:**\n```ts\ntoDisplayMappings(): string;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-tryGenerate-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-tryGenerate-member-1-\"></a>\n\n#### [tryGenerate](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-tryGenerate-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected tryGenerate(): string;\n```\n\n\n<br>\n</details>\n\n<br>\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-class\" id=\"-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-class\"></a>\n\n### [TransformedBlockTextDocument](#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-class)\n\n\n\n<details><summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare class TransformedBlockTextDocument extends VirtualTextDocument {\n  protected constructor(container: VueTextDocument, selector: Selector, transformed: TextDocument, source: TextDocument | VirtualTextDocument, _transform: (document: TransformedBlockTextDocument) => BlockTransformResult);\n  static create(options: CreateTransformedBlockTextDocumentOptions): TransformedBlockTextDocument;\n  protected refresh(): void;\n  transform(): BlockTransformResult;\n  tryGetGeneratedOffset(offset: number): number | undefined;\n  tryGetSourceOffset(offset: number): number | undefined;\n}\n```\n\n**Members:**\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-create-member-1-\" id=\"-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-create-member-1-\"></a>\n\n#### [create](#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-create-member-1-)\n\n\n\n**Signature:**\n```ts\nstatic create(options: CreateTransformedBlockTextDocumentOptions): TransformedBlockTextDocument;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| options | <code><a href=\"#-vuedx-vue-virtual-textdocument--CreateTransformedBlockTextDocumentOptions-interface\">CreateTransformedBlockTextDocumentOptions</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-refresh-member-1-\" id=\"-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-refresh-member-1-\"></a>\n\n#### [refresh](#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-refresh-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected refresh(): void;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-transform-member-1-\" id=\"-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-transform-member-1-\"></a>\n\n#### [transform](#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-transform-member-1-)\n\n\n\n**Signature:**\n```ts\ntransform(): BlockTransformResult;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-tryGetGeneratedOffset-member-1-\" id=\"-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-tryGetGeneratedOffset-member-1-\"></a>\n\n#### [tryGetGeneratedOffset](#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-tryGetGeneratedOffset-member-1-)\n\n\n\n**Signature:**\n```ts\ntryGetGeneratedOffset(offset: number): number | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-tryGetSourceOffset-member-1-\" id=\"-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-tryGetSourceOffset-member-1-\"></a>\n\n#### [tryGetSourceOffset](#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-tryGetSourceOffset-member-1-)\n\n\n\n**Signature:**\n```ts\ntryGetSourceOffset(offset: number): number | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n</details>\n\n<br>\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VirtualTextDocument-class\" id=\"-vuedx-vue-virtual-textdocument-VirtualTextDocument-class\"></a>\n\n### [VirtualTextDocument](#-vuedx-vue-virtual-textdocument-VirtualTextDocument-class)\n\n\n\n<details><summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare class VirtualTextDocument extends ProxyTextDocument {\n  protected constructor(container: VueTextDocument, selector: Selector, doc: TextDocument);\n  readonly container: VueTextDocument;\n  static create(options: CreateVirtualTextDocumentOptions): VirtualTextDocument;\n  protected isDirty: boolean;\n  markDirty(): void;\n  protected refresh(): void;\n  readonly selector: Selector;\n}\n```\n\n**Members:**\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VirtualTextDocument-create-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VirtualTextDocument-create-member-1-\"></a>\n\n#### [create](#-vuedx-vue-virtual-textdocument-VirtualTextDocument-create-member-1-)\n\n\n\n**Signature:**\n```ts\nstatic create(options: CreateVirtualTextDocumentOptions): VirtualTextDocument;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| options | <code><a href=\"#-vuedx-vue-virtual-textdocument--CreateVirtualTextDocumentOptions-interface\">CreateVirtualTextDocumentOptions</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VirtualTextDocument-markDirty-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VirtualTextDocument-markDirty-member-1-\"></a>\n\n#### [markDirty](#-vuedx-vue-virtual-textdocument-VirtualTextDocument-markDirty-member-1-)\n\n\n\n**Signature:**\n```ts\nmarkDirty(): void;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VirtualTextDocument-refresh-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VirtualTextDocument-refresh-member-1-\"></a>\n\n#### [refresh](#-vuedx-vue-virtual-textdocument-VirtualTextDocument-refresh-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected refresh(): void;\n```\n\n\n<br>\n</details>\n\n<br>\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-class\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-class\"></a>\n\n### [VueTextDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-class)\n\n\n\n<details><summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare class VueTextDocument extends ProxyTextDocument {\n  constructor(doc: TextDocument, options?: VueTextDocumentOptions, parseOptions?: SFCParseOptions);\n  all(): VirtualTextDocument[];\n  blockAt(position: Position | number): SFCBlock | null | undefined;\n  static create(uri: string, languageId: string, version: number, content: string, options?: VueTextDocumentOptions, parseOptions?: SFCParseOptions): VueTextDocument;\n  protected createBlockDocument(selector: BlockSelector): VirtualTextDocument | undefined;\n  protected createInternalModuleDocument(): TransformedBlockTextDocument;\n  protected createModuleDocument(): TransformedBlockTextDocument;\n  protected createRenderDocument(): RenderFunctionTextDocument;\n  protected createTemplateASTDocument(): TransformedBlockTextDocument;\n  get descriptor(): SFCDescriptor;\n  documentAt(position: Position | number): VirtualTextDocument | undefined;\n  getBlock(selector: BlockSelector): SFCBlock | null | undefined;\n  getBlockSelector(block: SFCBlock): BlockSelector | undefined;\n  getDocument(selector: typeof RENDER_SELECTOR): RenderFunctionTextDocument;\n  getDocument(selector: SelectorLike): VirtualTextDocument;\n  getDocument(selector: string): VirtualTextDocument | undefined;\n  getDocumentFileName(selectorLike: SelectorLike): string;\n  protected getDocumentId(selector: Selector): string;\n  protected getDocumentLanguage(selector: Selector): string;\n  markDirty(): void;\n  readonly options: VueTextDocumentOptions;\n  protected parse(): void;\n  static update(document: VueTextDocument, changes: TextDocumentContentChangeEvent[], version: number): VueTextDocument;\n}\n```\n\n**Members:**\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-all-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-all-member-1-\"></a>\n\n#### [all](#-vuedx-vue-virtual-textdocument-VueTextDocument-all-member-1-)\n\n\n\n**Signature:**\n```ts\nall(): VirtualTextDocument[];\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-blockAt-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-blockAt-member-1-\"></a>\n\n#### [blockAt](#-vuedx-vue-virtual-textdocument-VueTextDocument-blockAt-member-1-)\n\n\n\n**Signature:**\n```ts\nblockAt(position: Position | number): SFCBlock | null | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| position | <code><a href=\"#vscode-languageserver-textdocument-Position-interface\">Position</a> &#124; number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-create-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-create-member-1-\"></a>\n\n#### [create](#-vuedx-vue-virtual-textdocument-VueTextDocument-create-member-1-)\n\n\n\n**Signature:**\n```ts\nstatic create(uri: string, languageId: string, version: number, content: string, options?: VueTextDocumentOptions, parseOptions?: SFCParseOptions): VueTextDocument;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n| languageId | <code>string</code> | - |\n| version | <code>number</code> | - |\n| content | <code>string</code> | - |\n| options | <code><a href=\"#-vuedx-vue-virtual-textdocument--VueTextDocumentOptions-interface\">VueTextDocumentOptions</a></code> | - |\n| parseOptions | <code><a href=\"#-vue-compiler-sfc-SFCParseOptions-interface\">SFCParseOptions</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-createBlockDocument-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-createBlockDocument-member-1-\"></a>\n\n#### [createBlockDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-createBlockDocument-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected createBlockDocument(selector: BlockSelector): VirtualTextDocument | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selector | <code><a href=\"#-vuedx-vue-virtual-textdocument--BlockSelector-type\">BlockSelector</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-createInternalModuleDocument-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-createInternalModuleDocument-member-1-\"></a>\n\n#### [createInternalModuleDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-createInternalModuleDocument-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected createInternalModuleDocument(): TransformedBlockTextDocument;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-createModuleDocument-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-createModuleDocument-member-1-\"></a>\n\n#### [createModuleDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-createModuleDocument-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected createModuleDocument(): TransformedBlockTextDocument;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-createRenderDocument-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-createRenderDocument-member-1-\"></a>\n\n#### [createRenderDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-createRenderDocument-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected createRenderDocument(): RenderFunctionTextDocument;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-createTemplateASTDocument-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-createTemplateASTDocument-member-1-\"></a>\n\n#### [createTemplateASTDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-createTemplateASTDocument-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected createTemplateASTDocument(): TransformedBlockTextDocument;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-documentAt-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-documentAt-member-1-\"></a>\n\n#### [documentAt](#-vuedx-vue-virtual-textdocument-VueTextDocument-documentAt-member-1-)\n\n\n\n**Signature:**\n```ts\ndocumentAt(position: Position | number): VirtualTextDocument | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| position | <code><a href=\"#vscode-languageserver-textdocument-Position-interface\">Position</a> &#124; number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getBlock-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getBlock-member-1-\"></a>\n\n#### [getBlock](#-vuedx-vue-virtual-textdocument-VueTextDocument-getBlock-member-1-)\n\n\n\n**Signature:**\n```ts\ngetBlock(selector: BlockSelector): SFCBlock | null | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selector | <code><a href=\"#-vuedx-vue-virtual-textdocument--BlockSelector-type\">BlockSelector</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getBlockSelector-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getBlockSelector-member-1-\"></a>\n\n#### [getBlockSelector](#-vuedx-vue-virtual-textdocument-VueTextDocument-getBlockSelector-member-1-)\n\n\n\n**Signature:**\n```ts\ngetBlockSelector(block: SFCBlock): BlockSelector | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| block | <code><a href=\"#-vue-compiler-sfc-SFCBlock-interface\">SFCBlock</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-1-\"></a>\n\n#### [getDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-1-)\n\n\n\n**Signature:**\n```ts\ngetDocument(selector: typeof RENDER_SELECTOR): RenderFunctionTextDocument;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selector | <code>typeof <a href=\"#-vuedx-vue-virtual-textdocument--RENDER-SELECTOR-var\">RENDER_SELECTOR</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-2-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-2-\"></a>\n\n#### [getDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-2-)\n\n\n\n**Signature:**\n```ts\ngetDocument(selector: SelectorLike): VirtualTextDocument;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selector | <code><a href=\"#-vuedx-vue-virtual-textdocument--SelectorLike-type\">SelectorLike</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-3-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-3-\"></a>\n\n#### [getDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-3-)\n\n\n\n**Signature:**\n```ts\ngetDocument(selector: string): VirtualTextDocument | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selector | <code>string</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentFileName-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentFileName-member-1-\"></a>\n\n#### [getDocumentFileName](#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentFileName-member-1-)\n\n\n\n**Signature:**\n```ts\ngetDocumentFileName(selectorLike: SelectorLike): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selectorLike | <code><a href=\"#-vuedx-vue-virtual-textdocument--SelectorLike-type\">SelectorLike</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentId-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentId-member-1-\"></a>\n\n#### [getDocumentId](#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentId-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected getDocumentId(selector: Selector): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selector | <code><a href=\"#-vuedx-vue-virtual-textdocument--Selector-type\">Selector</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentLanguage-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentLanguage-member-1-\"></a>\n\n#### [getDocumentLanguage](#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentLanguage-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected getDocumentLanguage(selector: Selector): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selector | <code><a href=\"#-vuedx-vue-virtual-textdocument--Selector-type\">Selector</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-markDirty-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-markDirty-member-1-\"></a>\n\n#### [markDirty](#-vuedx-vue-virtual-textdocument-VueTextDocument-markDirty-member-1-)\n\n\n\n**Signature:**\n```ts\nmarkDirty(): void;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-parse-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-parse-member-1-\"></a>\n\n#### [parse](#-vuedx-vue-virtual-textdocument-VueTextDocument-parse-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected parse(): void;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-update-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-update-member-1-\"></a>\n\n#### [update](#-vuedx-vue-virtual-textdocument-VueTextDocument-update-member-1-)\n\n\n\n**Signature:**\n```ts\nstatic update(document: VueTextDocument, changes: TextDocumentContentChangeEvent[], version: number): VueTextDocument;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| document | <code><a href=\"#-vuedx-vue-virtual-textdocument--VueTextDocument-class\">VueTextDocument</a></code> | - |\n| changes | <code><a href=\"#vscode-languageserver-textdocument-TextDocumentContentChangeEvent-type\">TextDocumentContentChangeEvent</a>[]</code> | - |\n| version | <code>number</code> | - |\n\n<br>\n</details>\n\n<br>\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-asFsPath-function-1-\" id=\"-vuedx-vue-virtual-textdocument-asFsPath-function-1-\"></a>\n\n### [asFsPath](#-vuedx-vue-virtual-textdocument-asFsPath-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function asFsPath(uri: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-asFsUri-function-1-\" id=\"-vuedx-vue-virtual-textdocument-asFsUri-function-1-\"></a>\n\n### [asFsUri](#-vuedx-vue-virtual-textdocument-asFsUri-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function asFsUri(fileName: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-asUri-function-1-\" id=\"-vuedx-vue-virtual-textdocument-asUri-function-1-\"></a>\n\n### [asUri](#-vuedx-vue-virtual-textdocument-asUri-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function asUri(fileNameOrUri: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileNameOrUri | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-basename-function-1-\" id=\"-vuedx-vue-virtual-textdocument-basename-function-1-\"></a>\n\n### [basename](#-vuedx-vue-virtual-textdocument-basename-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function basename(fileName: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-binarySearch-function-1-\" id=\"-vuedx-vue-virtual-textdocument-binarySearch-function-1-\"></a>\n\n### [binarySearch](#-vuedx-vue-virtual-textdocument-binarySearch-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function binarySearch<T>(array: T[], isMatch: (a: T) => number, returnMin?: boolean): T | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| array | <code>T[]</code> | - |\n| isMatch | <code>(a: T) => number</code> | - |\n| returnMin | <code>boolean</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-getBlockLanguage-function-1-\" id=\"-vuedx-vue-virtual-textdocument-getBlockLanguage-function-1-\"></a>\n\n### [getBlockLanguage](#-vuedx-vue-virtual-textdocument-getBlockLanguage-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function getBlockLanguage(block?: SFCBlock | null): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| block | <code><a href=\"#-vue-compiler-sfc-SFCBlock-interface\">SFCBlock</a> &#124; null</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-getContainingFile-function-1-\" id=\"-vuedx-vue-virtual-textdocument-getContainingFile-function-1-\"></a>\n\n### [getContainingFile](#-vuedx-vue-virtual-textdocument-getContainingFile-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function getContainingFile(fileName: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-getLanguageExtension-function-1-\" id=\"-vuedx-vue-virtual-textdocument-getLanguageExtension-function-1-\"></a>\n\n### [getLanguageExtension](#-vuedx-vue-virtual-textdocument-getLanguageExtension-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function getLanguageExtension(lang: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| lang | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-getLanguageIdFromExtension-function-1-\" id=\"-vuedx-vue-virtual-textdocument-getLanguageIdFromExtension-function-1-\"></a>\n\n### [getLanguageIdFromExtension](#-vuedx-vue-virtual-textdocument-getLanguageIdFromExtension-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function getLanguageIdFromExtension(ext: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| ext | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-isOffsetInBlock-function-1-\" id=\"-vuedx-vue-virtual-textdocument-isOffsetInBlock-function-1-\"></a>\n\n### [isOffsetInBlock](#-vuedx-vue-virtual-textdocument-isOffsetInBlock-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function isOffsetInBlock(offset: number, block?: SFCBlock | null): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n| block | <code><a href=\"#-vue-compiler-sfc-SFCBlock-interface\">SFCBlock</a> &#124; null</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-isVirtualFile-function-1-\" id=\"-vuedx-vue-virtual-textdocument-isVirtualFile-function-1-\"></a>\n\n### [isVirtualFile](#-vuedx-vue-virtual-textdocument-isVirtualFile-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function isVirtualFile(fileName: string): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-isVirtualFileOfType-function-1-\" id=\"-vuedx-vue-virtual-textdocument-isVirtualFileOfType-function-1-\"></a>\n\n### [isVirtualFileOfType](#-vuedx-vue-virtual-textdocument-isVirtualFileOfType-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function isVirtualFileOfType(fileName: string, type: '_render' | '_module' | '_internal' | 'script' | 'scriptSetup'): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n| type | <code>'_render' &#124; '_module' &#124; '_internal' &#124; 'script' &#124; 'scriptSetup'</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-isVueFile-function-1-\" id=\"-vuedx-vue-virtual-textdocument-isVueFile-function-1-\"></a>\n\n### [isVueFile](#-vuedx-vue-virtual-textdocument-isVueFile-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function isVueFile(fileName: string): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-parseVirtualFileName-function-1-\" id=\"-vuedx-vue-virtual-textdocument-parseVirtualFileName-function-1-\"></a>\n\n### [parseVirtualFileName](#-vuedx-vue-virtual-textdocument-parseVirtualFileName-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function parseVirtualFileName(fileName: string): {\n    uri: string;\n    selector: Selector;\n} | null;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-relativeVirtualImportPath-function-1-\" id=\"-vuedx-vue-virtual-textdocument-relativeVirtualImportPath-function-1-\"></a>\n\n### [relativeVirtualImportPath](#-vuedx-vue-virtual-textdocument-relativeVirtualImportPath-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function relativeVirtualImportPath(fileName: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-replaceSlashes-function-1-\" id=\"-vuedx-vue-virtual-textdocument-replaceSlashes-function-1-\"></a>\n\n### [replaceSlashes](#-vuedx-vue-virtual-textdocument-replaceSlashes-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function replaceSlashes(fileName: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n<!-- #region API-DOCS -->\n","readmeFilename":"readme.md","_id":"@vuedx/vue-virtual-textdocument@0.6.1-insiders-1610883378.0","_nodeVersion":"14.14.0","_npmVersion":"6.14.8","dist":{"integrity":"sha512-bAj36I8xkEXVR1EcC41cktSOs2shcFLC3gu4r4RtCWFCULzlWsun3wGTZGAyreTDJ7lKHr6Bl1LxjJx/RZSPmA==","shasum":"1d4ec03e7f8eaea8a9409e2e92c61cd308e08af7","tarball":"https://registry.npmjs.org/@vuedx/vue-virtual-textdocument/-/vue-virtual-textdocument-0.6.1-insiders-1610883378.0.tgz","fileCount":8,"unpackedSize":287045,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgBCFTCRA9TVsSAnZWagAA0WEQAJfokhoD3HIPMLYwWtx0\nuqSq9aqVlwQrtygk5mxxtCRmX3lXZJAD15a1TfkOIoagniScXWjXahm7Nzh5\nf3y70BmBt3C2D/VsyLKo+yQyuYqeXo74BWzh6KtxLqLGtKl9R6yel80az6Lr\nEv6/E8h0ZfqpixCGAB3WmIdWTEqy2E2jmCLjaxrObNBZHaI3k5FI51NVNhQP\nSYdabLqYL8NDRBFKTBCAeH5YRo9tVQjcpLZXnD4Ig77QyygtDinx2r/WuBYP\n/GcTVVZ6dUCet3Jmp64eeCDasM6q/GElNBvjL/tgheNDI9A+QV3EaMGtV5AF\nsrq4V5530YSpjG3yRXhBuKg6xuQFgHwyND9/CNaKiUZ3anXFZQBJs17TUBYz\nNXODzEHnfNKqjJSeb8V3Oe4dX5iax14XS7SH0KwCKzh6/67Vbi6Nf9qH6K7C\ndwUUD97FgS0HrDG4U7JHo8Wms3WVyzwftOxkLWffjt3pp0bO6PMgWVKSgtEQ\nwL3LKD4CfqWgLSgvagPEbe77v127xbQgmlvemi4bMbeoBNiOBxu+bpZAk1Oq\nomKLSrjRzRyqR6o4h711g/F8glvEIrAUMRxZVs327xic/CxqUZYHYEKPmiYB\n6qzrcQr4SdQAGVEbAP8vQpz+IzNZLGPgJdnsWc1Olb6X30Pc7o4ezVUdJxiy\n1Tnj\r\n=ttOc\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQC6VzZrHHOA6BM5fmRGn+5jd+ADZpaRZI2X+G59fPZwdAIgAw0TcSjNIFYdN73ZTwuYBUASLWL8T9H7VdC33MJu+Hw="}]},"_npmUser":{"name":"znck","email":"rahulkdn@gmail.com"},"directories":{},"maintainers":[{"name":"znck","email":"rahulkdn@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/vue-virtual-textdocument_0.6.1-insiders-1610883378.0_1610883411478_0.38288476707193153"},"_hasShrinkwrap":false},"0.6.0":{"name":"@vuedx/vue-virtual-textdocument","version":"0.6.0","description":"An implementation of virtual filesystem for accessing blocks in a `.vue` file as independent files.","main":"dist/index.cjs.js","module":"dist/index.esm.js","types":"dist/index.d.ts","private":false,"scripts":{},"keywords":["vue","vue sfc","sfc","vue virtual files"],"repository":{"type":"git","url":"git+https://github.com/znck/vue-developer-experience.git"},"author":{"name":"Rahul Kadyan","email":"rahulkdn@gmail.com","url":"https://znck.me/"},"funding":{"type":"individual","url":"https://github.com/sponsors/znck"},"license":"MIT","bugs":{"url":"https://github.com/znck/vue-developer-experience/issues"},"homepage":"https://github.com/znck/vue-developer-experience#readme","dependencies":{"@vuedx/analyze":"0.6.0","@vuedx/compiler-sfc":"0.6.0","@vuedx/compiler-tsx":"0.6.0","@vuedx/shared":"0.6.0","source-map":"^0.6.1","vscode-languageserver-textdocument":"^1.0.1","vscode-uri":"^2.1.2"},"devDependencies":{"fast-glob":"^3.2.4","typescript":"^4.0.3"},"_id":"@vuedx/vue-virtual-textdocument@0.6.0","_nodeVersion":"14.14.0","_npmVersion":"6.14.8","dist":{"integrity":"sha512-LkJRmuyvTS3j9UoLPVIPB0/V6WhyuFtCHIzg6guGU/HxfhzttXC0/LQZ9gMCIC4RmDM0fpYb4pIkxjKWPGcZMw==","shasum":"2df68c78cd3a9d69cf56fae9581c939ebc22990d","tarball":"https://registry.npmjs.org/@vuedx/vue-virtual-textdocument/-/vue-virtual-textdocument-0.6.0.tgz","fileCount":8,"unpackedSize":286935,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgBCHqCRA9TVsSAnZWagAA70oP/AyjBRRShcBq7TDrX838\nCq+FfWPWVV7XAdwk2hfrSEC9VVmNGhMN2U0vnF78zLWDaKfo9Ju3rLitflDg\npFZtlK4Lq14gveEtkIGuXsx/TUiEvcYNyrXQk6mM14txs4jouENN2vSC08JL\nHFdoViUox67fWXAN+3iGWpHmpPbFcvsdGhPPr4NPxepFIV8TmXi210GLObQO\n7s3pFRpVL3LWszt18xYBYFl6CoXBVXmY9j7OSzAaEpFhIRamnoOWXu1W7vKV\n4F8+NbfRxCIwnARDjL/Qlw1eZruy20v6opXNfTa9/MGv3ZXfBWmdNeeTQK6z\nOXCGXHL4h50kARW+MLgVken73OkbQkFdSwOio6DQIbPNC9pv2DzqWjgJRLIW\nlsvsXknId5Ve2U/GASu5Gcx+WbU8xLB/ATbNIrwKyW6Usb4FmVwv91LERS5w\nJMSnqorDrHoAdCKolwSJ1OQKyx5xLp01+8YOrQyufkMhKYKYkgGCmBfBruAD\nOPBfP/zcFS7qVhFnd1KEzk6+bncPWnRTb9nY5lYRR0okAyIUF69L4HDo+ywf\nDDKub1nN6ij1FZ4V0k8fe2sYmvBohlmmv2pqxi9lxtGlNkIzfNnuQMbv55x/\nbeij/XFtd8ik5kJQfASPnq4RF4bpECe2JYUAYoQtiWM65yDEHIDVw7wP4Y87\nCd8Z\r\n=mBtr\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIEjXqHyjgptdeHTnSvCmao0PtSCahdn+kqlDX2U6Ir+YAiBS77Cxq3QYhn8F1JedzB97/2h6uIF85X5wPbVrFuEIxg=="}]},"_npmUser":{"name":"znck","email":"rahulkdn@gmail.com"},"directories":{},"maintainers":[{"name":"znck","email":"rahulkdn@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/vue-virtual-textdocument_0.6.0_1610883561477_0.7421596775130517"},"_hasShrinkwrap":false},"0.6.1-insiders-1610891537.0":{"name":"@vuedx/vue-virtual-textdocument","version":"0.6.1-insiders-1610891537.0","description":"An implementation of virtual filesystem for accessing blocks in a `.vue` file as independent files.","main":"dist/index.cjs.js","module":"dist/index.esm.js","types":"dist/index.d.ts","private":false,"scripts":{},"keywords":["vue","vue sfc","sfc","vue virtual files"],"repository":{"type":"git","url":"git+https://github.com/znck/vue-developer-experience.git"},"author":{"name":"Rahul Kadyan","email":"rahulkdn@gmail.com","url":"https://znck.me/"},"funding":{"type":"individual","url":"https://github.com/sponsors/znck"},"license":"MIT","bugs":{"url":"https://github.com/znck/vue-developer-experience/issues"},"homepage":"https://github.com/znck/vue-developer-experience#readme","dependencies":{"@vuedx/analyze":"0.6.1-insiders-1610891537.0","@vuedx/compiler-sfc":"0.6.1-insiders-1610891537.0","@vuedx/compiler-tsx":"0.6.1-insiders-1610891537.0","@vuedx/shared":"0.6.1-insiders-1610891537.0","source-map":"^0.6.1","vscode-languageserver-textdocument":"^1.0.1","vscode-uri":"^2.1.2"},"devDependencies":{"fast-glob":"^3.2.4","typescript":"^4.0.3"},"readme":"# Vue Virtual TextDocument\n\nAn implementation of virtual filesystem for accessing blocks in a `.vue` file as independent files.\n\n## Support\n\nThis package is part of [VueDX project](https://github.com/znck/vue-developer-experience), maintained by [Rahul Kadyan](https://github.com/znck). You can [💖 sponsor him](https://github.com/sponsors/znck) for continued development of this package and other VueDX tools.\n\n```\nnpm add @vuedx/vue-virtual-textdocument\n```\n<!-- #region API-DOCS -->\n<!-- Do not edit this file. It is a report generated by [scripts/docgen.js](https://github.com/znck/vue-developer-experience/tree/main/scripts/docgen.js). -->\n\n## API\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-AsyncDocumentStore-class\" id=\"-vuedx-vue-virtual-textdocument-AsyncDocumentStore-class\"></a>\n\n### [AsyncDocumentStore](#-vuedx-vue-virtual-textdocument-AsyncDocumentStore-class)\n\n\n\n<details><summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare class AsyncDocumentStore<T> extends DocumentStore<T> {\n  constructor(resolve: (uri: string) => T | Promise<T | null> | null, normalize?: (uri: string) => string);\n  get(uri: string): T | null;\n  get(uri: string): Promise<T | null>;\n}\n```\n\n**Members:**\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-AsyncDocumentStore-get-member-1-\" id=\"-vuedx-vue-virtual-textdocument-AsyncDocumentStore-get-member-1-\"></a>\n\n#### [get](#-vuedx-vue-virtual-textdocument-AsyncDocumentStore-get-member-1-)\n\n\n\n**Signature:**\n```ts\nget(uri: string): T | null;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-AsyncDocumentStore-get-member-2-\" id=\"-vuedx-vue-virtual-textdocument-AsyncDocumentStore-get-member-2-\"></a>\n\n#### [get](#-vuedx-vue-virtual-textdocument-AsyncDocumentStore-get-member-2-)\n\n\n\n**Signature:**\n```ts\nget(uri: string): Promise<T | null>;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n\n<br>\n</details>\n\n<br>\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-class\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-class\"></a>\n\n### [DocumentStore](#-vuedx-vue-virtual-textdocument-DocumentStore-class)\n\n\n\n<details><summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare class DocumentStore<T> {\n  constructor(resolve: (uri: string) => T | null, normalize?: (uri: string) => string);\n  all(): string[];\n  delete(uri: string): boolean;\n  dispose(): void;\n  get(uri: string): T | null;\n  protected getNormalizedUri(uri: string): string;\n  has(uri: string): boolean;\n  protected map: Map<string, T>;\n  normalize: (uri: string) => string;\n  protected resolve: (uri: string) => T | null;\n  protected reverseUriMap: Map<string, string>;\n  set(uri: string, document: T): void;\n}\n```\n\n**Members:**\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-all-member-1-\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-all-member-1-\"></a>\n\n#### [all](#-vuedx-vue-virtual-textdocument-DocumentStore-all-member-1-)\n\n\n\n**Signature:**\n```ts\nall(): string[];\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-delete-member-1-\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-delete-member-1-\"></a>\n\n#### [delete](#-vuedx-vue-virtual-textdocument-DocumentStore-delete-member-1-)\n\n\n\n**Signature:**\n```ts\ndelete(uri: string): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-dispose-member-1-\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-dispose-member-1-\"></a>\n\n#### [dispose](#-vuedx-vue-virtual-textdocument-DocumentStore-dispose-member-1-)\n\n\n\n**Signature:**\n```ts\ndispose(): void;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-get-member-1-\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-get-member-1-\"></a>\n\n#### [get](#-vuedx-vue-virtual-textdocument-DocumentStore-get-member-1-)\n\n\n\n**Signature:**\n```ts\nget(uri: string): T | null;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-getNormalizedUri-member-1-\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-getNormalizedUri-member-1-\"></a>\n\n#### [getNormalizedUri](#-vuedx-vue-virtual-textdocument-DocumentStore-getNormalizedUri-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected getNormalizedUri(uri: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-has-member-1-\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-has-member-1-\"></a>\n\n#### [has](#-vuedx-vue-virtual-textdocument-DocumentStore-has-member-1-)\n\n\n\n**Signature:**\n```ts\nhas(uri: string): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-set-member-1-\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-set-member-1-\"></a>\n\n#### [set](#-vuedx-vue-virtual-textdocument-DocumentStore-set-member-1-)\n\n\n\n**Signature:**\n```ts\nset(uri: string, document: T): void;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n| document | <code>T</code> | - |\n\n<br>\n</details>\n\n<br>\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-class\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-class\"></a>\n\n### [RenderFunctionTextDocument](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-class)\n\n\n\n<details><summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare class RenderFunctionTextDocument extends TransformedBlockTextDocument {\n  constructor(container: VueTextDocument, selector: Selector, transformed: TextDocument, source: TextDocument);\n  get ast(): CodegenResult['ast'] | undefined;\n  get contextCompletionsTriggerOffset(): number;\n  static create(options: CreateVirtualTextDocumentOptions): RenderFunctionTextDocument;\n  findExpression(offset: number, length: number): undefined | {\n        offset: number;\n        length: number;\n    };\n  protected generate(): string;\n  getAllGeneratedOffsetsAt(offset: number): undefined | Array<{\n        length: number;\n        offset: number;\n    }>;\n  getGeneratedOffsetAt(offset: number): undefined | {\n        length: number;\n        offset: number;\n    };\n  protected getKnownComponents(): Record<string, ComponentImport>;\n  getOriginalOffsetAt(offset: number): undefined | {\n        offset: number;\n        length: number;\n    };\n  isInGeneratedRange(offset: number): boolean;\n  isInTemplateIdentifierRange(offset: number): boolean;\n  get parserErrors(): CodegenResult['errors'];\n  get tagCompletionsTriggerOffset(): number;\n  toDisplayMappings(): string;\n  protected tryGenerate(): string;\n}\n```\n\n**Members:**\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-create-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-create-member-1-\"></a>\n\n#### [create](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-create-member-1-)\n\n\n\n**Signature:**\n```ts\nstatic create(options: CreateVirtualTextDocumentOptions): RenderFunctionTextDocument;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| options | <code><a href=\"#-vuedx-vue-virtual-textdocument--CreateVirtualTextDocumentOptions-interface\">CreateVirtualTextDocumentOptions</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-findExpression-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-findExpression-member-1-\"></a>\n\n#### [findExpression](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-findExpression-member-1-)\n\n\n\n**Signature:**\n```ts\nfindExpression(offset: number, length: number): undefined | {\n        offset: number;\n        length: number;\n    };\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n| length | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-generate-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-generate-member-1-\"></a>\n\n#### [generate](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-generate-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected generate(): string;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getAllGeneratedOffsetsAt-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getAllGeneratedOffsetsAt-member-1-\"></a>\n\n#### [getAllGeneratedOffsetsAt](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getAllGeneratedOffsetsAt-member-1-)\n\n\n\n**Signature:**\n```ts\ngetAllGeneratedOffsetsAt(offset: number): undefined | Array<{\n        length: number;\n        offset: number;\n    }>;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getGeneratedOffsetAt-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getGeneratedOffsetAt-member-1-\"></a>\n\n#### [getGeneratedOffsetAt](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getGeneratedOffsetAt-member-1-)\n\n\n\n**Signature:**\n```ts\ngetGeneratedOffsetAt(offset: number): undefined | {\n        length: number;\n        offset: number;\n    };\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getKnownComponents-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getKnownComponents-member-1-\"></a>\n\n#### [getKnownComponents](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getKnownComponents-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected getKnownComponents(): Record<string, ComponentImport>;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getOriginalOffsetAt-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getOriginalOffsetAt-member-1-\"></a>\n\n#### [getOriginalOffsetAt](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getOriginalOffsetAt-member-1-)\n\n\n\n**Signature:**\n```ts\ngetOriginalOffsetAt(offset: number): undefined | {\n        offset: number;\n        length: number;\n    };\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-isInGeneratedRange-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-isInGeneratedRange-member-1-\"></a>\n\n#### [isInGeneratedRange](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-isInGeneratedRange-member-1-)\n\n\n\n**Signature:**\n```ts\nisInGeneratedRange(offset: number): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-isInTemplateIdentifierRange-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-isInTemplateIdentifierRange-member-1-\"></a>\n\n#### [isInTemplateIdentifierRange](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-isInTemplateIdentifierRange-member-1-)\n\n\n\n**Signature:**\n```ts\nisInTemplateIdentifierRange(offset: number): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-toDisplayMappings-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-toDisplayMappings-member-1-\"></a>\n\n#### [toDisplayMappings](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-toDisplayMappings-member-1-)\n\n\n\n**Signature:**\n```ts\ntoDisplayMappings(): string;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-tryGenerate-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-tryGenerate-member-1-\"></a>\n\n#### [tryGenerate](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-tryGenerate-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected tryGenerate(): string;\n```\n\n\n<br>\n</details>\n\n<br>\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-class\" id=\"-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-class\"></a>\n\n### [TransformedBlockTextDocument](#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-class)\n\n\n\n<details><summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare class TransformedBlockTextDocument extends VirtualTextDocument {\n  protected constructor(container: VueTextDocument, selector: Selector, transformed: TextDocument, source: TextDocument | VirtualTextDocument, _transform: (document: TransformedBlockTextDocument) => BlockTransformResult);\n  static create(options: CreateTransformedBlockTextDocumentOptions): TransformedBlockTextDocument;\n  protected refresh(): void;\n  transform(): BlockTransformResult;\n  tryGetGeneratedOffset(offset: number): number | undefined;\n  tryGetSourceOffset(offset: number): number | undefined;\n}\n```\n\n**Members:**\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-create-member-1-\" id=\"-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-create-member-1-\"></a>\n\n#### [create](#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-create-member-1-)\n\n\n\n**Signature:**\n```ts\nstatic create(options: CreateTransformedBlockTextDocumentOptions): TransformedBlockTextDocument;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| options | <code><a href=\"#-vuedx-vue-virtual-textdocument--CreateTransformedBlockTextDocumentOptions-interface\">CreateTransformedBlockTextDocumentOptions</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-refresh-member-1-\" id=\"-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-refresh-member-1-\"></a>\n\n#### [refresh](#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-refresh-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected refresh(): void;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-transform-member-1-\" id=\"-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-transform-member-1-\"></a>\n\n#### [transform](#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-transform-member-1-)\n\n\n\n**Signature:**\n```ts\ntransform(): BlockTransformResult;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-tryGetGeneratedOffset-member-1-\" id=\"-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-tryGetGeneratedOffset-member-1-\"></a>\n\n#### [tryGetGeneratedOffset](#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-tryGetGeneratedOffset-member-1-)\n\n\n\n**Signature:**\n```ts\ntryGetGeneratedOffset(offset: number): number | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-tryGetSourceOffset-member-1-\" id=\"-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-tryGetSourceOffset-member-1-\"></a>\n\n#### [tryGetSourceOffset](#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-tryGetSourceOffset-member-1-)\n\n\n\n**Signature:**\n```ts\ntryGetSourceOffset(offset: number): number | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n</details>\n\n<br>\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VirtualTextDocument-class\" id=\"-vuedx-vue-virtual-textdocument-VirtualTextDocument-class\"></a>\n\n### [VirtualTextDocument](#-vuedx-vue-virtual-textdocument-VirtualTextDocument-class)\n\n\n\n<details><summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare class VirtualTextDocument extends ProxyTextDocument {\n  protected constructor(container: VueTextDocument, selector: Selector, doc: TextDocument);\n  readonly container: VueTextDocument;\n  static create(options: CreateVirtualTextDocumentOptions): VirtualTextDocument;\n  protected isDirty: boolean;\n  markDirty(): void;\n  protected refresh(): void;\n  readonly selector: Selector;\n}\n```\n\n**Members:**\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VirtualTextDocument-create-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VirtualTextDocument-create-member-1-\"></a>\n\n#### [create](#-vuedx-vue-virtual-textdocument-VirtualTextDocument-create-member-1-)\n\n\n\n**Signature:**\n```ts\nstatic create(options: CreateVirtualTextDocumentOptions): VirtualTextDocument;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| options | <code><a href=\"#-vuedx-vue-virtual-textdocument--CreateVirtualTextDocumentOptions-interface\">CreateVirtualTextDocumentOptions</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VirtualTextDocument-markDirty-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VirtualTextDocument-markDirty-member-1-\"></a>\n\n#### [markDirty](#-vuedx-vue-virtual-textdocument-VirtualTextDocument-markDirty-member-1-)\n\n\n\n**Signature:**\n```ts\nmarkDirty(): void;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VirtualTextDocument-refresh-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VirtualTextDocument-refresh-member-1-\"></a>\n\n#### [refresh](#-vuedx-vue-virtual-textdocument-VirtualTextDocument-refresh-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected refresh(): void;\n```\n\n\n<br>\n</details>\n\n<br>\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-class\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-class\"></a>\n\n### [VueTextDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-class)\n\n\n\n<details><summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare class VueTextDocument extends ProxyTextDocument {\n  constructor(doc: TextDocument, options?: VueTextDocumentOptions, parseOptions?: SFCParseOptions);\n  all(): VirtualTextDocument[];\n  blockAt(position: Position | number): SFCBlock | null | undefined;\n  static create(uri: string, languageId: string, version: number, content: string, options?: VueTextDocumentOptions, parseOptions?: SFCParseOptions): VueTextDocument;\n  protected createBlockDocument(selector: BlockSelector): VirtualTextDocument | undefined;\n  protected createInternalModuleDocument(): TransformedBlockTextDocument;\n  protected createModuleDocument(): TransformedBlockTextDocument;\n  protected createRenderDocument(): RenderFunctionTextDocument;\n  protected createTemplateASTDocument(): TransformedBlockTextDocument;\n  get descriptor(): SFCDescriptor;\n  documentAt(position: Position | number): VirtualTextDocument | undefined;\n  getBlock(selector: BlockSelector): SFCBlock | null | undefined;\n  getBlockSelector(block: SFCBlock): BlockSelector | undefined;\n  getDocument(selector: typeof RENDER_SELECTOR): RenderFunctionTextDocument;\n  getDocument(selector: SelectorLike): VirtualTextDocument;\n  getDocument(selector: string): VirtualTextDocument | undefined;\n  getDocumentFileName(selectorLike: SelectorLike): string;\n  protected getDocumentId(selector: Selector): string;\n  protected getDocumentLanguage(selector: Selector): string;\n  markDirty(): void;\n  readonly options: VueTextDocumentOptions;\n  protected parse(): void;\n  static update(document: VueTextDocument, changes: TextDocumentContentChangeEvent[], version: number): VueTextDocument;\n}\n```\n\n**Members:**\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-all-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-all-member-1-\"></a>\n\n#### [all](#-vuedx-vue-virtual-textdocument-VueTextDocument-all-member-1-)\n\n\n\n**Signature:**\n```ts\nall(): VirtualTextDocument[];\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-blockAt-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-blockAt-member-1-\"></a>\n\n#### [blockAt](#-vuedx-vue-virtual-textdocument-VueTextDocument-blockAt-member-1-)\n\n\n\n**Signature:**\n```ts\nblockAt(position: Position | number): SFCBlock | null | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| position | <code><a href=\"#vscode-languageserver-textdocument-Position-interface\">Position</a> &#124; number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-create-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-create-member-1-\"></a>\n\n#### [create](#-vuedx-vue-virtual-textdocument-VueTextDocument-create-member-1-)\n\n\n\n**Signature:**\n```ts\nstatic create(uri: string, languageId: string, version: number, content: string, options?: VueTextDocumentOptions, parseOptions?: SFCParseOptions): VueTextDocument;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n| languageId | <code>string</code> | - |\n| version | <code>number</code> | - |\n| content | <code>string</code> | - |\n| options | <code><a href=\"#-vuedx-vue-virtual-textdocument--VueTextDocumentOptions-interface\">VueTextDocumentOptions</a></code> | - |\n| parseOptions | <code><a href=\"#-vue-compiler-sfc-SFCParseOptions-interface\">SFCParseOptions</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-createBlockDocument-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-createBlockDocument-member-1-\"></a>\n\n#### [createBlockDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-createBlockDocument-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected createBlockDocument(selector: BlockSelector): VirtualTextDocument | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selector | <code><a href=\"#-vuedx-vue-virtual-textdocument--BlockSelector-type\">BlockSelector</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-createInternalModuleDocument-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-createInternalModuleDocument-member-1-\"></a>\n\n#### [createInternalModuleDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-createInternalModuleDocument-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected createInternalModuleDocument(): TransformedBlockTextDocument;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-createModuleDocument-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-createModuleDocument-member-1-\"></a>\n\n#### [createModuleDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-createModuleDocument-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected createModuleDocument(): TransformedBlockTextDocument;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-createRenderDocument-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-createRenderDocument-member-1-\"></a>\n\n#### [createRenderDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-createRenderDocument-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected createRenderDocument(): RenderFunctionTextDocument;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-createTemplateASTDocument-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-createTemplateASTDocument-member-1-\"></a>\n\n#### [createTemplateASTDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-createTemplateASTDocument-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected createTemplateASTDocument(): TransformedBlockTextDocument;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-documentAt-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-documentAt-member-1-\"></a>\n\n#### [documentAt](#-vuedx-vue-virtual-textdocument-VueTextDocument-documentAt-member-1-)\n\n\n\n**Signature:**\n```ts\ndocumentAt(position: Position | number): VirtualTextDocument | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| position | <code><a href=\"#vscode-languageserver-textdocument-Position-interface\">Position</a> &#124; number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getBlock-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getBlock-member-1-\"></a>\n\n#### [getBlock](#-vuedx-vue-virtual-textdocument-VueTextDocument-getBlock-member-1-)\n\n\n\n**Signature:**\n```ts\ngetBlock(selector: BlockSelector): SFCBlock | null | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selector | <code><a href=\"#-vuedx-vue-virtual-textdocument--BlockSelector-type\">BlockSelector</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getBlockSelector-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getBlockSelector-member-1-\"></a>\n\n#### [getBlockSelector](#-vuedx-vue-virtual-textdocument-VueTextDocument-getBlockSelector-member-1-)\n\n\n\n**Signature:**\n```ts\ngetBlockSelector(block: SFCBlock): BlockSelector | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| block | <code><a href=\"#-vue-compiler-sfc-SFCBlock-interface\">SFCBlock</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-1-\"></a>\n\n#### [getDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-1-)\n\n\n\n**Signature:**\n```ts\ngetDocument(selector: typeof RENDER_SELECTOR): RenderFunctionTextDocument;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selector | <code>typeof <a href=\"#-vuedx-vue-virtual-textdocument--RENDER-SELECTOR-var\">RENDER_SELECTOR</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-2-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-2-\"></a>\n\n#### [getDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-2-)\n\n\n\n**Signature:**\n```ts\ngetDocument(selector: SelectorLike): VirtualTextDocument;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selector | <code><a href=\"#-vuedx-vue-virtual-textdocument--SelectorLike-type\">SelectorLike</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-3-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-3-\"></a>\n\n#### [getDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-3-)\n\n\n\n**Signature:**\n```ts\ngetDocument(selector: string): VirtualTextDocument | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selector | <code>string</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentFileName-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentFileName-member-1-\"></a>\n\n#### [getDocumentFileName](#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentFileName-member-1-)\n\n\n\n**Signature:**\n```ts\ngetDocumentFileName(selectorLike: SelectorLike): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selectorLike | <code><a href=\"#-vuedx-vue-virtual-textdocument--SelectorLike-type\">SelectorLike</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentId-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentId-member-1-\"></a>\n\n#### [getDocumentId](#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentId-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected getDocumentId(selector: Selector): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selector | <code><a href=\"#-vuedx-vue-virtual-textdocument--Selector-type\">Selector</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentLanguage-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentLanguage-member-1-\"></a>\n\n#### [getDocumentLanguage](#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentLanguage-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected getDocumentLanguage(selector: Selector): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selector | <code><a href=\"#-vuedx-vue-virtual-textdocument--Selector-type\">Selector</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-markDirty-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-markDirty-member-1-\"></a>\n\n#### [markDirty](#-vuedx-vue-virtual-textdocument-VueTextDocument-markDirty-member-1-)\n\n\n\n**Signature:**\n```ts\nmarkDirty(): void;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-parse-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-parse-member-1-\"></a>\n\n#### [parse](#-vuedx-vue-virtual-textdocument-VueTextDocument-parse-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected parse(): void;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-update-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-update-member-1-\"></a>\n\n#### [update](#-vuedx-vue-virtual-textdocument-VueTextDocument-update-member-1-)\n\n\n\n**Signature:**\n```ts\nstatic update(document: VueTextDocument, changes: TextDocumentContentChangeEvent[], version: number): VueTextDocument;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| document | <code><a href=\"#-vuedx-vue-virtual-textdocument--VueTextDocument-class\">VueTextDocument</a></code> | - |\n| changes | <code><a href=\"#vscode-languageserver-textdocument-TextDocumentContentChangeEvent-type\">TextDocumentContentChangeEvent</a>[]</code> | - |\n| version | <code>number</code> | - |\n\n<br>\n</details>\n\n<br>\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-asFsPath-function-1-\" id=\"-vuedx-vue-virtual-textdocument-asFsPath-function-1-\"></a>\n\n### [asFsPath](#-vuedx-vue-virtual-textdocument-asFsPath-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function asFsPath(uri: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-asFsUri-function-1-\" id=\"-vuedx-vue-virtual-textdocument-asFsUri-function-1-\"></a>\n\n### [asFsUri](#-vuedx-vue-virtual-textdocument-asFsUri-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function asFsUri(fileName: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-asUri-function-1-\" id=\"-vuedx-vue-virtual-textdocument-asUri-function-1-\"></a>\n\n### [asUri](#-vuedx-vue-virtual-textdocument-asUri-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function asUri(fileNameOrUri: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileNameOrUri | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-basename-function-1-\" id=\"-vuedx-vue-virtual-textdocument-basename-function-1-\"></a>\n\n### [basename](#-vuedx-vue-virtual-textdocument-basename-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function basename(fileName: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-binarySearch-function-1-\" id=\"-vuedx-vue-virtual-textdocument-binarySearch-function-1-\"></a>\n\n### [binarySearch](#-vuedx-vue-virtual-textdocument-binarySearch-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function binarySearch<T>(array: T[], isMatch: (a: T) => number, returnMin?: boolean): T | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| array | <code>T[]</code> | - |\n| isMatch | <code>(a: T) => number</code> | - |\n| returnMin | <code>boolean</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-getBlockLanguage-function-1-\" id=\"-vuedx-vue-virtual-textdocument-getBlockLanguage-function-1-\"></a>\n\n### [getBlockLanguage](#-vuedx-vue-virtual-textdocument-getBlockLanguage-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function getBlockLanguage(block?: SFCBlock | null): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| block | <code><a href=\"#-vue-compiler-sfc-SFCBlock-interface\">SFCBlock</a> &#124; null</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-getContainingFile-function-1-\" id=\"-vuedx-vue-virtual-textdocument-getContainingFile-function-1-\"></a>\n\n### [getContainingFile](#-vuedx-vue-virtual-textdocument-getContainingFile-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function getContainingFile(fileName: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-getLanguageExtension-function-1-\" id=\"-vuedx-vue-virtual-textdocument-getLanguageExtension-function-1-\"></a>\n\n### [getLanguageExtension](#-vuedx-vue-virtual-textdocument-getLanguageExtension-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function getLanguageExtension(lang: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| lang | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-getLanguageIdFromExtension-function-1-\" id=\"-vuedx-vue-virtual-textdocument-getLanguageIdFromExtension-function-1-\"></a>\n\n### [getLanguageIdFromExtension](#-vuedx-vue-virtual-textdocument-getLanguageIdFromExtension-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function getLanguageIdFromExtension(ext: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| ext | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-isOffsetInBlock-function-1-\" id=\"-vuedx-vue-virtual-textdocument-isOffsetInBlock-function-1-\"></a>\n\n### [isOffsetInBlock](#-vuedx-vue-virtual-textdocument-isOffsetInBlock-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function isOffsetInBlock(offset: number, block?: SFCBlock | null): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n| block | <code><a href=\"#-vue-compiler-sfc-SFCBlock-interface\">SFCBlock</a> &#124; null</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-isVirtualFile-function-1-\" id=\"-vuedx-vue-virtual-textdocument-isVirtualFile-function-1-\"></a>\n\n### [isVirtualFile](#-vuedx-vue-virtual-textdocument-isVirtualFile-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function isVirtualFile(fileName: string): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-isVirtualFileOfType-function-1-\" id=\"-vuedx-vue-virtual-textdocument-isVirtualFileOfType-function-1-\"></a>\n\n### [isVirtualFileOfType](#-vuedx-vue-virtual-textdocument-isVirtualFileOfType-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function isVirtualFileOfType(fileName: string, type: '_render' | '_module' | '_internal' | 'script' | 'scriptSetup'): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n| type | <code>'_render' &#124; '_module' &#124; '_internal' &#124; 'script' &#124; 'scriptSetup'</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-isVueFile-function-1-\" id=\"-vuedx-vue-virtual-textdocument-isVueFile-function-1-\"></a>\n\n### [isVueFile](#-vuedx-vue-virtual-textdocument-isVueFile-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function isVueFile(fileName: string): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-parseVirtualFileName-function-1-\" id=\"-vuedx-vue-virtual-textdocument-parseVirtualFileName-function-1-\"></a>\n\n### [parseVirtualFileName](#-vuedx-vue-virtual-textdocument-parseVirtualFileName-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function parseVirtualFileName(fileName: string): {\n    uri: string;\n    selector: Selector;\n} | null;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-relativeVirtualImportPath-function-1-\" id=\"-vuedx-vue-virtual-textdocument-relativeVirtualImportPath-function-1-\"></a>\n\n### [relativeVirtualImportPath](#-vuedx-vue-virtual-textdocument-relativeVirtualImportPath-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function relativeVirtualImportPath(fileName: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-replaceSlashes-function-1-\" id=\"-vuedx-vue-virtual-textdocument-replaceSlashes-function-1-\"></a>\n\n### [replaceSlashes](#-vuedx-vue-virtual-textdocument-replaceSlashes-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function replaceSlashes(fileName: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n<!-- #region API-DOCS -->\n","readmeFilename":"readme.md","_id":"@vuedx/vue-virtual-textdocument@0.6.1-insiders-1610891537.0","_nodeVersion":"14.14.0","_npmVersion":"6.14.8","dist":{"integrity":"sha512-3B4E4PoSshfAFByWJC3jmzSKN+M8SP9bwxSEG+2CUsmnZKYbO/5uR4ue4qme67qEEtGtGT9tvP5CNHokFetNsw==","shasum":"ac8d855ccbefe95279ebdb8c31c1c7d0d958bf1f","tarball":"https://registry.npmjs.org/@vuedx/vue-virtual-textdocument/-/vue-virtual-textdocument-0.6.1-insiders-1610891537.0.tgz","fileCount":8,"unpackedSize":287043,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgBEEyCRA9TVsSAnZWagAAbqQQAIoR/X7KC7A5yVGZETDT\nQs+2Bf3CjqWXPRJBWhLp7dQ5ABljqSLOJXvMjXzBUZXfOouRgPlOsV/lDbi3\nAVZvdogSwCYYrMDGDADq+00WNpk0zMZnhOvc8MEUBVmt2DbjIwJA5DVdLvP0\nF8N9ks8o24d2LjLOuz1QWCU92vtE572v2yY6ahFwjxdOP/9qP3iz7JP2mIob\n/zfhINCi2En+s9LDicEswyYyfXaGrf28Z6R1qxennZ7t6GmJX+qeDO6obD94\nWP8uJcGo06grhFpEp/bc8qJYci/h62YR9pUgQlucpN3xbNQd8VeC4YfNsxyv\nRZI8OZQf8L0H7P2hnmBZnUTbNXX8qvQptu7fthr7xC1AZbwhKN/T3pX7bced\nphSJcm+uipveFvlGdv4qLMK7YmJ6nddLRfvWe96wEoFtdCFh14GcVuYONh4S\nRSZjtyLhd88wqQULv5eCpHCN7jl0GvVwjHCs+CUhsDqOi525M0146sJcyi1h\n5uoSA4EgQR9oRXtRNkiaP29ORmXzjEPs6MlpnWTmRHfUoWiNgzaJtJNLd8kk\n7eeHKM79KFPcIQ2hpeFkWqG32tjayTBPK11cZXYID/yPBxBL3NVA+RIoApow\nHF3QE/x2ZLdgGO99NG8I3jNsi9QTxwHPk4fRk+XhcGzucmqYTjZRkUJBYBvB\nEJyG\r\n=qdzG\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDWmwp04T8Ec1SWLGsp0nC0uNnynK1HsF7AovtcBF06LQIhAKv8F2fWPl16yF38e935zhNhQ4UyJ7exfrEVV9srkVzp"}]},"_npmUser":{"name":"znck","email":"rahulkdn@gmail.com"},"directories":{},"maintainers":[{"name":"znck","email":"rahulkdn@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/vue-virtual-textdocument_0.6.1-insiders-1610891537.0_1610891569702_0.47432556778592483"},"_hasShrinkwrap":false},"0.6.1-insiders-1610911987.0":{"name":"@vuedx/vue-virtual-textdocument","version":"0.6.1-insiders-1610911987.0","description":"An implementation of virtual filesystem for accessing blocks in a `.vue` file as independent files.","main":"dist/index.cjs.js","module":"dist/index.esm.js","types":"dist/index.d.ts","private":false,"scripts":{},"keywords":["vue","vue sfc","sfc","vue virtual files"],"repository":{"type":"git","url":"git+https://github.com/znck/vue-developer-experience.git"},"author":{"name":"Rahul Kadyan","email":"rahulkdn@gmail.com","url":"https://znck.me/"},"funding":{"type":"individual","url":"https://github.com/sponsors/znck"},"license":"MIT","bugs":{"url":"https://github.com/znck/vue-developer-experience/issues"},"homepage":"https://github.com/znck/vue-developer-experience#readme","dependencies":{"@vuedx/analyze":"0.6.1-insiders-1610911987.0","@vuedx/compiler-sfc":"0.6.1-insiders-1610911987.0","@vuedx/compiler-tsx":"0.6.1-insiders-1610911987.0","@vuedx/shared":"0.6.1-insiders-1610911987.0","source-map":"^0.6.1","vscode-languageserver-textdocument":"^1.0.1","vscode-uri":"^2.1.2"},"devDependencies":{"fast-glob":"^3.2.4","typescript":"^4.0.3"},"readme":"# Vue Virtual TextDocument\n\nAn implementation of virtual filesystem for accessing blocks in a `.vue` file as independent files.\n\n## Support\n\nThis package is part of [VueDX project](https://github.com/znck/vue-developer-experience), maintained by [Rahul Kadyan](https://github.com/znck). You can [💖 sponsor him](https://github.com/sponsors/znck) for continued development of this package and other VueDX tools.\n\n```\nnpm add @vuedx/vue-virtual-textdocument\n```\n<!-- #region API-DOCS -->\n<!-- Do not edit this file. It is a report generated by [scripts/docgen.js](https://github.com/znck/vue-developer-experience/tree/main/scripts/docgen.js). -->\n\n## API\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-AsyncDocumentStore-class\" id=\"-vuedx-vue-virtual-textdocument-AsyncDocumentStore-class\"></a>\n\n### [AsyncDocumentStore](#-vuedx-vue-virtual-textdocument-AsyncDocumentStore-class)\n\n\n\n<details><summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare class AsyncDocumentStore<T> extends DocumentStore<T> {\n  constructor(resolve: (uri: string) => T | Promise<T | null> | null, normalize?: (uri: string) => string);\n  get(uri: string): T | null;\n  get(uri: string): Promise<T | null>;\n}\n```\n\n**Members:**\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-AsyncDocumentStore-get-member-1-\" id=\"-vuedx-vue-virtual-textdocument-AsyncDocumentStore-get-member-1-\"></a>\n\n#### [get](#-vuedx-vue-virtual-textdocument-AsyncDocumentStore-get-member-1-)\n\n\n\n**Signature:**\n```ts\nget(uri: string): T | null;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-AsyncDocumentStore-get-member-2-\" id=\"-vuedx-vue-virtual-textdocument-AsyncDocumentStore-get-member-2-\"></a>\n\n#### [get](#-vuedx-vue-virtual-textdocument-AsyncDocumentStore-get-member-2-)\n\n\n\n**Signature:**\n```ts\nget(uri: string): Promise<T | null>;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n\n<br>\n</details>\n\n<br>\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-class\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-class\"></a>\n\n### [DocumentStore](#-vuedx-vue-virtual-textdocument-DocumentStore-class)\n\n\n\n<details><summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare class DocumentStore<T> {\n  constructor(resolve: (uri: string) => T | null, normalize?: (uri: string) => string);\n  all(): string[];\n  delete(uri: string): boolean;\n  dispose(): void;\n  get(uri: string): T | null;\n  protected getNormalizedUri(uri: string): string;\n  has(uri: string): boolean;\n  protected map: Map<string, T>;\n  normalize: (uri: string) => string;\n  protected resolve: (uri: string) => T | null;\n  protected reverseUriMap: Map<string, string>;\n  set(uri: string, document: T): void;\n}\n```\n\n**Members:**\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-all-member-1-\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-all-member-1-\"></a>\n\n#### [all](#-vuedx-vue-virtual-textdocument-DocumentStore-all-member-1-)\n\n\n\n**Signature:**\n```ts\nall(): string[];\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-delete-member-1-\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-delete-member-1-\"></a>\n\n#### [delete](#-vuedx-vue-virtual-textdocument-DocumentStore-delete-member-1-)\n\n\n\n**Signature:**\n```ts\ndelete(uri: string): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-dispose-member-1-\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-dispose-member-1-\"></a>\n\n#### [dispose](#-vuedx-vue-virtual-textdocument-DocumentStore-dispose-member-1-)\n\n\n\n**Signature:**\n```ts\ndispose(): void;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-get-member-1-\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-get-member-1-\"></a>\n\n#### [get](#-vuedx-vue-virtual-textdocument-DocumentStore-get-member-1-)\n\n\n\n**Signature:**\n```ts\nget(uri: string): T | null;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-getNormalizedUri-member-1-\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-getNormalizedUri-member-1-\"></a>\n\n#### [getNormalizedUri](#-vuedx-vue-virtual-textdocument-DocumentStore-getNormalizedUri-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected getNormalizedUri(uri: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-has-member-1-\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-has-member-1-\"></a>\n\n#### [has](#-vuedx-vue-virtual-textdocument-DocumentStore-has-member-1-)\n\n\n\n**Signature:**\n```ts\nhas(uri: string): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-set-member-1-\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-set-member-1-\"></a>\n\n#### [set](#-vuedx-vue-virtual-textdocument-DocumentStore-set-member-1-)\n\n\n\n**Signature:**\n```ts\nset(uri: string, document: T): void;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n| document | <code>T</code> | - |\n\n<br>\n</details>\n\n<br>\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-class\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-class\"></a>\n\n### [RenderFunctionTextDocument](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-class)\n\n\n\n<details><summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare class RenderFunctionTextDocument extends TransformedBlockTextDocument {\n  constructor(container: VueTextDocument, selector: Selector, transformed: TextDocument, source: TextDocument);\n  get ast(): CodegenResult['ast'] | undefined;\n  get contextCompletionsTriggerOffset(): number;\n  static create(options: CreateVirtualTextDocumentOptions): RenderFunctionTextDocument;\n  findExpression(offset: number, length: number): undefined | {\n        offset: number;\n        length: number;\n    };\n  protected generate(): string;\n  getAllGeneratedOffsetsAt(offset: number): undefined | Array<{\n        length: number;\n        offset: number;\n    }>;\n  getGeneratedOffsetAt(offset: number): undefined | {\n        length: number;\n        offset: number;\n    };\n  protected getKnownComponents(): Record<string, ComponentImport>;\n  getOriginalOffsetAt(offset: number): undefined | {\n        offset: number;\n        length: number;\n    };\n  isInGeneratedRange(offset: number): boolean;\n  isInTemplateIdentifierRange(offset: number): boolean;\n  get parserErrors(): CodegenResult['errors'];\n  get tagCompletionsTriggerOffset(): number;\n  toDisplayMappings(): string;\n  protected tryGenerate(): string;\n}\n```\n\n**Members:**\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-create-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-create-member-1-\"></a>\n\n#### [create](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-create-member-1-)\n\n\n\n**Signature:**\n```ts\nstatic create(options: CreateVirtualTextDocumentOptions): RenderFunctionTextDocument;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| options | <code><a href=\"#-vuedx-vue-virtual-textdocument--CreateVirtualTextDocumentOptions-interface\">CreateVirtualTextDocumentOptions</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-findExpression-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-findExpression-member-1-\"></a>\n\n#### [findExpression](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-findExpression-member-1-)\n\n\n\n**Signature:**\n```ts\nfindExpression(offset: number, length: number): undefined | {\n        offset: number;\n        length: number;\n    };\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n| length | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-generate-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-generate-member-1-\"></a>\n\n#### [generate](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-generate-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected generate(): string;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getAllGeneratedOffsetsAt-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getAllGeneratedOffsetsAt-member-1-\"></a>\n\n#### [getAllGeneratedOffsetsAt](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getAllGeneratedOffsetsAt-member-1-)\n\n\n\n**Signature:**\n```ts\ngetAllGeneratedOffsetsAt(offset: number): undefined | Array<{\n        length: number;\n        offset: number;\n    }>;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getGeneratedOffsetAt-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getGeneratedOffsetAt-member-1-\"></a>\n\n#### [getGeneratedOffsetAt](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getGeneratedOffsetAt-member-1-)\n\n\n\n**Signature:**\n```ts\ngetGeneratedOffsetAt(offset: number): undefined | {\n        length: number;\n        offset: number;\n    };\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getKnownComponents-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getKnownComponents-member-1-\"></a>\n\n#### [getKnownComponents](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getKnownComponents-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected getKnownComponents(): Record<string, ComponentImport>;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getOriginalOffsetAt-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getOriginalOffsetAt-member-1-\"></a>\n\n#### [getOriginalOffsetAt](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getOriginalOffsetAt-member-1-)\n\n\n\n**Signature:**\n```ts\ngetOriginalOffsetAt(offset: number): undefined | {\n        offset: number;\n        length: number;\n    };\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-isInGeneratedRange-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-isInGeneratedRange-member-1-\"></a>\n\n#### [isInGeneratedRange](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-isInGeneratedRange-member-1-)\n\n\n\n**Signature:**\n```ts\nisInGeneratedRange(offset: number): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-isInTemplateIdentifierRange-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-isInTemplateIdentifierRange-member-1-\"></a>\n\n#### [isInTemplateIdentifierRange](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-isInTemplateIdentifierRange-member-1-)\n\n\n\n**Signature:**\n```ts\nisInTemplateIdentifierRange(offset: number): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-toDisplayMappings-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-toDisplayMappings-member-1-\"></a>\n\n#### [toDisplayMappings](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-toDisplayMappings-member-1-)\n\n\n\n**Signature:**\n```ts\ntoDisplayMappings(): string;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-tryGenerate-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-tryGenerate-member-1-\"></a>\n\n#### [tryGenerate](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-tryGenerate-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected tryGenerate(): string;\n```\n\n\n<br>\n</details>\n\n<br>\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-class\" id=\"-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-class\"></a>\n\n### [TransformedBlockTextDocument](#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-class)\n\n\n\n<details><summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare class TransformedBlockTextDocument extends VirtualTextDocument {\n  protected constructor(container: VueTextDocument, selector: Selector, transformed: TextDocument, source: TextDocument | VirtualTextDocument, _transform: (document: TransformedBlockTextDocument) => BlockTransformResult);\n  static create(options: CreateTransformedBlockTextDocumentOptions): TransformedBlockTextDocument;\n  protected refresh(): void;\n  transform(): BlockTransformResult;\n  tryGetGeneratedOffset(offset: number): number | undefined;\n  tryGetSourceOffset(offset: number): number | undefined;\n}\n```\n\n**Members:**\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-create-member-1-\" id=\"-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-create-member-1-\"></a>\n\n#### [create](#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-create-member-1-)\n\n\n\n**Signature:**\n```ts\nstatic create(options: CreateTransformedBlockTextDocumentOptions): TransformedBlockTextDocument;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| options | <code><a href=\"#-vuedx-vue-virtual-textdocument--CreateTransformedBlockTextDocumentOptions-interface\">CreateTransformedBlockTextDocumentOptions</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-refresh-member-1-\" id=\"-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-refresh-member-1-\"></a>\n\n#### [refresh](#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-refresh-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected refresh(): void;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-transform-member-1-\" id=\"-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-transform-member-1-\"></a>\n\n#### [transform](#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-transform-member-1-)\n\n\n\n**Signature:**\n```ts\ntransform(): BlockTransformResult;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-tryGetGeneratedOffset-member-1-\" id=\"-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-tryGetGeneratedOffset-member-1-\"></a>\n\n#### [tryGetGeneratedOffset](#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-tryGetGeneratedOffset-member-1-)\n\n\n\n**Signature:**\n```ts\ntryGetGeneratedOffset(offset: number): number | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-tryGetSourceOffset-member-1-\" id=\"-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-tryGetSourceOffset-member-1-\"></a>\n\n#### [tryGetSourceOffset](#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-tryGetSourceOffset-member-1-)\n\n\n\n**Signature:**\n```ts\ntryGetSourceOffset(offset: number): number | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n</details>\n\n<br>\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VirtualTextDocument-class\" id=\"-vuedx-vue-virtual-textdocument-VirtualTextDocument-class\"></a>\n\n### [VirtualTextDocument](#-vuedx-vue-virtual-textdocument-VirtualTextDocument-class)\n\n\n\n<details><summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare class VirtualTextDocument extends ProxyTextDocument {\n  protected constructor(container: VueTextDocument, selector: Selector, doc: TextDocument);\n  readonly container: VueTextDocument;\n  static create(options: CreateVirtualTextDocumentOptions): VirtualTextDocument;\n  protected isDirty: boolean;\n  markDirty(): void;\n  protected refresh(): void;\n  readonly selector: Selector;\n}\n```\n\n**Members:**\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VirtualTextDocument-create-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VirtualTextDocument-create-member-1-\"></a>\n\n#### [create](#-vuedx-vue-virtual-textdocument-VirtualTextDocument-create-member-1-)\n\n\n\n**Signature:**\n```ts\nstatic create(options: CreateVirtualTextDocumentOptions): VirtualTextDocument;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| options | <code><a href=\"#-vuedx-vue-virtual-textdocument--CreateVirtualTextDocumentOptions-interface\">CreateVirtualTextDocumentOptions</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VirtualTextDocument-markDirty-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VirtualTextDocument-markDirty-member-1-\"></a>\n\n#### [markDirty](#-vuedx-vue-virtual-textdocument-VirtualTextDocument-markDirty-member-1-)\n\n\n\n**Signature:**\n```ts\nmarkDirty(): void;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VirtualTextDocument-refresh-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VirtualTextDocument-refresh-member-1-\"></a>\n\n#### [refresh](#-vuedx-vue-virtual-textdocument-VirtualTextDocument-refresh-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected refresh(): void;\n```\n\n\n<br>\n</details>\n\n<br>\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-class\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-class\"></a>\n\n### [VueTextDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-class)\n\n\n\n<details><summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare class VueTextDocument extends ProxyTextDocument {\n  constructor(doc: TextDocument, options?: VueTextDocumentOptions, parseOptions?: SFCParseOptions);\n  all(): VirtualTextDocument[];\n  blockAt(position: Position | number): SFCBlock | null | undefined;\n  static create(uri: string, languageId: string, version: number, content: string, options?: VueTextDocumentOptions, parseOptions?: SFCParseOptions): VueTextDocument;\n  protected createBlockDocument(selector: BlockSelector): VirtualTextDocument | undefined;\n  protected createInternalModuleDocument(): TransformedBlockTextDocument;\n  protected createModuleDocument(): TransformedBlockTextDocument;\n  protected createRenderDocument(): RenderFunctionTextDocument;\n  protected createTemplateASTDocument(): TransformedBlockTextDocument;\n  get descriptor(): SFCDescriptor;\n  documentAt(position: Position | number): VirtualTextDocument | undefined;\n  getBlock(selector: BlockSelector): SFCBlock | null | undefined;\n  getBlockSelector(block: SFCBlock): BlockSelector | undefined;\n  getDocument(selector: typeof RENDER_SELECTOR): RenderFunctionTextDocument;\n  getDocument(selector: SelectorLike): VirtualTextDocument;\n  getDocument(selector: string): VirtualTextDocument | undefined;\n  getDocumentFileName(selectorLike: SelectorLike): string;\n  protected getDocumentId(selector: Selector): string;\n  protected getDocumentLanguage(selector: Selector): string;\n  markDirty(): void;\n  readonly options: VueTextDocumentOptions;\n  protected parse(): void;\n  static update(document: VueTextDocument, changes: TextDocumentContentChangeEvent[], version: number): VueTextDocument;\n}\n```\n\n**Members:**\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-all-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-all-member-1-\"></a>\n\n#### [all](#-vuedx-vue-virtual-textdocument-VueTextDocument-all-member-1-)\n\n\n\n**Signature:**\n```ts\nall(): VirtualTextDocument[];\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-blockAt-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-blockAt-member-1-\"></a>\n\n#### [blockAt](#-vuedx-vue-virtual-textdocument-VueTextDocument-blockAt-member-1-)\n\n\n\n**Signature:**\n```ts\nblockAt(position: Position | number): SFCBlock | null | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| position | <code><a href=\"#vscode-languageserver-textdocument-Position-interface\">Position</a> &#124; number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-create-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-create-member-1-\"></a>\n\n#### [create](#-vuedx-vue-virtual-textdocument-VueTextDocument-create-member-1-)\n\n\n\n**Signature:**\n```ts\nstatic create(uri: string, languageId: string, version: number, content: string, options?: VueTextDocumentOptions, parseOptions?: SFCParseOptions): VueTextDocument;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n| languageId | <code>string</code> | - |\n| version | <code>number</code> | - |\n| content | <code>string</code> | - |\n| options | <code><a href=\"#-vuedx-vue-virtual-textdocument--VueTextDocumentOptions-interface\">VueTextDocumentOptions</a></code> | - |\n| parseOptions | <code><a href=\"#-vue-compiler-sfc-SFCParseOptions-interface\">SFCParseOptions</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-createBlockDocument-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-createBlockDocument-member-1-\"></a>\n\n#### [createBlockDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-createBlockDocument-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected createBlockDocument(selector: BlockSelector): VirtualTextDocument | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selector | <code><a href=\"#-vuedx-vue-virtual-textdocument--BlockSelector-type\">BlockSelector</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-createInternalModuleDocument-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-createInternalModuleDocument-member-1-\"></a>\n\n#### [createInternalModuleDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-createInternalModuleDocument-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected createInternalModuleDocument(): TransformedBlockTextDocument;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-createModuleDocument-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-createModuleDocument-member-1-\"></a>\n\n#### [createModuleDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-createModuleDocument-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected createModuleDocument(): TransformedBlockTextDocument;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-createRenderDocument-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-createRenderDocument-member-1-\"></a>\n\n#### [createRenderDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-createRenderDocument-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected createRenderDocument(): RenderFunctionTextDocument;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-createTemplateASTDocument-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-createTemplateASTDocument-member-1-\"></a>\n\n#### [createTemplateASTDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-createTemplateASTDocument-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected createTemplateASTDocument(): TransformedBlockTextDocument;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-documentAt-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-documentAt-member-1-\"></a>\n\n#### [documentAt](#-vuedx-vue-virtual-textdocument-VueTextDocument-documentAt-member-1-)\n\n\n\n**Signature:**\n```ts\ndocumentAt(position: Position | number): VirtualTextDocument | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| position | <code><a href=\"#vscode-languageserver-textdocument-Position-interface\">Position</a> &#124; number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getBlock-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getBlock-member-1-\"></a>\n\n#### [getBlock](#-vuedx-vue-virtual-textdocument-VueTextDocument-getBlock-member-1-)\n\n\n\n**Signature:**\n```ts\ngetBlock(selector: BlockSelector): SFCBlock | null | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selector | <code><a href=\"#-vuedx-vue-virtual-textdocument--BlockSelector-type\">BlockSelector</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getBlockSelector-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getBlockSelector-member-1-\"></a>\n\n#### [getBlockSelector](#-vuedx-vue-virtual-textdocument-VueTextDocument-getBlockSelector-member-1-)\n\n\n\n**Signature:**\n```ts\ngetBlockSelector(block: SFCBlock): BlockSelector | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| block | <code><a href=\"#-vue-compiler-sfc-SFCBlock-interface\">SFCBlock</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-1-\"></a>\n\n#### [getDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-1-)\n\n\n\n**Signature:**\n```ts\ngetDocument(selector: typeof RENDER_SELECTOR): RenderFunctionTextDocument;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selector | <code>typeof <a href=\"#-vuedx-vue-virtual-textdocument--RENDER-SELECTOR-var\">RENDER_SELECTOR</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-2-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-2-\"></a>\n\n#### [getDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-2-)\n\n\n\n**Signature:**\n```ts\ngetDocument(selector: SelectorLike): VirtualTextDocument;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selector | <code><a href=\"#-vuedx-vue-virtual-textdocument--SelectorLike-type\">SelectorLike</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-3-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-3-\"></a>\n\n#### [getDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-3-)\n\n\n\n**Signature:**\n```ts\ngetDocument(selector: string): VirtualTextDocument | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selector | <code>string</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentFileName-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentFileName-member-1-\"></a>\n\n#### [getDocumentFileName](#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentFileName-member-1-)\n\n\n\n**Signature:**\n```ts\ngetDocumentFileName(selectorLike: SelectorLike): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selectorLike | <code><a href=\"#-vuedx-vue-virtual-textdocument--SelectorLike-type\">SelectorLike</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentId-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentId-member-1-\"></a>\n\n#### [getDocumentId](#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentId-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected getDocumentId(selector: Selector): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selector | <code><a href=\"#-vuedx-vue-virtual-textdocument--Selector-type\">Selector</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentLanguage-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentLanguage-member-1-\"></a>\n\n#### [getDocumentLanguage](#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentLanguage-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected getDocumentLanguage(selector: Selector): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selector | <code><a href=\"#-vuedx-vue-virtual-textdocument--Selector-type\">Selector</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-markDirty-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-markDirty-member-1-\"></a>\n\n#### [markDirty](#-vuedx-vue-virtual-textdocument-VueTextDocument-markDirty-member-1-)\n\n\n\n**Signature:**\n```ts\nmarkDirty(): void;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-parse-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-parse-member-1-\"></a>\n\n#### [parse](#-vuedx-vue-virtual-textdocument-VueTextDocument-parse-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected parse(): void;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-update-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-update-member-1-\"></a>\n\n#### [update](#-vuedx-vue-virtual-textdocument-VueTextDocument-update-member-1-)\n\n\n\n**Signature:**\n```ts\nstatic update(document: VueTextDocument, changes: TextDocumentContentChangeEvent[], version: number): VueTextDocument;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| document | <code><a href=\"#-vuedx-vue-virtual-textdocument--VueTextDocument-class\">VueTextDocument</a></code> | - |\n| changes | <code><a href=\"#vscode-languageserver-textdocument-TextDocumentContentChangeEvent-type\">TextDocumentContentChangeEvent</a>[]</code> | - |\n| version | <code>number</code> | - |\n\n<br>\n</details>\n\n<br>\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-asFsPath-function-1-\" id=\"-vuedx-vue-virtual-textdocument-asFsPath-function-1-\"></a>\n\n### [asFsPath](#-vuedx-vue-virtual-textdocument-asFsPath-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function asFsPath(uri: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-asFsUri-function-1-\" id=\"-vuedx-vue-virtual-textdocument-asFsUri-function-1-\"></a>\n\n### [asFsUri](#-vuedx-vue-virtual-textdocument-asFsUri-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function asFsUri(fileName: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-asUri-function-1-\" id=\"-vuedx-vue-virtual-textdocument-asUri-function-1-\"></a>\n\n### [asUri](#-vuedx-vue-virtual-textdocument-asUri-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function asUri(fileNameOrUri: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileNameOrUri | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-basename-function-1-\" id=\"-vuedx-vue-virtual-textdocument-basename-function-1-\"></a>\n\n### [basename](#-vuedx-vue-virtual-textdocument-basename-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function basename(fileName: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-binarySearch-function-1-\" id=\"-vuedx-vue-virtual-textdocument-binarySearch-function-1-\"></a>\n\n### [binarySearch](#-vuedx-vue-virtual-textdocument-binarySearch-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function binarySearch<T>(array: T[], isMatch: (a: T) => number, returnMin?: boolean): T | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| array | <code>T[]</code> | - |\n| isMatch | <code>(a: T) => number</code> | - |\n| returnMin | <code>boolean</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-getBlockLanguage-function-1-\" id=\"-vuedx-vue-virtual-textdocument-getBlockLanguage-function-1-\"></a>\n\n### [getBlockLanguage](#-vuedx-vue-virtual-textdocument-getBlockLanguage-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function getBlockLanguage(block?: SFCBlock | null): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| block | <code><a href=\"#-vue-compiler-sfc-SFCBlock-interface\">SFCBlock</a> &#124; null</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-getContainingFile-function-1-\" id=\"-vuedx-vue-virtual-textdocument-getContainingFile-function-1-\"></a>\n\n### [getContainingFile](#-vuedx-vue-virtual-textdocument-getContainingFile-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function getContainingFile(fileName: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-getLanguageExtension-function-1-\" id=\"-vuedx-vue-virtual-textdocument-getLanguageExtension-function-1-\"></a>\n\n### [getLanguageExtension](#-vuedx-vue-virtual-textdocument-getLanguageExtension-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function getLanguageExtension(lang: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| lang | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-getLanguageIdFromExtension-function-1-\" id=\"-vuedx-vue-virtual-textdocument-getLanguageIdFromExtension-function-1-\"></a>\n\n### [getLanguageIdFromExtension](#-vuedx-vue-virtual-textdocument-getLanguageIdFromExtension-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function getLanguageIdFromExtension(ext: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| ext | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-isOffsetInBlock-function-1-\" id=\"-vuedx-vue-virtual-textdocument-isOffsetInBlock-function-1-\"></a>\n\n### [isOffsetInBlock](#-vuedx-vue-virtual-textdocument-isOffsetInBlock-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function isOffsetInBlock(offset: number, block?: SFCBlock | null): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n| block | <code><a href=\"#-vue-compiler-sfc-SFCBlock-interface\">SFCBlock</a> &#124; null</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-isVirtualFile-function-1-\" id=\"-vuedx-vue-virtual-textdocument-isVirtualFile-function-1-\"></a>\n\n### [isVirtualFile](#-vuedx-vue-virtual-textdocument-isVirtualFile-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function isVirtualFile(fileName: string): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-isVirtualFileOfType-function-1-\" id=\"-vuedx-vue-virtual-textdocument-isVirtualFileOfType-function-1-\"></a>\n\n### [isVirtualFileOfType](#-vuedx-vue-virtual-textdocument-isVirtualFileOfType-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function isVirtualFileOfType(fileName: string, type: '_render' | '_module' | '_internal' | 'script' | 'scriptSetup'): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n| type | <code>'_render' &#124; '_module' &#124; '_internal' &#124; 'script' &#124; 'scriptSetup'</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-isVueFile-function-1-\" id=\"-vuedx-vue-virtual-textdocument-isVueFile-function-1-\"></a>\n\n### [isVueFile](#-vuedx-vue-virtual-textdocument-isVueFile-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function isVueFile(fileName: string): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-parseVirtualFileName-function-1-\" id=\"-vuedx-vue-virtual-textdocument-parseVirtualFileName-function-1-\"></a>\n\n### [parseVirtualFileName](#-vuedx-vue-virtual-textdocument-parseVirtualFileName-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function parseVirtualFileName(fileName: string): {\n    uri: string;\n    selector: Selector;\n} | null;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-relativeVirtualImportPath-function-1-\" id=\"-vuedx-vue-virtual-textdocument-relativeVirtualImportPath-function-1-\"></a>\n\n### [relativeVirtualImportPath](#-vuedx-vue-virtual-textdocument-relativeVirtualImportPath-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function relativeVirtualImportPath(fileName: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-replaceSlashes-function-1-\" id=\"-vuedx-vue-virtual-textdocument-replaceSlashes-function-1-\"></a>\n\n### [replaceSlashes](#-vuedx-vue-virtual-textdocument-replaceSlashes-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function replaceSlashes(fileName: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n<!-- #region API-DOCS -->\n","readmeFilename":"readme.md","_id":"@vuedx/vue-virtual-textdocument@0.6.1-insiders-1610911987.0","_nodeVersion":"14.14.0","_npmVersion":"6.14.8","dist":{"integrity":"sha512-HVrTfo1mqaxhU2zOjoxUnwYCgmcVpRf04X6G8KtnGld8Z1KKXD0UYsOLhH7IaX8HxYjjeQTW+b5i50+Rntw0wg==","shasum":"7a593e7ea4eb4392456aef71a574cb7bb9b61b0f","tarball":"https://registry.npmjs.org/@vuedx/vue-virtual-textdocument/-/vue-virtual-textdocument-0.6.1-insiders-1610911987.0.tgz","fileCount":8,"unpackedSize":287043,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgBJETCRA9TVsSAnZWagAAF/QQAII/n0GKKRRET00pptTu\nzTtuScqqPdNitr3PVYndcloCSvvjpK7DhbwNZxyHfiqE9VXm5Lxl9yIcLjFR\nhmC6wsepjh5ng/RUE+bjj1tqRLLaQyrB52lux6gWqD7ghMDIZH2VXtWCFplx\nH1wfGD7TJPWZbYBcHW0FI4PP5tzhnq8p7Rbf+R4Xqqf1L1eTT8arDTKOeilh\n8sjIibo2enBwtKFJT+qK3qFsxGvOFfYbz51GhvgzCG2j3si2UenEnUUFeHAC\nkUrN2mjWBr/ukKxwU6G+5FjPSUDxvYM/tcilweB/lyH19zEusthUlv+tpygQ\n6Crq47CSH46nR7LgSZ+uu+RARSOLIrepESjTaJpwAYXQJGiPr2LNIZfxoh1a\nBUUTgjJdM1V7Bh23fsU4HYSPjLXC8KX5PEB/WpRUoPU3pqZKtyjfe1cJLP3o\nFEv0jT+jE1S8zY0zAhpJqQgPjpEHp4dktNF9aVPY3rkoeZdAoNMinMmnkFFg\n05zlV8yQLJeMZOxGB+nwfwx27WtGTHk2yJ1jmxTEu3u+rtdGbWc8YNesIcZP\nir42HdvrV8pf1Sw6Qc0+I//CjR2EpycSIk1RKInTb01IzhneDO8LDizb8hPG\nEpeZ+OPKe9yuKYhq/JcSO29vU1jdf1BkYQ2QihwKNv4Vwhtc6cr2i1/+FFi0\nne/i\r\n=SmC1\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQD3qVNDmpV9ccftEyAO83lbl1RhMeNoNl0D5P+VwuLEWAIhAJHDZNvRcld8M2Z5FYUIOEF5kh+68/kSqTEmzjhHwa21"}]},"_npmUser":{"name":"znck","email":"rahulkdn@gmail.com"},"directories":{},"maintainers":[{"name":"znck","email":"rahulkdn@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/vue-virtual-textdocument_0.6.1-insiders-1610911987.0_1610912019464_0.9329991933496495"},"_hasShrinkwrap":false},"0.6.1-insiders-1611324083.0":{"name":"@vuedx/vue-virtual-textdocument","version":"0.6.1-insiders-1611324083.0","description":"An implementation of virtual filesystem for accessing blocks in a `.vue` file as independent files.","main":"dist/index.cjs.js","module":"dist/index.esm.js","types":"dist/index.d.ts","private":false,"scripts":{},"keywords":["vue","vue sfc","sfc","vue virtual files"],"repository":{"type":"git","url":"git+https://github.com/znck/vue-developer-experience.git"},"author":{"name":"Rahul Kadyan","email":"rahulkdn@gmail.com","url":"https://znck.me/"},"funding":{"type":"individual","url":"https://github.com/sponsors/znck"},"license":"MIT","bugs":{"url":"https://github.com/znck/vue-developer-experience/issues"},"homepage":"https://github.com/znck/vue-developer-experience#readme","dependencies":{"@vuedx/analyze":"0.6.1-insiders-1611324083.0","@vuedx/compiler-sfc":"0.6.1-insiders-1611324083.0","@vuedx/compiler-tsx":"0.6.1-insiders-1611324083.0","@vuedx/shared":"0.6.1-insiders-1611324083.0","source-map":"^0.6.1","vscode-languageserver-textdocument":"^1.0.1","vscode-uri":"^2.1.2"},"devDependencies":{"fast-glob":"^3.2.4","typescript":"^4.0.3"},"readme":"# Vue Virtual TextDocument\n\nAn implementation of virtual filesystem for accessing blocks in a `.vue` file as independent files.\n\n## Support\n\nThis package is part of [VueDX project](https://github.com/znck/vue-developer-experience), maintained by [Rahul Kadyan](https://github.com/znck). You can [💖 sponsor him](https://github.com/sponsors/znck) for continued development of this package and other VueDX tools.\n\n```\nnpm add @vuedx/vue-virtual-textdocument\n```\n<!-- #region API-DOCS -->\n<!-- Do not edit this file. It is a report generated by [scripts/docgen.js](https://github.com/znck/vue-developer-experience/tree/main/scripts/docgen.js). -->\n\n## API\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-AsyncDocumentStore-class\" id=\"-vuedx-vue-virtual-textdocument-AsyncDocumentStore-class\"></a>\n\n### [AsyncDocumentStore](#-vuedx-vue-virtual-textdocument-AsyncDocumentStore-class)\n\n\n\n<details><summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare class AsyncDocumentStore<T> extends DocumentStore<T> {\n  constructor(resolve: (uri: string) => T | Promise<T | null> | null, normalize?: (uri: string) => string);\n  get(uri: string): T | null;\n  get(uri: string): Promise<T | null>;\n}\n```\n\n**Members:**\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-AsyncDocumentStore-get-member-1-\" id=\"-vuedx-vue-virtual-textdocument-AsyncDocumentStore-get-member-1-\"></a>\n\n#### [get](#-vuedx-vue-virtual-textdocument-AsyncDocumentStore-get-member-1-)\n\n\n\n**Signature:**\n```ts\nget(uri: string): T | null;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-AsyncDocumentStore-get-member-2-\" id=\"-vuedx-vue-virtual-textdocument-AsyncDocumentStore-get-member-2-\"></a>\n\n#### [get](#-vuedx-vue-virtual-textdocument-AsyncDocumentStore-get-member-2-)\n\n\n\n**Signature:**\n```ts\nget(uri: string): Promise<T | null>;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n\n<br>\n</details>\n\n<br>\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-class\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-class\"></a>\n\n### [DocumentStore](#-vuedx-vue-virtual-textdocument-DocumentStore-class)\n\n\n\n<details><summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare class DocumentStore<T> {\n  constructor(resolve: (uri: string) => T | null, normalize?: (uri: string) => string);\n  all(): string[];\n  delete(uri: string): boolean;\n  dispose(): void;\n  get(uri: string): T | null;\n  protected getNormalizedUri(uri: string): string;\n  has(uri: string): boolean;\n  protected map: Map<string, T>;\n  normalize: (uri: string) => string;\n  protected resolve: (uri: string) => T | null;\n  protected reverseUriMap: Map<string, string>;\n  set(uri: string, document: T): void;\n}\n```\n\n**Members:**\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-all-member-1-\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-all-member-1-\"></a>\n\n#### [all](#-vuedx-vue-virtual-textdocument-DocumentStore-all-member-1-)\n\n\n\n**Signature:**\n```ts\nall(): string[];\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-delete-member-1-\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-delete-member-1-\"></a>\n\n#### [delete](#-vuedx-vue-virtual-textdocument-DocumentStore-delete-member-1-)\n\n\n\n**Signature:**\n```ts\ndelete(uri: string): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-dispose-member-1-\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-dispose-member-1-\"></a>\n\n#### [dispose](#-vuedx-vue-virtual-textdocument-DocumentStore-dispose-member-1-)\n\n\n\n**Signature:**\n```ts\ndispose(): void;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-get-member-1-\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-get-member-1-\"></a>\n\n#### [get](#-vuedx-vue-virtual-textdocument-DocumentStore-get-member-1-)\n\n\n\n**Signature:**\n```ts\nget(uri: string): T | null;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-getNormalizedUri-member-1-\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-getNormalizedUri-member-1-\"></a>\n\n#### [getNormalizedUri](#-vuedx-vue-virtual-textdocument-DocumentStore-getNormalizedUri-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected getNormalizedUri(uri: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-has-member-1-\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-has-member-1-\"></a>\n\n#### [has](#-vuedx-vue-virtual-textdocument-DocumentStore-has-member-1-)\n\n\n\n**Signature:**\n```ts\nhas(uri: string): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-set-member-1-\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-set-member-1-\"></a>\n\n#### [set](#-vuedx-vue-virtual-textdocument-DocumentStore-set-member-1-)\n\n\n\n**Signature:**\n```ts\nset(uri: string, document: T): void;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n| document | <code>T</code> | - |\n\n<br>\n</details>\n\n<br>\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-class\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-class\"></a>\n\n### [RenderFunctionTextDocument](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-class)\n\n\n\n<details><summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare class RenderFunctionTextDocument extends TransformedBlockTextDocument {\n  constructor(container: VueTextDocument, selector: Selector, transformed: TextDocument, source: TextDocument);\n  get ast(): CodegenResult['ast'] | undefined;\n  get contextCompletionsTriggerOffset(): number;\n  static create(options: CreateVirtualTextDocumentOptions): RenderFunctionTextDocument;\n  findExpression(offset: number, length: number): undefined | {\n        offset: number;\n        length: number;\n    };\n  protected generate(): string;\n  getAllGeneratedOffsetsAt(offset: number): undefined | Array<{\n        length: number;\n        offset: number;\n    }>;\n  getGeneratedOffsetAt(offset: number): undefined | {\n        length: number;\n        offset: number;\n    };\n  protected getKnownComponents(): Record<string, ComponentImport>;\n  getOriginalOffsetAt(offset: number): undefined | {\n        offset: number;\n        length: number;\n    };\n  isInGeneratedRange(offset: number): boolean;\n  isInTemplateIdentifierRange(offset: number): boolean;\n  get parserErrors(): CodegenResult['errors'];\n  get tagCompletionsTriggerOffset(): number;\n  toDisplayMappings(): string;\n  protected tryGenerate(): string;\n}\n```\n\n**Members:**\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-create-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-create-member-1-\"></a>\n\n#### [create](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-create-member-1-)\n\n\n\n**Signature:**\n```ts\nstatic create(options: CreateVirtualTextDocumentOptions): RenderFunctionTextDocument;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| options | <code><a href=\"#-vuedx-vue-virtual-textdocument--CreateVirtualTextDocumentOptions-interface\">CreateVirtualTextDocumentOptions</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-findExpression-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-findExpression-member-1-\"></a>\n\n#### [findExpression](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-findExpression-member-1-)\n\n\n\n**Signature:**\n```ts\nfindExpression(offset: number, length: number): undefined | {\n        offset: number;\n        length: number;\n    };\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n| length | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-generate-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-generate-member-1-\"></a>\n\n#### [generate](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-generate-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected generate(): string;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getAllGeneratedOffsetsAt-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getAllGeneratedOffsetsAt-member-1-\"></a>\n\n#### [getAllGeneratedOffsetsAt](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getAllGeneratedOffsetsAt-member-1-)\n\n\n\n**Signature:**\n```ts\ngetAllGeneratedOffsetsAt(offset: number): undefined | Array<{\n        length: number;\n        offset: number;\n    }>;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getGeneratedOffsetAt-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getGeneratedOffsetAt-member-1-\"></a>\n\n#### [getGeneratedOffsetAt](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getGeneratedOffsetAt-member-1-)\n\n\n\n**Signature:**\n```ts\ngetGeneratedOffsetAt(offset: number): undefined | {\n        length: number;\n        offset: number;\n    };\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getKnownComponents-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getKnownComponents-member-1-\"></a>\n\n#### [getKnownComponents](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getKnownComponents-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected getKnownComponents(): Record<string, ComponentImport>;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getOriginalOffsetAt-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getOriginalOffsetAt-member-1-\"></a>\n\n#### [getOriginalOffsetAt](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getOriginalOffsetAt-member-1-)\n\n\n\n**Signature:**\n```ts\ngetOriginalOffsetAt(offset: number): undefined | {\n        offset: number;\n        length: number;\n    };\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-isInGeneratedRange-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-isInGeneratedRange-member-1-\"></a>\n\n#### [isInGeneratedRange](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-isInGeneratedRange-member-1-)\n\n\n\n**Signature:**\n```ts\nisInGeneratedRange(offset: number): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-isInTemplateIdentifierRange-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-isInTemplateIdentifierRange-member-1-\"></a>\n\n#### [isInTemplateIdentifierRange](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-isInTemplateIdentifierRange-member-1-)\n\n\n\n**Signature:**\n```ts\nisInTemplateIdentifierRange(offset: number): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-toDisplayMappings-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-toDisplayMappings-member-1-\"></a>\n\n#### [toDisplayMappings](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-toDisplayMappings-member-1-)\n\n\n\n**Signature:**\n```ts\ntoDisplayMappings(): string;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-tryGenerate-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-tryGenerate-member-1-\"></a>\n\n#### [tryGenerate](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-tryGenerate-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected tryGenerate(): string;\n```\n\n\n<br>\n</details>\n\n<br>\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-class\" id=\"-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-class\"></a>\n\n### [TransformedBlockTextDocument](#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-class)\n\n\n\n<details><summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare class TransformedBlockTextDocument extends VirtualTextDocument {\n  protected constructor(container: VueTextDocument, selector: Selector, transformed: TextDocument, source: TextDocument | VirtualTextDocument, _transform: (document: TransformedBlockTextDocument) => BlockTransformResult);\n  static create(options: CreateTransformedBlockTextDocumentOptions): TransformedBlockTextDocument;\n  protected refresh(): void;\n  transform(): BlockTransformResult;\n  tryGetGeneratedOffset(offset: number): number | undefined;\n  tryGetSourceOffset(offset: number): number | undefined;\n}\n```\n\n**Members:**\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-create-member-1-\" id=\"-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-create-member-1-\"></a>\n\n#### [create](#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-create-member-1-)\n\n\n\n**Signature:**\n```ts\nstatic create(options: CreateTransformedBlockTextDocumentOptions): TransformedBlockTextDocument;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| options | <code><a href=\"#-vuedx-vue-virtual-textdocument--CreateTransformedBlockTextDocumentOptions-interface\">CreateTransformedBlockTextDocumentOptions</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-refresh-member-1-\" id=\"-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-refresh-member-1-\"></a>\n\n#### [refresh](#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-refresh-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected refresh(): void;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-transform-member-1-\" id=\"-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-transform-member-1-\"></a>\n\n#### [transform](#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-transform-member-1-)\n\n\n\n**Signature:**\n```ts\ntransform(): BlockTransformResult;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-tryGetGeneratedOffset-member-1-\" id=\"-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-tryGetGeneratedOffset-member-1-\"></a>\n\n#### [tryGetGeneratedOffset](#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-tryGetGeneratedOffset-member-1-)\n\n\n\n**Signature:**\n```ts\ntryGetGeneratedOffset(offset: number): number | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-tryGetSourceOffset-member-1-\" id=\"-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-tryGetSourceOffset-member-1-\"></a>\n\n#### [tryGetSourceOffset](#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-tryGetSourceOffset-member-1-)\n\n\n\n**Signature:**\n```ts\ntryGetSourceOffset(offset: number): number | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n</details>\n\n<br>\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VirtualTextDocument-class\" id=\"-vuedx-vue-virtual-textdocument-VirtualTextDocument-class\"></a>\n\n### [VirtualTextDocument](#-vuedx-vue-virtual-textdocument-VirtualTextDocument-class)\n\n\n\n<details><summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare class VirtualTextDocument extends ProxyTextDocument {\n  protected constructor(container: VueTextDocument, selector: Selector, doc: TextDocument);\n  readonly container: VueTextDocument;\n  static create(options: CreateVirtualTextDocumentOptions): VirtualTextDocument;\n  protected isDirty: boolean;\n  markDirty(): void;\n  protected refresh(): void;\n  readonly selector: Selector;\n}\n```\n\n**Members:**\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VirtualTextDocument-create-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VirtualTextDocument-create-member-1-\"></a>\n\n#### [create](#-vuedx-vue-virtual-textdocument-VirtualTextDocument-create-member-1-)\n\n\n\n**Signature:**\n```ts\nstatic create(options: CreateVirtualTextDocumentOptions): VirtualTextDocument;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| options | <code><a href=\"#-vuedx-vue-virtual-textdocument--CreateVirtualTextDocumentOptions-interface\">CreateVirtualTextDocumentOptions</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VirtualTextDocument-markDirty-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VirtualTextDocument-markDirty-member-1-\"></a>\n\n#### [markDirty](#-vuedx-vue-virtual-textdocument-VirtualTextDocument-markDirty-member-1-)\n\n\n\n**Signature:**\n```ts\nmarkDirty(): void;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VirtualTextDocument-refresh-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VirtualTextDocument-refresh-member-1-\"></a>\n\n#### [refresh](#-vuedx-vue-virtual-textdocument-VirtualTextDocument-refresh-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected refresh(): void;\n```\n\n\n<br>\n</details>\n\n<br>\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-class\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-class\"></a>\n\n### [VueTextDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-class)\n\n\n\n<details><summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare class VueTextDocument extends ProxyTextDocument {\n  constructor(doc: TextDocument, options?: VueTextDocumentOptions, parseOptions?: SFCParseOptions);\n  all(): VirtualTextDocument[];\n  blockAt(position: Position | number): SFCBlock | null | undefined;\n  static create(uri: string, languageId: string, version: number, content: string, options?: VueTextDocumentOptions, parseOptions?: SFCParseOptions): VueTextDocument;\n  protected createBlockDocument(selector: BlockSelector): VirtualTextDocument | undefined;\n  protected createInternalModuleDocument(): TransformedBlockTextDocument;\n  protected createModuleDocument(): TransformedBlockTextDocument;\n  protected createRenderDocument(): RenderFunctionTextDocument;\n  protected createTemplateASTDocument(): TransformedBlockTextDocument;\n  get descriptor(): SFCDescriptor;\n  documentAt(position: Position | number): VirtualTextDocument | undefined;\n  getBlock(selector: BlockSelector): SFCBlock | null | undefined;\n  getBlockSelector(block: SFCBlock): BlockSelector | undefined;\n  getDocument(selector: typeof RENDER_SELECTOR): RenderFunctionTextDocument;\n  getDocument(selector: SelectorLike): VirtualTextDocument;\n  getDocument(selector: string): VirtualTextDocument | undefined;\n  getDocumentFileName(selectorLike: SelectorLike): string;\n  protected getDocumentId(selector: Selector): string;\n  protected getDocumentLanguage(selector: Selector): string;\n  markDirty(): void;\n  readonly options: VueTextDocumentOptions;\n  protected parse(): void;\n  static update(document: VueTextDocument, changes: TextDocumentContentChangeEvent[], version: number): VueTextDocument;\n}\n```\n\n**Members:**\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-all-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-all-member-1-\"></a>\n\n#### [all](#-vuedx-vue-virtual-textdocument-VueTextDocument-all-member-1-)\n\n\n\n**Signature:**\n```ts\nall(): VirtualTextDocument[];\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-blockAt-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-blockAt-member-1-\"></a>\n\n#### [blockAt](#-vuedx-vue-virtual-textdocument-VueTextDocument-blockAt-member-1-)\n\n\n\n**Signature:**\n```ts\nblockAt(position: Position | number): SFCBlock | null | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| position | <code><a href=\"#vscode-languageserver-textdocument-Position-interface\">Position</a> &#124; number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-create-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-create-member-1-\"></a>\n\n#### [create](#-vuedx-vue-virtual-textdocument-VueTextDocument-create-member-1-)\n\n\n\n**Signature:**\n```ts\nstatic create(uri: string, languageId: string, version: number, content: string, options?: VueTextDocumentOptions, parseOptions?: SFCParseOptions): VueTextDocument;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n| languageId | <code>string</code> | - |\n| version | <code>number</code> | - |\n| content | <code>string</code> | - |\n| options | <code><a href=\"#-vuedx-vue-virtual-textdocument--VueTextDocumentOptions-interface\">VueTextDocumentOptions</a></code> | - |\n| parseOptions | <code><a href=\"#-vue-compiler-sfc-SFCParseOptions-interface\">SFCParseOptions</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-createBlockDocument-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-createBlockDocument-member-1-\"></a>\n\n#### [createBlockDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-createBlockDocument-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected createBlockDocument(selector: BlockSelector): VirtualTextDocument | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selector | <code><a href=\"#-vuedx-vue-virtual-textdocument--BlockSelector-type\">BlockSelector</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-createInternalModuleDocument-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-createInternalModuleDocument-member-1-\"></a>\n\n#### [createInternalModuleDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-createInternalModuleDocument-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected createInternalModuleDocument(): TransformedBlockTextDocument;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-createModuleDocument-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-createModuleDocument-member-1-\"></a>\n\n#### [createModuleDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-createModuleDocument-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected createModuleDocument(): TransformedBlockTextDocument;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-createRenderDocument-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-createRenderDocument-member-1-\"></a>\n\n#### [createRenderDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-createRenderDocument-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected createRenderDocument(): RenderFunctionTextDocument;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-createTemplateASTDocument-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-createTemplateASTDocument-member-1-\"></a>\n\n#### [createTemplateASTDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-createTemplateASTDocument-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected createTemplateASTDocument(): TransformedBlockTextDocument;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-documentAt-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-documentAt-member-1-\"></a>\n\n#### [documentAt](#-vuedx-vue-virtual-textdocument-VueTextDocument-documentAt-member-1-)\n\n\n\n**Signature:**\n```ts\ndocumentAt(position: Position | number): VirtualTextDocument | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| position | <code><a href=\"#vscode-languageserver-textdocument-Position-interface\">Position</a> &#124; number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getBlock-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getBlock-member-1-\"></a>\n\n#### [getBlock](#-vuedx-vue-virtual-textdocument-VueTextDocument-getBlock-member-1-)\n\n\n\n**Signature:**\n```ts\ngetBlock(selector: BlockSelector): SFCBlock | null | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selector | <code><a href=\"#-vuedx-vue-virtual-textdocument--BlockSelector-type\">BlockSelector</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getBlockSelector-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getBlockSelector-member-1-\"></a>\n\n#### [getBlockSelector](#-vuedx-vue-virtual-textdocument-VueTextDocument-getBlockSelector-member-1-)\n\n\n\n**Signature:**\n```ts\ngetBlockSelector(block: SFCBlock): BlockSelector | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| block | <code><a href=\"#-vue-compiler-sfc-SFCBlock-interface\">SFCBlock</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-1-\"></a>\n\n#### [getDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-1-)\n\n\n\n**Signature:**\n```ts\ngetDocument(selector: typeof RENDER_SELECTOR): RenderFunctionTextDocument;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selector | <code>typeof <a href=\"#-vuedx-vue-virtual-textdocument--RENDER-SELECTOR-var\">RENDER_SELECTOR</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-2-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-2-\"></a>\n\n#### [getDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-2-)\n\n\n\n**Signature:**\n```ts\ngetDocument(selector: SelectorLike): VirtualTextDocument;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selector | <code><a href=\"#-vuedx-vue-virtual-textdocument--SelectorLike-type\">SelectorLike</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-3-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-3-\"></a>\n\n#### [getDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-3-)\n\n\n\n**Signature:**\n```ts\ngetDocument(selector: string): VirtualTextDocument | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selector | <code>string</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentFileName-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentFileName-member-1-\"></a>\n\n#### [getDocumentFileName](#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentFileName-member-1-)\n\n\n\n**Signature:**\n```ts\ngetDocumentFileName(selectorLike: SelectorLike): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selectorLike | <code><a href=\"#-vuedx-vue-virtual-textdocument--SelectorLike-type\">SelectorLike</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentId-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentId-member-1-\"></a>\n\n#### [getDocumentId](#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentId-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected getDocumentId(selector: Selector): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selector | <code><a href=\"#-vuedx-vue-virtual-textdocument--Selector-type\">Selector</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentLanguage-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentLanguage-member-1-\"></a>\n\n#### [getDocumentLanguage](#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentLanguage-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected getDocumentLanguage(selector: Selector): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selector | <code><a href=\"#-vuedx-vue-virtual-textdocument--Selector-type\">Selector</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-markDirty-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-markDirty-member-1-\"></a>\n\n#### [markDirty](#-vuedx-vue-virtual-textdocument-VueTextDocument-markDirty-member-1-)\n\n\n\n**Signature:**\n```ts\nmarkDirty(): void;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-parse-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-parse-member-1-\"></a>\n\n#### [parse](#-vuedx-vue-virtual-textdocument-VueTextDocument-parse-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected parse(): void;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-update-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-update-member-1-\"></a>\n\n#### [update](#-vuedx-vue-virtual-textdocument-VueTextDocument-update-member-1-)\n\n\n\n**Signature:**\n```ts\nstatic update(document: VueTextDocument, changes: TextDocumentContentChangeEvent[], version: number): VueTextDocument;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| document | <code><a href=\"#-vuedx-vue-virtual-textdocument--VueTextDocument-class\">VueTextDocument</a></code> | - |\n| changes | <code><a href=\"#vscode-languageserver-textdocument-TextDocumentContentChangeEvent-type\">TextDocumentContentChangeEvent</a>[]</code> | - |\n| version | <code>number</code> | - |\n\n<br>\n</details>\n\n<br>\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-asFsPath-function-1-\" id=\"-vuedx-vue-virtual-textdocument-asFsPath-function-1-\"></a>\n\n### [asFsPath](#-vuedx-vue-virtual-textdocument-asFsPath-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function asFsPath(uri: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-asFsUri-function-1-\" id=\"-vuedx-vue-virtual-textdocument-asFsUri-function-1-\"></a>\n\n### [asFsUri](#-vuedx-vue-virtual-textdocument-asFsUri-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function asFsUri(fileName: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-asUri-function-1-\" id=\"-vuedx-vue-virtual-textdocument-asUri-function-1-\"></a>\n\n### [asUri](#-vuedx-vue-virtual-textdocument-asUri-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function asUri(fileNameOrUri: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileNameOrUri | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-basename-function-1-\" id=\"-vuedx-vue-virtual-textdocument-basename-function-1-\"></a>\n\n### [basename](#-vuedx-vue-virtual-textdocument-basename-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function basename(fileName: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-binarySearch-function-1-\" id=\"-vuedx-vue-virtual-textdocument-binarySearch-function-1-\"></a>\n\n### [binarySearch](#-vuedx-vue-virtual-textdocument-binarySearch-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function binarySearch<T>(array: T[], isMatch: (a: T) => number, returnMin?: boolean): T | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| array | <code>T[]</code> | - |\n| isMatch | <code>(a: T) => number</code> | - |\n| returnMin | <code>boolean</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-getBlockLanguage-function-1-\" id=\"-vuedx-vue-virtual-textdocument-getBlockLanguage-function-1-\"></a>\n\n### [getBlockLanguage](#-vuedx-vue-virtual-textdocument-getBlockLanguage-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function getBlockLanguage(block?: SFCBlock | null): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| block | <code><a href=\"#-vue-compiler-sfc-SFCBlock-interface\">SFCBlock</a> &#124; null</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-getContainingFile-function-1-\" id=\"-vuedx-vue-virtual-textdocument-getContainingFile-function-1-\"></a>\n\n### [getContainingFile](#-vuedx-vue-virtual-textdocument-getContainingFile-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function getContainingFile(fileName: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-getLanguageExtension-function-1-\" id=\"-vuedx-vue-virtual-textdocument-getLanguageExtension-function-1-\"></a>\n\n### [getLanguageExtension](#-vuedx-vue-virtual-textdocument-getLanguageExtension-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function getLanguageExtension(lang: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| lang | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-getLanguageIdFromExtension-function-1-\" id=\"-vuedx-vue-virtual-textdocument-getLanguageIdFromExtension-function-1-\"></a>\n\n### [getLanguageIdFromExtension](#-vuedx-vue-virtual-textdocument-getLanguageIdFromExtension-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function getLanguageIdFromExtension(ext: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| ext | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-isOffsetInBlock-function-1-\" id=\"-vuedx-vue-virtual-textdocument-isOffsetInBlock-function-1-\"></a>\n\n### [isOffsetInBlock](#-vuedx-vue-virtual-textdocument-isOffsetInBlock-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function isOffsetInBlock(offset: number, block?: SFCBlock | null): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n| block | <code><a href=\"#-vue-compiler-sfc-SFCBlock-interface\">SFCBlock</a> &#124; null</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-isVirtualFile-function-1-\" id=\"-vuedx-vue-virtual-textdocument-isVirtualFile-function-1-\"></a>\n\n### [isVirtualFile](#-vuedx-vue-virtual-textdocument-isVirtualFile-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function isVirtualFile(fileName: string): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-isVirtualFileOfType-function-1-\" id=\"-vuedx-vue-virtual-textdocument-isVirtualFileOfType-function-1-\"></a>\n\n### [isVirtualFileOfType](#-vuedx-vue-virtual-textdocument-isVirtualFileOfType-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function isVirtualFileOfType(fileName: string, type: '_render' | '_module' | '_internal' | 'script' | 'scriptSetup'): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n| type | <code>'_render' &#124; '_module' &#124; '_internal' &#124; 'script' &#124; 'scriptSetup'</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-isVueFile-function-1-\" id=\"-vuedx-vue-virtual-textdocument-isVueFile-function-1-\"></a>\n\n### [isVueFile](#-vuedx-vue-virtual-textdocument-isVueFile-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function isVueFile(fileName: string): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-parseVirtualFileName-function-1-\" id=\"-vuedx-vue-virtual-textdocument-parseVirtualFileName-function-1-\"></a>\n\n### [parseVirtualFileName](#-vuedx-vue-virtual-textdocument-parseVirtualFileName-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function parseVirtualFileName(fileName: string): {\n    uri: string;\n    selector: Selector;\n} | null;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-relativeVirtualImportPath-function-1-\" id=\"-vuedx-vue-virtual-textdocument-relativeVirtualImportPath-function-1-\"></a>\n\n### [relativeVirtualImportPath](#-vuedx-vue-virtual-textdocument-relativeVirtualImportPath-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function relativeVirtualImportPath(fileName: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-replaceSlashes-function-1-\" id=\"-vuedx-vue-virtual-textdocument-replaceSlashes-function-1-\"></a>\n\n### [replaceSlashes](#-vuedx-vue-virtual-textdocument-replaceSlashes-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function replaceSlashes(fileName: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n<!-- #region API-DOCS -->\n","readmeFilename":"readme.md","_id":"@vuedx/vue-virtual-textdocument@0.6.1-insiders-1611324083.0","_nodeVersion":"14.14.0","_npmVersion":"6.14.8","dist":{"integrity":"sha512-ipUHuTrEstROEeimHO7mB5dOiQEjT8bKxqZNVUocSQqWFw24RTJ58ukiNoFyfaXtgNAD6O9ATuUbO/Nm9ER2FQ==","shasum":"13a857a7a5022f1748f5081b5029d8205ef045d8","tarball":"https://registry.npmjs.org/@vuedx/vue-virtual-textdocument/-/vue-virtual-textdocument-0.6.1-insiders-1611324083.0.tgz","fileCount":8,"unpackedSize":287043,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgCtrXCRA9TVsSAnZWagAAv9IP/2fkAkAPpmhLvHmW2xwF\ndrOdbCDbjFk0LoTYKm12XX0S0J0GmcBRSOPBlimPePNfsoEQWPiCuULZkuFL\ngmwn2sXYbUNH267Vi1p/S1aGHRoTmTXcOMNUOuFWP9EU9tczGcJytnjPsjZ4\nGXgiixA3haPWxl6MF6IYWs1y//V+yKp20b0aqeYZcaAc2fEkcafmub9q8zfv\nEbR4WMk7x93DROkELGo+jtaWkdmNxtB/yZa4fG5PZ5JYexT3qCv/aEGavcaL\n4CIiyz7AhJDhlGAPZRsw18Eph+Nv6OO994D/1zMrX9weWuWwUyMlyIqqrk46\n0K9Kbeh1uSzs0eeZJ/ElUBMKuI2EjO1elheXZrqtJf04WKj+RwOJcSgBAe1w\nZqgg5WmU8eOqM77haKclGSkyEdUx6iYMC4wjVvrYgwgGajWw2XWFWoNq4ndK\nj2Ks57NnAbmd/3fTzFVzBVKLfPAq3w16UE3y06A/GkovDOnhb615+csSuIEA\n5SZlwMZ8JyD3HDXh44w6TZOZ6RfOq5Q/BsqO8A7VO/qgqRIn4mV/uvBBcsQr\ng2q4uoPu9q2sK1iopS5Lc/xektH9dfc42nu8CeqzqCtrqWUws0sE5I2zVy1x\n92TwEdqdQINj/ohgY9/zJzbJhgpcF/7rI2zxR3IIsjPpL0geJJdCtgS1rlyT\nVSVf\r\n=Z4Kn\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIBJO4Jh0layAmtESPapnlHeurYJMQEVi6uqI1rLRwn1qAiBf44HqKZXz4kIudMAaDLJH6ZnD6g5eqSusCzO1RSEnzQ=="}]},"_npmUser":{"name":"znck","email":"rahulkdn@gmail.com"},"directories":{},"maintainers":[{"name":"znck","email":"rahulkdn@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/vue-virtual-textdocument_0.6.1-insiders-1611324083.0_1611324119393_0.31214944967009206"},"_hasShrinkwrap":false},"0.6.1-insiders-1611498830.0":{"name":"@vuedx/vue-virtual-textdocument","version":"0.6.1-insiders-1611498830.0","description":"An implementation of virtual filesystem for accessing blocks in a `.vue` file as independent files.","main":"dist/index.cjs.js","module":"dist/index.esm.js","types":"dist/index.d.ts","private":false,"scripts":{},"keywords":["vue","vue sfc","sfc","vue virtual files"],"repository":{"type":"git","url":"git+https://github.com/znck/vue-developer-experience.git"},"author":{"name":"Rahul Kadyan","email":"rahulkdn@gmail.com","url":"https://znck.me/"},"funding":{"type":"individual","url":"https://github.com/sponsors/znck"},"license":"MIT","bugs":{"url":"https://github.com/znck/vue-developer-experience/issues"},"homepage":"https://github.com/znck/vue-developer-experience#readme","dependencies":{"@vuedx/analyze":"0.6.1-insiders-1611498830.0","@vuedx/compiler-sfc":"0.6.1-insiders-1611498830.0","@vuedx/compiler-tsx":"0.6.1-insiders-1611498830.0","@vuedx/shared":"0.6.1-insiders-1611498830.0","source-map":"^0.6.1","vscode-languageserver-textdocument":"^1.0.1","vscode-uri":"^2.1.2"},"devDependencies":{"fast-glob":"^3.2.4","typescript":"^4.0.3"},"readme":"# Vue Virtual TextDocument\n\nAn implementation of virtual filesystem for accessing blocks in a `.vue` file as independent files.\n\n## Support\n\nThis package is part of [VueDX project](https://github.com/znck/vue-developer-experience), maintained by [Rahul Kadyan](https://github.com/znck). You can [💖 sponsor him](https://github.com/sponsors/znck) for continued development of this package and other VueDX tools.\n\n```\nnpm add @vuedx/vue-virtual-textdocument\n```\n<!-- #region API-DOCS -->\n<!-- Do not edit this file. It is a report generated by [scripts/docgen.js](https://github.com/znck/vue-developer-experience/tree/main/scripts/docgen.js). -->\n\n## API\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-AsyncDocumentStore-class\" id=\"-vuedx-vue-virtual-textdocument-AsyncDocumentStore-class\"></a>\n\n### [AsyncDocumentStore](#-vuedx-vue-virtual-textdocument-AsyncDocumentStore-class)\n\n\n\n<details><summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare class AsyncDocumentStore<T> extends DocumentStore<T> {\n  constructor(resolve: (uri: string) => T | Promise<T | null> | null, normalize?: (uri: string) => string);\n  get(uri: string): T | null;\n  get(uri: string): Promise<T | null>;\n}\n```\n\n**Members:**\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-AsyncDocumentStore-get-member-1-\" id=\"-vuedx-vue-virtual-textdocument-AsyncDocumentStore-get-member-1-\"></a>\n\n#### [get](#-vuedx-vue-virtual-textdocument-AsyncDocumentStore-get-member-1-)\n\n\n\n**Signature:**\n```ts\nget(uri: string): T | null;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-AsyncDocumentStore-get-member-2-\" id=\"-vuedx-vue-virtual-textdocument-AsyncDocumentStore-get-member-2-\"></a>\n\n#### [get](#-vuedx-vue-virtual-textdocument-AsyncDocumentStore-get-member-2-)\n\n\n\n**Signature:**\n```ts\nget(uri: string): Promise<T | null>;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n\n<br>\n</details>\n\n<br>\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-class\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-class\"></a>\n\n### [DocumentStore](#-vuedx-vue-virtual-textdocument-DocumentStore-class)\n\n\n\n<details><summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare class DocumentStore<T> {\n  constructor(resolve: (uri: string) => T | null, normalize?: (uri: string) => string);\n  all(): string[];\n  delete(uri: string): boolean;\n  dispose(): void;\n  get(uri: string): T | null;\n  protected getNormalizedUri(uri: string): string;\n  has(uri: string): boolean;\n  protected map: Map<string, T>;\n  normalize: (uri: string) => string;\n  protected resolve: (uri: string) => T | null;\n  protected reverseUriMap: Map<string, string>;\n  set(uri: string, document: T): void;\n}\n```\n\n**Members:**\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-all-member-1-\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-all-member-1-\"></a>\n\n#### [all](#-vuedx-vue-virtual-textdocument-DocumentStore-all-member-1-)\n\n\n\n**Signature:**\n```ts\nall(): string[];\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-delete-member-1-\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-delete-member-1-\"></a>\n\n#### [delete](#-vuedx-vue-virtual-textdocument-DocumentStore-delete-member-1-)\n\n\n\n**Signature:**\n```ts\ndelete(uri: string): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-dispose-member-1-\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-dispose-member-1-\"></a>\n\n#### [dispose](#-vuedx-vue-virtual-textdocument-DocumentStore-dispose-member-1-)\n\n\n\n**Signature:**\n```ts\ndispose(): void;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-get-member-1-\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-get-member-1-\"></a>\n\n#### [get](#-vuedx-vue-virtual-textdocument-DocumentStore-get-member-1-)\n\n\n\n**Signature:**\n```ts\nget(uri: string): T | null;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-getNormalizedUri-member-1-\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-getNormalizedUri-member-1-\"></a>\n\n#### [getNormalizedUri](#-vuedx-vue-virtual-textdocument-DocumentStore-getNormalizedUri-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected getNormalizedUri(uri: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-has-member-1-\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-has-member-1-\"></a>\n\n#### [has](#-vuedx-vue-virtual-textdocument-DocumentStore-has-member-1-)\n\n\n\n**Signature:**\n```ts\nhas(uri: string): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-set-member-1-\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-set-member-1-\"></a>\n\n#### [set](#-vuedx-vue-virtual-textdocument-DocumentStore-set-member-1-)\n\n\n\n**Signature:**\n```ts\nset(uri: string, document: T): void;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n| document | <code>T</code> | - |\n\n<br>\n</details>\n\n<br>\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-class\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-class\"></a>\n\n### [RenderFunctionTextDocument](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-class)\n\n\n\n<details><summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare class RenderFunctionTextDocument extends TransformedBlockTextDocument {\n  constructor(container: VueTextDocument, selector: Selector, transformed: TextDocument, source: TextDocument);\n  get ast(): CodegenResult['ast'] | undefined;\n  get contextCompletionsTriggerOffset(): number;\n  static create(options: CreateVirtualTextDocumentOptions): RenderFunctionTextDocument;\n  findExpression(offset: number, length: number): undefined | {\n        offset: number;\n        length: number;\n    };\n  protected generate(): string;\n  getAllGeneratedOffsetsAt(offset: number): undefined | Array<{\n        length: number;\n        offset: number;\n    }>;\n  getGeneratedOffsetAt(offset: number): undefined | {\n        length: number;\n        offset: number;\n    };\n  protected getKnownComponents(): Record<string, ComponentImport>;\n  getOriginalOffsetAt(offset: number): undefined | {\n        offset: number;\n        length: number;\n    };\n  isInGeneratedRange(offset: number): boolean;\n  isInTemplateIdentifierRange(offset: number): boolean;\n  get parserErrors(): CodegenResult['errors'];\n  get tagCompletionsTriggerOffset(): number;\n  toDisplayMappings(): string;\n  protected tryGenerate(): string;\n}\n```\n\n**Members:**\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-create-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-create-member-1-\"></a>\n\n#### [create](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-create-member-1-)\n\n\n\n**Signature:**\n```ts\nstatic create(options: CreateVirtualTextDocumentOptions): RenderFunctionTextDocument;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| options | <code><a href=\"#-vuedx-vue-virtual-textdocument--CreateVirtualTextDocumentOptions-interface\">CreateVirtualTextDocumentOptions</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-findExpression-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-findExpression-member-1-\"></a>\n\n#### [findExpression](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-findExpression-member-1-)\n\n\n\n**Signature:**\n```ts\nfindExpression(offset: number, length: number): undefined | {\n        offset: number;\n        length: number;\n    };\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n| length | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-generate-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-generate-member-1-\"></a>\n\n#### [generate](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-generate-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected generate(): string;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getAllGeneratedOffsetsAt-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getAllGeneratedOffsetsAt-member-1-\"></a>\n\n#### [getAllGeneratedOffsetsAt](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getAllGeneratedOffsetsAt-member-1-)\n\n\n\n**Signature:**\n```ts\ngetAllGeneratedOffsetsAt(offset: number): undefined | Array<{\n        length: number;\n        offset: number;\n    }>;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getGeneratedOffsetAt-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getGeneratedOffsetAt-member-1-\"></a>\n\n#### [getGeneratedOffsetAt](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getGeneratedOffsetAt-member-1-)\n\n\n\n**Signature:**\n```ts\ngetGeneratedOffsetAt(offset: number): undefined | {\n        length: number;\n        offset: number;\n    };\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getKnownComponents-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getKnownComponents-member-1-\"></a>\n\n#### [getKnownComponents](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getKnownComponents-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected getKnownComponents(): Record<string, ComponentImport>;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getOriginalOffsetAt-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getOriginalOffsetAt-member-1-\"></a>\n\n#### [getOriginalOffsetAt](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getOriginalOffsetAt-member-1-)\n\n\n\n**Signature:**\n```ts\ngetOriginalOffsetAt(offset: number): undefined | {\n        offset: number;\n        length: number;\n    };\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-isInGeneratedRange-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-isInGeneratedRange-member-1-\"></a>\n\n#### [isInGeneratedRange](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-isInGeneratedRange-member-1-)\n\n\n\n**Signature:**\n```ts\nisInGeneratedRange(offset: number): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-isInTemplateIdentifierRange-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-isInTemplateIdentifierRange-member-1-\"></a>\n\n#### [isInTemplateIdentifierRange](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-isInTemplateIdentifierRange-member-1-)\n\n\n\n**Signature:**\n```ts\nisInTemplateIdentifierRange(offset: number): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-toDisplayMappings-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-toDisplayMappings-member-1-\"></a>\n\n#### [toDisplayMappings](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-toDisplayMappings-member-1-)\n\n\n\n**Signature:**\n```ts\ntoDisplayMappings(): string;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-tryGenerate-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-tryGenerate-member-1-\"></a>\n\n#### [tryGenerate](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-tryGenerate-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected tryGenerate(): string;\n```\n\n\n<br>\n</details>\n\n<br>\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-class\" id=\"-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-class\"></a>\n\n### [TransformedBlockTextDocument](#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-class)\n\n\n\n<details><summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare class TransformedBlockTextDocument extends VirtualTextDocument {\n  protected constructor(container: VueTextDocument, selector: Selector, transformed: TextDocument, source: TextDocument | VirtualTextDocument, _transform: (document: TransformedBlockTextDocument) => BlockTransformResult);\n  static create(options: CreateTransformedBlockTextDocumentOptions): TransformedBlockTextDocument;\n  protected refresh(): void;\n  transform(): BlockTransformResult;\n  tryGetGeneratedOffset(offset: number): number | undefined;\n  tryGetSourceOffset(offset: number): number | undefined;\n}\n```\n\n**Members:**\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-create-member-1-\" id=\"-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-create-member-1-\"></a>\n\n#### [create](#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-create-member-1-)\n\n\n\n**Signature:**\n```ts\nstatic create(options: CreateTransformedBlockTextDocumentOptions): TransformedBlockTextDocument;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| options | <code><a href=\"#-vuedx-vue-virtual-textdocument--CreateTransformedBlockTextDocumentOptions-interface\">CreateTransformedBlockTextDocumentOptions</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-refresh-member-1-\" id=\"-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-refresh-member-1-\"></a>\n\n#### [refresh](#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-refresh-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected refresh(): void;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-transform-member-1-\" id=\"-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-transform-member-1-\"></a>\n\n#### [transform](#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-transform-member-1-)\n\n\n\n**Signature:**\n```ts\ntransform(): BlockTransformResult;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-tryGetGeneratedOffset-member-1-\" id=\"-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-tryGetGeneratedOffset-member-1-\"></a>\n\n#### [tryGetGeneratedOffset](#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-tryGetGeneratedOffset-member-1-)\n\n\n\n**Signature:**\n```ts\ntryGetGeneratedOffset(offset: number): number | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-tryGetSourceOffset-member-1-\" id=\"-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-tryGetSourceOffset-member-1-\"></a>\n\n#### [tryGetSourceOffset](#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-tryGetSourceOffset-member-1-)\n\n\n\n**Signature:**\n```ts\ntryGetSourceOffset(offset: number): number | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n</details>\n\n<br>\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VirtualTextDocument-class\" id=\"-vuedx-vue-virtual-textdocument-VirtualTextDocument-class\"></a>\n\n### [VirtualTextDocument](#-vuedx-vue-virtual-textdocument-VirtualTextDocument-class)\n\n\n\n<details><summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare class VirtualTextDocument extends ProxyTextDocument {\n  protected constructor(container: VueTextDocument, selector: Selector, doc: TextDocument);\n  readonly container: VueTextDocument;\n  static create(options: CreateVirtualTextDocumentOptions): VirtualTextDocument;\n  protected isDirty: boolean;\n  markDirty(): void;\n  protected refresh(): void;\n  readonly selector: Selector;\n}\n```\n\n**Members:**\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VirtualTextDocument-create-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VirtualTextDocument-create-member-1-\"></a>\n\n#### [create](#-vuedx-vue-virtual-textdocument-VirtualTextDocument-create-member-1-)\n\n\n\n**Signature:**\n```ts\nstatic create(options: CreateVirtualTextDocumentOptions): VirtualTextDocument;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| options | <code><a href=\"#-vuedx-vue-virtual-textdocument--CreateVirtualTextDocumentOptions-interface\">CreateVirtualTextDocumentOptions</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VirtualTextDocument-markDirty-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VirtualTextDocument-markDirty-member-1-\"></a>\n\n#### [markDirty](#-vuedx-vue-virtual-textdocument-VirtualTextDocument-markDirty-member-1-)\n\n\n\n**Signature:**\n```ts\nmarkDirty(): void;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VirtualTextDocument-refresh-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VirtualTextDocument-refresh-member-1-\"></a>\n\n#### [refresh](#-vuedx-vue-virtual-textdocument-VirtualTextDocument-refresh-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected refresh(): void;\n```\n\n\n<br>\n</details>\n\n<br>\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-class\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-class\"></a>\n\n### [VueTextDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-class)\n\n\n\n<details><summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare class VueTextDocument extends ProxyTextDocument {\n  constructor(doc: TextDocument, options?: VueTextDocumentOptions, parseOptions?: SFCParseOptions);\n  all(): VirtualTextDocument[];\n  blockAt(position: Position | number): SFCBlock | null | undefined;\n  static create(uri: string, languageId: string, version: number, content: string, options?: VueTextDocumentOptions, parseOptions?: SFCParseOptions): VueTextDocument;\n  protected createBlockDocument(selector: BlockSelector): VirtualTextDocument | undefined;\n  protected createInternalModuleDocument(): TransformedBlockTextDocument;\n  protected createModuleDocument(): TransformedBlockTextDocument;\n  protected createRenderDocument(): RenderFunctionTextDocument;\n  protected createTemplateASTDocument(): TransformedBlockTextDocument;\n  get descriptor(): SFCDescriptor;\n  documentAt(position: Position | number): VirtualTextDocument | undefined;\n  getBlock(selector: BlockSelector): SFCBlock | null | undefined;\n  getBlockSelector(block: SFCBlock): BlockSelector | undefined;\n  getDocument(selector: typeof RENDER_SELECTOR): RenderFunctionTextDocument;\n  getDocument(selector: SelectorLike): VirtualTextDocument;\n  getDocument(selector: string): VirtualTextDocument | undefined;\n  getDocumentFileName(selectorLike: SelectorLike): string;\n  protected getDocumentId(selector: Selector): string;\n  protected getDocumentLanguage(selector: Selector): string;\n  markDirty(): void;\n  readonly options: VueTextDocumentOptions;\n  protected parse(): void;\n  static update(document: VueTextDocument, changes: TextDocumentContentChangeEvent[], version: number): VueTextDocument;\n}\n```\n\n**Members:**\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-all-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-all-member-1-\"></a>\n\n#### [all](#-vuedx-vue-virtual-textdocument-VueTextDocument-all-member-1-)\n\n\n\n**Signature:**\n```ts\nall(): VirtualTextDocument[];\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-blockAt-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-blockAt-member-1-\"></a>\n\n#### [blockAt](#-vuedx-vue-virtual-textdocument-VueTextDocument-blockAt-member-1-)\n\n\n\n**Signature:**\n```ts\nblockAt(position: Position | number): SFCBlock | null | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| position | <code><a href=\"#vscode-languageserver-textdocument-Position-interface\">Position</a> &#124; number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-create-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-create-member-1-\"></a>\n\n#### [create](#-vuedx-vue-virtual-textdocument-VueTextDocument-create-member-1-)\n\n\n\n**Signature:**\n```ts\nstatic create(uri: string, languageId: string, version: number, content: string, options?: VueTextDocumentOptions, parseOptions?: SFCParseOptions): VueTextDocument;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n| languageId | <code>string</code> | - |\n| version | <code>number</code> | - |\n| content | <code>string</code> | - |\n| options | <code><a href=\"#-vuedx-vue-virtual-textdocument--VueTextDocumentOptions-interface\">VueTextDocumentOptions</a></code> | - |\n| parseOptions | <code><a href=\"#-vue-compiler-sfc-SFCParseOptions-interface\">SFCParseOptions</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-createBlockDocument-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-createBlockDocument-member-1-\"></a>\n\n#### [createBlockDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-createBlockDocument-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected createBlockDocument(selector: BlockSelector): VirtualTextDocument | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selector | <code><a href=\"#-vuedx-vue-virtual-textdocument--BlockSelector-type\">BlockSelector</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-createInternalModuleDocument-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-createInternalModuleDocument-member-1-\"></a>\n\n#### [createInternalModuleDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-createInternalModuleDocument-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected createInternalModuleDocument(): TransformedBlockTextDocument;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-createModuleDocument-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-createModuleDocument-member-1-\"></a>\n\n#### [createModuleDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-createModuleDocument-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected createModuleDocument(): TransformedBlockTextDocument;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-createRenderDocument-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-createRenderDocument-member-1-\"></a>\n\n#### [createRenderDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-createRenderDocument-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected createRenderDocument(): RenderFunctionTextDocument;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-createTemplateASTDocument-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-createTemplateASTDocument-member-1-\"></a>\n\n#### [createTemplateASTDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-createTemplateASTDocument-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected createTemplateASTDocument(): TransformedBlockTextDocument;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-documentAt-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-documentAt-member-1-\"></a>\n\n#### [documentAt](#-vuedx-vue-virtual-textdocument-VueTextDocument-documentAt-member-1-)\n\n\n\n**Signature:**\n```ts\ndocumentAt(position: Position | number): VirtualTextDocument | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| position | <code><a href=\"#vscode-languageserver-textdocument-Position-interface\">Position</a> &#124; number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getBlock-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getBlock-member-1-\"></a>\n\n#### [getBlock](#-vuedx-vue-virtual-textdocument-VueTextDocument-getBlock-member-1-)\n\n\n\n**Signature:**\n```ts\ngetBlock(selector: BlockSelector): SFCBlock | null | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selector | <code><a href=\"#-vuedx-vue-virtual-textdocument--BlockSelector-type\">BlockSelector</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getBlockSelector-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getBlockSelector-member-1-\"></a>\n\n#### [getBlockSelector](#-vuedx-vue-virtual-textdocument-VueTextDocument-getBlockSelector-member-1-)\n\n\n\n**Signature:**\n```ts\ngetBlockSelector(block: SFCBlock): BlockSelector | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| block | <code><a href=\"#-vue-compiler-sfc-SFCBlock-interface\">SFCBlock</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-1-\"></a>\n\n#### [getDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-1-)\n\n\n\n**Signature:**\n```ts\ngetDocument(selector: typeof RENDER_SELECTOR): RenderFunctionTextDocument;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selector | <code>typeof <a href=\"#-vuedx-vue-virtual-textdocument--RENDER-SELECTOR-var\">RENDER_SELECTOR</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-2-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-2-\"></a>\n\n#### [getDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-2-)\n\n\n\n**Signature:**\n```ts\ngetDocument(selector: SelectorLike): VirtualTextDocument;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selector | <code><a href=\"#-vuedx-vue-virtual-textdocument--SelectorLike-type\">SelectorLike</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-3-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-3-\"></a>\n\n#### [getDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-3-)\n\n\n\n**Signature:**\n```ts\ngetDocument(selector: string): VirtualTextDocument | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selector | <code>string</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentFileName-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentFileName-member-1-\"></a>\n\n#### [getDocumentFileName](#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentFileName-member-1-)\n\n\n\n**Signature:**\n```ts\ngetDocumentFileName(selectorLike: SelectorLike): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selectorLike | <code><a href=\"#-vuedx-vue-virtual-textdocument--SelectorLike-type\">SelectorLike</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentId-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentId-member-1-\"></a>\n\n#### [getDocumentId](#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentId-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected getDocumentId(selector: Selector): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selector | <code><a href=\"#-vuedx-vue-virtual-textdocument--Selector-type\">Selector</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentLanguage-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentLanguage-member-1-\"></a>\n\n#### [getDocumentLanguage](#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentLanguage-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected getDocumentLanguage(selector: Selector): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selector | <code><a href=\"#-vuedx-vue-virtual-textdocument--Selector-type\">Selector</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-markDirty-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-markDirty-member-1-\"></a>\n\n#### [markDirty](#-vuedx-vue-virtual-textdocument-VueTextDocument-markDirty-member-1-)\n\n\n\n**Signature:**\n```ts\nmarkDirty(): void;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-parse-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-parse-member-1-\"></a>\n\n#### [parse](#-vuedx-vue-virtual-textdocument-VueTextDocument-parse-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected parse(): void;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-update-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-update-member-1-\"></a>\n\n#### [update](#-vuedx-vue-virtual-textdocument-VueTextDocument-update-member-1-)\n\n\n\n**Signature:**\n```ts\nstatic update(document: VueTextDocument, changes: TextDocumentContentChangeEvent[], version: number): VueTextDocument;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| document | <code><a href=\"#-vuedx-vue-virtual-textdocument--VueTextDocument-class\">VueTextDocument</a></code> | - |\n| changes | <code><a href=\"#vscode-languageserver-textdocument-TextDocumentContentChangeEvent-type\">TextDocumentContentChangeEvent</a>[]</code> | - |\n| version | <code>number</code> | - |\n\n<br>\n</details>\n\n<br>\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-asFsPath-function-1-\" id=\"-vuedx-vue-virtual-textdocument-asFsPath-function-1-\"></a>\n\n### [asFsPath](#-vuedx-vue-virtual-textdocument-asFsPath-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function asFsPath(uri: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-asFsUri-function-1-\" id=\"-vuedx-vue-virtual-textdocument-asFsUri-function-1-\"></a>\n\n### [asFsUri](#-vuedx-vue-virtual-textdocument-asFsUri-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function asFsUri(fileName: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-asUri-function-1-\" id=\"-vuedx-vue-virtual-textdocument-asUri-function-1-\"></a>\n\n### [asUri](#-vuedx-vue-virtual-textdocument-asUri-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function asUri(fileNameOrUri: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileNameOrUri | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-basename-function-1-\" id=\"-vuedx-vue-virtual-textdocument-basename-function-1-\"></a>\n\n### [basename](#-vuedx-vue-virtual-textdocument-basename-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function basename(fileName: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-binarySearch-function-1-\" id=\"-vuedx-vue-virtual-textdocument-binarySearch-function-1-\"></a>\n\n### [binarySearch](#-vuedx-vue-virtual-textdocument-binarySearch-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function binarySearch<T>(array: T[], isMatch: (a: T) => number, returnMin?: boolean): T | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| array | <code>T[]</code> | - |\n| isMatch | <code>(a: T) => number</code> | - |\n| returnMin | <code>boolean</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-getBlockLanguage-function-1-\" id=\"-vuedx-vue-virtual-textdocument-getBlockLanguage-function-1-\"></a>\n\n### [getBlockLanguage](#-vuedx-vue-virtual-textdocument-getBlockLanguage-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function getBlockLanguage(block?: SFCBlock | null): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| block | <code><a href=\"#-vue-compiler-sfc-SFCBlock-interface\">SFCBlock</a> &#124; null</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-getContainingFile-function-1-\" id=\"-vuedx-vue-virtual-textdocument-getContainingFile-function-1-\"></a>\n\n### [getContainingFile](#-vuedx-vue-virtual-textdocument-getContainingFile-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function getContainingFile(fileName: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-getLanguageExtension-function-1-\" id=\"-vuedx-vue-virtual-textdocument-getLanguageExtension-function-1-\"></a>\n\n### [getLanguageExtension](#-vuedx-vue-virtual-textdocument-getLanguageExtension-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function getLanguageExtension(lang: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| lang | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-getLanguageIdFromExtension-function-1-\" id=\"-vuedx-vue-virtual-textdocument-getLanguageIdFromExtension-function-1-\"></a>\n\n### [getLanguageIdFromExtension](#-vuedx-vue-virtual-textdocument-getLanguageIdFromExtension-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function getLanguageIdFromExtension(ext: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| ext | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-isOffsetInBlock-function-1-\" id=\"-vuedx-vue-virtual-textdocument-isOffsetInBlock-function-1-\"></a>\n\n### [isOffsetInBlock](#-vuedx-vue-virtual-textdocument-isOffsetInBlock-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function isOffsetInBlock(offset: number, block?: SFCBlock | null): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n| block | <code><a href=\"#-vue-compiler-sfc-SFCBlock-interface\">SFCBlock</a> &#124; null</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-isVirtualFile-function-1-\" id=\"-vuedx-vue-virtual-textdocument-isVirtualFile-function-1-\"></a>\n\n### [isVirtualFile](#-vuedx-vue-virtual-textdocument-isVirtualFile-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function isVirtualFile(fileName: string): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-isVirtualFileOfType-function-1-\" id=\"-vuedx-vue-virtual-textdocument-isVirtualFileOfType-function-1-\"></a>\n\n### [isVirtualFileOfType](#-vuedx-vue-virtual-textdocument-isVirtualFileOfType-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function isVirtualFileOfType(fileName: string, type: '_render' | '_module' | '_internal' | 'script' | 'scriptSetup'): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n| type | <code>'_render' &#124; '_module' &#124; '_internal' &#124; 'script' &#124; 'scriptSetup'</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-isVueFile-function-1-\" id=\"-vuedx-vue-virtual-textdocument-isVueFile-function-1-\"></a>\n\n### [isVueFile](#-vuedx-vue-virtual-textdocument-isVueFile-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function isVueFile(fileName: string): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-parseVirtualFileName-function-1-\" id=\"-vuedx-vue-virtual-textdocument-parseVirtualFileName-function-1-\"></a>\n\n### [parseVirtualFileName](#-vuedx-vue-virtual-textdocument-parseVirtualFileName-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function parseVirtualFileName(fileName: string): {\n    uri: string;\n    selector: Selector;\n} | null;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-relativeVirtualImportPath-function-1-\" id=\"-vuedx-vue-virtual-textdocument-relativeVirtualImportPath-function-1-\"></a>\n\n### [relativeVirtualImportPath](#-vuedx-vue-virtual-textdocument-relativeVirtualImportPath-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function relativeVirtualImportPath(fileName: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-replaceSlashes-function-1-\" id=\"-vuedx-vue-virtual-textdocument-replaceSlashes-function-1-\"></a>\n\n### [replaceSlashes](#-vuedx-vue-virtual-textdocument-replaceSlashes-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function replaceSlashes(fileName: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n<!-- #region API-DOCS -->\n","readmeFilename":"readme.md","_id":"@vuedx/vue-virtual-textdocument@0.6.1-insiders-1611498830.0","_nodeVersion":"14.14.0","_npmVersion":"6.14.8","dist":{"integrity":"sha512-i1k7yBtDoPvWvD+Mq+cFMSbAeLpPYEbY6y0SS+htpXzmaMCJiTdMqHI82RHSiervQs2trZcMBHEyC2I3G3o2Vw==","shasum":"fdbc35c4a4a81959f18e913d81bd741b02de9b29","tarball":"https://registry.npmjs.org/@vuedx/vue-virtual-textdocument/-/vue-virtual-textdocument-0.6.1-insiders-1611498830.0.tgz","fileCount":8,"unpackedSize":287043,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgDYVtCRA9TVsSAnZWagAAtYEQAIGoWeIchvkp2c3H1tlT\n8u71hp3HcQw1p4uI9t2CoBI2WJ2GKCBlKipgEcUibh3wibI6nO2VTZ+kNMEU\nzSzh9uvEVCgKxqx5MUGHpyuWKLVgglK6bqu3tcAmNTuohrRFfpBJ0Z3ivB76\n3ugPxI7Fw4yyXkH3OJbdhfM0uhAaWRwkVUV3FON39T7yfeX8dStFn34vZQxN\nseQIDmEM+GN7ZPasdCj4gIaCod7rkjV84lssMdfxif46xkqYHIvztwjqi2rd\n9I6e937u2zg3sSNICE7NwhQh0oR/Z2uKx73Ad30Efn9NG1mhQDgFjoTYk2ib\n1wlHTRuFpGSpFUFlMC+B1LU5T6A0jQg0UVZmOgFt+GdZEEzfHNWX0zMv2dPb\nzRCDmJyoa1f6eO3nDEXPl8a1EZeWXbSS5pDjfeOTHMWo9w0bFcmevj5AwJ9P\n5lF5z7vzaB+v6neZLVn2LWBcwK/bI0dAX+rMnD+8f1698ITUx/joLBr9Rm/Q\nbyvVhKKI3GA24/9eqt86plMPsR/tMVddvVbr6yJPFfesPUahDC4e7CQdVE2M\nMcoQXwyuBcGxp5aULWK7uXakuFY7ntTzHEUW674R7vhivBMylFoO6VSeSOsT\nJciZNPQRAwXCbpupf5p/7hx6sBY0WA84GLRuOa00Lyk3FWbE1E+fBe3gH7tK\n0Yt0\r\n=HlZB\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIETaPMkjnVa8MHuKkaxM+g1MfDPfx6t2kWwRrW5Akn/aAiEAutFjcywbp2QMlaWesHX4Rkpks35wpdb1MFKnfD4oXz0="}]},"_npmUser":{"name":"znck","email":"rahulkdn@gmail.com"},"directories":{},"maintainers":[{"name":"znck","email":"rahulkdn@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/vue-virtual-textdocument_0.6.1-insiders-1611498830.0_1611498860943_0.7356020026520755"},"_hasShrinkwrap":false},"0.6.2-insiders-1611564162.0":{"name":"@vuedx/vue-virtual-textdocument","version":"0.6.2-insiders-1611564162.0","description":"An implementation of virtual filesystem for accessing blocks in a `.vue` file as independent files.","main":"dist/index.cjs.js","module":"dist/index.esm.js","types":"dist/index.d.ts","private":false,"scripts":{},"keywords":["vue","vue sfc","sfc","vue virtual files"],"repository":{"type":"git","url":"git+https://github.com/znck/vue-developer-experience.git"},"author":{"name":"Rahul Kadyan","email":"rahulkdn@gmail.com","url":"https://znck.me/"},"funding":{"type":"individual","url":"https://github.com/sponsors/znck"},"license":"MIT","bugs":{"url":"https://github.com/znck/vue-developer-experience/issues"},"homepage":"https://github.com/znck/vue-developer-experience#readme","dependencies":{"@vuedx/analyze":"0.6.2-insiders-1611564162.0","@vuedx/compiler-sfc":"0.6.1-insiders-1611564162.0","@vuedx/compiler-tsx":"0.6.2-insiders-1611564162.0","@vuedx/shared":"0.6.1-insiders-1611564162.0","source-map":"^0.6.1","vscode-languageserver-textdocument":"^1.0.1","vscode-uri":"^2.1.2"},"devDependencies":{"fast-glob":"^3.2.4","typescript":"^4.0.3"},"readme":"# Vue Virtual TextDocument\n\nAn implementation of virtual filesystem for accessing blocks in a `.vue` file as independent files.\n\n## Support\n\nThis package is part of [VueDX project](https://github.com/znck/vue-developer-experience), maintained by [Rahul Kadyan](https://github.com/znck). You can [💖 sponsor him](https://github.com/sponsors/znck) for continued development of this package and other VueDX tools.\n\n```\nnpm add @vuedx/vue-virtual-textdocument\n```\n<!-- #region API-DOCS -->\n<!-- Do not edit this file. It is a report generated by [scripts/docgen.js](https://github.com/znck/vue-developer-experience/tree/main/scripts/docgen.js). -->\n\n## API\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-AsyncDocumentStore-class\" id=\"-vuedx-vue-virtual-textdocument-AsyncDocumentStore-class\"></a>\n\n### [AsyncDocumentStore](#-vuedx-vue-virtual-textdocument-AsyncDocumentStore-class)\n\n\n\n<details><summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare class AsyncDocumentStore<T> extends DocumentStore<T> {\n  constructor(resolve: (uri: string) => T | Promise<T | null> | null, normalize?: (uri: string) => string);\n  get(uri: string): T | null;\n  get(uri: string): Promise<T | null>;\n}\n```\n\n**Members:**\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-AsyncDocumentStore-get-member-1-\" id=\"-vuedx-vue-virtual-textdocument-AsyncDocumentStore-get-member-1-\"></a>\n\n#### [get](#-vuedx-vue-virtual-textdocument-AsyncDocumentStore-get-member-1-)\n\n\n\n**Signature:**\n```ts\nget(uri: string): T | null;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-AsyncDocumentStore-get-member-2-\" id=\"-vuedx-vue-virtual-textdocument-AsyncDocumentStore-get-member-2-\"></a>\n\n#### [get](#-vuedx-vue-virtual-textdocument-AsyncDocumentStore-get-member-2-)\n\n\n\n**Signature:**\n```ts\nget(uri: string): Promise<T | null>;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n\n<br>\n</details>\n\n<br>\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-class\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-class\"></a>\n\n### [DocumentStore](#-vuedx-vue-virtual-textdocument-DocumentStore-class)\n\n\n\n<details><summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare class DocumentStore<T> {\n  constructor(resolve: (uri: string) => T | null, normalize?: (uri: string) => string);\n  all(): string[];\n  delete(uri: string): boolean;\n  dispose(): void;\n  get(uri: string): T | null;\n  protected getNormalizedUri(uri: string): string;\n  has(uri: string): boolean;\n  protected map: Map<string, T>;\n  normalize: (uri: string) => string;\n  protected resolve: (uri: string) => T | null;\n  protected reverseUriMap: Map<string, string>;\n  set(uri: string, document: T): void;\n}\n```\n\n**Members:**\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-all-member-1-\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-all-member-1-\"></a>\n\n#### [all](#-vuedx-vue-virtual-textdocument-DocumentStore-all-member-1-)\n\n\n\n**Signature:**\n```ts\nall(): string[];\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-delete-member-1-\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-delete-member-1-\"></a>\n\n#### [delete](#-vuedx-vue-virtual-textdocument-DocumentStore-delete-member-1-)\n\n\n\n**Signature:**\n```ts\ndelete(uri: string): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-dispose-member-1-\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-dispose-member-1-\"></a>\n\n#### [dispose](#-vuedx-vue-virtual-textdocument-DocumentStore-dispose-member-1-)\n\n\n\n**Signature:**\n```ts\ndispose(): void;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-get-member-1-\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-get-member-1-\"></a>\n\n#### [get](#-vuedx-vue-virtual-textdocument-DocumentStore-get-member-1-)\n\n\n\n**Signature:**\n```ts\nget(uri: string): T | null;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-getNormalizedUri-member-1-\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-getNormalizedUri-member-1-\"></a>\n\n#### [getNormalizedUri](#-vuedx-vue-virtual-textdocument-DocumentStore-getNormalizedUri-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected getNormalizedUri(uri: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-has-member-1-\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-has-member-1-\"></a>\n\n#### [has](#-vuedx-vue-virtual-textdocument-DocumentStore-has-member-1-)\n\n\n\n**Signature:**\n```ts\nhas(uri: string): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-set-member-1-\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-set-member-1-\"></a>\n\n#### [set](#-vuedx-vue-virtual-textdocument-DocumentStore-set-member-1-)\n\n\n\n**Signature:**\n```ts\nset(uri: string, document: T): void;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n| document | <code>T</code> | - |\n\n<br>\n</details>\n\n<br>\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-class\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-class\"></a>\n\n### [RenderFunctionTextDocument](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-class)\n\n\n\n<details><summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare class RenderFunctionTextDocument extends TransformedBlockTextDocument {\n  constructor(container: VueTextDocument, selector: Selector, transformed: TextDocument, source: TextDocument);\n  get ast(): CodegenResult['ast'] | undefined;\n  get contextCompletionsTriggerOffset(): number;\n  static create(options: CreateVirtualTextDocumentOptions): RenderFunctionTextDocument;\n  findExpression(offset: number, length: number): undefined | {\n        offset: number;\n        length: number;\n    };\n  protected generate(): string;\n  getAllGeneratedOffsetsAt(offset: number): undefined | Array<{\n        length: number;\n        offset: number;\n    }>;\n  getGeneratedOffsetAt(offset: number): undefined | {\n        length: number;\n        offset: number;\n    };\n  protected getKnownComponents(): Record<string, ComponentImport>;\n  getOriginalOffsetAt(offset: number): undefined | {\n        offset: number;\n        length: number;\n    };\n  isInGeneratedRange(offset: number): boolean;\n  isInTemplateIdentifierRange(offset: number): boolean;\n  get parserErrors(): CodegenResult['errors'];\n  get tagCompletionsTriggerOffset(): number;\n  toDisplayMappings(): string;\n  protected tryGenerate(): string;\n}\n```\n\n**Members:**\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-create-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-create-member-1-\"></a>\n\n#### [create](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-create-member-1-)\n\n\n\n**Signature:**\n```ts\nstatic create(options: CreateVirtualTextDocumentOptions): RenderFunctionTextDocument;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| options | <code><a href=\"#-vuedx-vue-virtual-textdocument--CreateVirtualTextDocumentOptions-interface\">CreateVirtualTextDocumentOptions</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-findExpression-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-findExpression-member-1-\"></a>\n\n#### [findExpression](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-findExpression-member-1-)\n\n\n\n**Signature:**\n```ts\nfindExpression(offset: number, length: number): undefined | {\n        offset: number;\n        length: number;\n    };\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n| length | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-generate-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-generate-member-1-\"></a>\n\n#### [generate](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-generate-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected generate(): string;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getAllGeneratedOffsetsAt-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getAllGeneratedOffsetsAt-member-1-\"></a>\n\n#### [getAllGeneratedOffsetsAt](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getAllGeneratedOffsetsAt-member-1-)\n\n\n\n**Signature:**\n```ts\ngetAllGeneratedOffsetsAt(offset: number): undefined | Array<{\n        length: number;\n        offset: number;\n    }>;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getGeneratedOffsetAt-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getGeneratedOffsetAt-member-1-\"></a>\n\n#### [getGeneratedOffsetAt](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getGeneratedOffsetAt-member-1-)\n\n\n\n**Signature:**\n```ts\ngetGeneratedOffsetAt(offset: number): undefined | {\n        length: number;\n        offset: number;\n    };\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getKnownComponents-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getKnownComponents-member-1-\"></a>\n\n#### [getKnownComponents](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getKnownComponents-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected getKnownComponents(): Record<string, ComponentImport>;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getOriginalOffsetAt-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getOriginalOffsetAt-member-1-\"></a>\n\n#### [getOriginalOffsetAt](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getOriginalOffsetAt-member-1-)\n\n\n\n**Signature:**\n```ts\ngetOriginalOffsetAt(offset: number): undefined | {\n        offset: number;\n        length: number;\n    };\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-isInGeneratedRange-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-isInGeneratedRange-member-1-\"></a>\n\n#### [isInGeneratedRange](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-isInGeneratedRange-member-1-)\n\n\n\n**Signature:**\n```ts\nisInGeneratedRange(offset: number): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-isInTemplateIdentifierRange-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-isInTemplateIdentifierRange-member-1-\"></a>\n\n#### [isInTemplateIdentifierRange](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-isInTemplateIdentifierRange-member-1-)\n\n\n\n**Signature:**\n```ts\nisInTemplateIdentifierRange(offset: number): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-toDisplayMappings-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-toDisplayMappings-member-1-\"></a>\n\n#### [toDisplayMappings](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-toDisplayMappings-member-1-)\n\n\n\n**Signature:**\n```ts\ntoDisplayMappings(): string;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-tryGenerate-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-tryGenerate-member-1-\"></a>\n\n#### [tryGenerate](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-tryGenerate-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected tryGenerate(): string;\n```\n\n\n<br>\n</details>\n\n<br>\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-class\" id=\"-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-class\"></a>\n\n### [TransformedBlockTextDocument](#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-class)\n\n\n\n<details><summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare class TransformedBlockTextDocument extends VirtualTextDocument {\n  protected constructor(container: VueTextDocument, selector: Selector, transformed: TextDocument, source: TextDocument | VirtualTextDocument, _transform: (document: TransformedBlockTextDocument) => BlockTransformResult);\n  static create(options: CreateTransformedBlockTextDocumentOptions): TransformedBlockTextDocument;\n  protected refresh(): void;\n  transform(): BlockTransformResult;\n  tryGetGeneratedOffset(offset: number): number | undefined;\n  tryGetSourceOffset(offset: number): number | undefined;\n}\n```\n\n**Members:**\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-create-member-1-\" id=\"-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-create-member-1-\"></a>\n\n#### [create](#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-create-member-1-)\n\n\n\n**Signature:**\n```ts\nstatic create(options: CreateTransformedBlockTextDocumentOptions): TransformedBlockTextDocument;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| options | <code><a href=\"#-vuedx-vue-virtual-textdocument--CreateTransformedBlockTextDocumentOptions-interface\">CreateTransformedBlockTextDocumentOptions</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-refresh-member-1-\" id=\"-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-refresh-member-1-\"></a>\n\n#### [refresh](#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-refresh-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected refresh(): void;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-transform-member-1-\" id=\"-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-transform-member-1-\"></a>\n\n#### [transform](#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-transform-member-1-)\n\n\n\n**Signature:**\n```ts\ntransform(): BlockTransformResult;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-tryGetGeneratedOffset-member-1-\" id=\"-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-tryGetGeneratedOffset-member-1-\"></a>\n\n#### [tryGetGeneratedOffset](#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-tryGetGeneratedOffset-member-1-)\n\n\n\n**Signature:**\n```ts\ntryGetGeneratedOffset(offset: number): number | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-tryGetSourceOffset-member-1-\" id=\"-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-tryGetSourceOffset-member-1-\"></a>\n\n#### [tryGetSourceOffset](#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-tryGetSourceOffset-member-1-)\n\n\n\n**Signature:**\n```ts\ntryGetSourceOffset(offset: number): number | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n</details>\n\n<br>\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VirtualTextDocument-class\" id=\"-vuedx-vue-virtual-textdocument-VirtualTextDocument-class\"></a>\n\n### [VirtualTextDocument](#-vuedx-vue-virtual-textdocument-VirtualTextDocument-class)\n\n\n\n<details><summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare class VirtualTextDocument extends ProxyTextDocument {\n  protected constructor(container: VueTextDocument, selector: Selector, doc: TextDocument);\n  readonly container: VueTextDocument;\n  static create(options: CreateVirtualTextDocumentOptions): VirtualTextDocument;\n  protected isDirty: boolean;\n  markDirty(): void;\n  protected refresh(): void;\n  readonly selector: Selector;\n}\n```\n\n**Members:**\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VirtualTextDocument-create-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VirtualTextDocument-create-member-1-\"></a>\n\n#### [create](#-vuedx-vue-virtual-textdocument-VirtualTextDocument-create-member-1-)\n\n\n\n**Signature:**\n```ts\nstatic create(options: CreateVirtualTextDocumentOptions): VirtualTextDocument;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| options | <code><a href=\"#-vuedx-vue-virtual-textdocument--CreateVirtualTextDocumentOptions-interface\">CreateVirtualTextDocumentOptions</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VirtualTextDocument-markDirty-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VirtualTextDocument-markDirty-member-1-\"></a>\n\n#### [markDirty](#-vuedx-vue-virtual-textdocument-VirtualTextDocument-markDirty-member-1-)\n\n\n\n**Signature:**\n```ts\nmarkDirty(): void;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VirtualTextDocument-refresh-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VirtualTextDocument-refresh-member-1-\"></a>\n\n#### [refresh](#-vuedx-vue-virtual-textdocument-VirtualTextDocument-refresh-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected refresh(): void;\n```\n\n\n<br>\n</details>\n\n<br>\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-class\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-class\"></a>\n\n### [VueTextDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-class)\n\n\n\n<details><summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare class VueTextDocument extends ProxyTextDocument {\n  constructor(doc: TextDocument, options?: VueTextDocumentOptions, parseOptions?: SFCParseOptions);\n  all(): VirtualTextDocument[];\n  blockAt(position: Position | number): SFCBlock | null | undefined;\n  static create(uri: string, languageId: string, version: number, content: string, options?: VueTextDocumentOptions, parseOptions?: SFCParseOptions): VueTextDocument;\n  protected createBlockDocument(selector: BlockSelector): VirtualTextDocument | undefined;\n  protected createInternalModuleDocument(): TransformedBlockTextDocument;\n  protected createModuleDocument(): TransformedBlockTextDocument;\n  protected createRenderDocument(): RenderFunctionTextDocument;\n  protected createTemplateASTDocument(): TransformedBlockTextDocument;\n  get descriptor(): SFCDescriptor;\n  documentAt(position: Position | number): VirtualTextDocument | undefined;\n  getBlock(selector: BlockSelector): SFCBlock | null | undefined;\n  getBlockSelector(block: SFCBlock): BlockSelector | undefined;\n  getDocument(selector: typeof RENDER_SELECTOR): RenderFunctionTextDocument;\n  getDocument(selector: SelectorLike): VirtualTextDocument;\n  getDocument(selector: string): VirtualTextDocument | undefined;\n  getDocumentFileName(selectorLike: SelectorLike): string;\n  protected getDocumentId(selector: Selector): string;\n  protected getDocumentLanguage(selector: Selector): string;\n  markDirty(): void;\n  readonly options: VueTextDocumentOptions;\n  protected parse(): void;\n  static update(document: VueTextDocument, changes: TextDocumentContentChangeEvent[], version: number): VueTextDocument;\n}\n```\n\n**Members:**\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-all-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-all-member-1-\"></a>\n\n#### [all](#-vuedx-vue-virtual-textdocument-VueTextDocument-all-member-1-)\n\n\n\n**Signature:**\n```ts\nall(): VirtualTextDocument[];\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-blockAt-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-blockAt-member-1-\"></a>\n\n#### [blockAt](#-vuedx-vue-virtual-textdocument-VueTextDocument-blockAt-member-1-)\n\n\n\n**Signature:**\n```ts\nblockAt(position: Position | number): SFCBlock | null | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| position | <code><a href=\"#vscode-languageserver-textdocument-Position-interface\">Position</a> &#124; number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-create-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-create-member-1-\"></a>\n\n#### [create](#-vuedx-vue-virtual-textdocument-VueTextDocument-create-member-1-)\n\n\n\n**Signature:**\n```ts\nstatic create(uri: string, languageId: string, version: number, content: string, options?: VueTextDocumentOptions, parseOptions?: SFCParseOptions): VueTextDocument;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n| languageId | <code>string</code> | - |\n| version | <code>number</code> | - |\n| content | <code>string</code> | - |\n| options | <code><a href=\"#-vuedx-vue-virtual-textdocument--VueTextDocumentOptions-interface\">VueTextDocumentOptions</a></code> | - |\n| parseOptions | <code><a href=\"#-vue-compiler-sfc-SFCParseOptions-interface\">SFCParseOptions</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-createBlockDocument-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-createBlockDocument-member-1-\"></a>\n\n#### [createBlockDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-createBlockDocument-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected createBlockDocument(selector: BlockSelector): VirtualTextDocument | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selector | <code><a href=\"#-vuedx-vue-virtual-textdocument--BlockSelector-type\">BlockSelector</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-createInternalModuleDocument-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-createInternalModuleDocument-member-1-\"></a>\n\n#### [createInternalModuleDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-createInternalModuleDocument-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected createInternalModuleDocument(): TransformedBlockTextDocument;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-createModuleDocument-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-createModuleDocument-member-1-\"></a>\n\n#### [createModuleDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-createModuleDocument-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected createModuleDocument(): TransformedBlockTextDocument;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-createRenderDocument-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-createRenderDocument-member-1-\"></a>\n\n#### [createRenderDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-createRenderDocument-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected createRenderDocument(): RenderFunctionTextDocument;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-createTemplateASTDocument-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-createTemplateASTDocument-member-1-\"></a>\n\n#### [createTemplateASTDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-createTemplateASTDocument-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected createTemplateASTDocument(): TransformedBlockTextDocument;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-documentAt-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-documentAt-member-1-\"></a>\n\n#### [documentAt](#-vuedx-vue-virtual-textdocument-VueTextDocument-documentAt-member-1-)\n\n\n\n**Signature:**\n```ts\ndocumentAt(position: Position | number): VirtualTextDocument | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| position | <code><a href=\"#vscode-languageserver-textdocument-Position-interface\">Position</a> &#124; number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getBlock-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getBlock-member-1-\"></a>\n\n#### [getBlock](#-vuedx-vue-virtual-textdocument-VueTextDocument-getBlock-member-1-)\n\n\n\n**Signature:**\n```ts\ngetBlock(selector: BlockSelector): SFCBlock | null | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selector | <code><a href=\"#-vuedx-vue-virtual-textdocument--BlockSelector-type\">BlockSelector</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getBlockSelector-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getBlockSelector-member-1-\"></a>\n\n#### [getBlockSelector](#-vuedx-vue-virtual-textdocument-VueTextDocument-getBlockSelector-member-1-)\n\n\n\n**Signature:**\n```ts\ngetBlockSelector(block: SFCBlock): BlockSelector | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| block | <code><a href=\"#-vue-compiler-sfc-SFCBlock-interface\">SFCBlock</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-1-\"></a>\n\n#### [getDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-1-)\n\n\n\n**Signature:**\n```ts\ngetDocument(selector: typeof RENDER_SELECTOR): RenderFunctionTextDocument;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selector | <code>typeof <a href=\"#-vuedx-vue-virtual-textdocument--RENDER-SELECTOR-var\">RENDER_SELECTOR</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-2-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-2-\"></a>\n\n#### [getDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-2-)\n\n\n\n**Signature:**\n```ts\ngetDocument(selector: SelectorLike): VirtualTextDocument;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selector | <code><a href=\"#-vuedx-vue-virtual-textdocument--SelectorLike-type\">SelectorLike</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-3-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-3-\"></a>\n\n#### [getDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-3-)\n\n\n\n**Signature:**\n```ts\ngetDocument(selector: string): VirtualTextDocument | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selector | <code>string</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentFileName-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentFileName-member-1-\"></a>\n\n#### [getDocumentFileName](#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentFileName-member-1-)\n\n\n\n**Signature:**\n```ts\ngetDocumentFileName(selectorLike: SelectorLike): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selectorLike | <code><a href=\"#-vuedx-vue-virtual-textdocument--SelectorLike-type\">SelectorLike</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentId-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentId-member-1-\"></a>\n\n#### [getDocumentId](#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentId-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected getDocumentId(selector: Selector): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selector | <code><a href=\"#-vuedx-vue-virtual-textdocument--Selector-type\">Selector</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentLanguage-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentLanguage-member-1-\"></a>\n\n#### [getDocumentLanguage](#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentLanguage-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected getDocumentLanguage(selector: Selector): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selector | <code><a href=\"#-vuedx-vue-virtual-textdocument--Selector-type\">Selector</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-markDirty-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-markDirty-member-1-\"></a>\n\n#### [markDirty](#-vuedx-vue-virtual-textdocument-VueTextDocument-markDirty-member-1-)\n\n\n\n**Signature:**\n```ts\nmarkDirty(): void;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-parse-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-parse-member-1-\"></a>\n\n#### [parse](#-vuedx-vue-virtual-textdocument-VueTextDocument-parse-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected parse(): void;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-update-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-update-member-1-\"></a>\n\n#### [update](#-vuedx-vue-virtual-textdocument-VueTextDocument-update-member-1-)\n\n\n\n**Signature:**\n```ts\nstatic update(document: VueTextDocument, changes: TextDocumentContentChangeEvent[], version: number): VueTextDocument;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| document | <code><a href=\"#-vuedx-vue-virtual-textdocument--VueTextDocument-class\">VueTextDocument</a></code> | - |\n| changes | <code><a href=\"#vscode-languageserver-textdocument-TextDocumentContentChangeEvent-type\">TextDocumentContentChangeEvent</a>[]</code> | - |\n| version | <code>number</code> | - |\n\n<br>\n</details>\n\n<br>\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-asFsPath-function-1-\" id=\"-vuedx-vue-virtual-textdocument-asFsPath-function-1-\"></a>\n\n### [asFsPath](#-vuedx-vue-virtual-textdocument-asFsPath-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function asFsPath(uri: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-asFsUri-function-1-\" id=\"-vuedx-vue-virtual-textdocument-asFsUri-function-1-\"></a>\n\n### [asFsUri](#-vuedx-vue-virtual-textdocument-asFsUri-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function asFsUri(fileName: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-asUri-function-1-\" id=\"-vuedx-vue-virtual-textdocument-asUri-function-1-\"></a>\n\n### [asUri](#-vuedx-vue-virtual-textdocument-asUri-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function asUri(fileNameOrUri: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileNameOrUri | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-basename-function-1-\" id=\"-vuedx-vue-virtual-textdocument-basename-function-1-\"></a>\n\n### [basename](#-vuedx-vue-virtual-textdocument-basename-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function basename(fileName: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-binarySearch-function-1-\" id=\"-vuedx-vue-virtual-textdocument-binarySearch-function-1-\"></a>\n\n### [binarySearch](#-vuedx-vue-virtual-textdocument-binarySearch-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function binarySearch<T>(array: T[], isMatch: (a: T) => number, returnMin?: boolean): T | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| array | <code>T[]</code> | - |\n| isMatch | <code>(a: T) => number</code> | - |\n| returnMin | <code>boolean</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-getBlockLanguage-function-1-\" id=\"-vuedx-vue-virtual-textdocument-getBlockLanguage-function-1-\"></a>\n\n### [getBlockLanguage](#-vuedx-vue-virtual-textdocument-getBlockLanguage-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function getBlockLanguage(block?: SFCBlock | null): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| block | <code><a href=\"#-vue-compiler-sfc-SFCBlock-interface\">SFCBlock</a> &#124; null</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-getContainingFile-function-1-\" id=\"-vuedx-vue-virtual-textdocument-getContainingFile-function-1-\"></a>\n\n### [getContainingFile](#-vuedx-vue-virtual-textdocument-getContainingFile-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function getContainingFile(fileName: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-getLanguageExtension-function-1-\" id=\"-vuedx-vue-virtual-textdocument-getLanguageExtension-function-1-\"></a>\n\n### [getLanguageExtension](#-vuedx-vue-virtual-textdocument-getLanguageExtension-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function getLanguageExtension(lang: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| lang | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-getLanguageIdFromExtension-function-1-\" id=\"-vuedx-vue-virtual-textdocument-getLanguageIdFromExtension-function-1-\"></a>\n\n### [getLanguageIdFromExtension](#-vuedx-vue-virtual-textdocument-getLanguageIdFromExtension-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function getLanguageIdFromExtension(ext: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| ext | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-isOffsetInBlock-function-1-\" id=\"-vuedx-vue-virtual-textdocument-isOffsetInBlock-function-1-\"></a>\n\n### [isOffsetInBlock](#-vuedx-vue-virtual-textdocument-isOffsetInBlock-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function isOffsetInBlock(offset: number, block?: SFCBlock | null): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n| block | <code><a href=\"#-vue-compiler-sfc-SFCBlock-interface\">SFCBlock</a> &#124; null</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-isVirtualFile-function-1-\" id=\"-vuedx-vue-virtual-textdocument-isVirtualFile-function-1-\"></a>\n\n### [isVirtualFile](#-vuedx-vue-virtual-textdocument-isVirtualFile-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function isVirtualFile(fileName: string): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-isVirtualFileOfType-function-1-\" id=\"-vuedx-vue-virtual-textdocument-isVirtualFileOfType-function-1-\"></a>\n\n### [isVirtualFileOfType](#-vuedx-vue-virtual-textdocument-isVirtualFileOfType-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function isVirtualFileOfType(fileName: string, type: '_render' | '_module' | '_internal' | 'script' | 'scriptSetup'): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n| type | <code>'_render' &#124; '_module' &#124; '_internal' &#124; 'script' &#124; 'scriptSetup'</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-isVueFile-function-1-\" id=\"-vuedx-vue-virtual-textdocument-isVueFile-function-1-\"></a>\n\n### [isVueFile](#-vuedx-vue-virtual-textdocument-isVueFile-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function isVueFile(fileName: string): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-parseVirtualFileName-function-1-\" id=\"-vuedx-vue-virtual-textdocument-parseVirtualFileName-function-1-\"></a>\n\n### [parseVirtualFileName](#-vuedx-vue-virtual-textdocument-parseVirtualFileName-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function parseVirtualFileName(fileName: string): {\n    uri: string;\n    selector: Selector;\n} | null;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-relativeVirtualImportPath-function-1-\" id=\"-vuedx-vue-virtual-textdocument-relativeVirtualImportPath-function-1-\"></a>\n\n### [relativeVirtualImportPath](#-vuedx-vue-virtual-textdocument-relativeVirtualImportPath-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function relativeVirtualImportPath(fileName: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-replaceSlashes-function-1-\" id=\"-vuedx-vue-virtual-textdocument-replaceSlashes-function-1-\"></a>\n\n### [replaceSlashes](#-vuedx-vue-virtual-textdocument-replaceSlashes-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function replaceSlashes(fileName: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n<!-- #region API-DOCS -->\n","readmeFilename":"readme.md","_id":"@vuedx/vue-virtual-textdocument@0.6.2-insiders-1611564162.0","_nodeVersion":"14.14.0","_npmVersion":"6.14.8","dist":{"integrity":"sha512-odZus/E4ati+9Gh9SpDb05VxkXNcXQ+JJ28ChIzdn9pgU/U00i/cOdO9+yr07BBwzX+uncFKjuepViHAnj+q1w==","shasum":"d8c57053287b5c3fe2ff535b28b251f4196f8467","tarball":"https://registry.npmjs.org/@vuedx/vue-virtual-textdocument/-/vue-virtual-textdocument-0.6.2-insiders-1611564162.0.tgz","fileCount":9,"unpackedSize":287194,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgDoSiCRA9TVsSAnZWagAARD8P/RgUlq0YetZDHRhSNSES\n8RDaPQ3pPpBBRK1UIJAOrX5G+r1B4JC9sDkp/JC6cCBBdCzvuBxPoAry9oiX\nljlhCVq/WCuywLHK3usXLfsAXNyPJDJKzFcnfz4/Xm2q9VVA5EU4zQQHxGuF\ngIN/HqLqUE2+vMnvL42H+Y9ms/n4ptrJe9hTqrlp4Ccrp883qkEENPww4P8B\ntKkT9Ju63Teoyui1Uwt4cUTFGldSvQ3nh0EAqnWk9uig9gTkreOn/cxnxgTi\nRcgTJxGqKcPwKg2nfzqp+PZA7xCA/HqzKBndjWUpkBLtwAaBcWoEykw9MxMN\nXl8FrYMxwxzU18ESTr835zeyFCIKqQ/Cg1ng0mZfRjKJW1NyBVckZz0b4Qzc\n/7P4JZNQq83s5uLlWd1xL5/1yZBM6ZPQhWVSp7IhBm//o6D6ro4PTazP9Awj\n4gzx8a76yLFBKJwZJ3dLVeOq5ri09FtfYq1pylpL8Lq8DXaWNP3w9y7+gvd7\nskTdTVuXwgPMXoJZRRjWfEhDy7hoiQJlJPyWSF9h8tjGHGKGWJn8zaWNCoAc\nBW4cB7jr7YD6bnS9v5RXGIhmz90sJJp2IcNANNbXCB9lvVw/lTVU1N/LPRwc\nEF+Mq+qbU4G1p4GRDPwwphRYUFd09JaaXBKdCj1jqombelQCV+5s75tpKQdI\nfwMq\r\n=jiUT\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCtYI3b2fPPmXeotE/fJaJQhRaU+sxAZjF+0i/qBqCtawIgVxunPkL//Jq+08aW5oVeDtZFX+ywKpxXIL4TEh8rZ3I="}]},"_npmUser":{"name":"znck","email":"rahulkdn@gmail.com"},"directories":{},"maintainers":[{"name":"znck","email":"rahulkdn@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/vue-virtual-textdocument_0.6.2-insiders-1611564162.0_1611564194325_0.995409837417325"},"_hasShrinkwrap":false},"0.6.3":{"name":"@vuedx/vue-virtual-textdocument","version":"0.6.3","description":"An implementation of virtual filesystem for accessing blocks in a `.vue` file as independent files.","main":"dist/index.cjs.js","module":"dist/index.esm.js","types":"dist/index.d.ts","private":false,"scripts":{},"keywords":["vue","vue sfc","sfc","vue virtual files"],"repository":{"type":"git","url":"git+https://github.com/znck/vue-developer-experience.git"},"author":{"name":"Rahul Kadyan","email":"rahulkdn@gmail.com","url":"https://znck.me/"},"funding":{"type":"individual","url":"https://github.com/sponsors/znck"},"license":"MIT","bugs":{"url":"https://github.com/znck/vue-developer-experience/issues"},"homepage":"https://github.com/znck/vue-developer-experience#readme","dependencies":{"@vuedx/analyze":"0.6.3","@vuedx/compiler-sfc":"0.6.2","@vuedx/compiler-tsx":"0.6.3","@vuedx/shared":"0.6.2","source-map":"^0.6.1","vscode-languageserver-textdocument":"^1.0.1","vscode-uri":"^2.1.2"},"devDependencies":{"fast-glob":"^3.2.4","typescript":"^4.0.3"},"_id":"@vuedx/vue-virtual-textdocument@0.6.3","_nodeVersion":"14.14.0","_npmVersion":"6.14.8","dist":{"integrity":"sha512-FN5h4GsIcYAIfFbal0+1ryddDgpxMx/gxGE5QYinbwj5PwILZzyAUt//drQfppIHzCL+TJuZSml7fAod5tYvQA==","shasum":"750484d93378b47ead5f6e319e32d33160ed5658","tarball":"https://registry.npmjs.org/@vuedx/vue-virtual-textdocument/-/vue-virtual-textdocument-0.6.3.tgz","fileCount":9,"unpackedSize":287491,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgDoz3CRA9TVsSAnZWagAAnqwQAJY5kHF+CI9oYanJcxQf\nuNhfJD/ufdthDaH20yG4xtR9vZ4d+1IKwsALrLpHKUkkb6B6uvhp2QeoU/x9\n4iSEYhJKOWeQVr8nYLfhWUw/Yfi9ojpVTJirBYb6n9n68yrA35qScupg9+4b\nAu5sdWYiJ8iGNHtrQwEcLKwdwJx/UHTYUDWe2TKpuB1ZsZQXGlTXyygSx3+F\npt5HGVJJ4DRDyfFypFgK6OWDPMLk8K9cOQMnZwjS54wNyIiyRD7QmJjBgQh8\nS4HcttlCf9RoJtVLoMTldWl4kVwkQjgeOcJBBEm9aanJ0+6o9L90YQMNsN0m\nXnHGPXFiFNX7hoOn7/mxGW+1DMhafLRU8/ZqM1IXeESgfnFwZjMya265Bnlt\nsmTDSM4ZyGknXuYsYkpkyg068Fr3X6D6baHeQsgnbcIsR2QhJHLJCbBHSW6x\nVYoeSQAAGf0rMB7cdEN37qk2Kul4DvQ5jpNgno+tpEPy/3HBpj+ei6UuiQVe\n96rWzYEfeesT3/gbmHMznYbStj+aZ+6QODmlpZ6ArSOneO6qcFZT9+JZ36+p\nmbA7CuJcvn+ysftQoMTv6mIzu7bQFSanFGAv5BGOPtcH/vQr5guTtlXwnQOE\nBCvr8ZkTyMIxZClQfN+3gco/FlfXdUf4URWCKh2UuaNrSa2/tuXUs7Osqa/N\npVAA\r\n=5OqI\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIBJaid3f9GLFKJ1QmyPsCzqtQNKx0H8dtiNppoUckUwnAiEA+9C/Gk9UYDIvwMYdR1J4fcSR0sfzYtHvRmTumHKwp8o="}]},"_npmUser":{"name":"znck","email":"rahulkdn@gmail.com"},"directories":{},"maintainers":[{"name":"znck","email":"rahulkdn@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/vue-virtual-textdocument_0.6.3_1611566327151_0.20697333743023338"},"_hasShrinkwrap":false},"0.6.4-insiders-1611829384.0":{"name":"@vuedx/vue-virtual-textdocument","version":"0.6.4-insiders-1611829384.0","description":"An implementation of virtual filesystem for accessing blocks in a `.vue` file as independent files.","main":"dist/index.cjs.js","module":"dist/index.esm.js","types":"dist/index.d.ts","private":false,"scripts":{},"keywords":["vue","vue sfc","sfc","vue virtual files"],"repository":{"type":"git","url":"git+https://github.com/znck/vue-developer-experience.git"},"author":{"name":"Rahul Kadyan","email":"rahulkdn@gmail.com","url":"https://znck.me/"},"funding":{"type":"individual","url":"https://github.com/sponsors/znck"},"license":"MIT","bugs":{"url":"https://github.com/znck/vue-developer-experience/issues"},"homepage":"https://github.com/znck/vue-developer-experience#readme","dependencies":{"@vuedx/analyze":"0.6.4-insiders-1611829384.0","@vuedx/compiler-sfc":"0.6.3-insiders-1611829384.0","@vuedx/compiler-tsx":"0.6.4-insiders-1611829384.0","@vuedx/shared":"0.6.3-insiders-1611829384.0","source-map":"^0.6.1","vscode-languageserver-textdocument":"^1.0.1","vscode-uri":"^2.1.2"},"devDependencies":{"fast-glob":"^3.2.4","typescript":"^4.0.3"},"readme":"# Vue Virtual TextDocument\n\nAn implementation of virtual filesystem for accessing blocks in a `.vue` file as independent files.\n\n## Support\n\nThis package is part of [VueDX project](https://github.com/znck/vue-developer-experience), maintained by [Rahul Kadyan](https://github.com/znck). You can [💖 sponsor him](https://github.com/sponsors/znck) for continued development of this package and other VueDX tools.\n\n```\nnpm add @vuedx/vue-virtual-textdocument\n```\n<!-- #region API-DOCS -->\n<!-- Do not edit this file. It is a report generated by [scripts/docgen.js](https://github.com/znck/vue-developer-experience/tree/main/scripts/docgen.js). -->\n\n## API\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-AsyncDocumentStore-class\" id=\"-vuedx-vue-virtual-textdocument-AsyncDocumentStore-class\"></a>\n\n### [AsyncDocumentStore](#-vuedx-vue-virtual-textdocument-AsyncDocumentStore-class)\n\n\n\n<details><summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare class AsyncDocumentStore<T> extends DocumentStore<T> {\n  constructor(resolve: (uri: string) => T | Promise<T | null> | null, normalize?: (uri: string) => string);\n  get(uri: string): T | null;\n  get(uri: string): Promise<T | null>;\n}\n```\n\n**Members:**\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-AsyncDocumentStore-get-member-1-\" id=\"-vuedx-vue-virtual-textdocument-AsyncDocumentStore-get-member-1-\"></a>\n\n#### [get](#-vuedx-vue-virtual-textdocument-AsyncDocumentStore-get-member-1-)\n\n\n\n**Signature:**\n```ts\nget(uri: string): T | null;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-AsyncDocumentStore-get-member-2-\" id=\"-vuedx-vue-virtual-textdocument-AsyncDocumentStore-get-member-2-\"></a>\n\n#### [get](#-vuedx-vue-virtual-textdocument-AsyncDocumentStore-get-member-2-)\n\n\n\n**Signature:**\n```ts\nget(uri: string): Promise<T | null>;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n\n<br>\n</details>\n\n<br>\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-class\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-class\"></a>\n\n### [DocumentStore](#-vuedx-vue-virtual-textdocument-DocumentStore-class)\n\n\n\n<details><summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare class DocumentStore<T> {\n  constructor(resolve: (uri: string) => T | null, normalize?: (uri: string) => string);\n  all(): string[];\n  delete(uri: string): boolean;\n  dispose(): void;\n  get(uri: string): T | null;\n  protected getNormalizedUri(uri: string): string;\n  has(uri: string): boolean;\n  protected map: Map<string, T>;\n  normalize: (uri: string) => string;\n  protected resolve: (uri: string) => T | null;\n  protected reverseUriMap: Map<string, string>;\n  set(uri: string, document: T): void;\n}\n```\n\n**Members:**\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-all-member-1-\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-all-member-1-\"></a>\n\n#### [all](#-vuedx-vue-virtual-textdocument-DocumentStore-all-member-1-)\n\n\n\n**Signature:**\n```ts\nall(): string[];\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-delete-member-1-\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-delete-member-1-\"></a>\n\n#### [delete](#-vuedx-vue-virtual-textdocument-DocumentStore-delete-member-1-)\n\n\n\n**Signature:**\n```ts\ndelete(uri: string): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-dispose-member-1-\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-dispose-member-1-\"></a>\n\n#### [dispose](#-vuedx-vue-virtual-textdocument-DocumentStore-dispose-member-1-)\n\n\n\n**Signature:**\n```ts\ndispose(): void;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-get-member-1-\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-get-member-1-\"></a>\n\n#### [get](#-vuedx-vue-virtual-textdocument-DocumentStore-get-member-1-)\n\n\n\n**Signature:**\n```ts\nget(uri: string): T | null;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-getNormalizedUri-member-1-\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-getNormalizedUri-member-1-\"></a>\n\n#### [getNormalizedUri](#-vuedx-vue-virtual-textdocument-DocumentStore-getNormalizedUri-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected getNormalizedUri(uri: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-has-member-1-\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-has-member-1-\"></a>\n\n#### [has](#-vuedx-vue-virtual-textdocument-DocumentStore-has-member-1-)\n\n\n\n**Signature:**\n```ts\nhas(uri: string): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-set-member-1-\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-set-member-1-\"></a>\n\n#### [set](#-vuedx-vue-virtual-textdocument-DocumentStore-set-member-1-)\n\n\n\n**Signature:**\n```ts\nset(uri: string, document: T): void;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n| document | <code>T</code> | - |\n\n<br>\n</details>\n\n<br>\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-class\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-class\"></a>\n\n### [RenderFunctionTextDocument](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-class)\n\n\n\n<details><summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare class RenderFunctionTextDocument extends TransformedBlockTextDocument {\n  constructor(container: VueTextDocument, selector: Selector, transformed: TextDocument, source: TextDocument);\n  get ast(): CodegenResult['ast'] | undefined;\n  get contextCompletionsTriggerOffset(): number;\n  static create(options: CreateVirtualTextDocumentOptions): RenderFunctionTextDocument;\n  findExpression(offset: number, length: number): undefined | {\n        offset: number;\n        length: number;\n    };\n  protected generate(): string;\n  getAllGeneratedOffsetsAt(offset: number): undefined | Array<{\n        length: number;\n        offset: number;\n    }>;\n  getGeneratedOffsetAt(offset: number): undefined | {\n        length: number;\n        offset: number;\n    };\n  protected getKnownComponents(): Record<string, ComponentImport>;\n  getOriginalOffsetAt(offset: number): undefined | {\n        offset: number;\n        length: number;\n    };\n  isInGeneratedRange(offset: number): boolean;\n  isInTemplateIdentifierRange(offset: number): boolean;\n  get parserErrors(): CodegenResult['errors'];\n  get tagCompletionsTriggerOffset(): number;\n  toDisplayMappings(): string;\n  protected tryGenerate(): string;\n}\n```\n\n**Members:**\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-create-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-create-member-1-\"></a>\n\n#### [create](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-create-member-1-)\n\n\n\n**Signature:**\n```ts\nstatic create(options: CreateVirtualTextDocumentOptions): RenderFunctionTextDocument;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| options | <code><a href=\"#-vuedx-vue-virtual-textdocument--CreateVirtualTextDocumentOptions-interface\">CreateVirtualTextDocumentOptions</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-findExpression-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-findExpression-member-1-\"></a>\n\n#### [findExpression](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-findExpression-member-1-)\n\n\n\n**Signature:**\n```ts\nfindExpression(offset: number, length: number): undefined | {\n        offset: number;\n        length: number;\n    };\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n| length | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-generate-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-generate-member-1-\"></a>\n\n#### [generate](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-generate-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected generate(): string;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getAllGeneratedOffsetsAt-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getAllGeneratedOffsetsAt-member-1-\"></a>\n\n#### [getAllGeneratedOffsetsAt](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getAllGeneratedOffsetsAt-member-1-)\n\n\n\n**Signature:**\n```ts\ngetAllGeneratedOffsetsAt(offset: number): undefined | Array<{\n        length: number;\n        offset: number;\n    }>;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getGeneratedOffsetAt-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getGeneratedOffsetAt-member-1-\"></a>\n\n#### [getGeneratedOffsetAt](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getGeneratedOffsetAt-member-1-)\n\n\n\n**Signature:**\n```ts\ngetGeneratedOffsetAt(offset: number): undefined | {\n        length: number;\n        offset: number;\n    };\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getKnownComponents-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getKnownComponents-member-1-\"></a>\n\n#### [getKnownComponents](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getKnownComponents-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected getKnownComponents(): Record<string, ComponentImport>;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getOriginalOffsetAt-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getOriginalOffsetAt-member-1-\"></a>\n\n#### [getOriginalOffsetAt](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getOriginalOffsetAt-member-1-)\n\n\n\n**Signature:**\n```ts\ngetOriginalOffsetAt(offset: number): undefined | {\n        offset: number;\n        length: number;\n    };\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-isInGeneratedRange-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-isInGeneratedRange-member-1-\"></a>\n\n#### [isInGeneratedRange](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-isInGeneratedRange-member-1-)\n\n\n\n**Signature:**\n```ts\nisInGeneratedRange(offset: number): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-isInTemplateIdentifierRange-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-isInTemplateIdentifierRange-member-1-\"></a>\n\n#### [isInTemplateIdentifierRange](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-isInTemplateIdentifierRange-member-1-)\n\n\n\n**Signature:**\n```ts\nisInTemplateIdentifierRange(offset: number): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-toDisplayMappings-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-toDisplayMappings-member-1-\"></a>\n\n#### [toDisplayMappings](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-toDisplayMappings-member-1-)\n\n\n\n**Signature:**\n```ts\ntoDisplayMappings(): string;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-tryGenerate-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-tryGenerate-member-1-\"></a>\n\n#### [tryGenerate](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-tryGenerate-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected tryGenerate(): string;\n```\n\n\n<br>\n</details>\n\n<br>\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-class\" id=\"-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-class\"></a>\n\n### [TransformedBlockTextDocument](#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-class)\n\n\n\n<details><summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare class TransformedBlockTextDocument extends VirtualTextDocument {\n  protected constructor(container: VueTextDocument, selector: Selector, transformed: TextDocument, source: TextDocument | VirtualTextDocument, _transform: (document: TransformedBlockTextDocument) => BlockTransformResult);\n  static create(options: CreateTransformedBlockTextDocumentOptions): TransformedBlockTextDocument;\n  protected refresh(): void;\n  transform(): BlockTransformResult;\n  tryGetGeneratedOffset(offset: number): number | undefined;\n  tryGetSourceOffset(offset: number): number | undefined;\n}\n```\n\n**Members:**\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-create-member-1-\" id=\"-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-create-member-1-\"></a>\n\n#### [create](#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-create-member-1-)\n\n\n\n**Signature:**\n```ts\nstatic create(options: CreateTransformedBlockTextDocumentOptions): TransformedBlockTextDocument;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| options | <code><a href=\"#-vuedx-vue-virtual-textdocument--CreateTransformedBlockTextDocumentOptions-interface\">CreateTransformedBlockTextDocumentOptions</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-refresh-member-1-\" id=\"-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-refresh-member-1-\"></a>\n\n#### [refresh](#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-refresh-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected refresh(): void;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-transform-member-1-\" id=\"-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-transform-member-1-\"></a>\n\n#### [transform](#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-transform-member-1-)\n\n\n\n**Signature:**\n```ts\ntransform(): BlockTransformResult;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-tryGetGeneratedOffset-member-1-\" id=\"-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-tryGetGeneratedOffset-member-1-\"></a>\n\n#### [tryGetGeneratedOffset](#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-tryGetGeneratedOffset-member-1-)\n\n\n\n**Signature:**\n```ts\ntryGetGeneratedOffset(offset: number): number | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-tryGetSourceOffset-member-1-\" id=\"-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-tryGetSourceOffset-member-1-\"></a>\n\n#### [tryGetSourceOffset](#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-tryGetSourceOffset-member-1-)\n\n\n\n**Signature:**\n```ts\ntryGetSourceOffset(offset: number): number | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n</details>\n\n<br>\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VirtualTextDocument-class\" id=\"-vuedx-vue-virtual-textdocument-VirtualTextDocument-class\"></a>\n\n### [VirtualTextDocument](#-vuedx-vue-virtual-textdocument-VirtualTextDocument-class)\n\n\n\n<details><summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare class VirtualTextDocument extends ProxyTextDocument {\n  protected constructor(container: VueTextDocument, selector: Selector, doc: TextDocument);\n  readonly container: VueTextDocument;\n  static create(options: CreateVirtualTextDocumentOptions): VirtualTextDocument;\n  protected isDirty: boolean;\n  markDirty(): void;\n  protected refresh(): void;\n  readonly selector: Selector;\n}\n```\n\n**Members:**\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VirtualTextDocument-create-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VirtualTextDocument-create-member-1-\"></a>\n\n#### [create](#-vuedx-vue-virtual-textdocument-VirtualTextDocument-create-member-1-)\n\n\n\n**Signature:**\n```ts\nstatic create(options: CreateVirtualTextDocumentOptions): VirtualTextDocument;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| options | <code><a href=\"#-vuedx-vue-virtual-textdocument--CreateVirtualTextDocumentOptions-interface\">CreateVirtualTextDocumentOptions</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VirtualTextDocument-markDirty-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VirtualTextDocument-markDirty-member-1-\"></a>\n\n#### [markDirty](#-vuedx-vue-virtual-textdocument-VirtualTextDocument-markDirty-member-1-)\n\n\n\n**Signature:**\n```ts\nmarkDirty(): void;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VirtualTextDocument-refresh-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VirtualTextDocument-refresh-member-1-\"></a>\n\n#### [refresh](#-vuedx-vue-virtual-textdocument-VirtualTextDocument-refresh-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected refresh(): void;\n```\n\n\n<br>\n</details>\n\n<br>\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-class\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-class\"></a>\n\n### [VueTextDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-class)\n\n\n\n<details><summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare class VueTextDocument extends ProxyTextDocument {\n  constructor(doc: TextDocument, options?: VueTextDocumentOptions, parseOptions?: SFCParseOptions);\n  all(): VirtualTextDocument[];\n  blockAt(position: Position | number): SFCBlock | null | undefined;\n  static create(uri: string, languageId: string, version: number, content: string, options?: VueTextDocumentOptions, parseOptions?: SFCParseOptions): VueTextDocument;\n  protected createBlockDocument(selector: BlockSelector): VirtualTextDocument | undefined;\n  protected createInternalModuleDocument(): TransformedBlockTextDocument;\n  protected createModuleDocument(): TransformedBlockTextDocument;\n  protected createRenderDocument(): RenderFunctionTextDocument;\n  protected createTemplateASTDocument(): TransformedBlockTextDocument;\n  get descriptor(): SFCDescriptor;\n  documentAt(position: Position | number): VirtualTextDocument | undefined;\n  getBlock(selector: BlockSelector): SFCBlock | null | undefined;\n  getBlockSelector(block: SFCBlock): BlockSelector | undefined;\n  getDocument(selector: typeof RENDER_SELECTOR): RenderFunctionTextDocument;\n  getDocument(selector: SelectorLike): VirtualTextDocument;\n  getDocument(selector: string): VirtualTextDocument | undefined;\n  getDocumentFileName(selectorLike: SelectorLike): string;\n  protected getDocumentId(selector: Selector): string;\n  protected getDocumentLanguage(selector: Selector): string;\n  markDirty(): void;\n  readonly options: VueTextDocumentOptions;\n  protected parse(): void;\n  static update(document: VueTextDocument, changes: TextDocumentContentChangeEvent[], version: number): VueTextDocument;\n}\n```\n\n**Members:**\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-all-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-all-member-1-\"></a>\n\n#### [all](#-vuedx-vue-virtual-textdocument-VueTextDocument-all-member-1-)\n\n\n\n**Signature:**\n```ts\nall(): VirtualTextDocument[];\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-blockAt-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-blockAt-member-1-\"></a>\n\n#### [blockAt](#-vuedx-vue-virtual-textdocument-VueTextDocument-blockAt-member-1-)\n\n\n\n**Signature:**\n```ts\nblockAt(position: Position | number): SFCBlock | null | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| position | <code><a href=\"#vscode-languageserver-textdocument-Position-interface\">Position</a> &#124; number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-create-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-create-member-1-\"></a>\n\n#### [create](#-vuedx-vue-virtual-textdocument-VueTextDocument-create-member-1-)\n\n\n\n**Signature:**\n```ts\nstatic create(uri: string, languageId: string, version: number, content: string, options?: VueTextDocumentOptions, parseOptions?: SFCParseOptions): VueTextDocument;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n| languageId | <code>string</code> | - |\n| version | <code>number</code> | - |\n| content | <code>string</code> | - |\n| options | <code><a href=\"#-vuedx-vue-virtual-textdocument--VueTextDocumentOptions-interface\">VueTextDocumentOptions</a></code> | - |\n| parseOptions | <code><a href=\"#-vue-compiler-sfc-SFCParseOptions-interface\">SFCParseOptions</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-createBlockDocument-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-createBlockDocument-member-1-\"></a>\n\n#### [createBlockDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-createBlockDocument-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected createBlockDocument(selector: BlockSelector): VirtualTextDocument | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selector | <code><a href=\"#-vuedx-vue-virtual-textdocument--BlockSelector-type\">BlockSelector</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-createInternalModuleDocument-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-createInternalModuleDocument-member-1-\"></a>\n\n#### [createInternalModuleDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-createInternalModuleDocument-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected createInternalModuleDocument(): TransformedBlockTextDocument;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-createModuleDocument-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-createModuleDocument-member-1-\"></a>\n\n#### [createModuleDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-createModuleDocument-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected createModuleDocument(): TransformedBlockTextDocument;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-createRenderDocument-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-createRenderDocument-member-1-\"></a>\n\n#### [createRenderDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-createRenderDocument-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected createRenderDocument(): RenderFunctionTextDocument;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-createTemplateASTDocument-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-createTemplateASTDocument-member-1-\"></a>\n\n#### [createTemplateASTDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-createTemplateASTDocument-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected createTemplateASTDocument(): TransformedBlockTextDocument;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-documentAt-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-documentAt-member-1-\"></a>\n\n#### [documentAt](#-vuedx-vue-virtual-textdocument-VueTextDocument-documentAt-member-1-)\n\n\n\n**Signature:**\n```ts\ndocumentAt(position: Position | number): VirtualTextDocument | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| position | <code><a href=\"#vscode-languageserver-textdocument-Position-interface\">Position</a> &#124; number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getBlock-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getBlock-member-1-\"></a>\n\n#### [getBlock](#-vuedx-vue-virtual-textdocument-VueTextDocument-getBlock-member-1-)\n\n\n\n**Signature:**\n```ts\ngetBlock(selector: BlockSelector): SFCBlock | null | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selector | <code><a href=\"#-vuedx-vue-virtual-textdocument--BlockSelector-type\">BlockSelector</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getBlockSelector-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getBlockSelector-member-1-\"></a>\n\n#### [getBlockSelector](#-vuedx-vue-virtual-textdocument-VueTextDocument-getBlockSelector-member-1-)\n\n\n\n**Signature:**\n```ts\ngetBlockSelector(block: SFCBlock): BlockSelector | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| block | <code><a href=\"#-vue-compiler-sfc-SFCBlock-interface\">SFCBlock</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-1-\"></a>\n\n#### [getDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-1-)\n\n\n\n**Signature:**\n```ts\ngetDocument(selector: typeof RENDER_SELECTOR): RenderFunctionTextDocument;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selector | <code>typeof <a href=\"#-vuedx-vue-virtual-textdocument--RENDER-SELECTOR-var\">RENDER_SELECTOR</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-2-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-2-\"></a>\n\n#### [getDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-2-)\n\n\n\n**Signature:**\n```ts\ngetDocument(selector: SelectorLike): VirtualTextDocument;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selector | <code><a href=\"#-vuedx-vue-virtual-textdocument--SelectorLike-type\">SelectorLike</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-3-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-3-\"></a>\n\n#### [getDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-3-)\n\n\n\n**Signature:**\n```ts\ngetDocument(selector: string): VirtualTextDocument | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selector | <code>string</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentFileName-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentFileName-member-1-\"></a>\n\n#### [getDocumentFileName](#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentFileName-member-1-)\n\n\n\n**Signature:**\n```ts\ngetDocumentFileName(selectorLike: SelectorLike): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selectorLike | <code><a href=\"#-vuedx-vue-virtual-textdocument--SelectorLike-type\">SelectorLike</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentId-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentId-member-1-\"></a>\n\n#### [getDocumentId](#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentId-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected getDocumentId(selector: Selector): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selector | <code><a href=\"#-vuedx-vue-virtual-textdocument--Selector-type\">Selector</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentLanguage-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentLanguage-member-1-\"></a>\n\n#### [getDocumentLanguage](#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentLanguage-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected getDocumentLanguage(selector: Selector): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selector | <code><a href=\"#-vuedx-vue-virtual-textdocument--Selector-type\">Selector</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-markDirty-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-markDirty-member-1-\"></a>\n\n#### [markDirty](#-vuedx-vue-virtual-textdocument-VueTextDocument-markDirty-member-1-)\n\n\n\n**Signature:**\n```ts\nmarkDirty(): void;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-parse-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-parse-member-1-\"></a>\n\n#### [parse](#-vuedx-vue-virtual-textdocument-VueTextDocument-parse-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected parse(): void;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-update-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-update-member-1-\"></a>\n\n#### [update](#-vuedx-vue-virtual-textdocument-VueTextDocument-update-member-1-)\n\n\n\n**Signature:**\n```ts\nstatic update(document: VueTextDocument, changes: TextDocumentContentChangeEvent[], version: number): VueTextDocument;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| document | <code><a href=\"#-vuedx-vue-virtual-textdocument--VueTextDocument-class\">VueTextDocument</a></code> | - |\n| changes | <code><a href=\"#vscode-languageserver-textdocument-TextDocumentContentChangeEvent-type\">TextDocumentContentChangeEvent</a>[]</code> | - |\n| version | <code>number</code> | - |\n\n<br>\n</details>\n\n<br>\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-asFsPath-function-1-\" id=\"-vuedx-vue-virtual-textdocument-asFsPath-function-1-\"></a>\n\n### [asFsPath](#-vuedx-vue-virtual-textdocument-asFsPath-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function asFsPath(uri: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-asFsUri-function-1-\" id=\"-vuedx-vue-virtual-textdocument-asFsUri-function-1-\"></a>\n\n### [asFsUri](#-vuedx-vue-virtual-textdocument-asFsUri-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function asFsUri(fileName: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-asUri-function-1-\" id=\"-vuedx-vue-virtual-textdocument-asUri-function-1-\"></a>\n\n### [asUri](#-vuedx-vue-virtual-textdocument-asUri-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function asUri(fileNameOrUri: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileNameOrUri | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-basename-function-1-\" id=\"-vuedx-vue-virtual-textdocument-basename-function-1-\"></a>\n\n### [basename](#-vuedx-vue-virtual-textdocument-basename-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function basename(fileName: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-binarySearch-function-1-\" id=\"-vuedx-vue-virtual-textdocument-binarySearch-function-1-\"></a>\n\n### [binarySearch](#-vuedx-vue-virtual-textdocument-binarySearch-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function binarySearch<T>(array: T[], isMatch: (a: T) => number, returnMin?: boolean): T | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| array | <code>T[]</code> | - |\n| isMatch | <code>(a: T) => number</code> | - |\n| returnMin | <code>boolean</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-getBlockLanguage-function-1-\" id=\"-vuedx-vue-virtual-textdocument-getBlockLanguage-function-1-\"></a>\n\n### [getBlockLanguage](#-vuedx-vue-virtual-textdocument-getBlockLanguage-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function getBlockLanguage(block?: SFCBlock | null): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| block | <code><a href=\"#-vue-compiler-sfc-SFCBlock-interface\">SFCBlock</a> &#124; null</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-getContainingFile-function-1-\" id=\"-vuedx-vue-virtual-textdocument-getContainingFile-function-1-\"></a>\n\n### [getContainingFile](#-vuedx-vue-virtual-textdocument-getContainingFile-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function getContainingFile(fileName: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-getLanguageExtension-function-1-\" id=\"-vuedx-vue-virtual-textdocument-getLanguageExtension-function-1-\"></a>\n\n### [getLanguageExtension](#-vuedx-vue-virtual-textdocument-getLanguageExtension-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function getLanguageExtension(lang: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| lang | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-getLanguageIdFromExtension-function-1-\" id=\"-vuedx-vue-virtual-textdocument-getLanguageIdFromExtension-function-1-\"></a>\n\n### [getLanguageIdFromExtension](#-vuedx-vue-virtual-textdocument-getLanguageIdFromExtension-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function getLanguageIdFromExtension(ext: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| ext | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-isOffsetInBlock-function-1-\" id=\"-vuedx-vue-virtual-textdocument-isOffsetInBlock-function-1-\"></a>\n\n### [isOffsetInBlock](#-vuedx-vue-virtual-textdocument-isOffsetInBlock-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function isOffsetInBlock(offset: number, block?: SFCBlock | null): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n| block | <code><a href=\"#-vue-compiler-sfc-SFCBlock-interface\">SFCBlock</a> &#124; null</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-isVirtualFile-function-1-\" id=\"-vuedx-vue-virtual-textdocument-isVirtualFile-function-1-\"></a>\n\n### [isVirtualFile](#-vuedx-vue-virtual-textdocument-isVirtualFile-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function isVirtualFile(fileName: string): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-isVirtualFileOfType-function-1-\" id=\"-vuedx-vue-virtual-textdocument-isVirtualFileOfType-function-1-\"></a>\n\n### [isVirtualFileOfType](#-vuedx-vue-virtual-textdocument-isVirtualFileOfType-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function isVirtualFileOfType(fileName: string, type: '_render' | '_module' | '_internal' | 'script' | 'scriptSetup'): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n| type | <code>'_render' &#124; '_module' &#124; '_internal' &#124; 'script' &#124; 'scriptSetup'</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-isVueFile-function-1-\" id=\"-vuedx-vue-virtual-textdocument-isVueFile-function-1-\"></a>\n\n### [isVueFile](#-vuedx-vue-virtual-textdocument-isVueFile-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function isVueFile(fileName: string): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-parseVirtualFileName-function-1-\" id=\"-vuedx-vue-virtual-textdocument-parseVirtualFileName-function-1-\"></a>\n\n### [parseVirtualFileName](#-vuedx-vue-virtual-textdocument-parseVirtualFileName-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function parseVirtualFileName(fileName: string): {\n    uri: string;\n    selector: Selector;\n} | null;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-relativeVirtualImportPath-function-1-\" id=\"-vuedx-vue-virtual-textdocument-relativeVirtualImportPath-function-1-\"></a>\n\n### [relativeVirtualImportPath](#-vuedx-vue-virtual-textdocument-relativeVirtualImportPath-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function relativeVirtualImportPath(fileName: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-replaceSlashes-function-1-\" id=\"-vuedx-vue-virtual-textdocument-replaceSlashes-function-1-\"></a>\n\n### [replaceSlashes](#-vuedx-vue-virtual-textdocument-replaceSlashes-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function replaceSlashes(fileName: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n<!-- #region API-DOCS -->\n","readmeFilename":"readme.md","_id":"@vuedx/vue-virtual-textdocument@0.6.4-insiders-1611829384.0","_nodeVersion":"14.14.0","_npmVersion":"6.14.8","dist":{"integrity":"sha512-bH6z1HAlnquFYHUgQaWLn4qyAUvmBrWWfYZfCnryUn9U9L6aNWwD5MRCmpPkX7tudQrfvulO48rdDtj8bvmMdw==","shasum":"51cda671a4cb09994145ec9e186066d83da1cd69","tarball":"https://registry.npmjs.org/@vuedx/vue-virtual-textdocument/-/vue-virtual-textdocument-0.6.4-insiders-1611829384.0.tgz","fileCount":9,"unpackedSize":287601,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgEpCqCRA9TVsSAnZWagAAfh4P/iKPBijlHPy/1Fh9fbWm\nLYRbbtpcy7zYHba+UlFvd2XgSqEN/EliRxytePCWH3svrR+6vCnPDv+5+zhc\np5MlYEpTTCt5jN7wsHFsZuUVSqVlXC/WstUFsKqIleLqdlCnx6BC8MGYf/UY\nVHzeh0qSvtpoV1rZHFe+IZa26RjnH54So6pd4AzdJ0y3KRzRwGSV5HEvtqz6\nmkjuKY9fJ1fPCus6F5iKmYxLfeAwc/V1FWkSA3gy8ErEmEccs1qa2AohHFW/\n5H34QvSJf9Ixfx0a4LeIJZ+ZlCy5Q+zDjQEKtMcB6ES3FUC84e/tZnWYhSQz\nWP4UKxFRGb7Z2fByWUwOBhc/jt+ky9kfF83qB3ussswTpVOXOEKIm5LAMyPX\nEjeIe+TwiCHbPcQZdhh1nSmrSQRY/mnjTtr4q0KIZ+kAPq+c83AXoR10e7f8\nZEhtZ4iiJQCXXtTpGEwC6vbS0IagBbciY1kL1+pl8QDZ+0DPo6Hji8AwVOoO\niTzVo95NFdH/nM79lwC9LntivnRgsHtWNrUezYCl/4tIzE0lM09JL4ksqbLY\nYMhVcgy0RAiicYW5Va/Q8w61YEtEWq6m/wmmBjoIkxGLLAnTYfr24rLlFNyb\n7b0qtFedY8NVUgsSEXKD79IW9UVLGz3swSJ8khBFLYiSzErdmCM2JOSTZ7A3\n9q+G\r\n=M+2M\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQChmP97vwLm0S7oX1SPKic22AYMdrlpPxHLbMm5MbcFxAIgX8fIjzW13v0AuQD43fl7vP8bXLc7lLnEsi0XPO38Sxg="}]},"_npmUser":{"name":"znck","email":"rahulkdn@gmail.com"},"directories":{},"maintainers":[{"name":"znck","email":"rahulkdn@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/vue-virtual-textdocument_0.6.4-insiders-1611829384.0_1611829418164_0.7024279560656235"},"_hasShrinkwrap":false},"0.7.1-insiders-1623221784.0":{"name":"@vuedx/vue-virtual-textdocument","version":"0.7.1-insiders-1623221784.0","description":"A virtual filesystem to access blocks in SFC as files","main":"lib/index.js","module":"lib/index.mjs","types":"lib/index.d.ts","exports":{"require":"./lib/index.js","import":"./lib/index.mjs"},"publishConfig":{"types":"lib/index.d.ts"},"private":false,"keywords":["vue","vue sfc","sfc","vue virtual files"],"repository":{"type":"git","url":"git+https://github.com/znck/vue-developer-experience.git"},"author":{"name":"Rahul Kadyan","email":"rahulkdn@gmail.com","url":"https://znck.me/"},"funding":{"type":"individual","url":"https://github.com/sponsors/znck"},"license":"MIT","bugs":{"url":"https://github.com/znck/vue-developer-experience/issues"},"homepage":"https://github.com/znck/vue-developer-experience#readme","dependencies":{"@vuedx/analyze":"0.7.1-insiders-1623221784.0","@vuedx/compiler-sfc":"0.7.1-insiders-1623221784.0","@vuedx/compiler-tsx":"0.7.1-insiders-1623221784.0","@vuedx/shared":"0.7.1-insiders-1623221784.0","source-map":"^0.6.1","vscode-languageserver-textdocument":"^1.0.1","vscode-uri":"^2.1.2"},"devDependencies":{"fast-glob":"^3.2.4","typescript":"^4.0.3"},"scripts":{},"readme":"# Vue Virtual TextDocument\n\nAn implementation of virtual filesystem for accessing blocks in a `.vue` file as independent files.\n\n## Support\n\nThis package is part of [VueDX project](https://github.com/znck/vue-developer-experience), maintained by [Rahul Kadyan](https://github.com/znck). You can [💖 sponsor him](https://github.com/sponsors/znck) for continued development of this package and other VueDX tools.\n\n```\nnpm add @vuedx/vue-virtual-textdocument\n```\n<!-- #region API-DOCS -->\n<!-- Do not edit this file. It is a report generated by [scripts/docgen.js](https://github.com/znck/vue-developer-experience/tree/main/scripts/docgen.js). -->\n\n## API\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-AsyncDocumentStore-class\" id=\"-vuedx-vue-virtual-textdocument-AsyncDocumentStore-class\"></a>\n\n### [AsyncDocumentStore](#-vuedx-vue-virtual-textdocument-AsyncDocumentStore-class)\n\n\n\n<details><summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare class AsyncDocumentStore<T> extends DocumentStore<T> {\n  constructor(resolve: (uri: string) => T | Promise<T | null> | null, normalize?: (uri: string) => string);\n  get(uri: string): T | null;\n  get(uri: string): Promise<T | null>;\n}\n```\n\n**Members:**\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-AsyncDocumentStore-get-member-1-\" id=\"-vuedx-vue-virtual-textdocument-AsyncDocumentStore-get-member-1-\"></a>\n\n#### [get](#-vuedx-vue-virtual-textdocument-AsyncDocumentStore-get-member-1-)\n\n\n\n**Signature:**\n```ts\nget(uri: string): T | null;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-AsyncDocumentStore-get-member-2-\" id=\"-vuedx-vue-virtual-textdocument-AsyncDocumentStore-get-member-2-\"></a>\n\n#### [get](#-vuedx-vue-virtual-textdocument-AsyncDocumentStore-get-member-2-)\n\n\n\n**Signature:**\n```ts\nget(uri: string): Promise<T | null>;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n\n<br>\n</details>\n\n<br>\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-class\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-class\"></a>\n\n### [DocumentStore](#-vuedx-vue-virtual-textdocument-DocumentStore-class)\n\n\n\n<details><summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare class DocumentStore<T> {\n  constructor(resolve: (uri: string) => T | null, normalize?: (uri: string) => string);\n  all(): string[];\n  delete(uri: string): boolean;\n  dispose(): void;\n  get(uri: string): T | null;\n  protected getNormalizedUri(uri: string): string;\n  has(uri: string): boolean;\n  protected map: Map<string, T>;\n  normalize: (uri: string) => string;\n  protected resolve: (uri: string) => T | null;\n  protected reverseUriMap: Map<string, string>;\n  set(uri: string, document: T): void;\n}\n```\n\n**Members:**\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-all-member-1-\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-all-member-1-\"></a>\n\n#### [all](#-vuedx-vue-virtual-textdocument-DocumentStore-all-member-1-)\n\n\n\n**Signature:**\n```ts\nall(): string[];\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-delete-member-1-\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-delete-member-1-\"></a>\n\n#### [delete](#-vuedx-vue-virtual-textdocument-DocumentStore-delete-member-1-)\n\n\n\n**Signature:**\n```ts\ndelete(uri: string): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-dispose-member-1-\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-dispose-member-1-\"></a>\n\n#### [dispose](#-vuedx-vue-virtual-textdocument-DocumentStore-dispose-member-1-)\n\n\n\n**Signature:**\n```ts\ndispose(): void;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-get-member-1-\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-get-member-1-\"></a>\n\n#### [get](#-vuedx-vue-virtual-textdocument-DocumentStore-get-member-1-)\n\n\n\n**Signature:**\n```ts\nget(uri: string): T | null;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-getNormalizedUri-member-1-\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-getNormalizedUri-member-1-\"></a>\n\n#### [getNormalizedUri](#-vuedx-vue-virtual-textdocument-DocumentStore-getNormalizedUri-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected getNormalizedUri(uri: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-has-member-1-\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-has-member-1-\"></a>\n\n#### [has](#-vuedx-vue-virtual-textdocument-DocumentStore-has-member-1-)\n\n\n\n**Signature:**\n```ts\nhas(uri: string): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-set-member-1-\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-set-member-1-\"></a>\n\n#### [set](#-vuedx-vue-virtual-textdocument-DocumentStore-set-member-1-)\n\n\n\n**Signature:**\n```ts\nset(uri: string, document: T): void;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n| document | <code>T</code> | - |\n\n<br>\n</details>\n\n<br>\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-class\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-class\"></a>\n\n### [RenderFunctionTextDocument](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-class)\n\n\n\n<details><summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare class RenderFunctionTextDocument extends TransformedBlockTextDocument {\n  constructor(container: VueTextDocument, selector: Selector, transformed: TextDocument, source: TextDocument);\n  get ast(): CodegenResult['ast'] | undefined;\n  get contextCompletionsTriggerOffset(): number;\n  static create(options: CreateVirtualTextDocumentOptions): RenderFunctionTextDocument;\n  findExpression(offset: number, length: number): undefined | {\n        offset: number;\n        length: number;\n    };\n  protected generate(): string;\n  getAllGeneratedOffsetsAt(offset: number): undefined | Array<{\n        length: number;\n        offset: number;\n    }>;\n  getGeneratedOffsetAt(offset: number): undefined | {\n        length: number;\n        offset: number;\n    };\n  protected getKnownComponents(): Record<string, ComponentImport>;\n  getOriginalOffsetAt(offset: number): undefined | {\n        offset: number;\n        length: number;\n    };\n  isInGeneratedRange(offset: number): boolean;\n  isInTemplateIdentifierRange(offset: number): boolean;\n  get parserErrors(): CodegenResult['errors'];\n  get tagCompletionsTriggerOffset(): number;\n  toDisplayMappings(): string;\n  protected tryGenerate(): string;\n}\n```\n\n**Members:**\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-create-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-create-member-1-\"></a>\n\n#### [create](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-create-member-1-)\n\n\n\n**Signature:**\n```ts\nstatic create(options: CreateVirtualTextDocumentOptions): RenderFunctionTextDocument;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| options | <code><a href=\"#-vuedx-vue-virtual-textdocument--CreateVirtualTextDocumentOptions-interface\">CreateVirtualTextDocumentOptions</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-findExpression-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-findExpression-member-1-\"></a>\n\n#### [findExpression](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-findExpression-member-1-)\n\n\n\n**Signature:**\n```ts\nfindExpression(offset: number, length: number): undefined | {\n        offset: number;\n        length: number;\n    };\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n| length | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-generate-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-generate-member-1-\"></a>\n\n#### [generate](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-generate-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected generate(): string;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getAllGeneratedOffsetsAt-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getAllGeneratedOffsetsAt-member-1-\"></a>\n\n#### [getAllGeneratedOffsetsAt](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getAllGeneratedOffsetsAt-member-1-)\n\n\n\n**Signature:**\n```ts\ngetAllGeneratedOffsetsAt(offset: number): undefined | Array<{\n        length: number;\n        offset: number;\n    }>;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getGeneratedOffsetAt-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getGeneratedOffsetAt-member-1-\"></a>\n\n#### [getGeneratedOffsetAt](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getGeneratedOffsetAt-member-1-)\n\n\n\n**Signature:**\n```ts\ngetGeneratedOffsetAt(offset: number): undefined | {\n        length: number;\n        offset: number;\n    };\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getKnownComponents-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getKnownComponents-member-1-\"></a>\n\n#### [getKnownComponents](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getKnownComponents-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected getKnownComponents(): Record<string, ComponentImport>;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getOriginalOffsetAt-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getOriginalOffsetAt-member-1-\"></a>\n\n#### [getOriginalOffsetAt](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getOriginalOffsetAt-member-1-)\n\n\n\n**Signature:**\n```ts\ngetOriginalOffsetAt(offset: number): undefined | {\n        offset: number;\n        length: number;\n    };\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-isInGeneratedRange-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-isInGeneratedRange-member-1-\"></a>\n\n#### [isInGeneratedRange](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-isInGeneratedRange-member-1-)\n\n\n\n**Signature:**\n```ts\nisInGeneratedRange(offset: number): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-isInTemplateIdentifierRange-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-isInTemplateIdentifierRange-member-1-\"></a>\n\n#### [isInTemplateIdentifierRange](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-isInTemplateIdentifierRange-member-1-)\n\n\n\n**Signature:**\n```ts\nisInTemplateIdentifierRange(offset: number): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-toDisplayMappings-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-toDisplayMappings-member-1-\"></a>\n\n#### [toDisplayMappings](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-toDisplayMappings-member-1-)\n\n\n\n**Signature:**\n```ts\ntoDisplayMappings(): string;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-tryGenerate-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-tryGenerate-member-1-\"></a>\n\n#### [tryGenerate](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-tryGenerate-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected tryGenerate(): string;\n```\n\n\n<br>\n</details>\n\n<br>\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-class\" id=\"-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-class\"></a>\n\n### [TransformedBlockTextDocument](#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-class)\n\n\n\n<details><summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare class TransformedBlockTextDocument extends VirtualTextDocument {\n  protected constructor(container: VueTextDocument, selector: Selector, transformed: TextDocument, source: TextDocument | VirtualTextDocument, _transform: (document: TransformedBlockTextDocument) => BlockTransformResult);\n  static create(options: CreateTransformedBlockTextDocumentOptions): TransformedBlockTextDocument;\n  protected refresh(): void;\n  transform(): BlockTransformResult;\n  tryGetGeneratedOffset(offset: number): number | undefined;\n  tryGetSourceOffset(offset: number): number | undefined;\n}\n```\n\n**Members:**\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-create-member-1-\" id=\"-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-create-member-1-\"></a>\n\n#### [create](#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-create-member-1-)\n\n\n\n**Signature:**\n```ts\nstatic create(options: CreateTransformedBlockTextDocumentOptions): TransformedBlockTextDocument;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| options | <code><a href=\"#-vuedx-vue-virtual-textdocument--CreateTransformedBlockTextDocumentOptions-interface\">CreateTransformedBlockTextDocumentOptions</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-refresh-member-1-\" id=\"-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-refresh-member-1-\"></a>\n\n#### [refresh](#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-refresh-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected refresh(): void;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-transform-member-1-\" id=\"-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-transform-member-1-\"></a>\n\n#### [transform](#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-transform-member-1-)\n\n\n\n**Signature:**\n```ts\ntransform(): BlockTransformResult;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-tryGetGeneratedOffset-member-1-\" id=\"-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-tryGetGeneratedOffset-member-1-\"></a>\n\n#### [tryGetGeneratedOffset](#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-tryGetGeneratedOffset-member-1-)\n\n\n\n**Signature:**\n```ts\ntryGetGeneratedOffset(offset: number): number | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-tryGetSourceOffset-member-1-\" id=\"-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-tryGetSourceOffset-member-1-\"></a>\n\n#### [tryGetSourceOffset](#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-tryGetSourceOffset-member-1-)\n\n\n\n**Signature:**\n```ts\ntryGetSourceOffset(offset: number): number | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n</details>\n\n<br>\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VirtualTextDocument-class\" id=\"-vuedx-vue-virtual-textdocument-VirtualTextDocument-class\"></a>\n\n### [VirtualTextDocument](#-vuedx-vue-virtual-textdocument-VirtualTextDocument-class)\n\n\n\n<details><summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare class VirtualTextDocument extends ProxyTextDocument {\n  protected constructor(container: VueTextDocument, selector: Selector, doc: TextDocument);\n  readonly container: VueTextDocument;\n  static create(options: CreateVirtualTextDocumentOptions): VirtualTextDocument;\n  protected isDirty: boolean;\n  markDirty(): void;\n  protected refresh(): void;\n  readonly selector: Selector;\n}\n```\n\n**Members:**\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VirtualTextDocument-create-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VirtualTextDocument-create-member-1-\"></a>\n\n#### [create](#-vuedx-vue-virtual-textdocument-VirtualTextDocument-create-member-1-)\n\n\n\n**Signature:**\n```ts\nstatic create(options: CreateVirtualTextDocumentOptions): VirtualTextDocument;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| options | <code><a href=\"#-vuedx-vue-virtual-textdocument--CreateVirtualTextDocumentOptions-interface\">CreateVirtualTextDocumentOptions</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VirtualTextDocument-markDirty-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VirtualTextDocument-markDirty-member-1-\"></a>\n\n#### [markDirty](#-vuedx-vue-virtual-textdocument-VirtualTextDocument-markDirty-member-1-)\n\n\n\n**Signature:**\n```ts\nmarkDirty(): void;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VirtualTextDocument-refresh-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VirtualTextDocument-refresh-member-1-\"></a>\n\n#### [refresh](#-vuedx-vue-virtual-textdocument-VirtualTextDocument-refresh-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected refresh(): void;\n```\n\n\n<br>\n</details>\n\n<br>\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-class\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-class\"></a>\n\n### [VueTextDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-class)\n\n\n\n<details><summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare class VueTextDocument extends ProxyTextDocument {\n  constructor(doc: TextDocument, options?: VueTextDocumentOptions, parseOptions?: SFCParseOptions);\n  all(): VirtualTextDocument[];\n  blockAt(position: Position | number): SFCBlock | null | undefined;\n  static create(uri: string, languageId: string, version: number, content: string, options?: VueTextDocumentOptions, parseOptions?: SFCParseOptions): VueTextDocument;\n  protected createBlockDocument(selector: BlockSelector): VirtualTextDocument | undefined;\n  protected createInternalModuleDocument(): TransformedBlockTextDocument;\n  protected createModuleDocument(): TransformedBlockTextDocument;\n  protected createRenderDocument(): RenderFunctionTextDocument;\n  protected createTemplateASTDocument(): TransformedBlockTextDocument;\n  get descriptor(): SFCDescriptor;\n  documentAt(position: Position | number): VirtualTextDocument | undefined;\n  getBlock(selector: BlockSelector): SFCBlock | null | undefined;\n  getBlockSelector(block: SFCBlock): BlockSelector | undefined;\n  getDocument(selector: typeof RENDER_SELECTOR): RenderFunctionTextDocument;\n  getDocument(selector: SelectorLike): VirtualTextDocument;\n  getDocument(selector: string): VirtualTextDocument | undefined;\n  getDocumentFileName(selectorLike: SelectorLike): string;\n  protected getDocumentId(selector: Selector): string;\n  protected getDocumentLanguage(selector: Selector): string;\n  markDirty(): void;\n  readonly options: VueTextDocumentOptions;\n  protected parse(): void;\n  static update(document: VueTextDocument, changes: TextDocumentContentChangeEvent[], version: number): VueTextDocument;\n}\n```\n\n**Members:**\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-all-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-all-member-1-\"></a>\n\n#### [all](#-vuedx-vue-virtual-textdocument-VueTextDocument-all-member-1-)\n\n\n\n**Signature:**\n```ts\nall(): VirtualTextDocument[];\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-blockAt-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-blockAt-member-1-\"></a>\n\n#### [blockAt](#-vuedx-vue-virtual-textdocument-VueTextDocument-blockAt-member-1-)\n\n\n\n**Signature:**\n```ts\nblockAt(position: Position | number): SFCBlock | null | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| position | <code><a href=\"#vscode-languageserver-textdocument-Position-interface\">Position</a> &#124; number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-create-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-create-member-1-\"></a>\n\n#### [create](#-vuedx-vue-virtual-textdocument-VueTextDocument-create-member-1-)\n\n\n\n**Signature:**\n```ts\nstatic create(uri: string, languageId: string, version: number, content: string, options?: VueTextDocumentOptions, parseOptions?: SFCParseOptions): VueTextDocument;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n| languageId | <code>string</code> | - |\n| version | <code>number</code> | - |\n| content | <code>string</code> | - |\n| options | <code><a href=\"#-vuedx-vue-virtual-textdocument--VueTextDocumentOptions-interface\">VueTextDocumentOptions</a></code> | - |\n| parseOptions | <code><a href=\"#-vue-compiler-sfc-SFCParseOptions-interface\">SFCParseOptions</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-createBlockDocument-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-createBlockDocument-member-1-\"></a>\n\n#### [createBlockDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-createBlockDocument-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected createBlockDocument(selector: BlockSelector): VirtualTextDocument | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selector | <code><a href=\"#-vuedx-vue-virtual-textdocument--BlockSelector-type\">BlockSelector</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-createInternalModuleDocument-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-createInternalModuleDocument-member-1-\"></a>\n\n#### [createInternalModuleDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-createInternalModuleDocument-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected createInternalModuleDocument(): TransformedBlockTextDocument;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-createModuleDocument-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-createModuleDocument-member-1-\"></a>\n\n#### [createModuleDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-createModuleDocument-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected createModuleDocument(): TransformedBlockTextDocument;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-createRenderDocument-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-createRenderDocument-member-1-\"></a>\n\n#### [createRenderDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-createRenderDocument-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected createRenderDocument(): RenderFunctionTextDocument;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-createTemplateASTDocument-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-createTemplateASTDocument-member-1-\"></a>\n\n#### [createTemplateASTDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-createTemplateASTDocument-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected createTemplateASTDocument(): TransformedBlockTextDocument;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-documentAt-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-documentAt-member-1-\"></a>\n\n#### [documentAt](#-vuedx-vue-virtual-textdocument-VueTextDocument-documentAt-member-1-)\n\n\n\n**Signature:**\n```ts\ndocumentAt(position: Position | number): VirtualTextDocument | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| position | <code><a href=\"#vscode-languageserver-textdocument-Position-interface\">Position</a> &#124; number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getBlock-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getBlock-member-1-\"></a>\n\n#### [getBlock](#-vuedx-vue-virtual-textdocument-VueTextDocument-getBlock-member-1-)\n\n\n\n**Signature:**\n```ts\ngetBlock(selector: BlockSelector): SFCBlock | null | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selector | <code><a href=\"#-vuedx-vue-virtual-textdocument--BlockSelector-type\">BlockSelector</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getBlockSelector-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getBlockSelector-member-1-\"></a>\n\n#### [getBlockSelector](#-vuedx-vue-virtual-textdocument-VueTextDocument-getBlockSelector-member-1-)\n\n\n\n**Signature:**\n```ts\ngetBlockSelector(block: SFCBlock): BlockSelector | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| block | <code><a href=\"#-vue-compiler-sfc-SFCBlock-interface\">SFCBlock</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-1-\"></a>\n\n#### [getDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-1-)\n\n\n\n**Signature:**\n```ts\ngetDocument(selector: typeof RENDER_SELECTOR): RenderFunctionTextDocument;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selector | <code>typeof <a href=\"#-vuedx-vue-virtual-textdocument--RENDER-SELECTOR-var\">RENDER_SELECTOR</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-2-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-2-\"></a>\n\n#### [getDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-2-)\n\n\n\n**Signature:**\n```ts\ngetDocument(selector: SelectorLike): VirtualTextDocument;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selector | <code><a href=\"#-vuedx-vue-virtual-textdocument--SelectorLike-type\">SelectorLike</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-3-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-3-\"></a>\n\n#### [getDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-3-)\n\n\n\n**Signature:**\n```ts\ngetDocument(selector: string): VirtualTextDocument | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selector | <code>string</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentFileName-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentFileName-member-1-\"></a>\n\n#### [getDocumentFileName](#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentFileName-member-1-)\n\n\n\n**Signature:**\n```ts\ngetDocumentFileName(selectorLike: SelectorLike): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selectorLike | <code><a href=\"#-vuedx-vue-virtual-textdocument--SelectorLike-type\">SelectorLike</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentId-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentId-member-1-\"></a>\n\n#### [getDocumentId](#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentId-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected getDocumentId(selector: Selector): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selector | <code><a href=\"#-vuedx-vue-virtual-textdocument--Selector-type\">Selector</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentLanguage-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentLanguage-member-1-\"></a>\n\n#### [getDocumentLanguage](#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentLanguage-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected getDocumentLanguage(selector: Selector): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selector | <code><a href=\"#-vuedx-vue-virtual-textdocument--Selector-type\">Selector</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-markDirty-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-markDirty-member-1-\"></a>\n\n#### [markDirty](#-vuedx-vue-virtual-textdocument-VueTextDocument-markDirty-member-1-)\n\n\n\n**Signature:**\n```ts\nmarkDirty(): void;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-parse-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-parse-member-1-\"></a>\n\n#### [parse](#-vuedx-vue-virtual-textdocument-VueTextDocument-parse-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected parse(): void;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-update-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-update-member-1-\"></a>\n\n#### [update](#-vuedx-vue-virtual-textdocument-VueTextDocument-update-member-1-)\n\n\n\n**Signature:**\n```ts\nstatic update(document: VueTextDocument, changes: TextDocumentContentChangeEvent[], version: number): VueTextDocument;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| document | <code><a href=\"#-vuedx-vue-virtual-textdocument--VueTextDocument-class\">VueTextDocument</a></code> | - |\n| changes | <code><a href=\"#vscode-languageserver-textdocument-TextDocumentContentChangeEvent-type\">TextDocumentContentChangeEvent</a>[]</code> | - |\n| version | <code>number</code> | - |\n\n<br>\n</details>\n\n<br>\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-asFsPath-function-1-\" id=\"-vuedx-vue-virtual-textdocument-asFsPath-function-1-\"></a>\n\n### [asFsPath](#-vuedx-vue-virtual-textdocument-asFsPath-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function asFsPath(uri: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-asFsUri-function-1-\" id=\"-vuedx-vue-virtual-textdocument-asFsUri-function-1-\"></a>\n\n### [asFsUri](#-vuedx-vue-virtual-textdocument-asFsUri-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function asFsUri(fileName: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-asUri-function-1-\" id=\"-vuedx-vue-virtual-textdocument-asUri-function-1-\"></a>\n\n### [asUri](#-vuedx-vue-virtual-textdocument-asUri-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function asUri(fileNameOrUri: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileNameOrUri | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-basename-function-1-\" id=\"-vuedx-vue-virtual-textdocument-basename-function-1-\"></a>\n\n### [basename](#-vuedx-vue-virtual-textdocument-basename-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function basename(fileName: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-binarySearch-function-1-\" id=\"-vuedx-vue-virtual-textdocument-binarySearch-function-1-\"></a>\n\n### [binarySearch](#-vuedx-vue-virtual-textdocument-binarySearch-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function binarySearch<T>(array: T[], isMatch: (a: T) => number, returnMin?: boolean): T | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| array | <code>T[]</code> | - |\n| isMatch | <code>(a: T) => number</code> | - |\n| returnMin | <code>boolean</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-getBlockLanguage-function-1-\" id=\"-vuedx-vue-virtual-textdocument-getBlockLanguage-function-1-\"></a>\n\n### [getBlockLanguage](#-vuedx-vue-virtual-textdocument-getBlockLanguage-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function getBlockLanguage(block?: SFCBlock | null): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| block | <code><a href=\"#-vue-compiler-sfc-SFCBlock-interface\">SFCBlock</a> &#124; null</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-getContainingFile-function-1-\" id=\"-vuedx-vue-virtual-textdocument-getContainingFile-function-1-\"></a>\n\n### [getContainingFile](#-vuedx-vue-virtual-textdocument-getContainingFile-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function getContainingFile(fileName: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-getLanguageExtension-function-1-\" id=\"-vuedx-vue-virtual-textdocument-getLanguageExtension-function-1-\"></a>\n\n### [getLanguageExtension](#-vuedx-vue-virtual-textdocument-getLanguageExtension-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function getLanguageExtension(lang: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| lang | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-getLanguageIdFromExtension-function-1-\" id=\"-vuedx-vue-virtual-textdocument-getLanguageIdFromExtension-function-1-\"></a>\n\n### [getLanguageIdFromExtension](#-vuedx-vue-virtual-textdocument-getLanguageIdFromExtension-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function getLanguageIdFromExtension(ext: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| ext | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-isOffsetInBlock-function-1-\" id=\"-vuedx-vue-virtual-textdocument-isOffsetInBlock-function-1-\"></a>\n\n### [isOffsetInBlock](#-vuedx-vue-virtual-textdocument-isOffsetInBlock-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function isOffsetInBlock(offset: number, block?: SFCBlock | null): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n| block | <code><a href=\"#-vue-compiler-sfc-SFCBlock-interface\">SFCBlock</a> &#124; null</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-isVirtualFile-function-1-\" id=\"-vuedx-vue-virtual-textdocument-isVirtualFile-function-1-\"></a>\n\n### [isVirtualFile](#-vuedx-vue-virtual-textdocument-isVirtualFile-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function isVirtualFile(fileName: string): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-isVirtualFileOfType-function-1-\" id=\"-vuedx-vue-virtual-textdocument-isVirtualFileOfType-function-1-\"></a>\n\n### [isVirtualFileOfType](#-vuedx-vue-virtual-textdocument-isVirtualFileOfType-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function isVirtualFileOfType(fileName: string, type: '_render' | '_module' | '_internal' | 'script' | 'scriptSetup'): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n| type | <code>'_render' &#124; '_module' &#124; '_internal' &#124; 'script' &#124; 'scriptSetup'</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-isVueFile-function-1-\" id=\"-vuedx-vue-virtual-textdocument-isVueFile-function-1-\"></a>\n\n### [isVueFile](#-vuedx-vue-virtual-textdocument-isVueFile-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function isVueFile(fileName: string): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-parseVirtualFileName-function-1-\" id=\"-vuedx-vue-virtual-textdocument-parseVirtualFileName-function-1-\"></a>\n\n### [parseVirtualFileName](#-vuedx-vue-virtual-textdocument-parseVirtualFileName-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function parseVirtualFileName(fileName: string): {\n    uri: string;\n    selector: Selector;\n} | null;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-relativeVirtualImportPath-function-1-\" id=\"-vuedx-vue-virtual-textdocument-relativeVirtualImportPath-function-1-\"></a>\n\n### [relativeVirtualImportPath](#-vuedx-vue-virtual-textdocument-relativeVirtualImportPath-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function relativeVirtualImportPath(fileName: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-replaceSlashes-function-1-\" id=\"-vuedx-vue-virtual-textdocument-replaceSlashes-function-1-\"></a>\n\n### [replaceSlashes](#-vuedx-vue-virtual-textdocument-replaceSlashes-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function replaceSlashes(fileName: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n<!-- #region API-DOCS -->\n","readmeFilename":"readme.md","_id":"@vuedx/vue-virtual-textdocument@0.7.1-insiders-1623221784.0","_nodeVersion":"16.3.0","_npmVersion":"7.15.1","dist":{"integrity":"sha512-p/NgHHjfSyc0jvUilFToGyYQNXENca91+OVThGGGIC+pwhGw6L+8MkzN0du4lXDguTZgn6cTTxbinu5uYbTt/g==","shasum":"796eaa240d2dcf650ac1238652c2f0dc46ca0b3c","tarball":"https://registry.npmjs.org/@vuedx/vue-virtual-textdocument/-/vue-virtual-textdocument-0.7.1-insiders-1623221784.0.tgz","fileCount":8,"unpackedSize":204427,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgwGY9CRA9TVsSAnZWagAAbqoQAI9wNpNXughuVg12lTkW\nfyFVLMd8N9RP9K/W6MyESqLE6V5D3SE8E2qBBGWeK7HuORUGt45aNg8vRHCP\nCqtnbgi27w/K3T/8O/O1FFIqBug/p7K8ubaDz5Sj8cGkJXmgJflal5svsItv\nJcCWFUzxbgTWr4UkatD/jg0/Nkdhd/MI18ET+Z91m2FJ2J5PVUCC+EOnMiz2\nQMPGVIfxXuyB5nAu9TpihH5MkpDYWz3kpSIRhp+fh2PV9V/8F5blzHWWyp6K\nhtHEWV9KmRC2jwy7mltIXZHUiCV+hoPK4sIxzfXVn+jAg7MaOxV4b/eLyfJ9\niXAHZpcYJ/UQlupUfdIjQdMJVwpvPzuVxVKUYptXyhB/WWHWdi9R+aSzL0Xc\nWgoD7+k3S7cE4OXC25mIeWt40/+S1p6KC0tcUX4sg1OvwdnttOhUWG5Hyv15\nh4w36Ya6yVvuk2tl4gtW7W/JXilSoT7zSV9UWMux5p0sqEMba6yMj1VxXlyB\n/V98ULCn8mpB1X32PyFDR2WMpi8KFcMYD22AhIV8zF59Zd7LW3+OY6+xHwPL\nZccVuH6IDvGsmqlPOWAmEv7Qmoqr9rlv7YQmLkQyB6RR0ZeL+7qfsDOhWBWe\n+AXyHO5ZVwd6c8IqeHF+Y4TqhI3G5W7/Dj5nKwinkWhq1REU6Q6WpBuIrOP/\nBNC4\r\n=Gflh\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCJ0mA1HtfFUAZXTwHU100oNFZrj6Oi47oHgRNrAcas1QIhAKV6+XdXDJtP3Zz3817rk8X4j8bSWx4ZzsQ+nopx24pC"}]},"_npmUser":{"name":"znck","email":"rahulkdn@gmail.com"},"directories":{},"maintainers":[{"name":"znck","email":"rahulkdn@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/vue-virtual-textdocument_0.7.1-insiders-1623221784.0_1623221821332_0.7510016080426147"},"_hasShrinkwrap":false},"0.7.0":{"name":"@vuedx/vue-virtual-textdocument","version":"0.7.0","description":"A virtual filesystem to access blocks in SFC as files","main":"lib/index.js","module":"lib/index.mjs","types":"lib/index.d.ts","exports":{"require":"./lib/index.js","import":"./lib/index.mjs"},"publishConfig":{"types":"lib/index.d.ts"},"private":false,"keywords":["vue","vue sfc","sfc","vue virtual files"],"repository":{"type":"git","url":"git+https://github.com/znck/vue-developer-experience.git"},"author":{"name":"Rahul Kadyan","email":"rahulkdn@gmail.com","url":"https://znck.me/"},"funding":{"type":"individual","url":"https://github.com/sponsors/znck"},"license":"MIT","bugs":{"url":"https://github.com/znck/vue-developer-experience/issues"},"homepage":"https://github.com/znck/vue-developer-experience#readme","dependencies":{"@vuedx/analyze":"0.7.0","@vuedx/compiler-sfc":"0.7.0","@vuedx/compiler-tsx":"0.7.0","@vuedx/shared":"0.7.0","source-map":"^0.6.1","vscode-languageserver-textdocument":"^1.0.1","vscode-uri":"^2.1.2"},"devDependencies":{"fast-glob":"^3.2.4","typescript":"^4.0.3"},"scripts":{},"_id":"@vuedx/vue-virtual-textdocument@0.7.0","_nodeVersion":"16.3.0","_npmVersion":"7.15.1","dist":{"integrity":"sha512-lPEGrFhVCbhIivousyJ3WHFt5FNUM8M4fKEoCdRciiAuxyvv2EeclWZ0LbvAPcbMZlMrtt8fvkov/9sdhDTc4A==","shasum":"d29e7a3fa51b12667fb027f618bb21dee0790c95","tarball":"https://registry.npmjs.org/@vuedx/vue-virtual-textdocument/-/vue-virtual-textdocument-0.7.0.tgz","fileCount":8,"unpackedSize":204317,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgwGZ8CRA9TVsSAnZWagAA3O4P/ijN+rn1Kng6dDT4JIo7\nPy3bEpAVet4VXsu2jAYe9u+u05RXY9x0l9EO5Ge1kD1DAFlBawyTQ1+28RSw\n/Zk8/53n7u2Zfb2G7Ui/jl3d7ciC7t3ftvgQHchpuEuZYMJMWNlj/cD6fqa/\n02iqLbyLVituiF+tSgTdXwkOnmCfyq/gsNS8zlmUjvNcsDi6ho4MNhlCnIov\n9yXt0x/v1jF4yyDNVGSrECNtg9lAYYIOG1qYKUncexJNPlVoO1eSd6KnO4TC\nNhYv0jwMvuziXb27pPAB5E9IV7k66AYKNMThbhxPqnIVrfzt9b7FY/0bYSou\n7vxs7Mgw4ibAe9RoZGDUFB1N7tcVUAW2f8mDOCDsUsLCqLRCZZ4Z9G3VU4Fp\nSQjhzKCosdTWk4e6HjfTZOFMj4Uya02+IJowuDeeeWZ3BELLjPmvtXP2ux7Y\n6AqW0iSKjYPYguepUqfcfm2BlVQZbY9GJwyGHSpiLCatl7vYRJd618yUDz4j\nxTCyxHNL48aFWErFjjRC0mEzgxT3K9NZb4umQpRdoFHEoyVMuU8sRwlLwQ7O\n3jEuXGWtCIF2R987T9p3G+3jW+6AIKJ4da+tQ/9pFk8Bf0XxcC36kBtpzHqX\nLqkf0TC8kbsIygtUvHguCWRCkL23s1LeTh5FKDOt9k4GHSbZLN8b1e2/n1XD\nWDAc\r\n=bpfJ\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIDQ72FA25gGfT4ojSKAMupN1kSPBHDjeTwbgssu+kMvyAiEAqc0eHOj4pP/zKHRdICu0+/PJDlSt3pv9aGPlPqkfEH0="}]},"_npmUser":{"name":"znck","email":"rahulkdn@gmail.com"},"directories":{},"maintainers":[{"name":"znck","email":"rahulkdn@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/vue-virtual-textdocument_0.7.0_1623221884344_0.6647123531125743"},"_hasShrinkwrap":false},"0.7.1":{"name":"@vuedx/vue-virtual-textdocument","version":"0.7.1","description":"A virtual filesystem to access blocks in SFC as files","main":"lib/index.js","module":"lib/index.mjs","types":"lib/index.d.ts","exports":{"require":"./lib/index.js","import":"./lib/index.mjs"},"publishConfig":{"types":"lib/index.d.ts"},"private":false,"keywords":["vue","vue sfc","sfc","vue virtual files"],"repository":{"type":"git","url":"git+https://github.com/znck/vue-developer-experience.git"},"author":{"name":"Rahul Kadyan","email":"rahulkdn@gmail.com","url":"https://znck.me/"},"funding":{"type":"individual","url":"https://github.com/sponsors/znck"},"license":"MIT","bugs":{"url":"https://github.com/znck/vue-developer-experience/issues"},"homepage":"https://github.com/znck/vue-developer-experience#readme","dependencies":{"@vuedx/analyze":"0.7.1","@vuedx/compiler-sfc":"0.7.0","@vuedx/compiler-tsx":"0.7.1","@vuedx/shared":"0.7.1","source-map":"^0.6.1","vscode-languageserver-textdocument":"^1.0.1","vscode-uri":"^2.1.2"},"devDependencies":{"fast-glob":"^3.2.4","typescript":"^4.0.3"},"scripts":{},"_id":"@vuedx/vue-virtual-textdocument@0.7.1","_nodeVersion":"16.3.0","_npmVersion":"7.15.1","dist":{"integrity":"sha512-oGkKIjiHPGXYL4GoncO670hdWP7kK+8at7HP7gtbjeeUbIzR38buzRvaKTyUfy/HUUktiDYgkRnUJvybSBR+Mw==","shasum":"5e8a7626482a5af2975752d7de0d9da7e31f457b","tarball":"https://registry.npmjs.org/@vuedx/vue-virtual-textdocument/-/vue-virtual-textdocument-0.7.1.tgz","fileCount":8,"unpackedSize":204317,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgwHGSCRA9TVsSAnZWagAAHFwQAKPLuzJuhIN1/GX2U+Vd\nikYoqzhXFvrMjwSAJo6Ye8QCsEefRxJCg9XB34AUNA4RU9Ckf6165Gl+2eDK\nCI9zHTWzBOxrnbOKhLXoShTjkSoR3vcU5ceonCdKbRHmd8kc9PTAx1QKAlag\njGTO14n9ltFhfaeU1lXRE9OwgFBLjZrlWGAjEwBfblUw7fhBO8hnotTesQ+i\npI7Fr0AcpPEXQJPAFVG6RVAl7Psf5mFHnHdImJEmqiReIVKHqk7maJTNTZMJ\nnfmwKqKoeFrQWoMvcfVw/Wn3d65rm6wyhqyeM9Z2WWnPem9OoQE9I7JrTLtt\nfEaqs1g0sM7LduGlTuIsAZgKWUVXUXtXy3MzR8XsOHPNR5D50+YZlmziWibT\n2fwFsbctnkcRbuMfhyeXvhDOWh8QosIvSrgoX7+4/hWtd8b/w2Ep+gFDO5b8\n/oZhuAM7VefogP6SRmeM6EjKcyHY0FQy9kHwiD8mG8piu4caxCZ0YMaOz9n2\nEqmQ9C54ZCkAQp+ThXMV5RBpCXrrW2c1spKISAX55bJWQ/5czhjHbQLIkRWi\nPWcAM2zAbwY2l8FmQgDX+GDiKQ3XrqSXPVIMgIjS225mSDEXBAb9Jz6ItD7o\n20pzzTqoLJaqo74hAf9khyNM/oNfwmoLoCICdtXPn2N84YnEd5zUR7RK5wQi\no1WE\r\n=HdE1\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIEqVGJFs35c7+A8dhfH5pjLLgclXIlKlt2ul5AwjXn2IAiBfcXpx0jKF63Ejt3wQpZEvvjG0oV5H3m4iHYpq5dpHJA=="}]},"_npmUser":{"name":"znck","email":"rahulkdn@gmail.com"},"directories":{},"maintainers":[{"name":"znck","email":"rahulkdn@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/vue-virtual-textdocument_0.7.1_1623224722138_0.5647881196379254"},"_hasShrinkwrap":false},"0.7.2-insiders-1623224804.0":{"name":"@vuedx/vue-virtual-textdocument","version":"0.7.2-insiders-1623224804.0","description":"A virtual filesystem to access blocks in SFC as files","main":"lib/index.js","module":"lib/index.mjs","types":"lib/index.d.ts","exports":{"require":"./lib/index.js","import":"./lib/index.mjs"},"publishConfig":{"types":"lib/index.d.ts"},"private":false,"keywords":["vue","vue sfc","sfc","vue virtual files"],"repository":{"type":"git","url":"git+https://github.com/znck/vue-developer-experience.git"},"author":{"name":"Rahul Kadyan","email":"rahulkdn@gmail.com","url":"https://znck.me/"},"funding":{"type":"individual","url":"https://github.com/sponsors/znck"},"license":"MIT","bugs":{"url":"https://github.com/znck/vue-developer-experience/issues"},"homepage":"https://github.com/znck/vue-developer-experience#readme","dependencies":{"@vuedx/analyze":"0.7.2-insiders-1623224804.0","@vuedx/compiler-sfc":"0.7.1-insiders-1623224804.0","@vuedx/compiler-tsx":"0.7.2-insiders-1623224804.0","@vuedx/shared":"0.7.2-insiders-1623224804.0","source-map":"^0.6.1","vscode-languageserver-textdocument":"^1.0.1","vscode-uri":"^2.1.2"},"devDependencies":{"fast-glob":"^3.2.4","typescript":"^4.0.3"},"scripts":{},"readme":"# Vue Virtual TextDocument\n\nAn implementation of virtual filesystem for accessing blocks in a `.vue` file as independent files.\n\n## Support\n\nThis package is part of [VueDX project](https://github.com/znck/vue-developer-experience), maintained by [Rahul Kadyan](https://github.com/znck). You can [💖 sponsor him](https://github.com/sponsors/znck) for continued development of this package and other VueDX tools.\n\n```\nnpm add @vuedx/vue-virtual-textdocument\n```\n<!-- #region API-DOCS -->\n<!-- Do not edit this file. It is a report generated by [scripts/docgen.js](https://github.com/znck/vue-developer-experience/tree/main/scripts/docgen.js). -->\n\n## API\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-AsyncDocumentStore-class\" id=\"-vuedx-vue-virtual-textdocument-AsyncDocumentStore-class\"></a>\n\n### [AsyncDocumentStore](#-vuedx-vue-virtual-textdocument-AsyncDocumentStore-class)\n\n\n\n<details><summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare class AsyncDocumentStore<T> extends DocumentStore<T> {\n  constructor(resolve: (uri: string) => T | Promise<T | null> | null, normalize?: (uri: string) => string);\n  get(uri: string): T | null;\n  get(uri: string): Promise<T | null>;\n}\n```\n\n**Members:**\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-AsyncDocumentStore-get-member-1-\" id=\"-vuedx-vue-virtual-textdocument-AsyncDocumentStore-get-member-1-\"></a>\n\n#### [get](#-vuedx-vue-virtual-textdocument-AsyncDocumentStore-get-member-1-)\n\n\n\n**Signature:**\n```ts\nget(uri: string): T | null;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-AsyncDocumentStore-get-member-2-\" id=\"-vuedx-vue-virtual-textdocument-AsyncDocumentStore-get-member-2-\"></a>\n\n#### [get](#-vuedx-vue-virtual-textdocument-AsyncDocumentStore-get-member-2-)\n\n\n\n**Signature:**\n```ts\nget(uri: string): Promise<T | null>;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n\n<br>\n</details>\n\n<br>\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-class\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-class\"></a>\n\n### [DocumentStore](#-vuedx-vue-virtual-textdocument-DocumentStore-class)\n\n\n\n<details><summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare class DocumentStore<T> {\n  constructor(resolve: (uri: string) => T | null, normalize?: (uri: string) => string);\n  all(): string[];\n  delete(uri: string): boolean;\n  dispose(): void;\n  get(uri: string): T | null;\n  protected getNormalizedUri(uri: string): string;\n  has(uri: string): boolean;\n  protected map: Map<string, T>;\n  normalize: (uri: string) => string;\n  protected resolve: (uri: string) => T | null;\n  protected reverseUriMap: Map<string, string>;\n  set(uri: string, document: T): void;\n}\n```\n\n**Members:**\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-all-member-1-\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-all-member-1-\"></a>\n\n#### [all](#-vuedx-vue-virtual-textdocument-DocumentStore-all-member-1-)\n\n\n\n**Signature:**\n```ts\nall(): string[];\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-delete-member-1-\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-delete-member-1-\"></a>\n\n#### [delete](#-vuedx-vue-virtual-textdocument-DocumentStore-delete-member-1-)\n\n\n\n**Signature:**\n```ts\ndelete(uri: string): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-dispose-member-1-\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-dispose-member-1-\"></a>\n\n#### [dispose](#-vuedx-vue-virtual-textdocument-DocumentStore-dispose-member-1-)\n\n\n\n**Signature:**\n```ts\ndispose(): void;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-get-member-1-\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-get-member-1-\"></a>\n\n#### [get](#-vuedx-vue-virtual-textdocument-DocumentStore-get-member-1-)\n\n\n\n**Signature:**\n```ts\nget(uri: string): T | null;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-getNormalizedUri-member-1-\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-getNormalizedUri-member-1-\"></a>\n\n#### [getNormalizedUri](#-vuedx-vue-virtual-textdocument-DocumentStore-getNormalizedUri-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected getNormalizedUri(uri: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-has-member-1-\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-has-member-1-\"></a>\n\n#### [has](#-vuedx-vue-virtual-textdocument-DocumentStore-has-member-1-)\n\n\n\n**Signature:**\n```ts\nhas(uri: string): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-set-member-1-\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-set-member-1-\"></a>\n\n#### [set](#-vuedx-vue-virtual-textdocument-DocumentStore-set-member-1-)\n\n\n\n**Signature:**\n```ts\nset(uri: string, document: T): void;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n| document | <code>T</code> | - |\n\n<br>\n</details>\n\n<br>\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-class\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-class\"></a>\n\n### [RenderFunctionTextDocument](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-class)\n\n\n\n<details><summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare class RenderFunctionTextDocument extends TransformedBlockTextDocument {\n  constructor(container: VueTextDocument, selector: Selector, transformed: TextDocument, source: TextDocument);\n  get ast(): CodegenResult['ast'] | undefined;\n  get contextCompletionsTriggerOffset(): number;\n  static create(options: CreateVirtualTextDocumentOptions): RenderFunctionTextDocument;\n  findExpression(offset: number, length: number): undefined | {\n        offset: number;\n        length: number;\n    };\n  protected generate(): string;\n  getAllGeneratedOffsetsAt(offset: number): undefined | Array<{\n        length: number;\n        offset: number;\n    }>;\n  getGeneratedOffsetAt(offset: number): undefined | {\n        length: number;\n        offset: number;\n    };\n  protected getKnownComponents(): Record<string, ComponentImport>;\n  getOriginalOffsetAt(offset: number): undefined | {\n        offset: number;\n        length: number;\n    };\n  isInGeneratedRange(offset: number): boolean;\n  isInTemplateIdentifierRange(offset: number): boolean;\n  get parserErrors(): CodegenResult['errors'];\n  get tagCompletionsTriggerOffset(): number;\n  toDisplayMappings(): string;\n  protected tryGenerate(): string;\n}\n```\n\n**Members:**\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-create-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-create-member-1-\"></a>\n\n#### [create](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-create-member-1-)\n\n\n\n**Signature:**\n```ts\nstatic create(options: CreateVirtualTextDocumentOptions): RenderFunctionTextDocument;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| options | <code><a href=\"#-vuedx-vue-virtual-textdocument--CreateVirtualTextDocumentOptions-interface\">CreateVirtualTextDocumentOptions</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-findExpression-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-findExpression-member-1-\"></a>\n\n#### [findExpression](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-findExpression-member-1-)\n\n\n\n**Signature:**\n```ts\nfindExpression(offset: number, length: number): undefined | {\n        offset: number;\n        length: number;\n    };\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n| length | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-generate-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-generate-member-1-\"></a>\n\n#### [generate](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-generate-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected generate(): string;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getAllGeneratedOffsetsAt-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getAllGeneratedOffsetsAt-member-1-\"></a>\n\n#### [getAllGeneratedOffsetsAt](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getAllGeneratedOffsetsAt-member-1-)\n\n\n\n**Signature:**\n```ts\ngetAllGeneratedOffsetsAt(offset: number): undefined | Array<{\n        length: number;\n        offset: number;\n    }>;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getGeneratedOffsetAt-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getGeneratedOffsetAt-member-1-\"></a>\n\n#### [getGeneratedOffsetAt](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getGeneratedOffsetAt-member-1-)\n\n\n\n**Signature:**\n```ts\ngetGeneratedOffsetAt(offset: number): undefined | {\n        length: number;\n        offset: number;\n    };\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getKnownComponents-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getKnownComponents-member-1-\"></a>\n\n#### [getKnownComponents](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getKnownComponents-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected getKnownComponents(): Record<string, ComponentImport>;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getOriginalOffsetAt-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getOriginalOffsetAt-member-1-\"></a>\n\n#### [getOriginalOffsetAt](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getOriginalOffsetAt-member-1-)\n\n\n\n**Signature:**\n```ts\ngetOriginalOffsetAt(offset: number): undefined | {\n        offset: number;\n        length: number;\n    };\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-isInGeneratedRange-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-isInGeneratedRange-member-1-\"></a>\n\n#### [isInGeneratedRange](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-isInGeneratedRange-member-1-)\n\n\n\n**Signature:**\n```ts\nisInGeneratedRange(offset: number): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-isInTemplateIdentifierRange-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-isInTemplateIdentifierRange-member-1-\"></a>\n\n#### [isInTemplateIdentifierRange](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-isInTemplateIdentifierRange-member-1-)\n\n\n\n**Signature:**\n```ts\nisInTemplateIdentifierRange(offset: number): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-toDisplayMappings-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-toDisplayMappings-member-1-\"></a>\n\n#### [toDisplayMappings](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-toDisplayMappings-member-1-)\n\n\n\n**Signature:**\n```ts\ntoDisplayMappings(): string;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-tryGenerate-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-tryGenerate-member-1-\"></a>\n\n#### [tryGenerate](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-tryGenerate-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected tryGenerate(): string;\n```\n\n\n<br>\n</details>\n\n<br>\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-class\" id=\"-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-class\"></a>\n\n### [TransformedBlockTextDocument](#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-class)\n\n\n\n<details><summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare class TransformedBlockTextDocument extends VirtualTextDocument {\n  protected constructor(container: VueTextDocument, selector: Selector, transformed: TextDocument, source: TextDocument | VirtualTextDocument, _transform: (document: TransformedBlockTextDocument) => BlockTransformResult);\n  static create(options: CreateTransformedBlockTextDocumentOptions): TransformedBlockTextDocument;\n  protected refresh(): void;\n  transform(): BlockTransformResult;\n  tryGetGeneratedOffset(offset: number): number | undefined;\n  tryGetSourceOffset(offset: number): number | undefined;\n}\n```\n\n**Members:**\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-create-member-1-\" id=\"-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-create-member-1-\"></a>\n\n#### [create](#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-create-member-1-)\n\n\n\n**Signature:**\n```ts\nstatic create(options: CreateTransformedBlockTextDocumentOptions): TransformedBlockTextDocument;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| options | <code><a href=\"#-vuedx-vue-virtual-textdocument--CreateTransformedBlockTextDocumentOptions-interface\">CreateTransformedBlockTextDocumentOptions</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-refresh-member-1-\" id=\"-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-refresh-member-1-\"></a>\n\n#### [refresh](#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-refresh-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected refresh(): void;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-transform-member-1-\" id=\"-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-transform-member-1-\"></a>\n\n#### [transform](#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-transform-member-1-)\n\n\n\n**Signature:**\n```ts\ntransform(): BlockTransformResult;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-tryGetGeneratedOffset-member-1-\" id=\"-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-tryGetGeneratedOffset-member-1-\"></a>\n\n#### [tryGetGeneratedOffset](#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-tryGetGeneratedOffset-member-1-)\n\n\n\n**Signature:**\n```ts\ntryGetGeneratedOffset(offset: number): number | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-tryGetSourceOffset-member-1-\" id=\"-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-tryGetSourceOffset-member-1-\"></a>\n\n#### [tryGetSourceOffset](#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-tryGetSourceOffset-member-1-)\n\n\n\n**Signature:**\n```ts\ntryGetSourceOffset(offset: number): number | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n</details>\n\n<br>\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VirtualTextDocument-class\" id=\"-vuedx-vue-virtual-textdocument-VirtualTextDocument-class\"></a>\n\n### [VirtualTextDocument](#-vuedx-vue-virtual-textdocument-VirtualTextDocument-class)\n\n\n\n<details><summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare class VirtualTextDocument extends ProxyTextDocument {\n  protected constructor(container: VueTextDocument, selector: Selector, doc: TextDocument);\n  readonly container: VueTextDocument;\n  static create(options: CreateVirtualTextDocumentOptions): VirtualTextDocument;\n  protected isDirty: boolean;\n  markDirty(): void;\n  protected refresh(): void;\n  readonly selector: Selector;\n}\n```\n\n**Members:**\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VirtualTextDocument-create-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VirtualTextDocument-create-member-1-\"></a>\n\n#### [create](#-vuedx-vue-virtual-textdocument-VirtualTextDocument-create-member-1-)\n\n\n\n**Signature:**\n```ts\nstatic create(options: CreateVirtualTextDocumentOptions): VirtualTextDocument;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| options | <code><a href=\"#-vuedx-vue-virtual-textdocument--CreateVirtualTextDocumentOptions-interface\">CreateVirtualTextDocumentOptions</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VirtualTextDocument-markDirty-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VirtualTextDocument-markDirty-member-1-\"></a>\n\n#### [markDirty](#-vuedx-vue-virtual-textdocument-VirtualTextDocument-markDirty-member-1-)\n\n\n\n**Signature:**\n```ts\nmarkDirty(): void;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VirtualTextDocument-refresh-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VirtualTextDocument-refresh-member-1-\"></a>\n\n#### [refresh](#-vuedx-vue-virtual-textdocument-VirtualTextDocument-refresh-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected refresh(): void;\n```\n\n\n<br>\n</details>\n\n<br>\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-class\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-class\"></a>\n\n### [VueTextDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-class)\n\n\n\n<details><summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare class VueTextDocument extends ProxyTextDocument {\n  constructor(doc: TextDocument, options?: VueTextDocumentOptions, parseOptions?: SFCParseOptions);\n  all(): VirtualTextDocument[];\n  blockAt(position: Position | number): SFCBlock | null | undefined;\n  static create(uri: string, languageId: string, version: number, content: string, options?: VueTextDocumentOptions, parseOptions?: SFCParseOptions): VueTextDocument;\n  protected createBlockDocument(selector: BlockSelector): VirtualTextDocument | undefined;\n  protected createInternalModuleDocument(): TransformedBlockTextDocument;\n  protected createModuleDocument(): TransformedBlockTextDocument;\n  protected createRenderDocument(): RenderFunctionTextDocument;\n  protected createTemplateASTDocument(): TransformedBlockTextDocument;\n  get descriptor(): SFCDescriptor;\n  documentAt(position: Position | number): VirtualTextDocument | undefined;\n  getBlock(selector: BlockSelector): SFCBlock | null | undefined;\n  getBlockSelector(block: SFCBlock): BlockSelector | undefined;\n  getDocument(selector: typeof RENDER_SELECTOR): RenderFunctionTextDocument;\n  getDocument(selector: SelectorLike): VirtualTextDocument;\n  getDocument(selector: string): VirtualTextDocument | undefined;\n  getDocumentFileName(selectorLike: SelectorLike): string;\n  protected getDocumentId(selector: Selector): string;\n  protected getDocumentLanguage(selector: Selector): string;\n  markDirty(): void;\n  readonly options: VueTextDocumentOptions;\n  protected parse(): void;\n  static update(document: VueTextDocument, changes: TextDocumentContentChangeEvent[], version: number): VueTextDocument;\n}\n```\n\n**Members:**\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-all-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-all-member-1-\"></a>\n\n#### [all](#-vuedx-vue-virtual-textdocument-VueTextDocument-all-member-1-)\n\n\n\n**Signature:**\n```ts\nall(): VirtualTextDocument[];\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-blockAt-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-blockAt-member-1-\"></a>\n\n#### [blockAt](#-vuedx-vue-virtual-textdocument-VueTextDocument-blockAt-member-1-)\n\n\n\n**Signature:**\n```ts\nblockAt(position: Position | number): SFCBlock | null | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| position | <code><a href=\"#vscode-languageserver-textdocument-Position-interface\">Position</a> &#124; number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-create-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-create-member-1-\"></a>\n\n#### [create](#-vuedx-vue-virtual-textdocument-VueTextDocument-create-member-1-)\n\n\n\n**Signature:**\n```ts\nstatic create(uri: string, languageId: string, version: number, content: string, options?: VueTextDocumentOptions, parseOptions?: SFCParseOptions): VueTextDocument;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n| languageId | <code>string</code> | - |\n| version | <code>number</code> | - |\n| content | <code>string</code> | - |\n| options | <code><a href=\"#-vuedx-vue-virtual-textdocument--VueTextDocumentOptions-interface\">VueTextDocumentOptions</a></code> | - |\n| parseOptions | <code><a href=\"#-vue-compiler-sfc-SFCParseOptions-interface\">SFCParseOptions</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-createBlockDocument-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-createBlockDocument-member-1-\"></a>\n\n#### [createBlockDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-createBlockDocument-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected createBlockDocument(selector: BlockSelector): VirtualTextDocument | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selector | <code><a href=\"#-vuedx-vue-virtual-textdocument--BlockSelector-type\">BlockSelector</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-createInternalModuleDocument-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-createInternalModuleDocument-member-1-\"></a>\n\n#### [createInternalModuleDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-createInternalModuleDocument-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected createInternalModuleDocument(): TransformedBlockTextDocument;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-createModuleDocument-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-createModuleDocument-member-1-\"></a>\n\n#### [createModuleDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-createModuleDocument-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected createModuleDocument(): TransformedBlockTextDocument;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-createRenderDocument-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-createRenderDocument-member-1-\"></a>\n\n#### [createRenderDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-createRenderDocument-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected createRenderDocument(): RenderFunctionTextDocument;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-createTemplateASTDocument-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-createTemplateASTDocument-member-1-\"></a>\n\n#### [createTemplateASTDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-createTemplateASTDocument-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected createTemplateASTDocument(): TransformedBlockTextDocument;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-documentAt-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-documentAt-member-1-\"></a>\n\n#### [documentAt](#-vuedx-vue-virtual-textdocument-VueTextDocument-documentAt-member-1-)\n\n\n\n**Signature:**\n```ts\ndocumentAt(position: Position | number): VirtualTextDocument | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| position | <code><a href=\"#vscode-languageserver-textdocument-Position-interface\">Position</a> &#124; number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getBlock-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getBlock-member-1-\"></a>\n\n#### [getBlock](#-vuedx-vue-virtual-textdocument-VueTextDocument-getBlock-member-1-)\n\n\n\n**Signature:**\n```ts\ngetBlock(selector: BlockSelector): SFCBlock | null | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selector | <code><a href=\"#-vuedx-vue-virtual-textdocument--BlockSelector-type\">BlockSelector</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getBlockSelector-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getBlockSelector-member-1-\"></a>\n\n#### [getBlockSelector](#-vuedx-vue-virtual-textdocument-VueTextDocument-getBlockSelector-member-1-)\n\n\n\n**Signature:**\n```ts\ngetBlockSelector(block: SFCBlock): BlockSelector | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| block | <code><a href=\"#-vue-compiler-sfc-SFCBlock-interface\">SFCBlock</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-1-\"></a>\n\n#### [getDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-1-)\n\n\n\n**Signature:**\n```ts\ngetDocument(selector: typeof RENDER_SELECTOR): RenderFunctionTextDocument;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selector | <code>typeof <a href=\"#-vuedx-vue-virtual-textdocument--RENDER-SELECTOR-var\">RENDER_SELECTOR</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-2-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-2-\"></a>\n\n#### [getDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-2-)\n\n\n\n**Signature:**\n```ts\ngetDocument(selector: SelectorLike): VirtualTextDocument;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selector | <code><a href=\"#-vuedx-vue-virtual-textdocument--SelectorLike-type\">SelectorLike</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-3-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-3-\"></a>\n\n#### [getDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-3-)\n\n\n\n**Signature:**\n```ts\ngetDocument(selector: string): VirtualTextDocument | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selector | <code>string</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentFileName-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentFileName-member-1-\"></a>\n\n#### [getDocumentFileName](#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentFileName-member-1-)\n\n\n\n**Signature:**\n```ts\ngetDocumentFileName(selectorLike: SelectorLike): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selectorLike | <code><a href=\"#-vuedx-vue-virtual-textdocument--SelectorLike-type\">SelectorLike</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentId-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentId-member-1-\"></a>\n\n#### [getDocumentId](#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentId-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected getDocumentId(selector: Selector): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selector | <code><a href=\"#-vuedx-vue-virtual-textdocument--Selector-type\">Selector</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentLanguage-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentLanguage-member-1-\"></a>\n\n#### [getDocumentLanguage](#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentLanguage-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected getDocumentLanguage(selector: Selector): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selector | <code><a href=\"#-vuedx-vue-virtual-textdocument--Selector-type\">Selector</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-markDirty-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-markDirty-member-1-\"></a>\n\n#### [markDirty](#-vuedx-vue-virtual-textdocument-VueTextDocument-markDirty-member-1-)\n\n\n\n**Signature:**\n```ts\nmarkDirty(): void;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-parse-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-parse-member-1-\"></a>\n\n#### [parse](#-vuedx-vue-virtual-textdocument-VueTextDocument-parse-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected parse(): void;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-update-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-update-member-1-\"></a>\n\n#### [update](#-vuedx-vue-virtual-textdocument-VueTextDocument-update-member-1-)\n\n\n\n**Signature:**\n```ts\nstatic update(document: VueTextDocument, changes: TextDocumentContentChangeEvent[], version: number): VueTextDocument;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| document | <code><a href=\"#-vuedx-vue-virtual-textdocument--VueTextDocument-class\">VueTextDocument</a></code> | - |\n| changes | <code><a href=\"#vscode-languageserver-textdocument-TextDocumentContentChangeEvent-type\">TextDocumentContentChangeEvent</a>[]</code> | - |\n| version | <code>number</code> | - |\n\n<br>\n</details>\n\n<br>\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-asFsPath-function-1-\" id=\"-vuedx-vue-virtual-textdocument-asFsPath-function-1-\"></a>\n\n### [asFsPath](#-vuedx-vue-virtual-textdocument-asFsPath-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function asFsPath(uri: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-asFsUri-function-1-\" id=\"-vuedx-vue-virtual-textdocument-asFsUri-function-1-\"></a>\n\n### [asFsUri](#-vuedx-vue-virtual-textdocument-asFsUri-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function asFsUri(fileName: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-asUri-function-1-\" id=\"-vuedx-vue-virtual-textdocument-asUri-function-1-\"></a>\n\n### [asUri](#-vuedx-vue-virtual-textdocument-asUri-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function asUri(fileNameOrUri: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileNameOrUri | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-basename-function-1-\" id=\"-vuedx-vue-virtual-textdocument-basename-function-1-\"></a>\n\n### [basename](#-vuedx-vue-virtual-textdocument-basename-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function basename(fileName: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-binarySearch-function-1-\" id=\"-vuedx-vue-virtual-textdocument-binarySearch-function-1-\"></a>\n\n### [binarySearch](#-vuedx-vue-virtual-textdocument-binarySearch-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function binarySearch<T>(array: T[], isMatch: (a: T) => number, returnMin?: boolean): T | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| array | <code>T[]</code> | - |\n| isMatch | <code>(a: T) => number</code> | - |\n| returnMin | <code>boolean</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-getBlockLanguage-function-1-\" id=\"-vuedx-vue-virtual-textdocument-getBlockLanguage-function-1-\"></a>\n\n### [getBlockLanguage](#-vuedx-vue-virtual-textdocument-getBlockLanguage-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function getBlockLanguage(block?: SFCBlock | null): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| block | <code><a href=\"#-vue-compiler-sfc-SFCBlock-interface\">SFCBlock</a> &#124; null</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-getContainingFile-function-1-\" id=\"-vuedx-vue-virtual-textdocument-getContainingFile-function-1-\"></a>\n\n### [getContainingFile](#-vuedx-vue-virtual-textdocument-getContainingFile-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function getContainingFile(fileName: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-getLanguageExtension-function-1-\" id=\"-vuedx-vue-virtual-textdocument-getLanguageExtension-function-1-\"></a>\n\n### [getLanguageExtension](#-vuedx-vue-virtual-textdocument-getLanguageExtension-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function getLanguageExtension(lang: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| lang | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-getLanguageIdFromExtension-function-1-\" id=\"-vuedx-vue-virtual-textdocument-getLanguageIdFromExtension-function-1-\"></a>\n\n### [getLanguageIdFromExtension](#-vuedx-vue-virtual-textdocument-getLanguageIdFromExtension-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function getLanguageIdFromExtension(ext: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| ext | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-isOffsetInBlock-function-1-\" id=\"-vuedx-vue-virtual-textdocument-isOffsetInBlock-function-1-\"></a>\n\n### [isOffsetInBlock](#-vuedx-vue-virtual-textdocument-isOffsetInBlock-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function isOffsetInBlock(offset: number, block?: SFCBlock | null): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n| block | <code><a href=\"#-vue-compiler-sfc-SFCBlock-interface\">SFCBlock</a> &#124; null</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-isVirtualFile-function-1-\" id=\"-vuedx-vue-virtual-textdocument-isVirtualFile-function-1-\"></a>\n\n### [isVirtualFile](#-vuedx-vue-virtual-textdocument-isVirtualFile-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function isVirtualFile(fileName: string): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-isVirtualFileOfType-function-1-\" id=\"-vuedx-vue-virtual-textdocument-isVirtualFileOfType-function-1-\"></a>\n\n### [isVirtualFileOfType](#-vuedx-vue-virtual-textdocument-isVirtualFileOfType-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function isVirtualFileOfType(fileName: string, type: '_render' | '_module' | '_internal' | 'script' | 'scriptSetup'): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n| type | <code>'_render' &#124; '_module' &#124; '_internal' &#124; 'script' &#124; 'scriptSetup'</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-isVueFile-function-1-\" id=\"-vuedx-vue-virtual-textdocument-isVueFile-function-1-\"></a>\n\n### [isVueFile](#-vuedx-vue-virtual-textdocument-isVueFile-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function isVueFile(fileName: string): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-parseVirtualFileName-function-1-\" id=\"-vuedx-vue-virtual-textdocument-parseVirtualFileName-function-1-\"></a>\n\n### [parseVirtualFileName](#-vuedx-vue-virtual-textdocument-parseVirtualFileName-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function parseVirtualFileName(fileName: string): {\n    uri: string;\n    selector: Selector;\n} | null;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-relativeVirtualImportPath-function-1-\" id=\"-vuedx-vue-virtual-textdocument-relativeVirtualImportPath-function-1-\"></a>\n\n### [relativeVirtualImportPath](#-vuedx-vue-virtual-textdocument-relativeVirtualImportPath-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function relativeVirtualImportPath(fileName: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-replaceSlashes-function-1-\" id=\"-vuedx-vue-virtual-textdocument-replaceSlashes-function-1-\"></a>\n\n### [replaceSlashes](#-vuedx-vue-virtual-textdocument-replaceSlashes-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function replaceSlashes(fileName: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n<!-- #region API-DOCS -->\n","readmeFilename":"readme.md","_id":"@vuedx/vue-virtual-textdocument@0.7.2-insiders-1623224804.0","_nodeVersion":"16.3.0","_npmVersion":"7.15.1","dist":{"integrity":"sha512-aLZFqgBWsz6yRaRR4SFKhjy3UkfKXlIngWIFtzZk/pK6sW/5MkTUFgdxPVdNuz8rjLk3NwVdDvAz8cM9AG9NpQ==","shasum":"22dddbbf0a055847437d3531fc9cf6c3b06e58f6","tarball":"https://registry.npmjs.org/@vuedx/vue-virtual-textdocument/-/vue-virtual-textdocument-0.7.2-insiders-1623224804.0.tgz","fileCount":8,"unpackedSize":204427,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgwHIDCRA9TVsSAnZWagAAcOMQAIbAURNMmEqeqm2Dx/cU\nKN5gtF8d2cfcmHjk8C8YE9U4vITqSy5XgBBozpGIRpOZJ+fW+TAiF0kuV3j5\nyYCZN+D4o4ImT1XenRg0jZAN8ibxNUub/lFqSvEcf8j01G4ZKB1PMNXVB/AS\nLwYouOnIxfEGy4qCJK3AC0325jEzGem6S80JVtn+dqiEpgIUL9exX92vdrK4\ni3uT5jcl21SGv6f3QEmVgX0/7ZsYyDkFCfxzcPNh9ucCybv8o94AuVH8tNbb\nRG5J/0WJinihkfsDMT4wA8wphPkUaGdJFuIBi1UmbljrgAhLAqtEu/JPKe7q\nvO9meWYRRZQJg3SS7/00YS0WZimctycxmP1s1+BOl1hfIjsa0Wz0iexDBpVU\nnYAQGCHHkDfPwAZ5Pjror+38MidTb7k3BWCcEozScH9VIUFto37J0lZgp+zK\nOR1RzwU/vWu2jmCkZSy+QEoTCUb2HhH0P4eJhJeFnLqB509UL9k6VwvVwf0S\noh48LYDVgEu1oUdY01Hoy2/g8gc8ORgXMC6TeozgUwp0mXnQBBklPpW0sbwV\nRQpOoP9mgdjJ0kqdLvdKorjOcAsf/bZeWOe77CbJSSHgDDKnfAyOtUQc/9K4\nWdPkjsnAuQFyE9Fk7nz0UGbkmVbXwE7FtgstwYsTXtcgGlB5qzEx/pPNcg57\nBiie\r\n=Bpgu\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCWdXH+H0P5Des1JTsiTN25zbrFWOw1Z5BXSSLUQoU/ewIhAM0+OsLKYviJTOIXmeU6E97nm2JBiG3LsPDRamNhmCWb"}]},"_npmUser":{"name":"znck","email":"rahulkdn@gmail.com"},"directories":{},"maintainers":[{"name":"znck","email":"rahulkdn@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/vue-virtual-textdocument_0.7.2-insiders-1623224804.0_1623224835516_0.42841314494767246"},"_hasShrinkwrap":false},"0.7.2":{"name":"@vuedx/vue-virtual-textdocument","version":"0.7.2","description":"A virtual filesystem to access blocks in SFC as files","main":"lib/index.js","module":"lib/index.mjs","types":"lib/index.d.ts","exports":{"require":"./lib/index.js","import":"./lib/index.mjs"},"publishConfig":{"types":"lib/index.d.ts"},"private":false,"keywords":["vue","vue sfc","sfc","vue virtual files"],"repository":{"type":"git","url":"git+https://github.com/znck/vue-developer-experience.git"},"author":{"name":"Rahul Kadyan","email":"rahulkdn@gmail.com","url":"https://znck.me/"},"funding":{"type":"individual","url":"https://github.com/sponsors/znck"},"license":"MIT","bugs":{"url":"https://github.com/znck/vue-developer-experience/issues"},"homepage":"https://github.com/znck/vue-developer-experience#readme","dependencies":{"@vuedx/analyze":"0.7.2","@vuedx/compiler-sfc":"0.7.0","@vuedx/compiler-tsx":"0.7.2","@vuedx/shared":"0.7.1","source-map":"^0.6.1","vscode-languageserver-textdocument":"^1.0.1","vscode-uri":"^2.1.2"},"devDependencies":{"fast-glob":"^3.2.4","typescript":"^4.0.3"},"scripts":{},"_id":"@vuedx/vue-virtual-textdocument@0.7.2","_nodeVersion":"16.3.0","_npmVersion":"7.15.1","dist":{"integrity":"sha512-OOMLJzCG3Qk3NIPqxExi1KbwLWLkhpw1RDqZmVdypJnpXK6Z513sdmOO5w74MnBnICU2J9E50vZdZeCUieALEQ==","shasum":"6f411d18b5d7c4912056363771c30407361029c7","tarball":"https://registry.npmjs.org/@vuedx/vue-virtual-textdocument/-/vue-virtual-textdocument-0.7.2.tgz","fileCount":8,"unpackedSize":202302,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgwQRACRA9TVsSAnZWagAAPR0P/RFYFsAjWkOP/ecSr6w5\nQJ196k2BVTxEm0A250PBnNgSF7WJ8Qi3HjVbV5noQOJZ57483kNP8Kcnx1OV\nXGKHwTk6advdDHEUST2C7VnkPzBKi5A0k8rv+VAXKh+Qz9HArPD1j79L6+dI\nlGaCjBg2qXSlUovJLyrwhUjPGkvWr9vXjYLNPIi02FmhZ2EyhZ9XP3bWduuv\nOOzCrq/qt392owlkF2P9XRoD/bH+i2JZWzHzkpr1WkvX1CQPtGNi5ehyfRCv\nVCTMUXIgnlyp+bh7yC4uKVH2B0Qh3jp9g4uQpqsnvqGK2owEqiWPIwtAPwc2\nWPpebM2hwfpmXaqWgpChyDS02RzZb2anSGOhtHxVhdIg+GW83IP2rKKgVSb2\ne5Tn7kPIutS0exDQUcv6/lQ/3F83A0jHnjWp0pkZexRXLONjKuBqjEw4TcuK\nncy3vqpI5rMyAtw6WdTkkJg9lpyiLKiF374+Xj8sMVIMPRAObX8Wme1+mx8n\nlbN9tCOCahKhXAkf1/CRkExOnYbNwtgh1vroQiLmziFFLQShGif8EXp854zi\n9FwZ/wmSGBSqpb2dlYx/+mT+1EfVZp2EutjQoeXbq9xn5EU+VGm2c8Hxa9Nf\nah2y7pKp8KpEeg/8S+76Ou8yZDitgPIjsj1Aod4Wa/suPlKWuzYDenuL5JSm\ndakB\r\n=1xGq\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQD//LqhOTehWAJCqhm+siTzkw/Ogwynk5M4ZUBfIEDZjgIhAIh8DvPKnFb7g6bfBQFm/VIE+utn70SaswnWhxzK8xzN"}]},"_npmUser":{"name":"znck","email":"rahulkdn@gmail.com"},"directories":{},"maintainers":[{"name":"znck","email":"rahulkdn@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/vue-virtual-textdocument_0.7.2_1623262272271_0.39286787156423464"},"_hasShrinkwrap":false},"0.7.3-insiders-1623262375.0":{"name":"@vuedx/vue-virtual-textdocument","version":"0.7.3-insiders-1623262375.0","description":"A virtual filesystem to access blocks in SFC as files","main":"lib/index.js","module":"lib/index.mjs","types":"lib/index.d.ts","exports":{"require":"./lib/index.js","import":"./lib/index.mjs"},"publishConfig":{"types":"lib/index.d.ts"},"private":false,"keywords":["vue","vue sfc","sfc","vue virtual files"],"repository":{"type":"git","url":"git+https://github.com/znck/vue-developer-experience.git"},"author":{"name":"Rahul Kadyan","email":"rahulkdn@gmail.com","url":"https://znck.me/"},"funding":{"type":"individual","url":"https://github.com/sponsors/znck"},"license":"MIT","bugs":{"url":"https://github.com/znck/vue-developer-experience/issues"},"homepage":"https://github.com/znck/vue-developer-experience#readme","dependencies":{"@vuedx/analyze":"0.7.3-insiders-1623262375.0","@vuedx/compiler-sfc":"0.7.1-insiders-1623262375.0","@vuedx/compiler-tsx":"0.7.3-insiders-1623262375.0","@vuedx/shared":"0.7.2-insiders-1623262375.0","source-map":"^0.6.1","vscode-languageserver-textdocument":"^1.0.1","vscode-uri":"^2.1.2"},"devDependencies":{"fast-glob":"^3.2.4","typescript":"^4.0.3"},"scripts":{},"readme":"# Vue Virtual TextDocument\n\nAn implementation of virtual filesystem for accessing blocks in a `.vue` file as independent files.\n\n## Support\n\nThis package is part of [VueDX project](https://github.com/znck/vue-developer-experience), maintained by [Rahul Kadyan](https://github.com/znck). You can [💖 sponsor him](https://github.com/sponsors/znck) for continued development of this package and other VueDX tools.\n\n```\nnpm add @vuedx/vue-virtual-textdocument\n```\n<!-- #region API-DOCS -->\n<!-- Do not edit this file. It is a report generated by [scripts/docgen.js](https://github.com/znck/vue-developer-experience/tree/main/scripts/docgen.js). -->\n\n## API\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-AsyncDocumentStore-class\" id=\"-vuedx-vue-virtual-textdocument-AsyncDocumentStore-class\"></a>\n\n### [AsyncDocumentStore](#-vuedx-vue-virtual-textdocument-AsyncDocumentStore-class)\n\n\n\n<details><summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare class AsyncDocumentStore<T> extends DocumentStore<T> {\n  constructor(resolve: (uri: string) => T | Promise<T | null> | null, normalize?: (uri: string) => string);\n  get(uri: string): T | null;\n  get(uri: string): Promise<T | null>;\n}\n```\n\n**Members:**\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-AsyncDocumentStore-get-member-1-\" id=\"-vuedx-vue-virtual-textdocument-AsyncDocumentStore-get-member-1-\"></a>\n\n#### [get](#-vuedx-vue-virtual-textdocument-AsyncDocumentStore-get-member-1-)\n\n\n\n**Signature:**\n```ts\nget(uri: string): T | null;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-AsyncDocumentStore-get-member-2-\" id=\"-vuedx-vue-virtual-textdocument-AsyncDocumentStore-get-member-2-\"></a>\n\n#### [get](#-vuedx-vue-virtual-textdocument-AsyncDocumentStore-get-member-2-)\n\n\n\n**Signature:**\n```ts\nget(uri: string): Promise<T | null>;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n\n<br>\n</details>\n\n<br>\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-class\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-class\"></a>\n\n### [DocumentStore](#-vuedx-vue-virtual-textdocument-DocumentStore-class)\n\n\n\n<details><summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare class DocumentStore<T> {\n  constructor(resolve: (uri: string) => T | null, normalize?: (uri: string) => string);\n  all(): string[];\n  delete(uri: string): boolean;\n  dispose(): void;\n  get(uri: string): T | null;\n  protected getNormalizedUri(uri: string): string;\n  has(uri: string): boolean;\n  protected map: Map<string, T>;\n  normalize: (uri: string) => string;\n  protected resolve: (uri: string) => T | null;\n  protected reverseUriMap: Map<string, string>;\n  set(uri: string, document: T): void;\n}\n```\n\n**Members:**\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-all-member-1-\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-all-member-1-\"></a>\n\n#### [all](#-vuedx-vue-virtual-textdocument-DocumentStore-all-member-1-)\n\n\n\n**Signature:**\n```ts\nall(): string[];\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-delete-member-1-\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-delete-member-1-\"></a>\n\n#### [delete](#-vuedx-vue-virtual-textdocument-DocumentStore-delete-member-1-)\n\n\n\n**Signature:**\n```ts\ndelete(uri: string): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-dispose-member-1-\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-dispose-member-1-\"></a>\n\n#### [dispose](#-vuedx-vue-virtual-textdocument-DocumentStore-dispose-member-1-)\n\n\n\n**Signature:**\n```ts\ndispose(): void;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-get-member-1-\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-get-member-1-\"></a>\n\n#### [get](#-vuedx-vue-virtual-textdocument-DocumentStore-get-member-1-)\n\n\n\n**Signature:**\n```ts\nget(uri: string): T | null;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-getNormalizedUri-member-1-\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-getNormalizedUri-member-1-\"></a>\n\n#### [getNormalizedUri](#-vuedx-vue-virtual-textdocument-DocumentStore-getNormalizedUri-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected getNormalizedUri(uri: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-has-member-1-\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-has-member-1-\"></a>\n\n#### [has](#-vuedx-vue-virtual-textdocument-DocumentStore-has-member-1-)\n\n\n\n**Signature:**\n```ts\nhas(uri: string): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-set-member-1-\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-set-member-1-\"></a>\n\n#### [set](#-vuedx-vue-virtual-textdocument-DocumentStore-set-member-1-)\n\n\n\n**Signature:**\n```ts\nset(uri: string, document: T): void;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n| document | <code>T</code> | - |\n\n<br>\n</details>\n\n<br>\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-class\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-class\"></a>\n\n### [RenderFunctionTextDocument](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-class)\n\n\n\n<details><summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare class RenderFunctionTextDocument extends TransformedBlockTextDocument {\n  constructor(container: VueTextDocument, selector: Selector, transformed: TextDocument, source: TextDocument);\n  get ast(): CodegenResult['ast'] | undefined;\n  get contextCompletionsTriggerOffset(): number;\n  static create(options: CreateVirtualTextDocumentOptions): RenderFunctionTextDocument;\n  findExpression(offset: number, length: number): undefined | {\n        offset: number;\n        length: number;\n    };\n  protected generate(): string;\n  getAllGeneratedOffsetsAt(offset: number): undefined | Array<{\n        length: number;\n        offset: number;\n    }>;\n  getGeneratedOffsetAt(offset: number): undefined | {\n        length: number;\n        offset: number;\n    };\n  protected getKnownComponents(): Record<string, ComponentImport>;\n  getOriginalOffsetAt(offset: number): undefined | {\n        offset: number;\n        length: number;\n    };\n  isInGeneratedRange(offset: number): boolean;\n  isInTemplateIdentifierRange(offset: number): boolean;\n  get parserErrors(): CodegenResult['errors'];\n  get tagCompletionsTriggerOffset(): number;\n  toDisplayMappings(): string;\n  protected tryGenerate(): string;\n}\n```\n\n**Members:**\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-create-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-create-member-1-\"></a>\n\n#### [create](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-create-member-1-)\n\n\n\n**Signature:**\n```ts\nstatic create(options: CreateVirtualTextDocumentOptions): RenderFunctionTextDocument;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| options | <code><a href=\"#-vuedx-vue-virtual-textdocument--CreateVirtualTextDocumentOptions-interface\">CreateVirtualTextDocumentOptions</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-findExpression-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-findExpression-member-1-\"></a>\n\n#### [findExpression](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-findExpression-member-1-)\n\n\n\n**Signature:**\n```ts\nfindExpression(offset: number, length: number): undefined | {\n        offset: number;\n        length: number;\n    };\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n| length | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-generate-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-generate-member-1-\"></a>\n\n#### [generate](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-generate-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected generate(): string;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getAllGeneratedOffsetsAt-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getAllGeneratedOffsetsAt-member-1-\"></a>\n\n#### [getAllGeneratedOffsetsAt](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getAllGeneratedOffsetsAt-member-1-)\n\n\n\n**Signature:**\n```ts\ngetAllGeneratedOffsetsAt(offset: number): undefined | Array<{\n        length: number;\n        offset: number;\n    }>;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getGeneratedOffsetAt-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getGeneratedOffsetAt-member-1-\"></a>\n\n#### [getGeneratedOffsetAt](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getGeneratedOffsetAt-member-1-)\n\n\n\n**Signature:**\n```ts\ngetGeneratedOffsetAt(offset: number): undefined | {\n        length: number;\n        offset: number;\n    };\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getKnownComponents-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getKnownComponents-member-1-\"></a>\n\n#### [getKnownComponents](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getKnownComponents-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected getKnownComponents(): Record<string, ComponentImport>;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getOriginalOffsetAt-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getOriginalOffsetAt-member-1-\"></a>\n\n#### [getOriginalOffsetAt](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getOriginalOffsetAt-member-1-)\n\n\n\n**Signature:**\n```ts\ngetOriginalOffsetAt(offset: number): undefined | {\n        offset: number;\n        length: number;\n    };\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-isInGeneratedRange-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-isInGeneratedRange-member-1-\"></a>\n\n#### [isInGeneratedRange](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-isInGeneratedRange-member-1-)\n\n\n\n**Signature:**\n```ts\nisInGeneratedRange(offset: number): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-isInTemplateIdentifierRange-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-isInTemplateIdentifierRange-member-1-\"></a>\n\n#### [isInTemplateIdentifierRange](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-isInTemplateIdentifierRange-member-1-)\n\n\n\n**Signature:**\n```ts\nisInTemplateIdentifierRange(offset: number): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-toDisplayMappings-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-toDisplayMappings-member-1-\"></a>\n\n#### [toDisplayMappings](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-toDisplayMappings-member-1-)\n\n\n\n**Signature:**\n```ts\ntoDisplayMappings(): string;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-tryGenerate-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-tryGenerate-member-1-\"></a>\n\n#### [tryGenerate](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-tryGenerate-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected tryGenerate(): string;\n```\n\n\n<br>\n</details>\n\n<br>\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-class\" id=\"-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-class\"></a>\n\n### [TransformedBlockTextDocument](#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-class)\n\n\n\n<details><summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare class TransformedBlockTextDocument extends VirtualTextDocument {\n  protected constructor(container: VueTextDocument, selector: Selector, transformed: TextDocument, source: TextDocument | VirtualTextDocument, _transform: (document: TransformedBlockTextDocument) => BlockTransformResult);\n  static create(options: CreateTransformedBlockTextDocumentOptions): TransformedBlockTextDocument;\n  protected refresh(): void;\n  transform(): BlockTransformResult;\n  tryGetGeneratedOffset(offset: number): number | undefined;\n  tryGetSourceOffset(offset: number): number | undefined;\n}\n```\n\n**Members:**\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-create-member-1-\" id=\"-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-create-member-1-\"></a>\n\n#### [create](#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-create-member-1-)\n\n\n\n**Signature:**\n```ts\nstatic create(options: CreateTransformedBlockTextDocumentOptions): TransformedBlockTextDocument;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| options | <code><a href=\"#-vuedx-vue-virtual-textdocument--CreateTransformedBlockTextDocumentOptions-interface\">CreateTransformedBlockTextDocumentOptions</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-refresh-member-1-\" id=\"-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-refresh-member-1-\"></a>\n\n#### [refresh](#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-refresh-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected refresh(): void;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-transform-member-1-\" id=\"-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-transform-member-1-\"></a>\n\n#### [transform](#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-transform-member-1-)\n\n\n\n**Signature:**\n```ts\ntransform(): BlockTransformResult;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-tryGetGeneratedOffset-member-1-\" id=\"-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-tryGetGeneratedOffset-member-1-\"></a>\n\n#### [tryGetGeneratedOffset](#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-tryGetGeneratedOffset-member-1-)\n\n\n\n**Signature:**\n```ts\ntryGetGeneratedOffset(offset: number): number | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-tryGetSourceOffset-member-1-\" id=\"-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-tryGetSourceOffset-member-1-\"></a>\n\n#### [tryGetSourceOffset](#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-tryGetSourceOffset-member-1-)\n\n\n\n**Signature:**\n```ts\ntryGetSourceOffset(offset: number): number | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n</details>\n\n<br>\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VirtualTextDocument-class\" id=\"-vuedx-vue-virtual-textdocument-VirtualTextDocument-class\"></a>\n\n### [VirtualTextDocument](#-vuedx-vue-virtual-textdocument-VirtualTextDocument-class)\n\n\n\n<details><summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare class VirtualTextDocument extends ProxyTextDocument {\n  protected constructor(container: VueTextDocument, selector: Selector, doc: TextDocument);\n  readonly container: VueTextDocument;\n  static create(options: CreateVirtualTextDocumentOptions): VirtualTextDocument;\n  protected isDirty: boolean;\n  markDirty(): void;\n  protected refresh(): void;\n  readonly selector: Selector;\n}\n```\n\n**Members:**\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VirtualTextDocument-create-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VirtualTextDocument-create-member-1-\"></a>\n\n#### [create](#-vuedx-vue-virtual-textdocument-VirtualTextDocument-create-member-1-)\n\n\n\n**Signature:**\n```ts\nstatic create(options: CreateVirtualTextDocumentOptions): VirtualTextDocument;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| options | <code><a href=\"#-vuedx-vue-virtual-textdocument--CreateVirtualTextDocumentOptions-interface\">CreateVirtualTextDocumentOptions</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VirtualTextDocument-markDirty-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VirtualTextDocument-markDirty-member-1-\"></a>\n\n#### [markDirty](#-vuedx-vue-virtual-textdocument-VirtualTextDocument-markDirty-member-1-)\n\n\n\n**Signature:**\n```ts\nmarkDirty(): void;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VirtualTextDocument-refresh-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VirtualTextDocument-refresh-member-1-\"></a>\n\n#### [refresh](#-vuedx-vue-virtual-textdocument-VirtualTextDocument-refresh-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected refresh(): void;\n```\n\n\n<br>\n</details>\n\n<br>\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-class\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-class\"></a>\n\n### [VueTextDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-class)\n\n\n\n<details><summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare class VueTextDocument extends ProxyTextDocument {\n  constructor(doc: TextDocument, options?: VueTextDocumentOptions, parseOptions?: SFCParseOptions);\n  all(): VirtualTextDocument[];\n  blockAt(position: Position | number): SFCBlock | null | undefined;\n  static create(uri: string, languageId: string, version: number, content: string, options?: VueTextDocumentOptions, parseOptions?: SFCParseOptions): VueTextDocument;\n  protected createBlockDocument(selector: BlockSelector): VirtualTextDocument | undefined;\n  protected createInternalModuleDocument(): TransformedBlockTextDocument;\n  protected createModuleDocument(): TransformedBlockTextDocument;\n  protected createRenderDocument(): RenderFunctionTextDocument;\n  protected createTemplateASTDocument(): TransformedBlockTextDocument;\n  get descriptor(): SFCDescriptor;\n  documentAt(position: Position | number): VirtualTextDocument | undefined;\n  getBlock(selector: BlockSelector): SFCBlock | null | undefined;\n  getBlockSelector(block: SFCBlock): BlockSelector | undefined;\n  getDocument(selector: typeof RENDER_SELECTOR): RenderFunctionTextDocument;\n  getDocument(selector: SelectorLike): VirtualTextDocument;\n  getDocument(selector: string): VirtualTextDocument | undefined;\n  getDocumentFileName(selectorLike: SelectorLike): string;\n  protected getDocumentId(selector: Selector): string;\n  protected getDocumentLanguage(selector: Selector): string;\n  markDirty(): void;\n  readonly options: VueTextDocumentOptions;\n  protected parse(): void;\n  static update(document: VueTextDocument, changes: TextDocumentContentChangeEvent[], version: number): VueTextDocument;\n}\n```\n\n**Members:**\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-all-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-all-member-1-\"></a>\n\n#### [all](#-vuedx-vue-virtual-textdocument-VueTextDocument-all-member-1-)\n\n\n\n**Signature:**\n```ts\nall(): VirtualTextDocument[];\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-blockAt-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-blockAt-member-1-\"></a>\n\n#### [blockAt](#-vuedx-vue-virtual-textdocument-VueTextDocument-blockAt-member-1-)\n\n\n\n**Signature:**\n```ts\nblockAt(position: Position | number): SFCBlock | null | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| position | <code><a href=\"#vscode-languageserver-textdocument-Position-interface\">Position</a> &#124; number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-create-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-create-member-1-\"></a>\n\n#### [create](#-vuedx-vue-virtual-textdocument-VueTextDocument-create-member-1-)\n\n\n\n**Signature:**\n```ts\nstatic create(uri: string, languageId: string, version: number, content: string, options?: VueTextDocumentOptions, parseOptions?: SFCParseOptions): VueTextDocument;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n| languageId | <code>string</code> | - |\n| version | <code>number</code> | - |\n| content | <code>string</code> | - |\n| options | <code><a href=\"#-vuedx-vue-virtual-textdocument--VueTextDocumentOptions-interface\">VueTextDocumentOptions</a></code> | - |\n| parseOptions | <code><a href=\"#-vue-compiler-sfc-SFCParseOptions-interface\">SFCParseOptions</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-createBlockDocument-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-createBlockDocument-member-1-\"></a>\n\n#### [createBlockDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-createBlockDocument-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected createBlockDocument(selector: BlockSelector): VirtualTextDocument | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selector | <code><a href=\"#-vuedx-vue-virtual-textdocument--BlockSelector-type\">BlockSelector</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-createInternalModuleDocument-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-createInternalModuleDocument-member-1-\"></a>\n\n#### [createInternalModuleDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-createInternalModuleDocument-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected createInternalModuleDocument(): TransformedBlockTextDocument;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-createModuleDocument-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-createModuleDocument-member-1-\"></a>\n\n#### [createModuleDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-createModuleDocument-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected createModuleDocument(): TransformedBlockTextDocument;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-createRenderDocument-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-createRenderDocument-member-1-\"></a>\n\n#### [createRenderDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-createRenderDocument-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected createRenderDocument(): RenderFunctionTextDocument;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-createTemplateASTDocument-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-createTemplateASTDocument-member-1-\"></a>\n\n#### [createTemplateASTDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-createTemplateASTDocument-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected createTemplateASTDocument(): TransformedBlockTextDocument;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-documentAt-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-documentAt-member-1-\"></a>\n\n#### [documentAt](#-vuedx-vue-virtual-textdocument-VueTextDocument-documentAt-member-1-)\n\n\n\n**Signature:**\n```ts\ndocumentAt(position: Position | number): VirtualTextDocument | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| position | <code><a href=\"#vscode-languageserver-textdocument-Position-interface\">Position</a> &#124; number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getBlock-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getBlock-member-1-\"></a>\n\n#### [getBlock](#-vuedx-vue-virtual-textdocument-VueTextDocument-getBlock-member-1-)\n\n\n\n**Signature:**\n```ts\ngetBlock(selector: BlockSelector): SFCBlock | null | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selector | <code><a href=\"#-vuedx-vue-virtual-textdocument--BlockSelector-type\">BlockSelector</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getBlockSelector-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getBlockSelector-member-1-\"></a>\n\n#### [getBlockSelector](#-vuedx-vue-virtual-textdocument-VueTextDocument-getBlockSelector-member-1-)\n\n\n\n**Signature:**\n```ts\ngetBlockSelector(block: SFCBlock): BlockSelector | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| block | <code><a href=\"#-vue-compiler-sfc-SFCBlock-interface\">SFCBlock</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-1-\"></a>\n\n#### [getDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-1-)\n\n\n\n**Signature:**\n```ts\ngetDocument(selector: typeof RENDER_SELECTOR): RenderFunctionTextDocument;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selector | <code>typeof <a href=\"#-vuedx-vue-virtual-textdocument--RENDER-SELECTOR-var\">RENDER_SELECTOR</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-2-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-2-\"></a>\n\n#### [getDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-2-)\n\n\n\n**Signature:**\n```ts\ngetDocument(selector: SelectorLike): VirtualTextDocument;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selector | <code><a href=\"#-vuedx-vue-virtual-textdocument--SelectorLike-type\">SelectorLike</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-3-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-3-\"></a>\n\n#### [getDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-3-)\n\n\n\n**Signature:**\n```ts\ngetDocument(selector: string): VirtualTextDocument | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selector | <code>string</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentFileName-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentFileName-member-1-\"></a>\n\n#### [getDocumentFileName](#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentFileName-member-1-)\n\n\n\n**Signature:**\n```ts\ngetDocumentFileName(selectorLike: SelectorLike): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selectorLike | <code><a href=\"#-vuedx-vue-virtual-textdocument--SelectorLike-type\">SelectorLike</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentId-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentId-member-1-\"></a>\n\n#### [getDocumentId](#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentId-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected getDocumentId(selector: Selector): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selector | <code><a href=\"#-vuedx-vue-virtual-textdocument--Selector-type\">Selector</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentLanguage-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentLanguage-member-1-\"></a>\n\n#### [getDocumentLanguage](#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentLanguage-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected getDocumentLanguage(selector: Selector): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selector | <code><a href=\"#-vuedx-vue-virtual-textdocument--Selector-type\">Selector</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-markDirty-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-markDirty-member-1-\"></a>\n\n#### [markDirty](#-vuedx-vue-virtual-textdocument-VueTextDocument-markDirty-member-1-)\n\n\n\n**Signature:**\n```ts\nmarkDirty(): void;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-parse-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-parse-member-1-\"></a>\n\n#### [parse](#-vuedx-vue-virtual-textdocument-VueTextDocument-parse-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected parse(): void;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-update-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-update-member-1-\"></a>\n\n#### [update](#-vuedx-vue-virtual-textdocument-VueTextDocument-update-member-1-)\n\n\n\n**Signature:**\n```ts\nstatic update(document: VueTextDocument, changes: TextDocumentContentChangeEvent[], version: number): VueTextDocument;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| document | <code><a href=\"#-vuedx-vue-virtual-textdocument--VueTextDocument-class\">VueTextDocument</a></code> | - |\n| changes | <code><a href=\"#vscode-languageserver-textdocument-TextDocumentContentChangeEvent-type\">TextDocumentContentChangeEvent</a>[]</code> | - |\n| version | <code>number</code> | - |\n\n<br>\n</details>\n\n<br>\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-asFsPath-function-1-\" id=\"-vuedx-vue-virtual-textdocument-asFsPath-function-1-\"></a>\n\n### [asFsPath](#-vuedx-vue-virtual-textdocument-asFsPath-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function asFsPath(uri: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-asFsUri-function-1-\" id=\"-vuedx-vue-virtual-textdocument-asFsUri-function-1-\"></a>\n\n### [asFsUri](#-vuedx-vue-virtual-textdocument-asFsUri-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function asFsUri(fileName: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-asUri-function-1-\" id=\"-vuedx-vue-virtual-textdocument-asUri-function-1-\"></a>\n\n### [asUri](#-vuedx-vue-virtual-textdocument-asUri-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function asUri(fileNameOrUri: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileNameOrUri | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-basename-function-1-\" id=\"-vuedx-vue-virtual-textdocument-basename-function-1-\"></a>\n\n### [basename](#-vuedx-vue-virtual-textdocument-basename-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function basename(fileName: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-binarySearch-function-1-\" id=\"-vuedx-vue-virtual-textdocument-binarySearch-function-1-\"></a>\n\n### [binarySearch](#-vuedx-vue-virtual-textdocument-binarySearch-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function binarySearch<T>(array: T[], isMatch: (a: T) => number, returnMin?: boolean): T | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| array | <code>T[]</code> | - |\n| isMatch | <code>(a: T) => number</code> | - |\n| returnMin | <code>boolean</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-getBlockLanguage-function-1-\" id=\"-vuedx-vue-virtual-textdocument-getBlockLanguage-function-1-\"></a>\n\n### [getBlockLanguage](#-vuedx-vue-virtual-textdocument-getBlockLanguage-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function getBlockLanguage(block?: SFCBlock | null): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| block | <code><a href=\"#-vue-compiler-sfc-SFCBlock-interface\">SFCBlock</a> &#124; null</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-getContainingFile-function-1-\" id=\"-vuedx-vue-virtual-textdocument-getContainingFile-function-1-\"></a>\n\n### [getContainingFile](#-vuedx-vue-virtual-textdocument-getContainingFile-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function getContainingFile(fileName: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-getLanguageExtension-function-1-\" id=\"-vuedx-vue-virtual-textdocument-getLanguageExtension-function-1-\"></a>\n\n### [getLanguageExtension](#-vuedx-vue-virtual-textdocument-getLanguageExtension-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function getLanguageExtension(lang: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| lang | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-getLanguageIdFromExtension-function-1-\" id=\"-vuedx-vue-virtual-textdocument-getLanguageIdFromExtension-function-1-\"></a>\n\n### [getLanguageIdFromExtension](#-vuedx-vue-virtual-textdocument-getLanguageIdFromExtension-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function getLanguageIdFromExtension(ext: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| ext | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-isOffsetInBlock-function-1-\" id=\"-vuedx-vue-virtual-textdocument-isOffsetInBlock-function-1-\"></a>\n\n### [isOffsetInBlock](#-vuedx-vue-virtual-textdocument-isOffsetInBlock-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function isOffsetInBlock(offset: number, block?: SFCBlock | null): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n| block | <code><a href=\"#-vue-compiler-sfc-SFCBlock-interface\">SFCBlock</a> &#124; null</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-isVirtualFile-function-1-\" id=\"-vuedx-vue-virtual-textdocument-isVirtualFile-function-1-\"></a>\n\n### [isVirtualFile](#-vuedx-vue-virtual-textdocument-isVirtualFile-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function isVirtualFile(fileName: string): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-isVirtualFileOfType-function-1-\" id=\"-vuedx-vue-virtual-textdocument-isVirtualFileOfType-function-1-\"></a>\n\n### [isVirtualFileOfType](#-vuedx-vue-virtual-textdocument-isVirtualFileOfType-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function isVirtualFileOfType(fileName: string, type: '_render' | '_module' | '_internal' | 'script' | 'scriptSetup'): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n| type | <code>'_render' &#124; '_module' &#124; '_internal' &#124; 'script' &#124; 'scriptSetup'</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-isVueFile-function-1-\" id=\"-vuedx-vue-virtual-textdocument-isVueFile-function-1-\"></a>\n\n### [isVueFile](#-vuedx-vue-virtual-textdocument-isVueFile-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function isVueFile(fileName: string): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-parseVirtualFileName-function-1-\" id=\"-vuedx-vue-virtual-textdocument-parseVirtualFileName-function-1-\"></a>\n\n### [parseVirtualFileName](#-vuedx-vue-virtual-textdocument-parseVirtualFileName-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function parseVirtualFileName(fileName: string): {\n    uri: string;\n    selector: Selector;\n} | null;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-relativeVirtualImportPath-function-1-\" id=\"-vuedx-vue-virtual-textdocument-relativeVirtualImportPath-function-1-\"></a>\n\n### [relativeVirtualImportPath](#-vuedx-vue-virtual-textdocument-relativeVirtualImportPath-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function relativeVirtualImportPath(fileName: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-replaceSlashes-function-1-\" id=\"-vuedx-vue-virtual-textdocument-replaceSlashes-function-1-\"></a>\n\n### [replaceSlashes](#-vuedx-vue-virtual-textdocument-replaceSlashes-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function replaceSlashes(fileName: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n<!-- #region API-DOCS -->\n","readmeFilename":"readme.md","_id":"@vuedx/vue-virtual-textdocument@0.7.3-insiders-1623262375.0","_nodeVersion":"16.3.0","_npmVersion":"7.15.1","dist":{"integrity":"sha512-BtCQMtT7YR7vXCEX/+eCuCxHDSyC+enSHq9dbqAm1IR0YNdTJ3d9J5tvF2m/kxyAQNjpYxMjEtXiYbas2r8U/A==","shasum":"fdac8b365cb33da8f89d7975425c6ee6e726987a","tarball":"https://registry.npmjs.org/@vuedx/vue-virtual-textdocument/-/vue-virtual-textdocument-0.7.3-insiders-1623262375.0.tgz","fileCount":8,"unpackedSize":202412,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgwQTGCRA9TVsSAnZWagAAHwYP/1BOqfdoUP84Yu/o/2kx\nO52miYvv5OFJg8g4cs+pnvL3i0YwCCiX81cypnq1Zwwbkc0zXXyZRLYLCNJI\ns2hY4Rp8wDU2RF8ylgaelLtbdSjJlBIfhSd8rKI8JzmSjZVfdTlr0e7ACbZs\nO8C8wXXQu1VSYC/0oHp5rrpyxwb3hj1dDU4Z7IGeqIrCh5lROn4fn6jRKdSX\nt60tE25sMOtV9hBx2MJ3g7yv614UE4driDWkBYECcDSlsXMkjSOQ6R+h4qVX\nTVbklom7KMvtML5fo6Tx+OTQLnNggrZZyPFduuCZQ+yEu6iUMSK1dOhdduDr\nfTgACaQUdJNC2EjNBxB/MWnZ1Hm18w8Ca8VWECCMl+LpyWT7PGFMGex3xRUC\nwrLWCiHyV4FJUULHPrsgnOL1GR4mHbOprGH/8zcZuGhYgHaqQgsE7KX3xOKL\nxE06RtJHyVGhPjdOBybQjhplv8I6VdvI3Pd7bBPt3eo7EQxlyfYcvrJTenXJ\nsgiQ3MX7DU3/IgUfijK2oh/8AIHbyVMxa58H73qp4D/dIBIjceB1tuRFKwn3\nFCMIOXRJderSx+J4egKSHyQvJ3DFLwTUyUyp508vnqyBGj3YMlGIRa8g44D5\nxA3wmxWfSFazmN1mrQj+Ba36l1D4HgOSPkAjMpC8F82RiR6g2Gx3zjwFZwBI\nZF1B\r\n=i8uw\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIBguXlhTZJFXOlEzwnHi9s7oOhOD1p9KeyipZy+LqSkuAiEA4DqqWcdjlhICWLtJSjuKXqE7de5+vTPfn0aci/QOXnQ="}]},"_npmUser":{"name":"znck","email":"rahulkdn@gmail.com"},"directories":{},"maintainers":[{"name":"znck","email":"rahulkdn@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/vue-virtual-textdocument_0.7.3-insiders-1623262375.0_1623262406180_0.05622848105100675"},"_hasShrinkwrap":false},"0.7.3-insiders-1623383290.0":{"name":"@vuedx/vue-virtual-textdocument","version":"0.7.3-insiders-1623383290.0","description":"A virtual filesystem to access blocks in SFC as files","main":"lib/index.js","module":"lib/index.mjs","types":"lib/index.d.ts","exports":{"require":"./lib/index.js","import":"./lib/index.mjs"},"publishConfig":{"types":"lib/index.d.ts"},"private":false,"keywords":["vue","vue sfc","sfc","vue virtual files"],"repository":{"type":"git","url":"git+https://github.com/znck/vue-developer-experience.git"},"author":{"name":"Rahul Kadyan","email":"rahulkdn@gmail.com","url":"https://znck.me/"},"funding":{"type":"individual","url":"https://github.com/sponsors/znck"},"license":"MIT","bugs":{"url":"https://github.com/znck/vue-developer-experience/issues"},"homepage":"https://github.com/znck/vue-developer-experience#readme","dependencies":{"@vuedx/analyze":"0.7.3-insiders-1623383290.0","@vuedx/compiler-sfc":"0.7.1-insiders-1623383290.0","@vuedx/compiler-tsx":"0.7.3-insiders-1623383290.0","@vuedx/shared":"0.7.2-insiders-1623383290.0","source-map":"^0.6.1","vscode-languageserver-textdocument":"^1.0.1","vscode-uri":"^2.1.2"},"devDependencies":{"fast-glob":"^3.2.4","typescript":"^4.0.3"},"scripts":{},"readme":"# Vue Virtual TextDocument\n\nAn implementation of virtual filesystem for accessing blocks in a `.vue` file as independent files.\n\n## Support\n\nThis package is part of [VueDX project](https://github.com/znck/vue-developer-experience), maintained by [Rahul Kadyan](https://github.com/znck). You can [💖 sponsor him](https://github.com/sponsors/znck) for continued development of this package and other VueDX tools.\n\n```\nnpm add @vuedx/vue-virtual-textdocument\n```\n<!-- #region API-DOCS -->\n<!-- Do not edit this file. It is a report generated by [scripts/docgen.js](https://github.com/znck/vue-developer-experience/tree/main/scripts/docgen.js). -->\n\n## API\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-AsyncDocumentStore-class\" id=\"-vuedx-vue-virtual-textdocument-AsyncDocumentStore-class\"></a>\n\n### [AsyncDocumentStore](#-vuedx-vue-virtual-textdocument-AsyncDocumentStore-class)\n\n\n\n<details><summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare class AsyncDocumentStore<T> extends DocumentStore<T> {\n  constructor(resolve: (uri: string) => T | Promise<T | null> | null, normalize?: (uri: string) => string);\n  get(uri: string): T | null;\n  get(uri: string): Promise<T | null>;\n}\n```\n\n**Members:**\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-AsyncDocumentStore-get-member-1-\" id=\"-vuedx-vue-virtual-textdocument-AsyncDocumentStore-get-member-1-\"></a>\n\n#### [get](#-vuedx-vue-virtual-textdocument-AsyncDocumentStore-get-member-1-)\n\n\n\n**Signature:**\n```ts\nget(uri: string): T | null;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-AsyncDocumentStore-get-member-2-\" id=\"-vuedx-vue-virtual-textdocument-AsyncDocumentStore-get-member-2-\"></a>\n\n#### [get](#-vuedx-vue-virtual-textdocument-AsyncDocumentStore-get-member-2-)\n\n\n\n**Signature:**\n```ts\nget(uri: string): Promise<T | null>;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n\n<br>\n</details>\n\n<br>\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-class\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-class\"></a>\n\n### [DocumentStore](#-vuedx-vue-virtual-textdocument-DocumentStore-class)\n\n\n\n<details><summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare class DocumentStore<T> {\n  constructor(resolve: (uri: string) => T | null, normalize?: (uri: string) => string);\n  all(): string[];\n  delete(uri: string): boolean;\n  dispose(): void;\n  get(uri: string): T | null;\n  protected getNormalizedUri(uri: string): string;\n  has(uri: string): boolean;\n  protected map: Map<string, T>;\n  normalize: (uri: string) => string;\n  protected resolve: (uri: string) => T | null;\n  protected reverseUriMap: Map<string, string>;\n  set(uri: string, document: T): void;\n}\n```\n\n**Members:**\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-all-member-1-\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-all-member-1-\"></a>\n\n#### [all](#-vuedx-vue-virtual-textdocument-DocumentStore-all-member-1-)\n\n\n\n**Signature:**\n```ts\nall(): string[];\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-delete-member-1-\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-delete-member-1-\"></a>\n\n#### [delete](#-vuedx-vue-virtual-textdocument-DocumentStore-delete-member-1-)\n\n\n\n**Signature:**\n```ts\ndelete(uri: string): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-dispose-member-1-\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-dispose-member-1-\"></a>\n\n#### [dispose](#-vuedx-vue-virtual-textdocument-DocumentStore-dispose-member-1-)\n\n\n\n**Signature:**\n```ts\ndispose(): void;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-get-member-1-\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-get-member-1-\"></a>\n\n#### [get](#-vuedx-vue-virtual-textdocument-DocumentStore-get-member-1-)\n\n\n\n**Signature:**\n```ts\nget(uri: string): T | null;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-getNormalizedUri-member-1-\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-getNormalizedUri-member-1-\"></a>\n\n#### [getNormalizedUri](#-vuedx-vue-virtual-textdocument-DocumentStore-getNormalizedUri-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected getNormalizedUri(uri: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-has-member-1-\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-has-member-1-\"></a>\n\n#### [has](#-vuedx-vue-virtual-textdocument-DocumentStore-has-member-1-)\n\n\n\n**Signature:**\n```ts\nhas(uri: string): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-set-member-1-\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-set-member-1-\"></a>\n\n#### [set](#-vuedx-vue-virtual-textdocument-DocumentStore-set-member-1-)\n\n\n\n**Signature:**\n```ts\nset(uri: string, document: T): void;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n| document | <code>T</code> | - |\n\n<br>\n</details>\n\n<br>\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-class\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-class\"></a>\n\n### [RenderFunctionTextDocument](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-class)\n\n\n\n<details><summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare class RenderFunctionTextDocument extends TransformedBlockTextDocument {\n  constructor(container: VueTextDocument, selector: Selector, transformed: TextDocument, source: TextDocument);\n  get ast(): CodegenResult['ast'] | undefined;\n  get contextCompletionsTriggerOffset(): number;\n  static create(options: CreateVirtualTextDocumentOptions): RenderFunctionTextDocument;\n  findExpression(offset: number, length: number): undefined | {\n        offset: number;\n        length: number;\n    };\n  protected generate(): string;\n  getAllGeneratedOffsetsAt(offset: number): undefined | Array<{\n        length: number;\n        offset: number;\n    }>;\n  getGeneratedOffsetAt(offset: number): undefined | {\n        length: number;\n        offset: number;\n    };\n  protected getKnownComponents(): Record<string, ComponentImport>;\n  getOriginalOffsetAt(offset: number): undefined | {\n        offset: number;\n        length: number;\n    };\n  isInGeneratedRange(offset: number): boolean;\n  isInTemplateIdentifierRange(offset: number): boolean;\n  get parserErrors(): CodegenResult['errors'];\n  get tagCompletionsTriggerOffset(): number;\n  toDisplayMappings(): string;\n  protected tryGenerate(): string;\n}\n```\n\n**Members:**\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-create-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-create-member-1-\"></a>\n\n#### [create](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-create-member-1-)\n\n\n\n**Signature:**\n```ts\nstatic create(options: CreateVirtualTextDocumentOptions): RenderFunctionTextDocument;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| options | <code><a href=\"#-vuedx-vue-virtual-textdocument--CreateVirtualTextDocumentOptions-interface\">CreateVirtualTextDocumentOptions</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-findExpression-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-findExpression-member-1-\"></a>\n\n#### [findExpression](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-findExpression-member-1-)\n\n\n\n**Signature:**\n```ts\nfindExpression(offset: number, length: number): undefined | {\n        offset: number;\n        length: number;\n    };\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n| length | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-generate-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-generate-member-1-\"></a>\n\n#### [generate](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-generate-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected generate(): string;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getAllGeneratedOffsetsAt-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getAllGeneratedOffsetsAt-member-1-\"></a>\n\n#### [getAllGeneratedOffsetsAt](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getAllGeneratedOffsetsAt-member-1-)\n\n\n\n**Signature:**\n```ts\ngetAllGeneratedOffsetsAt(offset: number): undefined | Array<{\n        length: number;\n        offset: number;\n    }>;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getGeneratedOffsetAt-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getGeneratedOffsetAt-member-1-\"></a>\n\n#### [getGeneratedOffsetAt](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getGeneratedOffsetAt-member-1-)\n\n\n\n**Signature:**\n```ts\ngetGeneratedOffsetAt(offset: number): undefined | {\n        length: number;\n        offset: number;\n    };\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getKnownComponents-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getKnownComponents-member-1-\"></a>\n\n#### [getKnownComponents](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getKnownComponents-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected getKnownComponents(): Record<string, ComponentImport>;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getOriginalOffsetAt-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getOriginalOffsetAt-member-1-\"></a>\n\n#### [getOriginalOffsetAt](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getOriginalOffsetAt-member-1-)\n\n\n\n**Signature:**\n```ts\ngetOriginalOffsetAt(offset: number): undefined | {\n        offset: number;\n        length: number;\n    };\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-isInGeneratedRange-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-isInGeneratedRange-member-1-\"></a>\n\n#### [isInGeneratedRange](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-isInGeneratedRange-member-1-)\n\n\n\n**Signature:**\n```ts\nisInGeneratedRange(offset: number): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-isInTemplateIdentifierRange-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-isInTemplateIdentifierRange-member-1-\"></a>\n\n#### [isInTemplateIdentifierRange](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-isInTemplateIdentifierRange-member-1-)\n\n\n\n**Signature:**\n```ts\nisInTemplateIdentifierRange(offset: number): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-toDisplayMappings-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-toDisplayMappings-member-1-\"></a>\n\n#### [toDisplayMappings](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-toDisplayMappings-member-1-)\n\n\n\n**Signature:**\n```ts\ntoDisplayMappings(): string;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-tryGenerate-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-tryGenerate-member-1-\"></a>\n\n#### [tryGenerate](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-tryGenerate-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected tryGenerate(): string;\n```\n\n\n<br>\n</details>\n\n<br>\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-class\" id=\"-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-class\"></a>\n\n### [TransformedBlockTextDocument](#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-class)\n\n\n\n<details><summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare class TransformedBlockTextDocument extends VirtualTextDocument {\n  protected constructor(container: VueTextDocument, selector: Selector, transformed: TextDocument, source: TextDocument | VirtualTextDocument, _transform: (document: TransformedBlockTextDocument) => BlockTransformResult);\n  static create(options: CreateTransformedBlockTextDocumentOptions): TransformedBlockTextDocument;\n  protected refresh(): void;\n  transform(): BlockTransformResult;\n  tryGetGeneratedOffset(offset: number): number | undefined;\n  tryGetSourceOffset(offset: number): number | undefined;\n}\n```\n\n**Members:**\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-create-member-1-\" id=\"-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-create-member-1-\"></a>\n\n#### [create](#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-create-member-1-)\n\n\n\n**Signature:**\n```ts\nstatic create(options: CreateTransformedBlockTextDocumentOptions): TransformedBlockTextDocument;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| options | <code><a href=\"#-vuedx-vue-virtual-textdocument--CreateTransformedBlockTextDocumentOptions-interface\">CreateTransformedBlockTextDocumentOptions</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-refresh-member-1-\" id=\"-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-refresh-member-1-\"></a>\n\n#### [refresh](#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-refresh-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected refresh(): void;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-transform-member-1-\" id=\"-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-transform-member-1-\"></a>\n\n#### [transform](#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-transform-member-1-)\n\n\n\n**Signature:**\n```ts\ntransform(): BlockTransformResult;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-tryGetGeneratedOffset-member-1-\" id=\"-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-tryGetGeneratedOffset-member-1-\"></a>\n\n#### [tryGetGeneratedOffset](#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-tryGetGeneratedOffset-member-1-)\n\n\n\n**Signature:**\n```ts\ntryGetGeneratedOffset(offset: number): number | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-tryGetSourceOffset-member-1-\" id=\"-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-tryGetSourceOffset-member-1-\"></a>\n\n#### [tryGetSourceOffset](#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-tryGetSourceOffset-member-1-)\n\n\n\n**Signature:**\n```ts\ntryGetSourceOffset(offset: number): number | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n</details>\n\n<br>\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VirtualTextDocument-class\" id=\"-vuedx-vue-virtual-textdocument-VirtualTextDocument-class\"></a>\n\n### [VirtualTextDocument](#-vuedx-vue-virtual-textdocument-VirtualTextDocument-class)\n\n\n\n<details><summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare class VirtualTextDocument extends ProxyTextDocument {\n  protected constructor(container: VueTextDocument, selector: Selector, doc: TextDocument);\n  readonly container: VueTextDocument;\n  static create(options: CreateVirtualTextDocumentOptions): VirtualTextDocument;\n  protected isDirty: boolean;\n  markDirty(): void;\n  protected refresh(): void;\n  readonly selector: Selector;\n}\n```\n\n**Members:**\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VirtualTextDocument-create-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VirtualTextDocument-create-member-1-\"></a>\n\n#### [create](#-vuedx-vue-virtual-textdocument-VirtualTextDocument-create-member-1-)\n\n\n\n**Signature:**\n```ts\nstatic create(options: CreateVirtualTextDocumentOptions): VirtualTextDocument;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| options | <code><a href=\"#-vuedx-vue-virtual-textdocument--CreateVirtualTextDocumentOptions-interface\">CreateVirtualTextDocumentOptions</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VirtualTextDocument-markDirty-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VirtualTextDocument-markDirty-member-1-\"></a>\n\n#### [markDirty](#-vuedx-vue-virtual-textdocument-VirtualTextDocument-markDirty-member-1-)\n\n\n\n**Signature:**\n```ts\nmarkDirty(): void;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VirtualTextDocument-refresh-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VirtualTextDocument-refresh-member-1-\"></a>\n\n#### [refresh](#-vuedx-vue-virtual-textdocument-VirtualTextDocument-refresh-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected refresh(): void;\n```\n\n\n<br>\n</details>\n\n<br>\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-class\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-class\"></a>\n\n### [VueTextDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-class)\n\n\n\n<details><summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare class VueTextDocument extends ProxyTextDocument {\n  constructor(doc: TextDocument, options?: VueTextDocumentOptions, parseOptions?: SFCParseOptions);\n  all(): VirtualTextDocument[];\n  blockAt(position: Position | number): SFCBlock | null | undefined;\n  static create(uri: string, languageId: string, version: number, content: string, options?: VueTextDocumentOptions, parseOptions?: SFCParseOptions): VueTextDocument;\n  protected createBlockDocument(selector: BlockSelector): VirtualTextDocument | undefined;\n  protected createInternalModuleDocument(): TransformedBlockTextDocument;\n  protected createModuleDocument(): TransformedBlockTextDocument;\n  protected createRenderDocument(): RenderFunctionTextDocument;\n  protected createTemplateASTDocument(): TransformedBlockTextDocument;\n  get descriptor(): SFCDescriptor;\n  documentAt(position: Position | number): VirtualTextDocument | undefined;\n  getBlock(selector: BlockSelector): SFCBlock | null | undefined;\n  getBlockSelector(block: SFCBlock): BlockSelector | undefined;\n  getDocument(selector: typeof RENDER_SELECTOR): RenderFunctionTextDocument;\n  getDocument(selector: SelectorLike): VirtualTextDocument;\n  getDocument(selector: string): VirtualTextDocument | undefined;\n  getDocumentFileName(selectorLike: SelectorLike): string;\n  protected getDocumentId(selector: Selector): string;\n  protected getDocumentLanguage(selector: Selector): string;\n  markDirty(): void;\n  readonly options: VueTextDocumentOptions;\n  protected parse(): void;\n  static update(document: VueTextDocument, changes: TextDocumentContentChangeEvent[], version: number): VueTextDocument;\n}\n```\n\n**Members:**\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-all-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-all-member-1-\"></a>\n\n#### [all](#-vuedx-vue-virtual-textdocument-VueTextDocument-all-member-1-)\n\n\n\n**Signature:**\n```ts\nall(): VirtualTextDocument[];\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-blockAt-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-blockAt-member-1-\"></a>\n\n#### [blockAt](#-vuedx-vue-virtual-textdocument-VueTextDocument-blockAt-member-1-)\n\n\n\n**Signature:**\n```ts\nblockAt(position: Position | number): SFCBlock | null | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| position | <code><a href=\"#vscode-languageserver-textdocument-Position-interface\">Position</a> &#124; number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-create-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-create-member-1-\"></a>\n\n#### [create](#-vuedx-vue-virtual-textdocument-VueTextDocument-create-member-1-)\n\n\n\n**Signature:**\n```ts\nstatic create(uri: string, languageId: string, version: number, content: string, options?: VueTextDocumentOptions, parseOptions?: SFCParseOptions): VueTextDocument;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n| languageId | <code>string</code> | - |\n| version | <code>number</code> | - |\n| content | <code>string</code> | - |\n| options | <code><a href=\"#-vuedx-vue-virtual-textdocument--VueTextDocumentOptions-interface\">VueTextDocumentOptions</a></code> | - |\n| parseOptions | <code><a href=\"#-vue-compiler-sfc-SFCParseOptions-interface\">SFCParseOptions</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-createBlockDocument-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-createBlockDocument-member-1-\"></a>\n\n#### [createBlockDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-createBlockDocument-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected createBlockDocument(selector: BlockSelector): VirtualTextDocument | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selector | <code><a href=\"#-vuedx-vue-virtual-textdocument--BlockSelector-type\">BlockSelector</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-createInternalModuleDocument-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-createInternalModuleDocument-member-1-\"></a>\n\n#### [createInternalModuleDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-createInternalModuleDocument-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected createInternalModuleDocument(): TransformedBlockTextDocument;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-createModuleDocument-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-createModuleDocument-member-1-\"></a>\n\n#### [createModuleDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-createModuleDocument-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected createModuleDocument(): TransformedBlockTextDocument;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-createRenderDocument-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-createRenderDocument-member-1-\"></a>\n\n#### [createRenderDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-createRenderDocument-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected createRenderDocument(): RenderFunctionTextDocument;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-createTemplateASTDocument-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-createTemplateASTDocument-member-1-\"></a>\n\n#### [createTemplateASTDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-createTemplateASTDocument-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected createTemplateASTDocument(): TransformedBlockTextDocument;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-documentAt-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-documentAt-member-1-\"></a>\n\n#### [documentAt](#-vuedx-vue-virtual-textdocument-VueTextDocument-documentAt-member-1-)\n\n\n\n**Signature:**\n```ts\ndocumentAt(position: Position | number): VirtualTextDocument | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| position | <code><a href=\"#vscode-languageserver-textdocument-Position-interface\">Position</a> &#124; number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getBlock-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getBlock-member-1-\"></a>\n\n#### [getBlock](#-vuedx-vue-virtual-textdocument-VueTextDocument-getBlock-member-1-)\n\n\n\n**Signature:**\n```ts\ngetBlock(selector: BlockSelector): SFCBlock | null | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selector | <code><a href=\"#-vuedx-vue-virtual-textdocument--BlockSelector-type\">BlockSelector</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getBlockSelector-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getBlockSelector-member-1-\"></a>\n\n#### [getBlockSelector](#-vuedx-vue-virtual-textdocument-VueTextDocument-getBlockSelector-member-1-)\n\n\n\n**Signature:**\n```ts\ngetBlockSelector(block: SFCBlock): BlockSelector | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| block | <code><a href=\"#-vue-compiler-sfc-SFCBlock-interface\">SFCBlock</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-1-\"></a>\n\n#### [getDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-1-)\n\n\n\n**Signature:**\n```ts\ngetDocument(selector: typeof RENDER_SELECTOR): RenderFunctionTextDocument;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selector | <code>typeof <a href=\"#-vuedx-vue-virtual-textdocument--RENDER-SELECTOR-var\">RENDER_SELECTOR</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-2-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-2-\"></a>\n\n#### [getDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-2-)\n\n\n\n**Signature:**\n```ts\ngetDocument(selector: SelectorLike): VirtualTextDocument;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selector | <code><a href=\"#-vuedx-vue-virtual-textdocument--SelectorLike-type\">SelectorLike</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-3-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-3-\"></a>\n\n#### [getDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-3-)\n\n\n\n**Signature:**\n```ts\ngetDocument(selector: string): VirtualTextDocument | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selector | <code>string</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentFileName-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentFileName-member-1-\"></a>\n\n#### [getDocumentFileName](#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentFileName-member-1-)\n\n\n\n**Signature:**\n```ts\ngetDocumentFileName(selectorLike: SelectorLike): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selectorLike | <code><a href=\"#-vuedx-vue-virtual-textdocument--SelectorLike-type\">SelectorLike</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentId-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentId-member-1-\"></a>\n\n#### [getDocumentId](#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentId-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected getDocumentId(selector: Selector): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selector | <code><a href=\"#-vuedx-vue-virtual-textdocument--Selector-type\">Selector</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentLanguage-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentLanguage-member-1-\"></a>\n\n#### [getDocumentLanguage](#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentLanguage-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected getDocumentLanguage(selector: Selector): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selector | <code><a href=\"#-vuedx-vue-virtual-textdocument--Selector-type\">Selector</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-markDirty-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-markDirty-member-1-\"></a>\n\n#### [markDirty](#-vuedx-vue-virtual-textdocument-VueTextDocument-markDirty-member-1-)\n\n\n\n**Signature:**\n```ts\nmarkDirty(): void;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-parse-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-parse-member-1-\"></a>\n\n#### [parse](#-vuedx-vue-virtual-textdocument-VueTextDocument-parse-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected parse(): void;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-update-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-update-member-1-\"></a>\n\n#### [update](#-vuedx-vue-virtual-textdocument-VueTextDocument-update-member-1-)\n\n\n\n**Signature:**\n```ts\nstatic update(document: VueTextDocument, changes: TextDocumentContentChangeEvent[], version: number): VueTextDocument;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| document | <code><a href=\"#-vuedx-vue-virtual-textdocument--VueTextDocument-class\">VueTextDocument</a></code> | - |\n| changes | <code><a href=\"#vscode-languageserver-textdocument-TextDocumentContentChangeEvent-type\">TextDocumentContentChangeEvent</a>[]</code> | - |\n| version | <code>number</code> | - |\n\n<br>\n</details>\n\n<br>\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-asFsPath-function-1-\" id=\"-vuedx-vue-virtual-textdocument-asFsPath-function-1-\"></a>\n\n### [asFsPath](#-vuedx-vue-virtual-textdocument-asFsPath-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function asFsPath(uri: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-asFsUri-function-1-\" id=\"-vuedx-vue-virtual-textdocument-asFsUri-function-1-\"></a>\n\n### [asFsUri](#-vuedx-vue-virtual-textdocument-asFsUri-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function asFsUri(fileName: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-asUri-function-1-\" id=\"-vuedx-vue-virtual-textdocument-asUri-function-1-\"></a>\n\n### [asUri](#-vuedx-vue-virtual-textdocument-asUri-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function asUri(fileNameOrUri: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileNameOrUri | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-basename-function-1-\" id=\"-vuedx-vue-virtual-textdocument-basename-function-1-\"></a>\n\n### [basename](#-vuedx-vue-virtual-textdocument-basename-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function basename(fileName: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-binarySearch-function-1-\" id=\"-vuedx-vue-virtual-textdocument-binarySearch-function-1-\"></a>\n\n### [binarySearch](#-vuedx-vue-virtual-textdocument-binarySearch-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function binarySearch<T>(array: T[], isMatch: (a: T) => number, returnMin?: boolean): T | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| array | <code>T[]</code> | - |\n| isMatch | <code>(a: T) => number</code> | - |\n| returnMin | <code>boolean</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-getBlockLanguage-function-1-\" id=\"-vuedx-vue-virtual-textdocument-getBlockLanguage-function-1-\"></a>\n\n### [getBlockLanguage](#-vuedx-vue-virtual-textdocument-getBlockLanguage-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function getBlockLanguage(block?: SFCBlock | null): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| block | <code><a href=\"#-vue-compiler-sfc-SFCBlock-interface\">SFCBlock</a> &#124; null</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-getContainingFile-function-1-\" id=\"-vuedx-vue-virtual-textdocument-getContainingFile-function-1-\"></a>\n\n### [getContainingFile](#-vuedx-vue-virtual-textdocument-getContainingFile-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function getContainingFile(fileName: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-getLanguageExtension-function-1-\" id=\"-vuedx-vue-virtual-textdocument-getLanguageExtension-function-1-\"></a>\n\n### [getLanguageExtension](#-vuedx-vue-virtual-textdocument-getLanguageExtension-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function getLanguageExtension(lang: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| lang | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-getLanguageIdFromExtension-function-1-\" id=\"-vuedx-vue-virtual-textdocument-getLanguageIdFromExtension-function-1-\"></a>\n\n### [getLanguageIdFromExtension](#-vuedx-vue-virtual-textdocument-getLanguageIdFromExtension-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function getLanguageIdFromExtension(ext: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| ext | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-isOffsetInBlock-function-1-\" id=\"-vuedx-vue-virtual-textdocument-isOffsetInBlock-function-1-\"></a>\n\n### [isOffsetInBlock](#-vuedx-vue-virtual-textdocument-isOffsetInBlock-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function isOffsetInBlock(offset: number, block?: SFCBlock | null): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n| block | <code><a href=\"#-vue-compiler-sfc-SFCBlock-interface\">SFCBlock</a> &#124; null</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-isVirtualFile-function-1-\" id=\"-vuedx-vue-virtual-textdocument-isVirtualFile-function-1-\"></a>\n\n### [isVirtualFile](#-vuedx-vue-virtual-textdocument-isVirtualFile-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function isVirtualFile(fileName: string): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-isVirtualFileOfType-function-1-\" id=\"-vuedx-vue-virtual-textdocument-isVirtualFileOfType-function-1-\"></a>\n\n### [isVirtualFileOfType](#-vuedx-vue-virtual-textdocument-isVirtualFileOfType-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function isVirtualFileOfType(fileName: string, type: '_render' | '_module' | '_internal' | 'script' | 'scriptSetup'): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n| type | <code>'_render' &#124; '_module' &#124; '_internal' &#124; 'script' &#124; 'scriptSetup'</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-isVueFile-function-1-\" id=\"-vuedx-vue-virtual-textdocument-isVueFile-function-1-\"></a>\n\n### [isVueFile](#-vuedx-vue-virtual-textdocument-isVueFile-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function isVueFile(fileName: string): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-parseVirtualFileName-function-1-\" id=\"-vuedx-vue-virtual-textdocument-parseVirtualFileName-function-1-\"></a>\n\n### [parseVirtualFileName](#-vuedx-vue-virtual-textdocument-parseVirtualFileName-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function parseVirtualFileName(fileName: string): {\n    uri: string;\n    selector: Selector;\n} | null;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-relativeVirtualImportPath-function-1-\" id=\"-vuedx-vue-virtual-textdocument-relativeVirtualImportPath-function-1-\"></a>\n\n### [relativeVirtualImportPath](#-vuedx-vue-virtual-textdocument-relativeVirtualImportPath-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function relativeVirtualImportPath(fileName: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-replaceSlashes-function-1-\" id=\"-vuedx-vue-virtual-textdocument-replaceSlashes-function-1-\"></a>\n\n### [replaceSlashes](#-vuedx-vue-virtual-textdocument-replaceSlashes-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function replaceSlashes(fileName: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n<!-- #region API-DOCS -->\n","readmeFilename":"readme.md","_id":"@vuedx/vue-virtual-textdocument@0.7.3-insiders-1623383290.0","_nodeVersion":"16.3.0","_npmVersion":"7.15.1","dist":{"integrity":"sha512-AoIG1tyhq1Vkq8ay+0hoZ0nr8Jml3G6UxXUn4QuRqXmWOFxBzOlBAPuUmjOH6tETASUTCa6dfgBzhIZeSKxiKw==","shasum":"d5abb234f76cae103b22326c232c56f8d5c3dac0","tarball":"https://registry.npmjs.org/@vuedx/vue-virtual-textdocument/-/vue-virtual-textdocument-0.7.3-insiders-1623383290.0.tgz","fileCount":8,"unpackedSize":202412,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgwt0eCRA9TVsSAnZWagAAiHkQAIDhqrXMGvqDievRH5By\nMYXiFMdDRRNcjUbS31gsLRiO5+IftRDDY/+jd5rG7m8JrFb9Jn+E/lj38ZCy\nOr754ZSovrRlczaE+FV52FY2BFn9Ah7LdMgAwVyfTbMMx8H2RU6uLr+bnlsu\n6FoCKj4on0xfh1tyqDWzMnhwDgqqUs9uinGdPoUV5PkgmDH7gXu2TFfBtilz\njZyDr3F1FNlKtLgCaKrJTcKz68V51E+cNYsKmChoW8aUnxjKi6+B8zHR4+xT\n8j8UNmKCwJPVKoi127YKT3XKhItWv3ODQBUV6wvoipIIMFyHp/Q4MSktCQ/a\nHOqamlQi8QqhG5BFhqUtgABy5QGQ4OX9zHuq2U1nXuAFa0P4n/KYByJOVNSi\nVDIjHmk8b7+goNu1KqRoFM2BZ05LdopPBIsosXAhTGyuIbSNzy02BRycKUhy\ncK6vh4i+R8addDEdTran+gezvp32f66q6euFu6DzwnotmY2CnIE+0/907ykW\n+hI9JG7DNtJ8k43IBVWXf0GALOBUt3qNSUD+UOcL+wikOqTbhwX5a7PEdmrl\nhMbz7Pba7kFFaLTMTF7bSmUiAE8GSJ7/J0RniaSpAxIgQoXlEiE+z9Du0sfw\nYrA76oH1+XQgqlR0sRRUu0qw5fuvAZC3OU+zwnnN8OBK154o55Q4dr9H+ZMN\nHj7B\r\n=VGNo\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCav4bkWgZZGI++zbJugW9alZVqMmjWkT7cmhStJTADxwIhAMwKNFtX9Ij8enDOLL/OjoudyouStNSImKIEvThOxHE7"}]},"_npmUser":{"name":"znck","email":"rahulkdn@gmail.com"},"directories":{},"maintainers":[{"name":"znck","email":"rahulkdn@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/vue-virtual-textdocument_0.7.3-insiders-1623383290.0_1623383326501_0.9694154641542863"},"_hasShrinkwrap":false},"0.7.3-insiders-1623383952.0":{"name":"@vuedx/vue-virtual-textdocument","version":"0.7.3-insiders-1623383952.0","description":"A virtual filesystem to access blocks in SFC as files","main":"lib/index.js","module":"lib/index.mjs","types":"lib/index.d.ts","exports":{"require":"./lib/index.js","import":"./lib/index.mjs"},"publishConfig":{"types":"lib/index.d.ts"},"private":false,"keywords":["vue","vue sfc","sfc","vue virtual files"],"repository":{"type":"git","url":"git+https://github.com/znck/vue-developer-experience.git"},"author":{"name":"Rahul Kadyan","email":"rahulkdn@gmail.com","url":"https://znck.me/"},"funding":{"type":"individual","url":"https://github.com/sponsors/znck"},"license":"MIT","bugs":{"url":"https://github.com/znck/vue-developer-experience/issues"},"homepage":"https://github.com/znck/vue-developer-experience#readme","dependencies":{"@vuedx/analyze":"0.7.3-insiders-1623383952.0","@vuedx/compiler-sfc":"0.7.1-insiders-1623383952.0","@vuedx/compiler-tsx":"0.7.3-insiders-1623383952.0","@vuedx/shared":"0.7.2-insiders-1623383952.0","source-map":"^0.6.1","vscode-languageserver-textdocument":"^1.0.1","vscode-uri":"^2.1.2"},"devDependencies":{"fast-glob":"^3.2.4","typescript":"^4.0.3"},"scripts":{},"readme":"# Vue Virtual TextDocument\n\nAn implementation of virtual filesystem for accessing blocks in a `.vue` file as independent files.\n\n## Support\n\nThis package is part of [VueDX project](https://github.com/znck/vue-developer-experience), maintained by [Rahul Kadyan](https://github.com/znck). You can [💖 sponsor him](https://github.com/sponsors/znck) for continued development of this package and other VueDX tools.\n\n```\nnpm add @vuedx/vue-virtual-textdocument\n```\n<!-- #region API-DOCS -->\n<!-- Do not edit this file. It is a report generated by [scripts/docgen.js](https://github.com/znck/vue-developer-experience/tree/main/scripts/docgen.js). -->\n\n## API\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-AsyncDocumentStore-class\" id=\"-vuedx-vue-virtual-textdocument-AsyncDocumentStore-class\"></a>\n\n### [AsyncDocumentStore](#-vuedx-vue-virtual-textdocument-AsyncDocumentStore-class)\n\n\n\n<details><summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare class AsyncDocumentStore<T> extends DocumentStore<T> {\n  constructor(resolve: (uri: string) => T | Promise<T | null> | null, normalize?: (uri: string) => string);\n  get(uri: string): T | null;\n  get(uri: string): Promise<T | null>;\n}\n```\n\n**Members:**\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-AsyncDocumentStore-get-member-1-\" id=\"-vuedx-vue-virtual-textdocument-AsyncDocumentStore-get-member-1-\"></a>\n\n#### [get](#-vuedx-vue-virtual-textdocument-AsyncDocumentStore-get-member-1-)\n\n\n\n**Signature:**\n```ts\nget(uri: string): T | null;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-AsyncDocumentStore-get-member-2-\" id=\"-vuedx-vue-virtual-textdocument-AsyncDocumentStore-get-member-2-\"></a>\n\n#### [get](#-vuedx-vue-virtual-textdocument-AsyncDocumentStore-get-member-2-)\n\n\n\n**Signature:**\n```ts\nget(uri: string): Promise<T | null>;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n\n<br>\n</details>\n\n<br>\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-class\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-class\"></a>\n\n### [DocumentStore](#-vuedx-vue-virtual-textdocument-DocumentStore-class)\n\n\n\n<details><summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare class DocumentStore<T> {\n  constructor(resolve: (uri: string) => T | null, normalize?: (uri: string) => string);\n  all(): string[];\n  delete(uri: string): boolean;\n  dispose(): void;\n  get(uri: string): T | null;\n  protected getNormalizedUri(uri: string): string;\n  has(uri: string): boolean;\n  protected map: Map<string, T>;\n  normalize: (uri: string) => string;\n  protected resolve: (uri: string) => T | null;\n  protected reverseUriMap: Map<string, string>;\n  set(uri: string, document: T): void;\n}\n```\n\n**Members:**\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-all-member-1-\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-all-member-1-\"></a>\n\n#### [all](#-vuedx-vue-virtual-textdocument-DocumentStore-all-member-1-)\n\n\n\n**Signature:**\n```ts\nall(): string[];\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-delete-member-1-\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-delete-member-1-\"></a>\n\n#### [delete](#-vuedx-vue-virtual-textdocument-DocumentStore-delete-member-1-)\n\n\n\n**Signature:**\n```ts\ndelete(uri: string): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-dispose-member-1-\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-dispose-member-1-\"></a>\n\n#### [dispose](#-vuedx-vue-virtual-textdocument-DocumentStore-dispose-member-1-)\n\n\n\n**Signature:**\n```ts\ndispose(): void;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-get-member-1-\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-get-member-1-\"></a>\n\n#### [get](#-vuedx-vue-virtual-textdocument-DocumentStore-get-member-1-)\n\n\n\n**Signature:**\n```ts\nget(uri: string): T | null;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-getNormalizedUri-member-1-\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-getNormalizedUri-member-1-\"></a>\n\n#### [getNormalizedUri](#-vuedx-vue-virtual-textdocument-DocumentStore-getNormalizedUri-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected getNormalizedUri(uri: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-has-member-1-\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-has-member-1-\"></a>\n\n#### [has](#-vuedx-vue-virtual-textdocument-DocumentStore-has-member-1-)\n\n\n\n**Signature:**\n```ts\nhas(uri: string): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-set-member-1-\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-set-member-1-\"></a>\n\n#### [set](#-vuedx-vue-virtual-textdocument-DocumentStore-set-member-1-)\n\n\n\n**Signature:**\n```ts\nset(uri: string, document: T): void;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n| document | <code>T</code> | - |\n\n<br>\n</details>\n\n<br>\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-class\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-class\"></a>\n\n### [RenderFunctionTextDocument](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-class)\n\n\n\n<details><summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare class RenderFunctionTextDocument extends TransformedBlockTextDocument {\n  constructor(container: VueTextDocument, selector: Selector, transformed: TextDocument, source: TextDocument);\n  get ast(): CodegenResult['ast'] | undefined;\n  get contextCompletionsTriggerOffset(): number;\n  static create(options: CreateVirtualTextDocumentOptions): RenderFunctionTextDocument;\n  findExpression(offset: number, length: number): undefined | {\n        offset: number;\n        length: number;\n    };\n  protected generate(): string;\n  getAllGeneratedOffsetsAt(offset: number): undefined | Array<{\n        length: number;\n        offset: number;\n    }>;\n  getGeneratedOffsetAt(offset: number): undefined | {\n        length: number;\n        offset: number;\n    };\n  protected getKnownComponents(): Record<string, ComponentImport>;\n  getOriginalOffsetAt(offset: number): undefined | {\n        offset: number;\n        length: number;\n    };\n  isInGeneratedRange(offset: number): boolean;\n  isInTemplateIdentifierRange(offset: number): boolean;\n  get parserErrors(): CodegenResult['errors'];\n  get tagCompletionsTriggerOffset(): number;\n  toDisplayMappings(): string;\n  protected tryGenerate(): string;\n}\n```\n\n**Members:**\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-create-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-create-member-1-\"></a>\n\n#### [create](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-create-member-1-)\n\n\n\n**Signature:**\n```ts\nstatic create(options: CreateVirtualTextDocumentOptions): RenderFunctionTextDocument;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| options | <code><a href=\"#-vuedx-vue-virtual-textdocument--CreateVirtualTextDocumentOptions-interface\">CreateVirtualTextDocumentOptions</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-findExpression-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-findExpression-member-1-\"></a>\n\n#### [findExpression](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-findExpression-member-1-)\n\n\n\n**Signature:**\n```ts\nfindExpression(offset: number, length: number): undefined | {\n        offset: number;\n        length: number;\n    };\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n| length | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-generate-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-generate-member-1-\"></a>\n\n#### [generate](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-generate-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected generate(): string;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getAllGeneratedOffsetsAt-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getAllGeneratedOffsetsAt-member-1-\"></a>\n\n#### [getAllGeneratedOffsetsAt](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getAllGeneratedOffsetsAt-member-1-)\n\n\n\n**Signature:**\n```ts\ngetAllGeneratedOffsetsAt(offset: number): undefined | Array<{\n        length: number;\n        offset: number;\n    }>;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getGeneratedOffsetAt-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getGeneratedOffsetAt-member-1-\"></a>\n\n#### [getGeneratedOffsetAt](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getGeneratedOffsetAt-member-1-)\n\n\n\n**Signature:**\n```ts\ngetGeneratedOffsetAt(offset: number): undefined | {\n        length: number;\n        offset: number;\n    };\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getKnownComponents-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getKnownComponents-member-1-\"></a>\n\n#### [getKnownComponents](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getKnownComponents-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected getKnownComponents(): Record<string, ComponentImport>;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getOriginalOffsetAt-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getOriginalOffsetAt-member-1-\"></a>\n\n#### [getOriginalOffsetAt](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getOriginalOffsetAt-member-1-)\n\n\n\n**Signature:**\n```ts\ngetOriginalOffsetAt(offset: number): undefined | {\n        offset: number;\n        length: number;\n    };\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-isInGeneratedRange-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-isInGeneratedRange-member-1-\"></a>\n\n#### [isInGeneratedRange](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-isInGeneratedRange-member-1-)\n\n\n\n**Signature:**\n```ts\nisInGeneratedRange(offset: number): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-isInTemplateIdentifierRange-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-isInTemplateIdentifierRange-member-1-\"></a>\n\n#### [isInTemplateIdentifierRange](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-isInTemplateIdentifierRange-member-1-)\n\n\n\n**Signature:**\n```ts\nisInTemplateIdentifierRange(offset: number): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-toDisplayMappings-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-toDisplayMappings-member-1-\"></a>\n\n#### [toDisplayMappings](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-toDisplayMappings-member-1-)\n\n\n\n**Signature:**\n```ts\ntoDisplayMappings(): string;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-tryGenerate-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-tryGenerate-member-1-\"></a>\n\n#### [tryGenerate](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-tryGenerate-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected tryGenerate(): string;\n```\n\n\n<br>\n</details>\n\n<br>\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-class\" id=\"-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-class\"></a>\n\n### [TransformedBlockTextDocument](#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-class)\n\n\n\n<details><summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare class TransformedBlockTextDocument extends VirtualTextDocument {\n  protected constructor(container: VueTextDocument, selector: Selector, transformed: TextDocument, source: TextDocument | VirtualTextDocument, _transform: (document: TransformedBlockTextDocument) => BlockTransformResult);\n  static create(options: CreateTransformedBlockTextDocumentOptions): TransformedBlockTextDocument;\n  protected refresh(): void;\n  transform(): BlockTransformResult;\n  tryGetGeneratedOffset(offset: number): number | undefined;\n  tryGetSourceOffset(offset: number): number | undefined;\n}\n```\n\n**Members:**\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-create-member-1-\" id=\"-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-create-member-1-\"></a>\n\n#### [create](#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-create-member-1-)\n\n\n\n**Signature:**\n```ts\nstatic create(options: CreateTransformedBlockTextDocumentOptions): TransformedBlockTextDocument;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| options | <code><a href=\"#-vuedx-vue-virtual-textdocument--CreateTransformedBlockTextDocumentOptions-interface\">CreateTransformedBlockTextDocumentOptions</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-refresh-member-1-\" id=\"-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-refresh-member-1-\"></a>\n\n#### [refresh](#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-refresh-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected refresh(): void;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-transform-member-1-\" id=\"-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-transform-member-1-\"></a>\n\n#### [transform](#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-transform-member-1-)\n\n\n\n**Signature:**\n```ts\ntransform(): BlockTransformResult;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-tryGetGeneratedOffset-member-1-\" id=\"-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-tryGetGeneratedOffset-member-1-\"></a>\n\n#### [tryGetGeneratedOffset](#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-tryGetGeneratedOffset-member-1-)\n\n\n\n**Signature:**\n```ts\ntryGetGeneratedOffset(offset: number): number | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-tryGetSourceOffset-member-1-\" id=\"-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-tryGetSourceOffset-member-1-\"></a>\n\n#### [tryGetSourceOffset](#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-tryGetSourceOffset-member-1-)\n\n\n\n**Signature:**\n```ts\ntryGetSourceOffset(offset: number): number | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n</details>\n\n<br>\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VirtualTextDocument-class\" id=\"-vuedx-vue-virtual-textdocument-VirtualTextDocument-class\"></a>\n\n### [VirtualTextDocument](#-vuedx-vue-virtual-textdocument-VirtualTextDocument-class)\n\n\n\n<details><summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare class VirtualTextDocument extends ProxyTextDocument {\n  protected constructor(container: VueTextDocument, selector: Selector, doc: TextDocument);\n  readonly container: VueTextDocument;\n  static create(options: CreateVirtualTextDocumentOptions): VirtualTextDocument;\n  protected isDirty: boolean;\n  markDirty(): void;\n  protected refresh(): void;\n  readonly selector: Selector;\n}\n```\n\n**Members:**\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VirtualTextDocument-create-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VirtualTextDocument-create-member-1-\"></a>\n\n#### [create](#-vuedx-vue-virtual-textdocument-VirtualTextDocument-create-member-1-)\n\n\n\n**Signature:**\n```ts\nstatic create(options: CreateVirtualTextDocumentOptions): VirtualTextDocument;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| options | <code><a href=\"#-vuedx-vue-virtual-textdocument--CreateVirtualTextDocumentOptions-interface\">CreateVirtualTextDocumentOptions</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VirtualTextDocument-markDirty-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VirtualTextDocument-markDirty-member-1-\"></a>\n\n#### [markDirty](#-vuedx-vue-virtual-textdocument-VirtualTextDocument-markDirty-member-1-)\n\n\n\n**Signature:**\n```ts\nmarkDirty(): void;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VirtualTextDocument-refresh-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VirtualTextDocument-refresh-member-1-\"></a>\n\n#### [refresh](#-vuedx-vue-virtual-textdocument-VirtualTextDocument-refresh-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected refresh(): void;\n```\n\n\n<br>\n</details>\n\n<br>\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-class\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-class\"></a>\n\n### [VueTextDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-class)\n\n\n\n<details><summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare class VueTextDocument extends ProxyTextDocument {\n  constructor(doc: TextDocument, options?: VueTextDocumentOptions, parseOptions?: SFCParseOptions);\n  all(): VirtualTextDocument[];\n  blockAt(position: Position | number): SFCBlock | null | undefined;\n  static create(uri: string, languageId: string, version: number, content: string, options?: VueTextDocumentOptions, parseOptions?: SFCParseOptions): VueTextDocument;\n  protected createBlockDocument(selector: BlockSelector): VirtualTextDocument | undefined;\n  protected createInternalModuleDocument(): TransformedBlockTextDocument;\n  protected createModuleDocument(): TransformedBlockTextDocument;\n  protected createRenderDocument(): RenderFunctionTextDocument;\n  protected createTemplateASTDocument(): TransformedBlockTextDocument;\n  get descriptor(): SFCDescriptor;\n  documentAt(position: Position | number): VirtualTextDocument | undefined;\n  getBlock(selector: BlockSelector): SFCBlock | null | undefined;\n  getBlockSelector(block: SFCBlock): BlockSelector | undefined;\n  getDocument(selector: typeof RENDER_SELECTOR): RenderFunctionTextDocument;\n  getDocument(selector: SelectorLike): VirtualTextDocument;\n  getDocument(selector: string): VirtualTextDocument | undefined;\n  getDocumentFileName(selectorLike: SelectorLike): string;\n  protected getDocumentId(selector: Selector): string;\n  protected getDocumentLanguage(selector: Selector): string;\n  markDirty(): void;\n  readonly options: VueTextDocumentOptions;\n  protected parse(): void;\n  static update(document: VueTextDocument, changes: TextDocumentContentChangeEvent[], version: number): VueTextDocument;\n}\n```\n\n**Members:**\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-all-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-all-member-1-\"></a>\n\n#### [all](#-vuedx-vue-virtual-textdocument-VueTextDocument-all-member-1-)\n\n\n\n**Signature:**\n```ts\nall(): VirtualTextDocument[];\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-blockAt-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-blockAt-member-1-\"></a>\n\n#### [blockAt](#-vuedx-vue-virtual-textdocument-VueTextDocument-blockAt-member-1-)\n\n\n\n**Signature:**\n```ts\nblockAt(position: Position | number): SFCBlock | null | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| position | <code><a href=\"#vscode-languageserver-textdocument-Position-interface\">Position</a> &#124; number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-create-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-create-member-1-\"></a>\n\n#### [create](#-vuedx-vue-virtual-textdocument-VueTextDocument-create-member-1-)\n\n\n\n**Signature:**\n```ts\nstatic create(uri: string, languageId: string, version: number, content: string, options?: VueTextDocumentOptions, parseOptions?: SFCParseOptions): VueTextDocument;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n| languageId | <code>string</code> | - |\n| version | <code>number</code> | - |\n| content | <code>string</code> | - |\n| options | <code><a href=\"#-vuedx-vue-virtual-textdocument--VueTextDocumentOptions-interface\">VueTextDocumentOptions</a></code> | - |\n| parseOptions | <code><a href=\"#-vue-compiler-sfc-SFCParseOptions-interface\">SFCParseOptions</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-createBlockDocument-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-createBlockDocument-member-1-\"></a>\n\n#### [createBlockDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-createBlockDocument-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected createBlockDocument(selector: BlockSelector): VirtualTextDocument | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selector | <code><a href=\"#-vuedx-vue-virtual-textdocument--BlockSelector-type\">BlockSelector</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-createInternalModuleDocument-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-createInternalModuleDocument-member-1-\"></a>\n\n#### [createInternalModuleDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-createInternalModuleDocument-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected createInternalModuleDocument(): TransformedBlockTextDocument;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-createModuleDocument-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-createModuleDocument-member-1-\"></a>\n\n#### [createModuleDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-createModuleDocument-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected createModuleDocument(): TransformedBlockTextDocument;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-createRenderDocument-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-createRenderDocument-member-1-\"></a>\n\n#### [createRenderDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-createRenderDocument-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected createRenderDocument(): RenderFunctionTextDocument;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-createTemplateASTDocument-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-createTemplateASTDocument-member-1-\"></a>\n\n#### [createTemplateASTDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-createTemplateASTDocument-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected createTemplateASTDocument(): TransformedBlockTextDocument;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-documentAt-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-documentAt-member-1-\"></a>\n\n#### [documentAt](#-vuedx-vue-virtual-textdocument-VueTextDocument-documentAt-member-1-)\n\n\n\n**Signature:**\n```ts\ndocumentAt(position: Position | number): VirtualTextDocument | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| position | <code><a href=\"#vscode-languageserver-textdocument-Position-interface\">Position</a> &#124; number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getBlock-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getBlock-member-1-\"></a>\n\n#### [getBlock](#-vuedx-vue-virtual-textdocument-VueTextDocument-getBlock-member-1-)\n\n\n\n**Signature:**\n```ts\ngetBlock(selector: BlockSelector): SFCBlock | null | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selector | <code><a href=\"#-vuedx-vue-virtual-textdocument--BlockSelector-type\">BlockSelector</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getBlockSelector-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getBlockSelector-member-1-\"></a>\n\n#### [getBlockSelector](#-vuedx-vue-virtual-textdocument-VueTextDocument-getBlockSelector-member-1-)\n\n\n\n**Signature:**\n```ts\ngetBlockSelector(block: SFCBlock): BlockSelector | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| block | <code><a href=\"#-vue-compiler-sfc-SFCBlock-interface\">SFCBlock</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-1-\"></a>\n\n#### [getDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-1-)\n\n\n\n**Signature:**\n```ts\ngetDocument(selector: typeof RENDER_SELECTOR): RenderFunctionTextDocument;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selector | <code>typeof <a href=\"#-vuedx-vue-virtual-textdocument--RENDER-SELECTOR-var\">RENDER_SELECTOR</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-2-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-2-\"></a>\n\n#### [getDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-2-)\n\n\n\n**Signature:**\n```ts\ngetDocument(selector: SelectorLike): VirtualTextDocument;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selector | <code><a href=\"#-vuedx-vue-virtual-textdocument--SelectorLike-type\">SelectorLike</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-3-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-3-\"></a>\n\n#### [getDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-3-)\n\n\n\n**Signature:**\n```ts\ngetDocument(selector: string): VirtualTextDocument | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selector | <code>string</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentFileName-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentFileName-member-1-\"></a>\n\n#### [getDocumentFileName](#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentFileName-member-1-)\n\n\n\n**Signature:**\n```ts\ngetDocumentFileName(selectorLike: SelectorLike): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selectorLike | <code><a href=\"#-vuedx-vue-virtual-textdocument--SelectorLike-type\">SelectorLike</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentId-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentId-member-1-\"></a>\n\n#### [getDocumentId](#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentId-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected getDocumentId(selector: Selector): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selector | <code><a href=\"#-vuedx-vue-virtual-textdocument--Selector-type\">Selector</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentLanguage-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentLanguage-member-1-\"></a>\n\n#### [getDocumentLanguage](#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentLanguage-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected getDocumentLanguage(selector: Selector): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selector | <code><a href=\"#-vuedx-vue-virtual-textdocument--Selector-type\">Selector</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-markDirty-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-markDirty-member-1-\"></a>\n\n#### [markDirty](#-vuedx-vue-virtual-textdocument-VueTextDocument-markDirty-member-1-)\n\n\n\n**Signature:**\n```ts\nmarkDirty(): void;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-parse-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-parse-member-1-\"></a>\n\n#### [parse](#-vuedx-vue-virtual-textdocument-VueTextDocument-parse-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected parse(): void;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-update-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-update-member-1-\"></a>\n\n#### [update](#-vuedx-vue-virtual-textdocument-VueTextDocument-update-member-1-)\n\n\n\n**Signature:**\n```ts\nstatic update(document: VueTextDocument, changes: TextDocumentContentChangeEvent[], version: number): VueTextDocument;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| document | <code><a href=\"#-vuedx-vue-virtual-textdocument--VueTextDocument-class\">VueTextDocument</a></code> | - |\n| changes | <code><a href=\"#vscode-languageserver-textdocument-TextDocumentContentChangeEvent-type\">TextDocumentContentChangeEvent</a>[]</code> | - |\n| version | <code>number</code> | - |\n\n<br>\n</details>\n\n<br>\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-asFsPath-function-1-\" id=\"-vuedx-vue-virtual-textdocument-asFsPath-function-1-\"></a>\n\n### [asFsPath](#-vuedx-vue-virtual-textdocument-asFsPath-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function asFsPath(uri: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-asFsUri-function-1-\" id=\"-vuedx-vue-virtual-textdocument-asFsUri-function-1-\"></a>\n\n### [asFsUri](#-vuedx-vue-virtual-textdocument-asFsUri-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function asFsUri(fileName: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-asUri-function-1-\" id=\"-vuedx-vue-virtual-textdocument-asUri-function-1-\"></a>\n\n### [asUri](#-vuedx-vue-virtual-textdocument-asUri-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function asUri(fileNameOrUri: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileNameOrUri | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-basename-function-1-\" id=\"-vuedx-vue-virtual-textdocument-basename-function-1-\"></a>\n\n### [basename](#-vuedx-vue-virtual-textdocument-basename-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function basename(fileName: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-binarySearch-function-1-\" id=\"-vuedx-vue-virtual-textdocument-binarySearch-function-1-\"></a>\n\n### [binarySearch](#-vuedx-vue-virtual-textdocument-binarySearch-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function binarySearch<T>(array: T[], isMatch: (a: T) => number, returnMin?: boolean): T | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| array | <code>T[]</code> | - |\n| isMatch | <code>(a: T) => number</code> | - |\n| returnMin | <code>boolean</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-getBlockLanguage-function-1-\" id=\"-vuedx-vue-virtual-textdocument-getBlockLanguage-function-1-\"></a>\n\n### [getBlockLanguage](#-vuedx-vue-virtual-textdocument-getBlockLanguage-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function getBlockLanguage(block?: SFCBlock | null): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| block | <code><a href=\"#-vue-compiler-sfc-SFCBlock-interface\">SFCBlock</a> &#124; null</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-getContainingFile-function-1-\" id=\"-vuedx-vue-virtual-textdocument-getContainingFile-function-1-\"></a>\n\n### [getContainingFile](#-vuedx-vue-virtual-textdocument-getContainingFile-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function getContainingFile(fileName: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-getLanguageExtension-function-1-\" id=\"-vuedx-vue-virtual-textdocument-getLanguageExtension-function-1-\"></a>\n\n### [getLanguageExtension](#-vuedx-vue-virtual-textdocument-getLanguageExtension-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function getLanguageExtension(lang: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| lang | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-getLanguageIdFromExtension-function-1-\" id=\"-vuedx-vue-virtual-textdocument-getLanguageIdFromExtension-function-1-\"></a>\n\n### [getLanguageIdFromExtension](#-vuedx-vue-virtual-textdocument-getLanguageIdFromExtension-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function getLanguageIdFromExtension(ext: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| ext | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-isOffsetInBlock-function-1-\" id=\"-vuedx-vue-virtual-textdocument-isOffsetInBlock-function-1-\"></a>\n\n### [isOffsetInBlock](#-vuedx-vue-virtual-textdocument-isOffsetInBlock-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function isOffsetInBlock(offset: number, block?: SFCBlock | null): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n| block | <code><a href=\"#-vue-compiler-sfc-SFCBlock-interface\">SFCBlock</a> &#124; null</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-isVirtualFile-function-1-\" id=\"-vuedx-vue-virtual-textdocument-isVirtualFile-function-1-\"></a>\n\n### [isVirtualFile](#-vuedx-vue-virtual-textdocument-isVirtualFile-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function isVirtualFile(fileName: string): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-isVirtualFileOfType-function-1-\" id=\"-vuedx-vue-virtual-textdocument-isVirtualFileOfType-function-1-\"></a>\n\n### [isVirtualFileOfType](#-vuedx-vue-virtual-textdocument-isVirtualFileOfType-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function isVirtualFileOfType(fileName: string, type: '_render' | '_module' | '_internal' | 'script' | 'scriptSetup'): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n| type | <code>'_render' &#124; '_module' &#124; '_internal' &#124; 'script' &#124; 'scriptSetup'</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-isVueFile-function-1-\" id=\"-vuedx-vue-virtual-textdocument-isVueFile-function-1-\"></a>\n\n### [isVueFile](#-vuedx-vue-virtual-textdocument-isVueFile-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function isVueFile(fileName: string): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-parseVirtualFileName-function-1-\" id=\"-vuedx-vue-virtual-textdocument-parseVirtualFileName-function-1-\"></a>\n\n### [parseVirtualFileName](#-vuedx-vue-virtual-textdocument-parseVirtualFileName-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function parseVirtualFileName(fileName: string): {\n    uri: string;\n    selector: Selector;\n} | null;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-relativeVirtualImportPath-function-1-\" id=\"-vuedx-vue-virtual-textdocument-relativeVirtualImportPath-function-1-\"></a>\n\n### [relativeVirtualImportPath](#-vuedx-vue-virtual-textdocument-relativeVirtualImportPath-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function relativeVirtualImportPath(fileName: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-replaceSlashes-function-1-\" id=\"-vuedx-vue-virtual-textdocument-replaceSlashes-function-1-\"></a>\n\n### [replaceSlashes](#-vuedx-vue-virtual-textdocument-replaceSlashes-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function replaceSlashes(fileName: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n<!-- #region API-DOCS -->\n","readmeFilename":"readme.md","_id":"@vuedx/vue-virtual-textdocument@0.7.3-insiders-1623383952.0","_nodeVersion":"16.3.0","_npmVersion":"7.15.1","dist":{"integrity":"sha512-WTJQTKtQsqLMZo4s9UKetGJ7uOhG/KuFuzayFJQ0QCd0GV8V9YLicYSyTvPzzC6x5AlQs2Tj3Vzu854i+Tkyzw==","shasum":"76d361d799abbc633f9f880f5d2ed2409c131ea1","tarball":"https://registry.npmjs.org/@vuedx/vue-virtual-textdocument/-/vue-virtual-textdocument-0.7.3-insiders-1623383952.0.tgz","fileCount":8,"unpackedSize":202412,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgwuAOCRA9TVsSAnZWagAAeAMP/jC/FmmyDzB7s1u7kRjh\nMjRCSAeQKm60OwVL/9e++mHpUY3haufRZ81L4yQPfbJFe24z2mzOa+inUMI2\npwcM5Vlu2OXfoTqwvtazBpnexvZ6mv3lMEFnHw98Vi1T1pdpTUBnpe+kOoN7\nFFQhOXM5sPXtDTYqMb39ri2lwHlg34McALQjmGx/BZfiDYCcwv/6x/T/2X4l\nM0luolu/yqd278Gt5r2y0QXYg8UQsDQkRGFlG1IlLBkD0aICjwFVbABRIdX0\nWP/4y4Iv5j7yq+MwycbD44M5GW6PxQe3PLrOHRExaA/AJ59KWmm2muyIG+ck\n59LcMBR7PC9DFXrM5RfGO0pnscI9aLVAezlfQwVWJxpUjDSfm5zFzvr6WXtv\nBUzPXcWHAt0VQgDLk3QaQZIXAF1Y3sRtZwHA0dQV8MX1U9j//U45+tTYPaxU\nEoeAntSTfC3Td/XyoRlNHP3/qR2YYZBE5Dxb2mUfCgd6d1Rchx4aWHNlmoQY\nOBsFBwT7Dc2HBdeLuzhD+Er0HgmtMlmDSc+LClxn6wh1crFPvqdwbFfdYxjy\ngiFdhBu2rY1DsY7H6FLsYvOucWzTH0o2NH2Zjf91Mmda8ROAgXJ3PEgwyfIS\ncd0C57cIb9kTeI3+GMFMoe59ROK8a3I4VD2vOW6s1agsxsbNAek1uboXjPnk\njIyA\r\n=0lJE\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCEgOjzh/IsL/lzkT1Zj4+JKry+FK4iOPp25RZckdMJSwIhAKknxAltk55eVlCBl28iLmqyKl6mXeEZ4OAmExlYcYh1"}]},"_npmUser":{"name":"znck","email":"rahulkdn@gmail.com"},"directories":{},"maintainers":[{"name":"znck","email":"rahulkdn@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/vue-virtual-textdocument_0.7.3-insiders-1623383952.0_1623384077234_0.7638355426667429"},"_hasShrinkwrap":false},"0.7.3-insiders-1623384696.0":{"name":"@vuedx/vue-virtual-textdocument","version":"0.7.3-insiders-1623384696.0","description":"A virtual filesystem to access blocks in SFC as files","main":"lib/index.js","module":"lib/index.mjs","types":"lib/index.d.ts","exports":{"require":"./lib/index.js","import":"./lib/index.mjs"},"publishConfig":{"types":"lib/index.d.ts"},"private":false,"keywords":["vue","vue sfc","sfc","vue virtual files"],"repository":{"type":"git","url":"git+https://github.com/znck/vue-developer-experience.git"},"author":{"name":"Rahul Kadyan","email":"rahulkdn@gmail.com","url":"https://znck.me/"},"funding":{"type":"individual","url":"https://github.com/sponsors/znck"},"license":"MIT","bugs":{"url":"https://github.com/znck/vue-developer-experience/issues"},"homepage":"https://github.com/znck/vue-developer-experience#readme","dependencies":{"@vuedx/analyze":"0.7.3-insiders-1623384696.0","@vuedx/compiler-sfc":"0.7.1-insiders-1623384696.0","@vuedx/compiler-tsx":"0.7.3-insiders-1623384696.0","@vuedx/shared":"0.7.2-insiders-1623384696.0","source-map":"^0.6.1","vscode-languageserver-textdocument":"^1.0.1","vscode-uri":"^2.1.2"},"devDependencies":{"fast-glob":"^3.2.4","typescript":"^4.0.3"},"scripts":{},"readme":"# Vue Virtual TextDocument\n\nAn implementation of virtual filesystem for accessing blocks in a `.vue` file as independent files.\n\n## Support\n\nThis package is part of [VueDX project](https://github.com/znck/vue-developer-experience), maintained by [Rahul Kadyan](https://github.com/znck). You can [💖 sponsor him](https://github.com/sponsors/znck) for continued development of this package and other VueDX tools.\n\n```\nnpm add @vuedx/vue-virtual-textdocument\n```\n<!-- #region API-DOCS -->\n<!-- Do not edit this file. It is a report generated by [scripts/docgen.js](https://github.com/znck/vue-developer-experience/tree/main/scripts/docgen.js). -->\n\n## API\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-AsyncDocumentStore-class\" id=\"-vuedx-vue-virtual-textdocument-AsyncDocumentStore-class\"></a>\n\n### [AsyncDocumentStore](#-vuedx-vue-virtual-textdocument-AsyncDocumentStore-class)\n\n\n\n<details><summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare class AsyncDocumentStore<T> extends DocumentStore<T> {\n  constructor(resolve: (uri: string) => T | Promise<T | null> | null, normalize?: (uri: string) => string);\n  get(uri: string): T | null;\n  get(uri: string): Promise<T | null>;\n}\n```\n\n**Members:**\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-AsyncDocumentStore-get-member-1-\" id=\"-vuedx-vue-virtual-textdocument-AsyncDocumentStore-get-member-1-\"></a>\n\n#### [get](#-vuedx-vue-virtual-textdocument-AsyncDocumentStore-get-member-1-)\n\n\n\n**Signature:**\n```ts\nget(uri: string): T | null;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-AsyncDocumentStore-get-member-2-\" id=\"-vuedx-vue-virtual-textdocument-AsyncDocumentStore-get-member-2-\"></a>\n\n#### [get](#-vuedx-vue-virtual-textdocument-AsyncDocumentStore-get-member-2-)\n\n\n\n**Signature:**\n```ts\nget(uri: string): Promise<T | null>;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n\n<br>\n</details>\n\n<br>\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-class\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-class\"></a>\n\n### [DocumentStore](#-vuedx-vue-virtual-textdocument-DocumentStore-class)\n\n\n\n<details><summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare class DocumentStore<T> {\n  constructor(resolve: (uri: string) => T | null, normalize?: (uri: string) => string);\n  all(): string[];\n  delete(uri: string): boolean;\n  dispose(): void;\n  get(uri: string): T | null;\n  protected getNormalizedUri(uri: string): string;\n  has(uri: string): boolean;\n  protected map: Map<string, T>;\n  normalize: (uri: string) => string;\n  protected resolve: (uri: string) => T | null;\n  protected reverseUriMap: Map<string, string>;\n  set(uri: string, document: T): void;\n}\n```\n\n**Members:**\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-all-member-1-\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-all-member-1-\"></a>\n\n#### [all](#-vuedx-vue-virtual-textdocument-DocumentStore-all-member-1-)\n\n\n\n**Signature:**\n```ts\nall(): string[];\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-delete-member-1-\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-delete-member-1-\"></a>\n\n#### [delete](#-vuedx-vue-virtual-textdocument-DocumentStore-delete-member-1-)\n\n\n\n**Signature:**\n```ts\ndelete(uri: string): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-dispose-member-1-\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-dispose-member-1-\"></a>\n\n#### [dispose](#-vuedx-vue-virtual-textdocument-DocumentStore-dispose-member-1-)\n\n\n\n**Signature:**\n```ts\ndispose(): void;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-get-member-1-\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-get-member-1-\"></a>\n\n#### [get](#-vuedx-vue-virtual-textdocument-DocumentStore-get-member-1-)\n\n\n\n**Signature:**\n```ts\nget(uri: string): T | null;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-getNormalizedUri-member-1-\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-getNormalizedUri-member-1-\"></a>\n\n#### [getNormalizedUri](#-vuedx-vue-virtual-textdocument-DocumentStore-getNormalizedUri-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected getNormalizedUri(uri: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-has-member-1-\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-has-member-1-\"></a>\n\n#### [has](#-vuedx-vue-virtual-textdocument-DocumentStore-has-member-1-)\n\n\n\n**Signature:**\n```ts\nhas(uri: string): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-set-member-1-\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-set-member-1-\"></a>\n\n#### [set](#-vuedx-vue-virtual-textdocument-DocumentStore-set-member-1-)\n\n\n\n**Signature:**\n```ts\nset(uri: string, document: T): void;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n| document | <code>T</code> | - |\n\n<br>\n</details>\n\n<br>\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-class\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-class\"></a>\n\n### [RenderFunctionTextDocument](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-class)\n\n\n\n<details><summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare class RenderFunctionTextDocument extends TransformedBlockTextDocument {\n  constructor(container: VueTextDocument, selector: Selector, transformed: TextDocument, source: TextDocument);\n  get ast(): CodegenResult['ast'] | undefined;\n  get contextCompletionsTriggerOffset(): number;\n  static create(options: CreateVirtualTextDocumentOptions): RenderFunctionTextDocument;\n  findExpression(offset: number, length: number): undefined | {\n        offset: number;\n        length: number;\n    };\n  protected generate(): string;\n  getAllGeneratedOffsetsAt(offset: number): undefined | Array<{\n        length: number;\n        offset: number;\n    }>;\n  getGeneratedOffsetAt(offset: number): undefined | {\n        length: number;\n        offset: number;\n    };\n  protected getKnownComponents(): Record<string, ComponentImport>;\n  getOriginalOffsetAt(offset: number): undefined | {\n        offset: number;\n        length: number;\n    };\n  isInGeneratedRange(offset: number): boolean;\n  isInTemplateIdentifierRange(offset: number): boolean;\n  get parserErrors(): CodegenResult['errors'];\n  get tagCompletionsTriggerOffset(): number;\n  toDisplayMappings(): string;\n  protected tryGenerate(): string;\n}\n```\n\n**Members:**\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-create-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-create-member-1-\"></a>\n\n#### [create](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-create-member-1-)\n\n\n\n**Signature:**\n```ts\nstatic create(options: CreateVirtualTextDocumentOptions): RenderFunctionTextDocument;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| options | <code><a href=\"#-vuedx-vue-virtual-textdocument--CreateVirtualTextDocumentOptions-interface\">CreateVirtualTextDocumentOptions</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-findExpression-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-findExpression-member-1-\"></a>\n\n#### [findExpression](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-findExpression-member-1-)\n\n\n\n**Signature:**\n```ts\nfindExpression(offset: number, length: number): undefined | {\n        offset: number;\n        length: number;\n    };\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n| length | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-generate-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-generate-member-1-\"></a>\n\n#### [generate](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-generate-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected generate(): string;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getAllGeneratedOffsetsAt-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getAllGeneratedOffsetsAt-member-1-\"></a>\n\n#### [getAllGeneratedOffsetsAt](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getAllGeneratedOffsetsAt-member-1-)\n\n\n\n**Signature:**\n```ts\ngetAllGeneratedOffsetsAt(offset: number): undefined | Array<{\n        length: number;\n        offset: number;\n    }>;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getGeneratedOffsetAt-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getGeneratedOffsetAt-member-1-\"></a>\n\n#### [getGeneratedOffsetAt](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getGeneratedOffsetAt-member-1-)\n\n\n\n**Signature:**\n```ts\ngetGeneratedOffsetAt(offset: number): undefined | {\n        length: number;\n        offset: number;\n    };\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getKnownComponents-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getKnownComponents-member-1-\"></a>\n\n#### [getKnownComponents](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getKnownComponents-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected getKnownComponents(): Record<string, ComponentImport>;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getOriginalOffsetAt-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getOriginalOffsetAt-member-1-\"></a>\n\n#### [getOriginalOffsetAt](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getOriginalOffsetAt-member-1-)\n\n\n\n**Signature:**\n```ts\ngetOriginalOffsetAt(offset: number): undefined | {\n        offset: number;\n        length: number;\n    };\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-isInGeneratedRange-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-isInGeneratedRange-member-1-\"></a>\n\n#### [isInGeneratedRange](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-isInGeneratedRange-member-1-)\n\n\n\n**Signature:**\n```ts\nisInGeneratedRange(offset: number): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-isInTemplateIdentifierRange-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-isInTemplateIdentifierRange-member-1-\"></a>\n\n#### [isInTemplateIdentifierRange](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-isInTemplateIdentifierRange-member-1-)\n\n\n\n**Signature:**\n```ts\nisInTemplateIdentifierRange(offset: number): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-toDisplayMappings-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-toDisplayMappings-member-1-\"></a>\n\n#### [toDisplayMappings](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-toDisplayMappings-member-1-)\n\n\n\n**Signature:**\n```ts\ntoDisplayMappings(): string;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-tryGenerate-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-tryGenerate-member-1-\"></a>\n\n#### [tryGenerate](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-tryGenerate-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected tryGenerate(): string;\n```\n\n\n<br>\n</details>\n\n<br>\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-class\" id=\"-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-class\"></a>\n\n### [TransformedBlockTextDocument](#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-class)\n\n\n\n<details><summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare class TransformedBlockTextDocument extends VirtualTextDocument {\n  protected constructor(container: VueTextDocument, selector: Selector, transformed: TextDocument, source: TextDocument | VirtualTextDocument, _transform: (document: TransformedBlockTextDocument) => BlockTransformResult);\n  static create(options: CreateTransformedBlockTextDocumentOptions): TransformedBlockTextDocument;\n  protected refresh(): void;\n  transform(): BlockTransformResult;\n  tryGetGeneratedOffset(offset: number): number | undefined;\n  tryGetSourceOffset(offset: number): number | undefined;\n}\n```\n\n**Members:**\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-create-member-1-\" id=\"-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-create-member-1-\"></a>\n\n#### [create](#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-create-member-1-)\n\n\n\n**Signature:**\n```ts\nstatic create(options: CreateTransformedBlockTextDocumentOptions): TransformedBlockTextDocument;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| options | <code><a href=\"#-vuedx-vue-virtual-textdocument--CreateTransformedBlockTextDocumentOptions-interface\">CreateTransformedBlockTextDocumentOptions</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-refresh-member-1-\" id=\"-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-refresh-member-1-\"></a>\n\n#### [refresh](#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-refresh-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected refresh(): void;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-transform-member-1-\" id=\"-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-transform-member-1-\"></a>\n\n#### [transform](#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-transform-member-1-)\n\n\n\n**Signature:**\n```ts\ntransform(): BlockTransformResult;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-tryGetGeneratedOffset-member-1-\" id=\"-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-tryGetGeneratedOffset-member-1-\"></a>\n\n#### [tryGetGeneratedOffset](#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-tryGetGeneratedOffset-member-1-)\n\n\n\n**Signature:**\n```ts\ntryGetGeneratedOffset(offset: number): number | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-tryGetSourceOffset-member-1-\" id=\"-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-tryGetSourceOffset-member-1-\"></a>\n\n#### [tryGetSourceOffset](#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-tryGetSourceOffset-member-1-)\n\n\n\n**Signature:**\n```ts\ntryGetSourceOffset(offset: number): number | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n</details>\n\n<br>\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VirtualTextDocument-class\" id=\"-vuedx-vue-virtual-textdocument-VirtualTextDocument-class\"></a>\n\n### [VirtualTextDocument](#-vuedx-vue-virtual-textdocument-VirtualTextDocument-class)\n\n\n\n<details><summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare class VirtualTextDocument extends ProxyTextDocument {\n  protected constructor(container: VueTextDocument, selector: Selector, doc: TextDocument);\n  readonly container: VueTextDocument;\n  static create(options: CreateVirtualTextDocumentOptions): VirtualTextDocument;\n  protected isDirty: boolean;\n  markDirty(): void;\n  protected refresh(): void;\n  readonly selector: Selector;\n}\n```\n\n**Members:**\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VirtualTextDocument-create-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VirtualTextDocument-create-member-1-\"></a>\n\n#### [create](#-vuedx-vue-virtual-textdocument-VirtualTextDocument-create-member-1-)\n\n\n\n**Signature:**\n```ts\nstatic create(options: CreateVirtualTextDocumentOptions): VirtualTextDocument;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| options | <code><a href=\"#-vuedx-vue-virtual-textdocument--CreateVirtualTextDocumentOptions-interface\">CreateVirtualTextDocumentOptions</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VirtualTextDocument-markDirty-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VirtualTextDocument-markDirty-member-1-\"></a>\n\n#### [markDirty](#-vuedx-vue-virtual-textdocument-VirtualTextDocument-markDirty-member-1-)\n\n\n\n**Signature:**\n```ts\nmarkDirty(): void;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VirtualTextDocument-refresh-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VirtualTextDocument-refresh-member-1-\"></a>\n\n#### [refresh](#-vuedx-vue-virtual-textdocument-VirtualTextDocument-refresh-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected refresh(): void;\n```\n\n\n<br>\n</details>\n\n<br>\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-class\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-class\"></a>\n\n### [VueTextDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-class)\n\n\n\n<details><summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare class VueTextDocument extends ProxyTextDocument {\n  constructor(doc: TextDocument, options?: VueTextDocumentOptions, parseOptions?: SFCParseOptions);\n  all(): VirtualTextDocument[];\n  blockAt(position: Position | number): SFCBlock | null | undefined;\n  static create(uri: string, languageId: string, version: number, content: string, options?: VueTextDocumentOptions, parseOptions?: SFCParseOptions): VueTextDocument;\n  protected createBlockDocument(selector: BlockSelector): VirtualTextDocument | undefined;\n  protected createInternalModuleDocument(): TransformedBlockTextDocument;\n  protected createModuleDocument(): TransformedBlockTextDocument;\n  protected createRenderDocument(): RenderFunctionTextDocument;\n  protected createTemplateASTDocument(): TransformedBlockTextDocument;\n  get descriptor(): SFCDescriptor;\n  documentAt(position: Position | number): VirtualTextDocument | undefined;\n  getBlock(selector: BlockSelector): SFCBlock | null | undefined;\n  getBlockSelector(block: SFCBlock): BlockSelector | undefined;\n  getDocument(selector: typeof RENDER_SELECTOR): RenderFunctionTextDocument;\n  getDocument(selector: SelectorLike): VirtualTextDocument;\n  getDocument(selector: string): VirtualTextDocument | undefined;\n  getDocumentFileName(selectorLike: SelectorLike): string;\n  protected getDocumentId(selector: Selector): string;\n  protected getDocumentLanguage(selector: Selector): string;\n  markDirty(): void;\n  readonly options: VueTextDocumentOptions;\n  protected parse(): void;\n  static update(document: VueTextDocument, changes: TextDocumentContentChangeEvent[], version: number): VueTextDocument;\n}\n```\n\n**Members:**\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-all-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-all-member-1-\"></a>\n\n#### [all](#-vuedx-vue-virtual-textdocument-VueTextDocument-all-member-1-)\n\n\n\n**Signature:**\n```ts\nall(): VirtualTextDocument[];\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-blockAt-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-blockAt-member-1-\"></a>\n\n#### [blockAt](#-vuedx-vue-virtual-textdocument-VueTextDocument-blockAt-member-1-)\n\n\n\n**Signature:**\n```ts\nblockAt(position: Position | number): SFCBlock | null | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| position | <code><a href=\"#vscode-languageserver-textdocument-Position-interface\">Position</a> &#124; number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-create-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-create-member-1-\"></a>\n\n#### [create](#-vuedx-vue-virtual-textdocument-VueTextDocument-create-member-1-)\n\n\n\n**Signature:**\n```ts\nstatic create(uri: string, languageId: string, version: number, content: string, options?: VueTextDocumentOptions, parseOptions?: SFCParseOptions): VueTextDocument;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n| languageId | <code>string</code> | - |\n| version | <code>number</code> | - |\n| content | <code>string</code> | - |\n| options | <code><a href=\"#-vuedx-vue-virtual-textdocument--VueTextDocumentOptions-interface\">VueTextDocumentOptions</a></code> | - |\n| parseOptions | <code><a href=\"#-vue-compiler-sfc-SFCParseOptions-interface\">SFCParseOptions</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-createBlockDocument-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-createBlockDocument-member-1-\"></a>\n\n#### [createBlockDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-createBlockDocument-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected createBlockDocument(selector: BlockSelector): VirtualTextDocument | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selector | <code><a href=\"#-vuedx-vue-virtual-textdocument--BlockSelector-type\">BlockSelector</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-createInternalModuleDocument-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-createInternalModuleDocument-member-1-\"></a>\n\n#### [createInternalModuleDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-createInternalModuleDocument-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected createInternalModuleDocument(): TransformedBlockTextDocument;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-createModuleDocument-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-createModuleDocument-member-1-\"></a>\n\n#### [createModuleDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-createModuleDocument-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected createModuleDocument(): TransformedBlockTextDocument;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-createRenderDocument-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-createRenderDocument-member-1-\"></a>\n\n#### [createRenderDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-createRenderDocument-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected createRenderDocument(): RenderFunctionTextDocument;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-createTemplateASTDocument-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-createTemplateASTDocument-member-1-\"></a>\n\n#### [createTemplateASTDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-createTemplateASTDocument-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected createTemplateASTDocument(): TransformedBlockTextDocument;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-documentAt-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-documentAt-member-1-\"></a>\n\n#### [documentAt](#-vuedx-vue-virtual-textdocument-VueTextDocument-documentAt-member-1-)\n\n\n\n**Signature:**\n```ts\ndocumentAt(position: Position | number): VirtualTextDocument | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| position | <code><a href=\"#vscode-languageserver-textdocument-Position-interface\">Position</a> &#124; number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getBlock-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getBlock-member-1-\"></a>\n\n#### [getBlock](#-vuedx-vue-virtual-textdocument-VueTextDocument-getBlock-member-1-)\n\n\n\n**Signature:**\n```ts\ngetBlock(selector: BlockSelector): SFCBlock | null | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selector | <code><a href=\"#-vuedx-vue-virtual-textdocument--BlockSelector-type\">BlockSelector</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getBlockSelector-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getBlockSelector-member-1-\"></a>\n\n#### [getBlockSelector](#-vuedx-vue-virtual-textdocument-VueTextDocument-getBlockSelector-member-1-)\n\n\n\n**Signature:**\n```ts\ngetBlockSelector(block: SFCBlock): BlockSelector | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| block | <code><a href=\"#-vue-compiler-sfc-SFCBlock-interface\">SFCBlock</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-1-\"></a>\n\n#### [getDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-1-)\n\n\n\n**Signature:**\n```ts\ngetDocument(selector: typeof RENDER_SELECTOR): RenderFunctionTextDocument;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selector | <code>typeof <a href=\"#-vuedx-vue-virtual-textdocument--RENDER-SELECTOR-var\">RENDER_SELECTOR</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-2-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-2-\"></a>\n\n#### [getDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-2-)\n\n\n\n**Signature:**\n```ts\ngetDocument(selector: SelectorLike): VirtualTextDocument;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selector | <code><a href=\"#-vuedx-vue-virtual-textdocument--SelectorLike-type\">SelectorLike</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-3-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-3-\"></a>\n\n#### [getDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-3-)\n\n\n\n**Signature:**\n```ts\ngetDocument(selector: string): VirtualTextDocument | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selector | <code>string</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentFileName-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentFileName-member-1-\"></a>\n\n#### [getDocumentFileName](#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentFileName-member-1-)\n\n\n\n**Signature:**\n```ts\ngetDocumentFileName(selectorLike: SelectorLike): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selectorLike | <code><a href=\"#-vuedx-vue-virtual-textdocument--SelectorLike-type\">SelectorLike</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentId-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentId-member-1-\"></a>\n\n#### [getDocumentId](#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentId-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected getDocumentId(selector: Selector): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selector | <code><a href=\"#-vuedx-vue-virtual-textdocument--Selector-type\">Selector</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentLanguage-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentLanguage-member-1-\"></a>\n\n#### [getDocumentLanguage](#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentLanguage-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected getDocumentLanguage(selector: Selector): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selector | <code><a href=\"#-vuedx-vue-virtual-textdocument--Selector-type\">Selector</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-markDirty-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-markDirty-member-1-\"></a>\n\n#### [markDirty](#-vuedx-vue-virtual-textdocument-VueTextDocument-markDirty-member-1-)\n\n\n\n**Signature:**\n```ts\nmarkDirty(): void;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-parse-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-parse-member-1-\"></a>\n\n#### [parse](#-vuedx-vue-virtual-textdocument-VueTextDocument-parse-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected parse(): void;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-update-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-update-member-1-\"></a>\n\n#### [update](#-vuedx-vue-virtual-textdocument-VueTextDocument-update-member-1-)\n\n\n\n**Signature:**\n```ts\nstatic update(document: VueTextDocument, changes: TextDocumentContentChangeEvent[], version: number): VueTextDocument;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| document | <code><a href=\"#-vuedx-vue-virtual-textdocument--VueTextDocument-class\">VueTextDocument</a></code> | - |\n| changes | <code><a href=\"#vscode-languageserver-textdocument-TextDocumentContentChangeEvent-type\">TextDocumentContentChangeEvent</a>[]</code> | - |\n| version | <code>number</code> | - |\n\n<br>\n</details>\n\n<br>\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-asFsPath-function-1-\" id=\"-vuedx-vue-virtual-textdocument-asFsPath-function-1-\"></a>\n\n### [asFsPath](#-vuedx-vue-virtual-textdocument-asFsPath-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function asFsPath(uri: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-asFsUri-function-1-\" id=\"-vuedx-vue-virtual-textdocument-asFsUri-function-1-\"></a>\n\n### [asFsUri](#-vuedx-vue-virtual-textdocument-asFsUri-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function asFsUri(fileName: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-asUri-function-1-\" id=\"-vuedx-vue-virtual-textdocument-asUri-function-1-\"></a>\n\n### [asUri](#-vuedx-vue-virtual-textdocument-asUri-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function asUri(fileNameOrUri: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileNameOrUri | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-basename-function-1-\" id=\"-vuedx-vue-virtual-textdocument-basename-function-1-\"></a>\n\n### [basename](#-vuedx-vue-virtual-textdocument-basename-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function basename(fileName: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-binarySearch-function-1-\" id=\"-vuedx-vue-virtual-textdocument-binarySearch-function-1-\"></a>\n\n### [binarySearch](#-vuedx-vue-virtual-textdocument-binarySearch-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function binarySearch<T>(array: T[], isMatch: (a: T) => number, returnMin?: boolean): T | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| array | <code>T[]</code> | - |\n| isMatch | <code>(a: T) => number</code> | - |\n| returnMin | <code>boolean</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-getBlockLanguage-function-1-\" id=\"-vuedx-vue-virtual-textdocument-getBlockLanguage-function-1-\"></a>\n\n### [getBlockLanguage](#-vuedx-vue-virtual-textdocument-getBlockLanguage-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function getBlockLanguage(block?: SFCBlock | null): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| block | <code><a href=\"#-vue-compiler-sfc-SFCBlock-interface\">SFCBlock</a> &#124; null</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-getContainingFile-function-1-\" id=\"-vuedx-vue-virtual-textdocument-getContainingFile-function-1-\"></a>\n\n### [getContainingFile](#-vuedx-vue-virtual-textdocument-getContainingFile-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function getContainingFile(fileName: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-getLanguageExtension-function-1-\" id=\"-vuedx-vue-virtual-textdocument-getLanguageExtension-function-1-\"></a>\n\n### [getLanguageExtension](#-vuedx-vue-virtual-textdocument-getLanguageExtension-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function getLanguageExtension(lang: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| lang | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-getLanguageIdFromExtension-function-1-\" id=\"-vuedx-vue-virtual-textdocument-getLanguageIdFromExtension-function-1-\"></a>\n\n### [getLanguageIdFromExtension](#-vuedx-vue-virtual-textdocument-getLanguageIdFromExtension-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function getLanguageIdFromExtension(ext: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| ext | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-isOffsetInBlock-function-1-\" id=\"-vuedx-vue-virtual-textdocument-isOffsetInBlock-function-1-\"></a>\n\n### [isOffsetInBlock](#-vuedx-vue-virtual-textdocument-isOffsetInBlock-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function isOffsetInBlock(offset: number, block?: SFCBlock | null): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n| block | <code><a href=\"#-vue-compiler-sfc-SFCBlock-interface\">SFCBlock</a> &#124; null</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-isVirtualFile-function-1-\" id=\"-vuedx-vue-virtual-textdocument-isVirtualFile-function-1-\"></a>\n\n### [isVirtualFile](#-vuedx-vue-virtual-textdocument-isVirtualFile-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function isVirtualFile(fileName: string): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-isVirtualFileOfType-function-1-\" id=\"-vuedx-vue-virtual-textdocument-isVirtualFileOfType-function-1-\"></a>\n\n### [isVirtualFileOfType](#-vuedx-vue-virtual-textdocument-isVirtualFileOfType-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function isVirtualFileOfType(fileName: string, type: '_render' | '_module' | '_internal' | 'script' | 'scriptSetup'): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n| type | <code>'_render' &#124; '_module' &#124; '_internal' &#124; 'script' &#124; 'scriptSetup'</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-isVueFile-function-1-\" id=\"-vuedx-vue-virtual-textdocument-isVueFile-function-1-\"></a>\n\n### [isVueFile](#-vuedx-vue-virtual-textdocument-isVueFile-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function isVueFile(fileName: string): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-parseVirtualFileName-function-1-\" id=\"-vuedx-vue-virtual-textdocument-parseVirtualFileName-function-1-\"></a>\n\n### [parseVirtualFileName](#-vuedx-vue-virtual-textdocument-parseVirtualFileName-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function parseVirtualFileName(fileName: string): {\n    uri: string;\n    selector: Selector;\n} | null;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-relativeVirtualImportPath-function-1-\" id=\"-vuedx-vue-virtual-textdocument-relativeVirtualImportPath-function-1-\"></a>\n\n### [relativeVirtualImportPath](#-vuedx-vue-virtual-textdocument-relativeVirtualImportPath-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function relativeVirtualImportPath(fileName: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-replaceSlashes-function-1-\" id=\"-vuedx-vue-virtual-textdocument-replaceSlashes-function-1-\"></a>\n\n### [replaceSlashes](#-vuedx-vue-virtual-textdocument-replaceSlashes-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function replaceSlashes(fileName: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n<!-- #region API-DOCS -->\n","readmeFilename":"readme.md","_id":"@vuedx/vue-virtual-textdocument@0.7.3-insiders-1623384696.0","_nodeVersion":"16.3.0","_npmVersion":"7.15.1","dist":{"integrity":"sha512-Dy4qj7TqeI4pBWhrC+YUed13LWwt+eVNTECVU8mSbjHvF/UAeFa76CTIucJSMSoV4LJekl5QwLscOMu878jmKA==","shasum":"16e24326e27ef8007f642aea6fc245dd83b47eab","tarball":"https://registry.npmjs.org/@vuedx/vue-virtual-textdocument/-/vue-virtual-textdocument-0.7.3-insiders-1623384696.0.tgz","fileCount":8,"unpackedSize":202412,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgwuKdCRA9TVsSAnZWagAA4qIP/1OoXl958fO38mQCvOj7\nRzQ8oEg2wXcBPvKI53L+rwkbF4OtM347y2d6qJ8XpRdaVZxPWIzPvMvucahP\nPabPsd4zLJ90T/1Io/CXCgO6Q3du2AI6mCBE2wf+QXONp/3i9w/kT+qT74X+\nXx/Veu8A9T0snUs9jceBJ+UhK8QNzun8DE1FBKLHwcEYgU4+MSBdgilwVYhX\nZbVBATiru8Lt9I18ZOWsC13gQC6lgqMP1M64tpoVk/jUhl1mbkiGuKXa3iEj\n5Q6fCQ4rOSBWwZ7f5bwCm9UC2JLJf4bpepTPLobYC3FjLCIRLTd1g1c1xqfX\nqPxSgBOvBD+gYzOWNCT2ETya1NU4/C2tzTkEI2sGsq2CKEBTC5FBurgzRiVU\nrnX0q8ImlqTsZUF73kHTtPbuV5Pq6wvzenfH0nvTkWvoM/R+hi3XkMlPMPdp\n29oIKUaCF1aNsynbYDIMsxT3uAYx0FegRPn1DxmG/mNEbVHOuTE/vqT4G/wS\nAj0I/1boxHOBR4NM1wJiVs5Y6t4XcKXj19LfHwlaoTuWh1ayneoQdUusuDd3\ng4zv7kjgYuSlsLYny7N3T56NuKrZyEm/5HDXW/gtQSPTgw1bdsZBAy/IhwXQ\nykgXLNDxtx/mgWjXtbOU3bE709vSNP7N1urvnFbXvMMOMiHEaroeQP0dlAs4\nrFtL\r\n=c+Wm\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIEBMjmUsEDeoKFRP/IwXVCqAfXY6R4ut5nNjAPIeRjKWAiEAwIdbAIb6n1ygWOSMCgxl0ObFNk+9IhsoDCNCUGK+IJE="}]},"_npmUser":{"name":"znck","email":"rahulkdn@gmail.com"},"directories":{},"maintainers":[{"name":"znck","email":"rahulkdn@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/vue-virtual-textdocument_0.7.3-insiders-1623384696.0_1623384732996_0.02402691383794342"},"_hasShrinkwrap":false},"0.7.3":{"name":"@vuedx/vue-virtual-textdocument","version":"0.7.3","description":"A virtual filesystem to access blocks in SFC as files","main":"lib/index.js","module":"lib/index.mjs","types":"lib/index.d.ts","publishConfig":{"types":"lib/index.d.ts"},"private":false,"keywords":["vue","vue sfc","sfc","vue virtual files"],"repository":{"type":"git","url":"git+https://github.com/znck/vue-developer-experience.git"},"author":{"name":"Rahul Kadyan","email":"rahulkdn@gmail.com","url":"https://znck.me/"},"funding":{"type":"individual","url":"https://github.com/sponsors/znck"},"license":"MIT","bugs":{"url":"https://github.com/znck/vue-developer-experience/issues"},"homepage":"https://github.com/znck/vue-developer-experience#readme","dependencies":{"@vuedx/analyze":"0.7.3","@vuedx/compiler-sfc":"0.7.1","@vuedx/compiler-tsx":"0.7.3","@vuedx/shared":"0.7.2","source-map":"^0.6.1","vscode-languageserver-textdocument":"^1.0.1","vscode-uri":"^2.1.2"},"devDependencies":{"fast-glob":"^3.2.4","typescript":"^4.0.3"},"scripts":{},"_id":"@vuedx/vue-virtual-textdocument@0.7.3","_nodeVersion":"16.3.0","_npmVersion":"7.15.1","dist":{"integrity":"sha512-/iK8VPnBopvh+Jy+4wi4qFaWisneCvkvCQyT5NOjCWSyiVfOE93g61T4QYGoj6ZKO/gXjggO2aT0gJwmIIZk0A==","shasum":"369f5e99f7aafedc34eabf9211d3ecd12d4357a4","tarball":"https://registry.npmjs.org/@vuedx/vue-virtual-textdocument/-/vue-virtual-textdocument-0.7.3.tgz","fileCount":8,"unpackedSize":202223,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgwuxoCRA9TVsSAnZWagAAllQP/jdGdb6JQX9sRVL9nAXl\n0FcrXdoWW3gSvDvU7H6uBHBVJMQAGjUpuodscML1VicLy3mDseE9bf2xeU4R\nKbGjYXmBnW4EacaiMuh6a+nTnN2ap427cBPyRgD5PhtXLXufbkVJtn7aolb5\nBIxZ5RZVbnSV8hSi+lG6gaQxYxIbJYCOnunWQ3lZ4ANzsyAPcCQOhX+woqVy\nY1iif7tLOmBYEKUk7IJf5rsCewA1b3yFTiWm3ZgZ/d9WephM5xG3/WGBFkke\nPcbrsENjts8xfEFdiFJtUneX+Sicw21XKWitnjcUYf07U+Ni4zkqnmL61avS\n5yeRBl/l8qaYfjvuPhbdEmsFE1zfS8yA6f0D+ockRkCfQWrJw9YBE1Lr+gTd\nEvZDzICw+Kx2aWis0z+G5dsriPAMSbQO8Djt3LAT2BqG2RO0osY6PHcMJmX3\nllu9qvw3okVgtjRXUzJXlPqWFk7Nuoo6m1OzpHO+aZPgIMjwVzwLtsKpTCDJ\nUe693/spFUKHsVWGkA5r8OB14+aYDCF5x8OzOtDg5UnPxFXzkI3bbuyfzU8r\niWV5iThOdNqClbvJdM797R6/GT+ftp2cRN8c+u+cUCISSzT+MqDiSolqbx0V\nOzsuE356i02hDqc8RDFsbOkcLND32scd9GNInN0nkxgNxWBb6Y7qFoKToqbp\nJiNJ\r\n=7qLu\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIF8EW++t1IWd4ASmOj6I2FyiSOF9zVFwOqT/SGS8ZQfuAiBiDnHuB411tESg/vJyi8DEB+dCB3+qHVC9ygT93VJxTw=="}]},"_npmUser":{"name":"znck","email":"rahulkdn@gmail.com"},"directories":{},"maintainers":[{"name":"znck","email":"rahulkdn@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/vue-virtual-textdocument_0.7.3_1623387240469_0.8152201574084932"},"_hasShrinkwrap":false},"0.7.4-insiders-1623387961.0":{"name":"@vuedx/vue-virtual-textdocument","version":"0.7.4-insiders-1623387961.0","description":"A virtual filesystem to access blocks in SFC as files","main":"lib/index.js","module":"lib/index.mjs","types":"lib/index.d.ts","publishConfig":{"types":"lib/index.d.ts"},"private":false,"keywords":["vue","vue sfc","sfc","vue virtual files"],"repository":{"type":"git","url":"git+https://github.com/znck/vue-developer-experience.git"},"author":{"name":"Rahul Kadyan","email":"rahulkdn@gmail.com","url":"https://znck.me/"},"funding":{"type":"individual","url":"https://github.com/sponsors/znck"},"license":"MIT","bugs":{"url":"https://github.com/znck/vue-developer-experience/issues"},"homepage":"https://github.com/znck/vue-developer-experience#readme","dependencies":{"@vuedx/analyze":"0.7.4-insiders-1623387961.0","@vuedx/compiler-sfc":"0.7.2-insiders-1623387961.0","@vuedx/compiler-tsx":"0.7.4-insiders-1623387961.0","@vuedx/shared":"0.7.3-insiders-1623387961.0","source-map":"^0.6.1","vscode-languageserver-textdocument":"^1.0.1","vscode-uri":"^2.1.2"},"devDependencies":{"fast-glob":"^3.2.4","typescript":"^4.0.3"},"scripts":{},"readme":"# Vue Virtual TextDocument\n\nAn implementation of virtual filesystem for accessing blocks in a `.vue` file as independent files.\n\n## Support\n\nThis package is part of [VueDX project](https://github.com/znck/vue-developer-experience), maintained by [Rahul Kadyan](https://github.com/znck). You can [💖 sponsor him](https://github.com/sponsors/znck) for continued development of this package and other VueDX tools.\n\n```\nnpm add @vuedx/vue-virtual-textdocument\n```\n<!-- #region API-DOCS -->\n<!-- Do not edit this file. It is a report generated by [scripts/docgen.js](https://github.com/znck/vue-developer-experience/tree/main/scripts/docgen.js). -->\n\n## API\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-AsyncDocumentStore-class\" id=\"-vuedx-vue-virtual-textdocument-AsyncDocumentStore-class\"></a>\n\n### [AsyncDocumentStore](#-vuedx-vue-virtual-textdocument-AsyncDocumentStore-class)\n\n\n\n<details><summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare class AsyncDocumentStore<T> extends DocumentStore<T> {\n  constructor(resolve: (uri: string) => T | Promise<T | null> | null, normalize?: (uri: string) => string);\n  get(uri: string): T | null;\n  get(uri: string): Promise<T | null>;\n}\n```\n\n**Members:**\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-AsyncDocumentStore-get-member-1-\" id=\"-vuedx-vue-virtual-textdocument-AsyncDocumentStore-get-member-1-\"></a>\n\n#### [get](#-vuedx-vue-virtual-textdocument-AsyncDocumentStore-get-member-1-)\n\n\n\n**Signature:**\n```ts\nget(uri: string): T | null;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-AsyncDocumentStore-get-member-2-\" id=\"-vuedx-vue-virtual-textdocument-AsyncDocumentStore-get-member-2-\"></a>\n\n#### [get](#-vuedx-vue-virtual-textdocument-AsyncDocumentStore-get-member-2-)\n\n\n\n**Signature:**\n```ts\nget(uri: string): Promise<T | null>;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n\n<br>\n</details>\n\n<br>\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-class\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-class\"></a>\n\n### [DocumentStore](#-vuedx-vue-virtual-textdocument-DocumentStore-class)\n\n\n\n<details><summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare class DocumentStore<T> {\n  constructor(resolve: (uri: string) => T | null, normalize?: (uri: string) => string);\n  all(): string[];\n  delete(uri: string): boolean;\n  dispose(): void;\n  get(uri: string): T | null;\n  protected getNormalizedUri(uri: string): string;\n  has(uri: string): boolean;\n  protected map: Map<string, T>;\n  normalize: (uri: string) => string;\n  protected resolve: (uri: string) => T | null;\n  protected reverseUriMap: Map<string, string>;\n  set(uri: string, document: T): void;\n}\n```\n\n**Members:**\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-all-member-1-\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-all-member-1-\"></a>\n\n#### [all](#-vuedx-vue-virtual-textdocument-DocumentStore-all-member-1-)\n\n\n\n**Signature:**\n```ts\nall(): string[];\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-delete-member-1-\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-delete-member-1-\"></a>\n\n#### [delete](#-vuedx-vue-virtual-textdocument-DocumentStore-delete-member-1-)\n\n\n\n**Signature:**\n```ts\ndelete(uri: string): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-dispose-member-1-\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-dispose-member-1-\"></a>\n\n#### [dispose](#-vuedx-vue-virtual-textdocument-DocumentStore-dispose-member-1-)\n\n\n\n**Signature:**\n```ts\ndispose(): void;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-get-member-1-\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-get-member-1-\"></a>\n\n#### [get](#-vuedx-vue-virtual-textdocument-DocumentStore-get-member-1-)\n\n\n\n**Signature:**\n```ts\nget(uri: string): T | null;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-getNormalizedUri-member-1-\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-getNormalizedUri-member-1-\"></a>\n\n#### [getNormalizedUri](#-vuedx-vue-virtual-textdocument-DocumentStore-getNormalizedUri-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected getNormalizedUri(uri: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-has-member-1-\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-has-member-1-\"></a>\n\n#### [has](#-vuedx-vue-virtual-textdocument-DocumentStore-has-member-1-)\n\n\n\n**Signature:**\n```ts\nhas(uri: string): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-set-member-1-\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-set-member-1-\"></a>\n\n#### [set](#-vuedx-vue-virtual-textdocument-DocumentStore-set-member-1-)\n\n\n\n**Signature:**\n```ts\nset(uri: string, document: T): void;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n| document | <code>T</code> | - |\n\n<br>\n</details>\n\n<br>\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-class\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-class\"></a>\n\n### [RenderFunctionTextDocument](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-class)\n\n\n\n<details><summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare class RenderFunctionTextDocument extends TransformedBlockTextDocument {\n  constructor(container: VueTextDocument, selector: Selector, transformed: TextDocument, source: TextDocument);\n  get ast(): CodegenResult['ast'] | undefined;\n  get contextCompletionsTriggerOffset(): number;\n  static create(options: CreateVirtualTextDocumentOptions): RenderFunctionTextDocument;\n  findExpression(offset: number, length: number): undefined | {\n        offset: number;\n        length: number;\n    };\n  protected generate(): string;\n  getAllGeneratedOffsetsAt(offset: number): undefined | Array<{\n        length: number;\n        offset: number;\n    }>;\n  getGeneratedOffsetAt(offset: number): undefined | {\n        length: number;\n        offset: number;\n    };\n  protected getKnownComponents(): Record<string, ComponentImport>;\n  getOriginalOffsetAt(offset: number): undefined | {\n        offset: number;\n        length: number;\n    };\n  isInGeneratedRange(offset: number): boolean;\n  isInTemplateIdentifierRange(offset: number): boolean;\n  get parserErrors(): CodegenResult['errors'];\n  get tagCompletionsTriggerOffset(): number;\n  toDisplayMappings(): string;\n  protected tryGenerate(): string;\n}\n```\n\n**Members:**\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-create-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-create-member-1-\"></a>\n\n#### [create](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-create-member-1-)\n\n\n\n**Signature:**\n```ts\nstatic create(options: CreateVirtualTextDocumentOptions): RenderFunctionTextDocument;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| options | <code><a href=\"#-vuedx-vue-virtual-textdocument--CreateVirtualTextDocumentOptions-interface\">CreateVirtualTextDocumentOptions</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-findExpression-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-findExpression-member-1-\"></a>\n\n#### [findExpression](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-findExpression-member-1-)\n\n\n\n**Signature:**\n```ts\nfindExpression(offset: number, length: number): undefined | {\n        offset: number;\n        length: number;\n    };\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n| length | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-generate-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-generate-member-1-\"></a>\n\n#### [generate](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-generate-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected generate(): string;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getAllGeneratedOffsetsAt-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getAllGeneratedOffsetsAt-member-1-\"></a>\n\n#### [getAllGeneratedOffsetsAt](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getAllGeneratedOffsetsAt-member-1-)\n\n\n\n**Signature:**\n```ts\ngetAllGeneratedOffsetsAt(offset: number): undefined | Array<{\n        length: number;\n        offset: number;\n    }>;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getGeneratedOffsetAt-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getGeneratedOffsetAt-member-1-\"></a>\n\n#### [getGeneratedOffsetAt](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getGeneratedOffsetAt-member-1-)\n\n\n\n**Signature:**\n```ts\ngetGeneratedOffsetAt(offset: number): undefined | {\n        length: number;\n        offset: number;\n    };\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getKnownComponents-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getKnownComponents-member-1-\"></a>\n\n#### [getKnownComponents](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getKnownComponents-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected getKnownComponents(): Record<string, ComponentImport>;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getOriginalOffsetAt-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getOriginalOffsetAt-member-1-\"></a>\n\n#### [getOriginalOffsetAt](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getOriginalOffsetAt-member-1-)\n\n\n\n**Signature:**\n```ts\ngetOriginalOffsetAt(offset: number): undefined | {\n        offset: number;\n        length: number;\n    };\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-isInGeneratedRange-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-isInGeneratedRange-member-1-\"></a>\n\n#### [isInGeneratedRange](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-isInGeneratedRange-member-1-)\n\n\n\n**Signature:**\n```ts\nisInGeneratedRange(offset: number): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-isInTemplateIdentifierRange-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-isInTemplateIdentifierRange-member-1-\"></a>\n\n#### [isInTemplateIdentifierRange](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-isInTemplateIdentifierRange-member-1-)\n\n\n\n**Signature:**\n```ts\nisInTemplateIdentifierRange(offset: number): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-toDisplayMappings-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-toDisplayMappings-member-1-\"></a>\n\n#### [toDisplayMappings](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-toDisplayMappings-member-1-)\n\n\n\n**Signature:**\n```ts\ntoDisplayMappings(): string;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-tryGenerate-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-tryGenerate-member-1-\"></a>\n\n#### [tryGenerate](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-tryGenerate-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected tryGenerate(): string;\n```\n\n\n<br>\n</details>\n\n<br>\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-class\" id=\"-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-class\"></a>\n\n### [TransformedBlockTextDocument](#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-class)\n\n\n\n<details><summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare class TransformedBlockTextDocument extends VirtualTextDocument {\n  protected constructor(container: VueTextDocument, selector: Selector, transformed: TextDocument, source: TextDocument | VirtualTextDocument, _transform: (document: TransformedBlockTextDocument) => BlockTransformResult);\n  static create(options: CreateTransformedBlockTextDocumentOptions): TransformedBlockTextDocument;\n  protected refresh(): void;\n  transform(): BlockTransformResult;\n  tryGetGeneratedOffset(offset: number): number | undefined;\n  tryGetSourceOffset(offset: number): number | undefined;\n}\n```\n\n**Members:**\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-create-member-1-\" id=\"-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-create-member-1-\"></a>\n\n#### [create](#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-create-member-1-)\n\n\n\n**Signature:**\n```ts\nstatic create(options: CreateTransformedBlockTextDocumentOptions): TransformedBlockTextDocument;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| options | <code><a href=\"#-vuedx-vue-virtual-textdocument--CreateTransformedBlockTextDocumentOptions-interface\">CreateTransformedBlockTextDocumentOptions</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-refresh-member-1-\" id=\"-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-refresh-member-1-\"></a>\n\n#### [refresh](#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-refresh-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected refresh(): void;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-transform-member-1-\" id=\"-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-transform-member-1-\"></a>\n\n#### [transform](#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-transform-member-1-)\n\n\n\n**Signature:**\n```ts\ntransform(): BlockTransformResult;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-tryGetGeneratedOffset-member-1-\" id=\"-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-tryGetGeneratedOffset-member-1-\"></a>\n\n#### [tryGetGeneratedOffset](#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-tryGetGeneratedOffset-member-1-)\n\n\n\n**Signature:**\n```ts\ntryGetGeneratedOffset(offset: number): number | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-tryGetSourceOffset-member-1-\" id=\"-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-tryGetSourceOffset-member-1-\"></a>\n\n#### [tryGetSourceOffset](#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-tryGetSourceOffset-member-1-)\n\n\n\n**Signature:**\n```ts\ntryGetSourceOffset(offset: number): number | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n</details>\n\n<br>\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VirtualTextDocument-class\" id=\"-vuedx-vue-virtual-textdocument-VirtualTextDocument-class\"></a>\n\n### [VirtualTextDocument](#-vuedx-vue-virtual-textdocument-VirtualTextDocument-class)\n\n\n\n<details><summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare class VirtualTextDocument extends ProxyTextDocument {\n  protected constructor(container: VueTextDocument, selector: Selector, doc: TextDocument);\n  readonly container: VueTextDocument;\n  static create(options: CreateVirtualTextDocumentOptions): VirtualTextDocument;\n  protected isDirty: boolean;\n  markDirty(): void;\n  protected refresh(): void;\n  readonly selector: Selector;\n}\n```\n\n**Members:**\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VirtualTextDocument-create-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VirtualTextDocument-create-member-1-\"></a>\n\n#### [create](#-vuedx-vue-virtual-textdocument-VirtualTextDocument-create-member-1-)\n\n\n\n**Signature:**\n```ts\nstatic create(options: CreateVirtualTextDocumentOptions): VirtualTextDocument;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| options | <code><a href=\"#-vuedx-vue-virtual-textdocument--CreateVirtualTextDocumentOptions-interface\">CreateVirtualTextDocumentOptions</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VirtualTextDocument-markDirty-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VirtualTextDocument-markDirty-member-1-\"></a>\n\n#### [markDirty](#-vuedx-vue-virtual-textdocument-VirtualTextDocument-markDirty-member-1-)\n\n\n\n**Signature:**\n```ts\nmarkDirty(): void;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VirtualTextDocument-refresh-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VirtualTextDocument-refresh-member-1-\"></a>\n\n#### [refresh](#-vuedx-vue-virtual-textdocument-VirtualTextDocument-refresh-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected refresh(): void;\n```\n\n\n<br>\n</details>\n\n<br>\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-class\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-class\"></a>\n\n### [VueTextDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-class)\n\n\n\n<details><summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare class VueTextDocument extends ProxyTextDocument {\n  constructor(doc: TextDocument, options?: VueTextDocumentOptions, parseOptions?: SFCParseOptions);\n  all(): VirtualTextDocument[];\n  blockAt(position: Position | number): SFCBlock | null | undefined;\n  static create(uri: string, languageId: string, version: number, content: string, options?: VueTextDocumentOptions, parseOptions?: SFCParseOptions): VueTextDocument;\n  protected createBlockDocument(selector: BlockSelector): VirtualTextDocument | undefined;\n  protected createInternalModuleDocument(): TransformedBlockTextDocument;\n  protected createModuleDocument(): TransformedBlockTextDocument;\n  protected createRenderDocument(): RenderFunctionTextDocument;\n  protected createTemplateASTDocument(): TransformedBlockTextDocument;\n  get descriptor(): SFCDescriptor;\n  documentAt(position: Position | number): VirtualTextDocument | undefined;\n  getBlock(selector: BlockSelector): SFCBlock | null | undefined;\n  getBlockSelector(block: SFCBlock): BlockSelector | undefined;\n  getDocument(selector: typeof RENDER_SELECTOR): RenderFunctionTextDocument;\n  getDocument(selector: SelectorLike): VirtualTextDocument;\n  getDocument(selector: string): VirtualTextDocument | undefined;\n  getDocumentFileName(selectorLike: SelectorLike): string;\n  protected getDocumentId(selector: Selector): string;\n  protected getDocumentLanguage(selector: Selector): string;\n  markDirty(): void;\n  readonly options: VueTextDocumentOptions;\n  protected parse(): void;\n  static update(document: VueTextDocument, changes: TextDocumentContentChangeEvent[], version: number): VueTextDocument;\n}\n```\n\n**Members:**\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-all-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-all-member-1-\"></a>\n\n#### [all](#-vuedx-vue-virtual-textdocument-VueTextDocument-all-member-1-)\n\n\n\n**Signature:**\n```ts\nall(): VirtualTextDocument[];\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-blockAt-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-blockAt-member-1-\"></a>\n\n#### [blockAt](#-vuedx-vue-virtual-textdocument-VueTextDocument-blockAt-member-1-)\n\n\n\n**Signature:**\n```ts\nblockAt(position: Position | number): SFCBlock | null | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| position | <code><a href=\"#vscode-languageserver-textdocument-Position-interface\">Position</a> &#124; number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-create-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-create-member-1-\"></a>\n\n#### [create](#-vuedx-vue-virtual-textdocument-VueTextDocument-create-member-1-)\n\n\n\n**Signature:**\n```ts\nstatic create(uri: string, languageId: string, version: number, content: string, options?: VueTextDocumentOptions, parseOptions?: SFCParseOptions): VueTextDocument;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n| languageId | <code>string</code> | - |\n| version | <code>number</code> | - |\n| content | <code>string</code> | - |\n| options | <code><a href=\"#-vuedx-vue-virtual-textdocument--VueTextDocumentOptions-interface\">VueTextDocumentOptions</a></code> | - |\n| parseOptions | <code><a href=\"#-vue-compiler-sfc-SFCParseOptions-interface\">SFCParseOptions</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-createBlockDocument-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-createBlockDocument-member-1-\"></a>\n\n#### [createBlockDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-createBlockDocument-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected createBlockDocument(selector: BlockSelector): VirtualTextDocument | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selector | <code><a href=\"#-vuedx-vue-virtual-textdocument--BlockSelector-type\">BlockSelector</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-createInternalModuleDocument-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-createInternalModuleDocument-member-1-\"></a>\n\n#### [createInternalModuleDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-createInternalModuleDocument-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected createInternalModuleDocument(): TransformedBlockTextDocument;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-createModuleDocument-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-createModuleDocument-member-1-\"></a>\n\n#### [createModuleDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-createModuleDocument-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected createModuleDocument(): TransformedBlockTextDocument;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-createRenderDocument-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-createRenderDocument-member-1-\"></a>\n\n#### [createRenderDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-createRenderDocument-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected createRenderDocument(): RenderFunctionTextDocument;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-createTemplateASTDocument-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-createTemplateASTDocument-member-1-\"></a>\n\n#### [createTemplateASTDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-createTemplateASTDocument-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected createTemplateASTDocument(): TransformedBlockTextDocument;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-documentAt-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-documentAt-member-1-\"></a>\n\n#### [documentAt](#-vuedx-vue-virtual-textdocument-VueTextDocument-documentAt-member-1-)\n\n\n\n**Signature:**\n```ts\ndocumentAt(position: Position | number): VirtualTextDocument | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| position | <code><a href=\"#vscode-languageserver-textdocument-Position-interface\">Position</a> &#124; number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getBlock-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getBlock-member-1-\"></a>\n\n#### [getBlock](#-vuedx-vue-virtual-textdocument-VueTextDocument-getBlock-member-1-)\n\n\n\n**Signature:**\n```ts\ngetBlock(selector: BlockSelector): SFCBlock | null | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selector | <code><a href=\"#-vuedx-vue-virtual-textdocument--BlockSelector-type\">BlockSelector</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getBlockSelector-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getBlockSelector-member-1-\"></a>\n\n#### [getBlockSelector](#-vuedx-vue-virtual-textdocument-VueTextDocument-getBlockSelector-member-1-)\n\n\n\n**Signature:**\n```ts\ngetBlockSelector(block: SFCBlock): BlockSelector | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| block | <code><a href=\"#-vue-compiler-sfc-SFCBlock-interface\">SFCBlock</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-1-\"></a>\n\n#### [getDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-1-)\n\n\n\n**Signature:**\n```ts\ngetDocument(selector: typeof RENDER_SELECTOR): RenderFunctionTextDocument;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selector | <code>typeof <a href=\"#-vuedx-vue-virtual-textdocument--RENDER-SELECTOR-var\">RENDER_SELECTOR</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-2-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-2-\"></a>\n\n#### [getDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-2-)\n\n\n\n**Signature:**\n```ts\ngetDocument(selector: SelectorLike): VirtualTextDocument;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selector | <code><a href=\"#-vuedx-vue-virtual-textdocument--SelectorLike-type\">SelectorLike</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-3-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-3-\"></a>\n\n#### [getDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-3-)\n\n\n\n**Signature:**\n```ts\ngetDocument(selector: string): VirtualTextDocument | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selector | <code>string</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentFileName-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentFileName-member-1-\"></a>\n\n#### [getDocumentFileName](#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentFileName-member-1-)\n\n\n\n**Signature:**\n```ts\ngetDocumentFileName(selectorLike: SelectorLike): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selectorLike | <code><a href=\"#-vuedx-vue-virtual-textdocument--SelectorLike-type\">SelectorLike</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentId-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentId-member-1-\"></a>\n\n#### [getDocumentId](#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentId-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected getDocumentId(selector: Selector): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selector | <code><a href=\"#-vuedx-vue-virtual-textdocument--Selector-type\">Selector</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentLanguage-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentLanguage-member-1-\"></a>\n\n#### [getDocumentLanguage](#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentLanguage-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected getDocumentLanguage(selector: Selector): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selector | <code><a href=\"#-vuedx-vue-virtual-textdocument--Selector-type\">Selector</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-markDirty-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-markDirty-member-1-\"></a>\n\n#### [markDirty](#-vuedx-vue-virtual-textdocument-VueTextDocument-markDirty-member-1-)\n\n\n\n**Signature:**\n```ts\nmarkDirty(): void;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-parse-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-parse-member-1-\"></a>\n\n#### [parse](#-vuedx-vue-virtual-textdocument-VueTextDocument-parse-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected parse(): void;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-update-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-update-member-1-\"></a>\n\n#### [update](#-vuedx-vue-virtual-textdocument-VueTextDocument-update-member-1-)\n\n\n\n**Signature:**\n```ts\nstatic update(document: VueTextDocument, changes: TextDocumentContentChangeEvent[], version: number): VueTextDocument;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| document | <code><a href=\"#-vuedx-vue-virtual-textdocument--VueTextDocument-class\">VueTextDocument</a></code> | - |\n| changes | <code><a href=\"#vscode-languageserver-textdocument-TextDocumentContentChangeEvent-type\">TextDocumentContentChangeEvent</a>[]</code> | - |\n| version | <code>number</code> | - |\n\n<br>\n</details>\n\n<br>\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-asFsPath-function-1-\" id=\"-vuedx-vue-virtual-textdocument-asFsPath-function-1-\"></a>\n\n### [asFsPath](#-vuedx-vue-virtual-textdocument-asFsPath-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function asFsPath(uri: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-asFsUri-function-1-\" id=\"-vuedx-vue-virtual-textdocument-asFsUri-function-1-\"></a>\n\n### [asFsUri](#-vuedx-vue-virtual-textdocument-asFsUri-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function asFsUri(fileName: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-asUri-function-1-\" id=\"-vuedx-vue-virtual-textdocument-asUri-function-1-\"></a>\n\n### [asUri](#-vuedx-vue-virtual-textdocument-asUri-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function asUri(fileNameOrUri: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileNameOrUri | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-basename-function-1-\" id=\"-vuedx-vue-virtual-textdocument-basename-function-1-\"></a>\n\n### [basename](#-vuedx-vue-virtual-textdocument-basename-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function basename(fileName: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-binarySearch-function-1-\" id=\"-vuedx-vue-virtual-textdocument-binarySearch-function-1-\"></a>\n\n### [binarySearch](#-vuedx-vue-virtual-textdocument-binarySearch-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function binarySearch<T>(array: T[], isMatch: (a: T) => number, returnMin?: boolean): T | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| array | <code>T[]</code> | - |\n| isMatch | <code>(a: T) => number</code> | - |\n| returnMin | <code>boolean</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-getBlockLanguage-function-1-\" id=\"-vuedx-vue-virtual-textdocument-getBlockLanguage-function-1-\"></a>\n\n### [getBlockLanguage](#-vuedx-vue-virtual-textdocument-getBlockLanguage-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function getBlockLanguage(block?: SFCBlock | null): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| block | <code><a href=\"#-vue-compiler-sfc-SFCBlock-interface\">SFCBlock</a> &#124; null</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-getContainingFile-function-1-\" id=\"-vuedx-vue-virtual-textdocument-getContainingFile-function-1-\"></a>\n\n### [getContainingFile](#-vuedx-vue-virtual-textdocument-getContainingFile-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function getContainingFile(fileName: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-getLanguageExtension-function-1-\" id=\"-vuedx-vue-virtual-textdocument-getLanguageExtension-function-1-\"></a>\n\n### [getLanguageExtension](#-vuedx-vue-virtual-textdocument-getLanguageExtension-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function getLanguageExtension(lang: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| lang | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-getLanguageIdFromExtension-function-1-\" id=\"-vuedx-vue-virtual-textdocument-getLanguageIdFromExtension-function-1-\"></a>\n\n### [getLanguageIdFromExtension](#-vuedx-vue-virtual-textdocument-getLanguageIdFromExtension-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function getLanguageIdFromExtension(ext: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| ext | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-isOffsetInBlock-function-1-\" id=\"-vuedx-vue-virtual-textdocument-isOffsetInBlock-function-1-\"></a>\n\n### [isOffsetInBlock](#-vuedx-vue-virtual-textdocument-isOffsetInBlock-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function isOffsetInBlock(offset: number, block?: SFCBlock | null): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n| block | <code><a href=\"#-vue-compiler-sfc-SFCBlock-interface\">SFCBlock</a> &#124; null</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-isVirtualFile-function-1-\" id=\"-vuedx-vue-virtual-textdocument-isVirtualFile-function-1-\"></a>\n\n### [isVirtualFile](#-vuedx-vue-virtual-textdocument-isVirtualFile-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function isVirtualFile(fileName: string): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-isVirtualFileOfType-function-1-\" id=\"-vuedx-vue-virtual-textdocument-isVirtualFileOfType-function-1-\"></a>\n\n### [isVirtualFileOfType](#-vuedx-vue-virtual-textdocument-isVirtualFileOfType-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function isVirtualFileOfType(fileName: string, type: '_render' | '_module' | '_internal' | 'script' | 'scriptSetup'): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n| type | <code>'_render' &#124; '_module' &#124; '_internal' &#124; 'script' &#124; 'scriptSetup'</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-isVueFile-function-1-\" id=\"-vuedx-vue-virtual-textdocument-isVueFile-function-1-\"></a>\n\n### [isVueFile](#-vuedx-vue-virtual-textdocument-isVueFile-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function isVueFile(fileName: string): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-parseVirtualFileName-function-1-\" id=\"-vuedx-vue-virtual-textdocument-parseVirtualFileName-function-1-\"></a>\n\n### [parseVirtualFileName](#-vuedx-vue-virtual-textdocument-parseVirtualFileName-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function parseVirtualFileName(fileName: string): {\n    uri: string;\n    selector: Selector;\n} | null;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-relativeVirtualImportPath-function-1-\" id=\"-vuedx-vue-virtual-textdocument-relativeVirtualImportPath-function-1-\"></a>\n\n### [relativeVirtualImportPath](#-vuedx-vue-virtual-textdocument-relativeVirtualImportPath-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function relativeVirtualImportPath(fileName: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-replaceSlashes-function-1-\" id=\"-vuedx-vue-virtual-textdocument-replaceSlashes-function-1-\"></a>\n\n### [replaceSlashes](#-vuedx-vue-virtual-textdocument-replaceSlashes-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function replaceSlashes(fileName: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n<!-- #region API-DOCS -->\n","readmeFilename":"readme.md","_id":"@vuedx/vue-virtual-textdocument@0.7.4-insiders-1623387961.0","_nodeVersion":"16.3.0","_npmVersion":"7.15.1","dist":{"integrity":"sha512-wl78fngCWOQ4cxYPNJd7LmFBEiE0Eg0WNkJXIwkBvL5vvfSf87Pl8jPDhQo6QlU9vdb62HqTzurXOg/DbQ3iQg==","shasum":"e0b163de5e865d9ad1722e797e2e376e1b50737c","tarball":"https://registry.npmjs.org/@vuedx/vue-virtual-textdocument/-/vue-virtual-textdocument-0.7.4-insiders-1623387961.0.tgz","fileCount":8,"unpackedSize":202333,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgwu9aCRA9TVsSAnZWagAALasP/3xxzMzf3sBZxl06Vjw3\nKOnsYu2ZfTcngjKS4ou84pvzoFfmm1gXTy0Hj/1egakdip+PFHVE8GXC54VI\nNZiyVVE1O4LKN0Nt/pkzPODXtjt8U5EAMDkDtuXpKIXEH963cHIhGQPgglFe\nYK0IN+qozhLVhTkOz621m8Qnjr84RAKpEJOi98e2YRXcwpSCBrv1SC6OycSk\np+I8g9TlNpOfPQvxwAM6Pl3O3XDuqK7NRkSi4ipsQBoy3HwRPHU9hXnxjyNy\nui4ejODjEW8Xz3EsAjifWwawLKBcvw52wrNCYaSRUMiTs4nkyqktwQtPn90K\n4EywJAdDVDJFVNC8QBNuNTMP034bciqupVnFbtp1cb2SisPm9s80Mg1TROfY\nTa/UHj9S6L4Os2IIGpLksQ0EN6t0qudtndHzCmUw6V2UwQ8JALtKm5z93t+w\nVGEcLvNzfXLKpnbgLGUVH7/3Q+GCL+x5gYlsd6gRNZRKo9/OQoDczIw0pzN1\noaNHBVbE3u8QvRQQni40QLpT4wNQM6qJDhthMEtgahXibM7bGzoWwtUG+HxD\ntwUR3IqkGOcQUvv37UKnvaeyznzdZzH7TvGw65TCQbuqNs/K42Y3mGgVcizH\nNSsiAwOFYKpPHzIQ+63GgljbSACSVwXj1IFTF4ka5pfPr47fIjc8b9wkjxZf\nT8XU\r\n=rvz5\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCID4suIq8rMvapJ/ad+typj7y0G24+iS3m70gIA7Zsma+AiEA5ZSotjmVocGx+6VD6mRIvIY3srkwAAE0IirjQY8VP4o="}]},"_npmUser":{"name":"znck","email":"rahulkdn@gmail.com"},"directories":{},"maintainers":[{"name":"znck","email":"rahulkdn@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/vue-virtual-textdocument_0.7.4-insiders-1623387961.0_1623387994700_0.055650923833389765"},"_hasShrinkwrap":false},"0.7.5-insiders-1623390917.0":{"name":"@vuedx/vue-virtual-textdocument","version":"0.7.5-insiders-1623390917.0","description":"A virtual filesystem to access blocks in SFC as files","main":"lib/index.js","module":"lib/index.mjs","types":"lib/index.d.ts","publishConfig":{"types":"lib/index.d.ts"},"private":false,"keywords":["vue","vue sfc","sfc","vue virtual files"],"repository":{"type":"git","url":"git+https://github.com/znck/vue-developer-experience.git"},"author":{"name":"Rahul Kadyan","email":"rahulkdn@gmail.com","url":"https://znck.me/"},"funding":{"type":"individual","url":"https://github.com/sponsors/znck"},"license":"MIT","bugs":{"url":"https://github.com/znck/vue-developer-experience/issues"},"homepage":"https://github.com/znck/vue-developer-experience#readme","dependencies":{"@vuedx/analyze":"0.7.5-insiders-1623390917.0","@vuedx/compiler-sfc":"0.7.2-insiders-1623390917.0","@vuedx/compiler-tsx":"0.7.5-insiders-1623390917.0","@vuedx/shared":"0.7.4-insiders-1623390917.0","source-map":"^0.6.1","vscode-languageserver-textdocument":"^1.0.1","vscode-uri":"^2.1.2"},"devDependencies":{"fast-glob":"^3.2.4","typescript":"^4.0.3"},"scripts":{},"readme":"# Vue Virtual TextDocument\n\nAn implementation of virtual filesystem for accessing blocks in a `.vue` file as independent files.\n\n## Support\n\nThis package is part of [VueDX project](https://github.com/znck/vue-developer-experience), maintained by [Rahul Kadyan](https://github.com/znck). You can [💖 sponsor him](https://github.com/sponsors/znck) for continued development of this package and other VueDX tools.\n\n```\nnpm add @vuedx/vue-virtual-textdocument\n```\n<!-- #region API-DOCS -->\n<!-- Do not edit this file. It is a report generated by [scripts/docgen.js](https://github.com/znck/vue-developer-experience/tree/main/scripts/docgen.js). -->\n\n## API\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-AsyncDocumentStore-class\" id=\"-vuedx-vue-virtual-textdocument-AsyncDocumentStore-class\"></a>\n\n### [AsyncDocumentStore](#-vuedx-vue-virtual-textdocument-AsyncDocumentStore-class)\n\n\n\n<details><summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare class AsyncDocumentStore<T> extends DocumentStore<T> {\n  constructor(resolve: (uri: string) => T | Promise<T | null> | null, normalize?: (uri: string) => string);\n  get(uri: string): T | null;\n  get(uri: string): Promise<T | null>;\n}\n```\n\n**Members:**\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-AsyncDocumentStore-get-member-1-\" id=\"-vuedx-vue-virtual-textdocument-AsyncDocumentStore-get-member-1-\"></a>\n\n#### [get](#-vuedx-vue-virtual-textdocument-AsyncDocumentStore-get-member-1-)\n\n\n\n**Signature:**\n```ts\nget(uri: string): T | null;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-AsyncDocumentStore-get-member-2-\" id=\"-vuedx-vue-virtual-textdocument-AsyncDocumentStore-get-member-2-\"></a>\n\n#### [get](#-vuedx-vue-virtual-textdocument-AsyncDocumentStore-get-member-2-)\n\n\n\n**Signature:**\n```ts\nget(uri: string): Promise<T | null>;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n\n<br>\n</details>\n\n<br>\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-class\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-class\"></a>\n\n### [DocumentStore](#-vuedx-vue-virtual-textdocument-DocumentStore-class)\n\n\n\n<details><summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare class DocumentStore<T> {\n  constructor(resolve: (uri: string) => T | null, normalize?: (uri: string) => string);\n  all(): string[];\n  delete(uri: string): boolean;\n  dispose(): void;\n  get(uri: string): T | null;\n  protected getNormalizedUri(uri: string): string;\n  has(uri: string): boolean;\n  protected map: Map<string, T>;\n  normalize: (uri: string) => string;\n  protected resolve: (uri: string) => T | null;\n  protected reverseUriMap: Map<string, string>;\n  set(uri: string, document: T): void;\n}\n```\n\n**Members:**\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-all-member-1-\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-all-member-1-\"></a>\n\n#### [all](#-vuedx-vue-virtual-textdocument-DocumentStore-all-member-1-)\n\n\n\n**Signature:**\n```ts\nall(): string[];\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-delete-member-1-\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-delete-member-1-\"></a>\n\n#### [delete](#-vuedx-vue-virtual-textdocument-DocumentStore-delete-member-1-)\n\n\n\n**Signature:**\n```ts\ndelete(uri: string): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-dispose-member-1-\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-dispose-member-1-\"></a>\n\n#### [dispose](#-vuedx-vue-virtual-textdocument-DocumentStore-dispose-member-1-)\n\n\n\n**Signature:**\n```ts\ndispose(): void;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-get-member-1-\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-get-member-1-\"></a>\n\n#### [get](#-vuedx-vue-virtual-textdocument-DocumentStore-get-member-1-)\n\n\n\n**Signature:**\n```ts\nget(uri: string): T | null;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-getNormalizedUri-member-1-\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-getNormalizedUri-member-1-\"></a>\n\n#### [getNormalizedUri](#-vuedx-vue-virtual-textdocument-DocumentStore-getNormalizedUri-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected getNormalizedUri(uri: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-has-member-1-\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-has-member-1-\"></a>\n\n#### [has](#-vuedx-vue-virtual-textdocument-DocumentStore-has-member-1-)\n\n\n\n**Signature:**\n```ts\nhas(uri: string): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-set-member-1-\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-set-member-1-\"></a>\n\n#### [set](#-vuedx-vue-virtual-textdocument-DocumentStore-set-member-1-)\n\n\n\n**Signature:**\n```ts\nset(uri: string, document: T): void;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n| document | <code>T</code> | - |\n\n<br>\n</details>\n\n<br>\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-class\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-class\"></a>\n\n### [RenderFunctionTextDocument](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-class)\n\n\n\n<details><summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare class RenderFunctionTextDocument extends TransformedBlockTextDocument {\n  constructor(container: VueTextDocument, selector: Selector, transformed: TextDocument, source: TextDocument);\n  get ast(): CodegenResult['ast'] | undefined;\n  get contextCompletionsTriggerOffset(): number;\n  static create(options: CreateVirtualTextDocumentOptions): RenderFunctionTextDocument;\n  findExpression(offset: number, length: number): undefined | {\n        offset: number;\n        length: number;\n    };\n  protected generate(): string;\n  getAllGeneratedOffsetsAt(offset: number): undefined | Array<{\n        length: number;\n        offset: number;\n    }>;\n  getGeneratedOffsetAt(offset: number): undefined | {\n        length: number;\n        offset: number;\n    };\n  protected getKnownComponents(): Record<string, ComponentImport>;\n  getOriginalOffsetAt(offset: number): undefined | {\n        offset: number;\n        length: number;\n    };\n  isInGeneratedRange(offset: number): boolean;\n  isInTemplateIdentifierRange(offset: number): boolean;\n  get parserErrors(): CodegenResult['errors'];\n  get tagCompletionsTriggerOffset(): number;\n  toDisplayMappings(): string;\n  protected tryGenerate(): string;\n}\n```\n\n**Members:**\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-create-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-create-member-1-\"></a>\n\n#### [create](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-create-member-1-)\n\n\n\n**Signature:**\n```ts\nstatic create(options: CreateVirtualTextDocumentOptions): RenderFunctionTextDocument;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| options | <code><a href=\"#-vuedx-vue-virtual-textdocument--CreateVirtualTextDocumentOptions-interface\">CreateVirtualTextDocumentOptions</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-findExpression-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-findExpression-member-1-\"></a>\n\n#### [findExpression](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-findExpression-member-1-)\n\n\n\n**Signature:**\n```ts\nfindExpression(offset: number, length: number): undefined | {\n        offset: number;\n        length: number;\n    };\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n| length | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-generate-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-generate-member-1-\"></a>\n\n#### [generate](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-generate-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected generate(): string;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getAllGeneratedOffsetsAt-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getAllGeneratedOffsetsAt-member-1-\"></a>\n\n#### [getAllGeneratedOffsetsAt](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getAllGeneratedOffsetsAt-member-1-)\n\n\n\n**Signature:**\n```ts\ngetAllGeneratedOffsetsAt(offset: number): undefined | Array<{\n        length: number;\n        offset: number;\n    }>;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getGeneratedOffsetAt-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getGeneratedOffsetAt-member-1-\"></a>\n\n#### [getGeneratedOffsetAt](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getGeneratedOffsetAt-member-1-)\n\n\n\n**Signature:**\n```ts\ngetGeneratedOffsetAt(offset: number): undefined | {\n        length: number;\n        offset: number;\n    };\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getKnownComponents-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getKnownComponents-member-1-\"></a>\n\n#### [getKnownComponents](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getKnownComponents-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected getKnownComponents(): Record<string, ComponentImport>;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getOriginalOffsetAt-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getOriginalOffsetAt-member-1-\"></a>\n\n#### [getOriginalOffsetAt](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getOriginalOffsetAt-member-1-)\n\n\n\n**Signature:**\n```ts\ngetOriginalOffsetAt(offset: number): undefined | {\n        offset: number;\n        length: number;\n    };\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-isInGeneratedRange-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-isInGeneratedRange-member-1-\"></a>\n\n#### [isInGeneratedRange](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-isInGeneratedRange-member-1-)\n\n\n\n**Signature:**\n```ts\nisInGeneratedRange(offset: number): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-isInTemplateIdentifierRange-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-isInTemplateIdentifierRange-member-1-\"></a>\n\n#### [isInTemplateIdentifierRange](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-isInTemplateIdentifierRange-member-1-)\n\n\n\n**Signature:**\n```ts\nisInTemplateIdentifierRange(offset: number): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-toDisplayMappings-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-toDisplayMappings-member-1-\"></a>\n\n#### [toDisplayMappings](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-toDisplayMappings-member-1-)\n\n\n\n**Signature:**\n```ts\ntoDisplayMappings(): string;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-tryGenerate-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-tryGenerate-member-1-\"></a>\n\n#### [tryGenerate](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-tryGenerate-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected tryGenerate(): string;\n```\n\n\n<br>\n</details>\n\n<br>\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-class\" id=\"-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-class\"></a>\n\n### [TransformedBlockTextDocument](#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-class)\n\n\n\n<details><summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare class TransformedBlockTextDocument extends VirtualTextDocument {\n  protected constructor(container: VueTextDocument, selector: Selector, transformed: TextDocument, source: TextDocument | VirtualTextDocument, _transform: (document: TransformedBlockTextDocument) => BlockTransformResult);\n  static create(options: CreateTransformedBlockTextDocumentOptions): TransformedBlockTextDocument;\n  protected refresh(): void;\n  transform(): BlockTransformResult;\n  tryGetGeneratedOffset(offset: number): number | undefined;\n  tryGetSourceOffset(offset: number): number | undefined;\n}\n```\n\n**Members:**\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-create-member-1-\" id=\"-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-create-member-1-\"></a>\n\n#### [create](#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-create-member-1-)\n\n\n\n**Signature:**\n```ts\nstatic create(options: CreateTransformedBlockTextDocumentOptions): TransformedBlockTextDocument;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| options | <code><a href=\"#-vuedx-vue-virtual-textdocument--CreateTransformedBlockTextDocumentOptions-interface\">CreateTransformedBlockTextDocumentOptions</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-refresh-member-1-\" id=\"-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-refresh-member-1-\"></a>\n\n#### [refresh](#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-refresh-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected refresh(): void;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-transform-member-1-\" id=\"-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-transform-member-1-\"></a>\n\n#### [transform](#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-transform-member-1-)\n\n\n\n**Signature:**\n```ts\ntransform(): BlockTransformResult;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-tryGetGeneratedOffset-member-1-\" id=\"-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-tryGetGeneratedOffset-member-1-\"></a>\n\n#### [tryGetGeneratedOffset](#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-tryGetGeneratedOffset-member-1-)\n\n\n\n**Signature:**\n```ts\ntryGetGeneratedOffset(offset: number): number | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-tryGetSourceOffset-member-1-\" id=\"-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-tryGetSourceOffset-member-1-\"></a>\n\n#### [tryGetSourceOffset](#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-tryGetSourceOffset-member-1-)\n\n\n\n**Signature:**\n```ts\ntryGetSourceOffset(offset: number): number | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n</details>\n\n<br>\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VirtualTextDocument-class\" id=\"-vuedx-vue-virtual-textdocument-VirtualTextDocument-class\"></a>\n\n### [VirtualTextDocument](#-vuedx-vue-virtual-textdocument-VirtualTextDocument-class)\n\n\n\n<details><summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare class VirtualTextDocument extends ProxyTextDocument {\n  protected constructor(container: VueTextDocument, selector: Selector, doc: TextDocument);\n  readonly container: VueTextDocument;\n  static create(options: CreateVirtualTextDocumentOptions): VirtualTextDocument;\n  protected isDirty: boolean;\n  markDirty(): void;\n  protected refresh(): void;\n  readonly selector: Selector;\n}\n```\n\n**Members:**\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VirtualTextDocument-create-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VirtualTextDocument-create-member-1-\"></a>\n\n#### [create](#-vuedx-vue-virtual-textdocument-VirtualTextDocument-create-member-1-)\n\n\n\n**Signature:**\n```ts\nstatic create(options: CreateVirtualTextDocumentOptions): VirtualTextDocument;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| options | <code><a href=\"#-vuedx-vue-virtual-textdocument--CreateVirtualTextDocumentOptions-interface\">CreateVirtualTextDocumentOptions</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VirtualTextDocument-markDirty-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VirtualTextDocument-markDirty-member-1-\"></a>\n\n#### [markDirty](#-vuedx-vue-virtual-textdocument-VirtualTextDocument-markDirty-member-1-)\n\n\n\n**Signature:**\n```ts\nmarkDirty(): void;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VirtualTextDocument-refresh-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VirtualTextDocument-refresh-member-1-\"></a>\n\n#### [refresh](#-vuedx-vue-virtual-textdocument-VirtualTextDocument-refresh-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected refresh(): void;\n```\n\n\n<br>\n</details>\n\n<br>\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-class\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-class\"></a>\n\n### [VueTextDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-class)\n\n\n\n<details><summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare class VueTextDocument extends ProxyTextDocument {\n  constructor(doc: TextDocument, options?: VueTextDocumentOptions, parseOptions?: SFCParseOptions);\n  all(): VirtualTextDocument[];\n  blockAt(position: Position | number): SFCBlock | null | undefined;\n  static create(uri: string, languageId: string, version: number, content: string, options?: VueTextDocumentOptions, parseOptions?: SFCParseOptions): VueTextDocument;\n  protected createBlockDocument(selector: BlockSelector): VirtualTextDocument | undefined;\n  protected createInternalModuleDocument(): TransformedBlockTextDocument;\n  protected createModuleDocument(): TransformedBlockTextDocument;\n  protected createRenderDocument(): RenderFunctionTextDocument;\n  protected createTemplateASTDocument(): TransformedBlockTextDocument;\n  get descriptor(): SFCDescriptor;\n  documentAt(position: Position | number): VirtualTextDocument | undefined;\n  getBlock(selector: BlockSelector): SFCBlock | null | undefined;\n  getBlockSelector(block: SFCBlock): BlockSelector | undefined;\n  getDocument(selector: typeof RENDER_SELECTOR): RenderFunctionTextDocument;\n  getDocument(selector: SelectorLike): VirtualTextDocument;\n  getDocument(selector: string): VirtualTextDocument | undefined;\n  getDocumentFileName(selectorLike: SelectorLike): string;\n  protected getDocumentId(selector: Selector): string;\n  protected getDocumentLanguage(selector: Selector): string;\n  markDirty(): void;\n  readonly options: VueTextDocumentOptions;\n  protected parse(): void;\n  static update(document: VueTextDocument, changes: TextDocumentContentChangeEvent[], version: number): VueTextDocument;\n}\n```\n\n**Members:**\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-all-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-all-member-1-\"></a>\n\n#### [all](#-vuedx-vue-virtual-textdocument-VueTextDocument-all-member-1-)\n\n\n\n**Signature:**\n```ts\nall(): VirtualTextDocument[];\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-blockAt-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-blockAt-member-1-\"></a>\n\n#### [blockAt](#-vuedx-vue-virtual-textdocument-VueTextDocument-blockAt-member-1-)\n\n\n\n**Signature:**\n```ts\nblockAt(position: Position | number): SFCBlock | null | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| position | <code><a href=\"#vscode-languageserver-textdocument-Position-interface\">Position</a> &#124; number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-create-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-create-member-1-\"></a>\n\n#### [create](#-vuedx-vue-virtual-textdocument-VueTextDocument-create-member-1-)\n\n\n\n**Signature:**\n```ts\nstatic create(uri: string, languageId: string, version: number, content: string, options?: VueTextDocumentOptions, parseOptions?: SFCParseOptions): VueTextDocument;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n| languageId | <code>string</code> | - |\n| version | <code>number</code> | - |\n| content | <code>string</code> | - |\n| options | <code><a href=\"#-vuedx-vue-virtual-textdocument--VueTextDocumentOptions-interface\">VueTextDocumentOptions</a></code> | - |\n| parseOptions | <code><a href=\"#-vue-compiler-sfc-SFCParseOptions-interface\">SFCParseOptions</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-createBlockDocument-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-createBlockDocument-member-1-\"></a>\n\n#### [createBlockDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-createBlockDocument-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected createBlockDocument(selector: BlockSelector): VirtualTextDocument | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selector | <code><a href=\"#-vuedx-vue-virtual-textdocument--BlockSelector-type\">BlockSelector</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-createInternalModuleDocument-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-createInternalModuleDocument-member-1-\"></a>\n\n#### [createInternalModuleDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-createInternalModuleDocument-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected createInternalModuleDocument(): TransformedBlockTextDocument;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-createModuleDocument-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-createModuleDocument-member-1-\"></a>\n\n#### [createModuleDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-createModuleDocument-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected createModuleDocument(): TransformedBlockTextDocument;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-createRenderDocument-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-createRenderDocument-member-1-\"></a>\n\n#### [createRenderDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-createRenderDocument-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected createRenderDocument(): RenderFunctionTextDocument;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-createTemplateASTDocument-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-createTemplateASTDocument-member-1-\"></a>\n\n#### [createTemplateASTDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-createTemplateASTDocument-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected createTemplateASTDocument(): TransformedBlockTextDocument;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-documentAt-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-documentAt-member-1-\"></a>\n\n#### [documentAt](#-vuedx-vue-virtual-textdocument-VueTextDocument-documentAt-member-1-)\n\n\n\n**Signature:**\n```ts\ndocumentAt(position: Position | number): VirtualTextDocument | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| position | <code><a href=\"#vscode-languageserver-textdocument-Position-interface\">Position</a> &#124; number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getBlock-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getBlock-member-1-\"></a>\n\n#### [getBlock](#-vuedx-vue-virtual-textdocument-VueTextDocument-getBlock-member-1-)\n\n\n\n**Signature:**\n```ts\ngetBlock(selector: BlockSelector): SFCBlock | null | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selector | <code><a href=\"#-vuedx-vue-virtual-textdocument--BlockSelector-type\">BlockSelector</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getBlockSelector-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getBlockSelector-member-1-\"></a>\n\n#### [getBlockSelector](#-vuedx-vue-virtual-textdocument-VueTextDocument-getBlockSelector-member-1-)\n\n\n\n**Signature:**\n```ts\ngetBlockSelector(block: SFCBlock): BlockSelector | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| block | <code><a href=\"#-vue-compiler-sfc-SFCBlock-interface\">SFCBlock</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-1-\"></a>\n\n#### [getDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-1-)\n\n\n\n**Signature:**\n```ts\ngetDocument(selector: typeof RENDER_SELECTOR): RenderFunctionTextDocument;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selector | <code>typeof <a href=\"#-vuedx-vue-virtual-textdocument--RENDER-SELECTOR-var\">RENDER_SELECTOR</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-2-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-2-\"></a>\n\n#### [getDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-2-)\n\n\n\n**Signature:**\n```ts\ngetDocument(selector: SelectorLike): VirtualTextDocument;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selector | <code><a href=\"#-vuedx-vue-virtual-textdocument--SelectorLike-type\">SelectorLike</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-3-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-3-\"></a>\n\n#### [getDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-3-)\n\n\n\n**Signature:**\n```ts\ngetDocument(selector: string): VirtualTextDocument | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selector | <code>string</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentFileName-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentFileName-member-1-\"></a>\n\n#### [getDocumentFileName](#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentFileName-member-1-)\n\n\n\n**Signature:**\n```ts\ngetDocumentFileName(selectorLike: SelectorLike): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selectorLike | <code><a href=\"#-vuedx-vue-virtual-textdocument--SelectorLike-type\">SelectorLike</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentId-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentId-member-1-\"></a>\n\n#### [getDocumentId](#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentId-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected getDocumentId(selector: Selector): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selector | <code><a href=\"#-vuedx-vue-virtual-textdocument--Selector-type\">Selector</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentLanguage-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentLanguage-member-1-\"></a>\n\n#### [getDocumentLanguage](#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentLanguage-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected getDocumentLanguage(selector: Selector): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selector | <code><a href=\"#-vuedx-vue-virtual-textdocument--Selector-type\">Selector</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-markDirty-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-markDirty-member-1-\"></a>\n\n#### [markDirty](#-vuedx-vue-virtual-textdocument-VueTextDocument-markDirty-member-1-)\n\n\n\n**Signature:**\n```ts\nmarkDirty(): void;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-parse-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-parse-member-1-\"></a>\n\n#### [parse](#-vuedx-vue-virtual-textdocument-VueTextDocument-parse-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected parse(): void;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-update-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-update-member-1-\"></a>\n\n#### [update](#-vuedx-vue-virtual-textdocument-VueTextDocument-update-member-1-)\n\n\n\n**Signature:**\n```ts\nstatic update(document: VueTextDocument, changes: TextDocumentContentChangeEvent[], version: number): VueTextDocument;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| document | <code><a href=\"#-vuedx-vue-virtual-textdocument--VueTextDocument-class\">VueTextDocument</a></code> | - |\n| changes | <code><a href=\"#vscode-languageserver-textdocument-TextDocumentContentChangeEvent-type\">TextDocumentContentChangeEvent</a>[]</code> | - |\n| version | <code>number</code> | - |\n\n<br>\n</details>\n\n<br>\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-asFsPath-function-1-\" id=\"-vuedx-vue-virtual-textdocument-asFsPath-function-1-\"></a>\n\n### [asFsPath](#-vuedx-vue-virtual-textdocument-asFsPath-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function asFsPath(uri: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-asFsUri-function-1-\" id=\"-vuedx-vue-virtual-textdocument-asFsUri-function-1-\"></a>\n\n### [asFsUri](#-vuedx-vue-virtual-textdocument-asFsUri-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function asFsUri(fileName: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-asUri-function-1-\" id=\"-vuedx-vue-virtual-textdocument-asUri-function-1-\"></a>\n\n### [asUri](#-vuedx-vue-virtual-textdocument-asUri-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function asUri(fileNameOrUri: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileNameOrUri | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-basename-function-1-\" id=\"-vuedx-vue-virtual-textdocument-basename-function-1-\"></a>\n\n### [basename](#-vuedx-vue-virtual-textdocument-basename-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function basename(fileName: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-binarySearch-function-1-\" id=\"-vuedx-vue-virtual-textdocument-binarySearch-function-1-\"></a>\n\n### [binarySearch](#-vuedx-vue-virtual-textdocument-binarySearch-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function binarySearch<T>(array: T[], isMatch: (a: T) => number, returnMin?: boolean): T | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| array | <code>T[]</code> | - |\n| isMatch | <code>(a: T) => number</code> | - |\n| returnMin | <code>boolean</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-getBlockLanguage-function-1-\" id=\"-vuedx-vue-virtual-textdocument-getBlockLanguage-function-1-\"></a>\n\n### [getBlockLanguage](#-vuedx-vue-virtual-textdocument-getBlockLanguage-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function getBlockLanguage(block?: SFCBlock | null): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| block | <code><a href=\"#-vue-compiler-sfc-SFCBlock-interface\">SFCBlock</a> &#124; null</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-getContainingFile-function-1-\" id=\"-vuedx-vue-virtual-textdocument-getContainingFile-function-1-\"></a>\n\n### [getContainingFile](#-vuedx-vue-virtual-textdocument-getContainingFile-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function getContainingFile(fileName: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-getLanguageExtension-function-1-\" id=\"-vuedx-vue-virtual-textdocument-getLanguageExtension-function-1-\"></a>\n\n### [getLanguageExtension](#-vuedx-vue-virtual-textdocument-getLanguageExtension-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function getLanguageExtension(lang: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| lang | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-getLanguageIdFromExtension-function-1-\" id=\"-vuedx-vue-virtual-textdocument-getLanguageIdFromExtension-function-1-\"></a>\n\n### [getLanguageIdFromExtension](#-vuedx-vue-virtual-textdocument-getLanguageIdFromExtension-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function getLanguageIdFromExtension(ext: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| ext | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-isOffsetInBlock-function-1-\" id=\"-vuedx-vue-virtual-textdocument-isOffsetInBlock-function-1-\"></a>\n\n### [isOffsetInBlock](#-vuedx-vue-virtual-textdocument-isOffsetInBlock-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function isOffsetInBlock(offset: number, block?: SFCBlock | null): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n| block | <code><a href=\"#-vue-compiler-sfc-SFCBlock-interface\">SFCBlock</a> &#124; null</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-isVirtualFile-function-1-\" id=\"-vuedx-vue-virtual-textdocument-isVirtualFile-function-1-\"></a>\n\n### [isVirtualFile](#-vuedx-vue-virtual-textdocument-isVirtualFile-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function isVirtualFile(fileName: string): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-isVirtualFileOfType-function-1-\" id=\"-vuedx-vue-virtual-textdocument-isVirtualFileOfType-function-1-\"></a>\n\n### [isVirtualFileOfType](#-vuedx-vue-virtual-textdocument-isVirtualFileOfType-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function isVirtualFileOfType(fileName: string, type: '_render' | '_module' | '_internal' | 'script' | 'scriptSetup'): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n| type | <code>'_render' &#124; '_module' &#124; '_internal' &#124; 'script' &#124; 'scriptSetup'</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-isVueFile-function-1-\" id=\"-vuedx-vue-virtual-textdocument-isVueFile-function-1-\"></a>\n\n### [isVueFile](#-vuedx-vue-virtual-textdocument-isVueFile-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function isVueFile(fileName: string): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-parseVirtualFileName-function-1-\" id=\"-vuedx-vue-virtual-textdocument-parseVirtualFileName-function-1-\"></a>\n\n### [parseVirtualFileName](#-vuedx-vue-virtual-textdocument-parseVirtualFileName-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function parseVirtualFileName(fileName: string): {\n    uri: string;\n    selector: Selector;\n} | null;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-relativeVirtualImportPath-function-1-\" id=\"-vuedx-vue-virtual-textdocument-relativeVirtualImportPath-function-1-\"></a>\n\n### [relativeVirtualImportPath](#-vuedx-vue-virtual-textdocument-relativeVirtualImportPath-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function relativeVirtualImportPath(fileName: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-replaceSlashes-function-1-\" id=\"-vuedx-vue-virtual-textdocument-replaceSlashes-function-1-\"></a>\n\n### [replaceSlashes](#-vuedx-vue-virtual-textdocument-replaceSlashes-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function replaceSlashes(fileName: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n<!-- #region API-DOCS -->\n","readmeFilename":"readme.md","_id":"@vuedx/vue-virtual-textdocument@0.7.5-insiders-1623390917.0","_nodeVersion":"16.3.0","_npmVersion":"7.15.1","dist":{"integrity":"sha512-dIJBSvPleufmZVbtpIPymMxxIwDu19Q1gq8NSAM/Byq5W4TV05MhXMbYBF2iyZM8wGzWnLbu4szOv23I+qPehA==","shasum":"f062442f2985773d4d50ff7fd4924817b4ebe1c6","tarball":"https://registry.npmjs.org/@vuedx/vue-virtual-textdocument/-/vue-virtual-textdocument-0.7.5-insiders-1623390917.0.tgz","fileCount":8,"unpackedSize":202333,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgwvrlCRA9TVsSAnZWagAAJAoP/iVTa9ScxyKUXJQYmVhm\nkqhcrfqWw6erpENlrX3y2Xr2gWKYG6DWt4NjvP5xoESAsiUCuwBS8/K66aZQ\nXm78DJmaC+ryhA46IGADwHTwtaO0RacACLyzI+vSJNdzZOfTnDXntVRrTKOa\nTcVzQ7FXUjtkh39zKsGBpU04tzaTD9cOlexxSCWDAkIGSS4R5GQQ0v1G1UXw\neNO6PjsdRA21h/hs4fG7SVdY1J72g25pHPF74QdQ/Me8jw8kfZ9anW4QP57n\niM6+PkIVRi0frFzs31qHJEFXc5Qc8QazKdhJCQItNN/rVHafmL7oPUK4jMlC\nsBcN3VL92e/Zes0kFsxIe1Mpk5mYy9tZTYTGk072f1SK9ctSXuUMzMn1grX+\neE+tYegG+IiZa8B3VtngvJ+tac9k/pQXZqHBx7nFgBjwpACtbWwemUkipGeJ\nqVr8O+fYfnfTDn/bte+ziuxseCaCWi9Rx25TmFs3RqTqHkPhwM5LEkz+SeRu\nxSS5z16jXzHVq66EP3WNw6YqTOPXNS3ZFLD0+bGWiTzs/4L+8AD7klVWjILc\nKJIUe3jGKdD/dKi8agcgutGR94/wHo2j+PNoZ7HjDfdDQ3CjW4QY8wRzzwic\nz7QtAH5EaOAnHGV5TcGYyOuTJl3lFqR7WEKTwDEpQ8NPHxSHgse4OviJqnaJ\nLUM8\r\n=huVb\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIFb4DbtkkyL48oLHa/DLeiuEpSiZkULaT2Zi6cvB/CwZAiEAm1WqVwTKZ3IlqAnfrOI+3U8u4Ao4oGIdC5x5xnvseDQ="}]},"_npmUser":{"name":"znck","email":"rahulkdn@gmail.com"},"directories":{},"maintainers":[{"name":"znck","email":"rahulkdn@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/vue-virtual-textdocument_0.7.5-insiders-1623390917.0_1623390949073_0.3859388734812419"},"_hasShrinkwrap":false},"0.7.4":{"name":"@vuedx/vue-virtual-textdocument","version":"0.7.4","description":"A virtual filesystem to access blocks in SFC as files","main":"lib/index.js","module":"lib/index.mjs","types":"lib/index.d.ts","publishConfig":{"types":"lib/index.d.ts"},"private":false,"keywords":["vue","vue sfc","sfc","vue virtual files"],"repository":{"type":"git","url":"git+https://github.com/znck/vue-developer-experience.git"},"author":{"name":"Rahul Kadyan","email":"rahulkdn@gmail.com","url":"https://znck.me/"},"funding":{"type":"individual","url":"https://github.com/sponsors/znck"},"license":"MIT","bugs":{"url":"https://github.com/znck/vue-developer-experience/issues"},"homepage":"https://github.com/znck/vue-developer-experience#readme","dependencies":{"@vuedx/analyze":"0.7.4","@vuedx/compiler-sfc":"0.7.1","@vuedx/compiler-tsx":"0.7.4","@vuedx/shared":"0.7.3","source-map":"^0.6.1","vscode-languageserver-textdocument":"^1.0.1","vscode-uri":"^2.1.2"},"devDependencies":{"fast-glob":"^3.2.4","typescript":"^4.0.3"},"scripts":{},"_id":"@vuedx/vue-virtual-textdocument@0.7.4","_nodeVersion":"16.3.0","_npmVersion":"7.15.1","dist":{"integrity":"sha512-U1uuEfV6LAuH50ephTcHiJJTuHB3CAn9bBt6/DIlEaYs5mrni8W+Xvxsb3VfOhYo0TSDAgSucA//gHNPtVXwow==","shasum":"cc8c2eb902e12653e3bc1599c9c9e6fe92d5ad8b","tarball":"https://registry.npmjs.org/@vuedx/vue-virtual-textdocument/-/vue-virtual-textdocument-0.7.4.tgz","fileCount":8,"unpackedSize":202223,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgwvx4CRA9TVsSAnZWagAA6sMP/RH23N1AlXTuFpPLlo7C\nn9JqXGjhctzYQv1Rpn+z4nUYVoVQSBLlzLx8H8CeA+rdTz6T8ezIwMsel6K0\nw3QB6z4Tprx6gW8w+WCIZg14VRs3cK+j3co/OvGVa88po962UIp5arRSD8R1\nazH06DF0oWoXIooPVW7YgZ7FNW98qsD1kVu/3XDtL3S0VTZGSoHcPmUrguxS\nQXE5hvYvAkyACxgcqxAAB1jQsSXBwkSQI1pxogyzyDAzgbtS9FRHUUQlJD5z\nxAVZamWZOHTH1SES6gX6BhQPykwHwDSMSFksC2NFTmZOGiO+6F4zrPHr231l\n5G35C2qYEaISAHrZK7fLYXgMc+d2L2oIR2YkQS9IRHyYLCFDtoScVBqv/2BY\nun/EuTT8Pv6L8nvMm2TT1y609BxjaQQxyppGNw8VzdBse6Df6GAQ1D57ovWn\nXKdFkBiT0LcmEd5/32ww2tWaklXPYXuLP1YrBOe8m4SkCPBE7QfC1/FlgMfn\n0Ik7w6KKxwXs/g+ZWqXHejvkEo4Cj+5xCZfbdDztOiWzcKxuwPTdIJkTLr7p\noWONR7r1DdNfL5TiM/P+mgUUzTvGdk10ZutHOSFfI2OgiPbcIAbUBcshUjSI\nHHWvZRMIj8cwrmRX72OT0tUeGDdwIPpe+15/YxMoq+EPKV4ZVRRJhY4vFaPE\noU2e\r\n=wfld\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQD9C0ABdbz3FTMdUl+Xhf2SuTKUXaK0KU5echteuHp+XgIgOkq0Ruo+T7IefyNzbrebR71rx90E3x8IHt1SXyI+D4M="}]},"_npmUser":{"name":"znck","email":"rahulkdn@gmail.com"},"directories":{},"maintainers":[{"name":"znck","email":"rahulkdn@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/vue-virtual-textdocument_0.7.4_1623391352866_0.3106584221803226"},"_hasShrinkwrap":false},"0.7.5-insiders-1623394946.0":{"name":"@vuedx/vue-virtual-textdocument","version":"0.7.5-insiders-1623394946.0","description":"A virtual filesystem to access blocks in SFC as files","main":"lib/index.js","module":"lib/index.mjs","types":"lib/index.d.ts","publishConfig":{"types":"lib/index.d.ts"},"private":false,"keywords":["vue","vue sfc","sfc","vue virtual files"],"repository":{"type":"git","url":"git+https://github.com/znck/vue-developer-experience.git"},"author":{"name":"Rahul Kadyan","email":"rahulkdn@gmail.com","url":"https://znck.me/"},"funding":{"type":"individual","url":"https://github.com/sponsors/znck"},"license":"MIT","bugs":{"url":"https://github.com/znck/vue-developer-experience/issues"},"homepage":"https://github.com/znck/vue-developer-experience#readme","dependencies":{"@vuedx/analyze":"0.7.5-insiders-1623394946.0","@vuedx/compiler-sfc":"0.7.2-insiders-1623394946.0","@vuedx/compiler-tsx":"0.7.5-insiders-1623394946.0","@vuedx/shared":"0.7.4-insiders-1623394946.0","source-map":"^0.6.1","vscode-languageserver-textdocument":"^1.0.1","vscode-uri":"^2.1.2"},"devDependencies":{"fast-glob":"^3.2.4","typescript":"^4.0.3"},"scripts":{},"readme":"# Vue Virtual TextDocument\n\nAn implementation of virtual filesystem for accessing blocks in a `.vue` file as independent files.\n\n## Support\n\nThis package is part of [VueDX project](https://github.com/znck/vue-developer-experience), maintained by [Rahul Kadyan](https://github.com/znck). You can [💖 sponsor him](https://github.com/sponsors/znck) for continued development of this package and other VueDX tools.\n\n```\nnpm add @vuedx/vue-virtual-textdocument\n```\n<!-- #region API-DOCS -->\n<!-- Do not edit this file. It is a report generated by [scripts/docgen.js](https://github.com/znck/vue-developer-experience/tree/main/scripts/docgen.js). -->\n\n## API\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-AsyncDocumentStore-class\" id=\"-vuedx-vue-virtual-textdocument-AsyncDocumentStore-class\"></a>\n\n### [AsyncDocumentStore](#-vuedx-vue-virtual-textdocument-AsyncDocumentStore-class)\n\n\n\n<details><summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare class AsyncDocumentStore<T> extends DocumentStore<T> {\n  constructor(resolve: (uri: string) => T | Promise<T | null> | null, normalize?: (uri: string) => string);\n  get(uri: string): T | null;\n  get(uri: string): Promise<T | null>;\n}\n```\n\n**Members:**\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-AsyncDocumentStore-get-member-1-\" id=\"-vuedx-vue-virtual-textdocument-AsyncDocumentStore-get-member-1-\"></a>\n\n#### [get](#-vuedx-vue-virtual-textdocument-AsyncDocumentStore-get-member-1-)\n\n\n\n**Signature:**\n```ts\nget(uri: string): T | null;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-AsyncDocumentStore-get-member-2-\" id=\"-vuedx-vue-virtual-textdocument-AsyncDocumentStore-get-member-2-\"></a>\n\n#### [get](#-vuedx-vue-virtual-textdocument-AsyncDocumentStore-get-member-2-)\n\n\n\n**Signature:**\n```ts\nget(uri: string): Promise<T | null>;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n\n<br>\n</details>\n\n<br>\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-class\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-class\"></a>\n\n### [DocumentStore](#-vuedx-vue-virtual-textdocument-DocumentStore-class)\n\n\n\n<details><summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare class DocumentStore<T> {\n  constructor(resolve: (uri: string) => T | null, normalize?: (uri: string) => string);\n  all(): string[];\n  delete(uri: string): boolean;\n  dispose(): void;\n  get(uri: string): T | null;\n  protected getNormalizedUri(uri: string): string;\n  has(uri: string): boolean;\n  protected map: Map<string, T>;\n  normalize: (uri: string) => string;\n  protected resolve: (uri: string) => T | null;\n  protected reverseUriMap: Map<string, string>;\n  set(uri: string, document: T): void;\n}\n```\n\n**Members:**\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-all-member-1-\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-all-member-1-\"></a>\n\n#### [all](#-vuedx-vue-virtual-textdocument-DocumentStore-all-member-1-)\n\n\n\n**Signature:**\n```ts\nall(): string[];\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-delete-member-1-\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-delete-member-1-\"></a>\n\n#### [delete](#-vuedx-vue-virtual-textdocument-DocumentStore-delete-member-1-)\n\n\n\n**Signature:**\n```ts\ndelete(uri: string): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-dispose-member-1-\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-dispose-member-1-\"></a>\n\n#### [dispose](#-vuedx-vue-virtual-textdocument-DocumentStore-dispose-member-1-)\n\n\n\n**Signature:**\n```ts\ndispose(): void;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-get-member-1-\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-get-member-1-\"></a>\n\n#### [get](#-vuedx-vue-virtual-textdocument-DocumentStore-get-member-1-)\n\n\n\n**Signature:**\n```ts\nget(uri: string): T | null;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-getNormalizedUri-member-1-\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-getNormalizedUri-member-1-\"></a>\n\n#### [getNormalizedUri](#-vuedx-vue-virtual-textdocument-DocumentStore-getNormalizedUri-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected getNormalizedUri(uri: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-has-member-1-\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-has-member-1-\"></a>\n\n#### [has](#-vuedx-vue-virtual-textdocument-DocumentStore-has-member-1-)\n\n\n\n**Signature:**\n```ts\nhas(uri: string): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-set-member-1-\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-set-member-1-\"></a>\n\n#### [set](#-vuedx-vue-virtual-textdocument-DocumentStore-set-member-1-)\n\n\n\n**Signature:**\n```ts\nset(uri: string, document: T): void;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n| document | <code>T</code> | - |\n\n<br>\n</details>\n\n<br>\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-class\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-class\"></a>\n\n### [RenderFunctionTextDocument](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-class)\n\n\n\n<details><summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare class RenderFunctionTextDocument extends TransformedBlockTextDocument {\n  constructor(container: VueTextDocument, selector: Selector, transformed: TextDocument, source: TextDocument);\n  get ast(): CodegenResult['ast'] | undefined;\n  get contextCompletionsTriggerOffset(): number;\n  static create(options: CreateVirtualTextDocumentOptions): RenderFunctionTextDocument;\n  findExpression(offset: number, length: number): undefined | {\n        offset: number;\n        length: number;\n    };\n  protected generate(): string;\n  getAllGeneratedOffsetsAt(offset: number): undefined | Array<{\n        length: number;\n        offset: number;\n    }>;\n  getGeneratedOffsetAt(offset: number): undefined | {\n        length: number;\n        offset: number;\n    };\n  protected getKnownComponents(): Record<string, ComponentImport>;\n  getOriginalOffsetAt(offset: number): undefined | {\n        offset: number;\n        length: number;\n    };\n  isInGeneratedRange(offset: number): boolean;\n  isInTemplateIdentifierRange(offset: number): boolean;\n  get parserErrors(): CodegenResult['errors'];\n  get tagCompletionsTriggerOffset(): number;\n  toDisplayMappings(): string;\n  protected tryGenerate(): string;\n}\n```\n\n**Members:**\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-create-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-create-member-1-\"></a>\n\n#### [create](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-create-member-1-)\n\n\n\n**Signature:**\n```ts\nstatic create(options: CreateVirtualTextDocumentOptions): RenderFunctionTextDocument;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| options | <code><a href=\"#-vuedx-vue-virtual-textdocument--CreateVirtualTextDocumentOptions-interface\">CreateVirtualTextDocumentOptions</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-findExpression-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-findExpression-member-1-\"></a>\n\n#### [findExpression](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-findExpression-member-1-)\n\n\n\n**Signature:**\n```ts\nfindExpression(offset: number, length: number): undefined | {\n        offset: number;\n        length: number;\n    };\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n| length | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-generate-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-generate-member-1-\"></a>\n\n#### [generate](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-generate-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected generate(): string;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getAllGeneratedOffsetsAt-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getAllGeneratedOffsetsAt-member-1-\"></a>\n\n#### [getAllGeneratedOffsetsAt](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getAllGeneratedOffsetsAt-member-1-)\n\n\n\n**Signature:**\n```ts\ngetAllGeneratedOffsetsAt(offset: number): undefined | Array<{\n        length: number;\n        offset: number;\n    }>;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getGeneratedOffsetAt-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getGeneratedOffsetAt-member-1-\"></a>\n\n#### [getGeneratedOffsetAt](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getGeneratedOffsetAt-member-1-)\n\n\n\n**Signature:**\n```ts\ngetGeneratedOffsetAt(offset: number): undefined | {\n        length: number;\n        offset: number;\n    };\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getKnownComponents-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getKnownComponents-member-1-\"></a>\n\n#### [getKnownComponents](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getKnownComponents-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected getKnownComponents(): Record<string, ComponentImport>;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getOriginalOffsetAt-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getOriginalOffsetAt-member-1-\"></a>\n\n#### [getOriginalOffsetAt](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getOriginalOffsetAt-member-1-)\n\n\n\n**Signature:**\n```ts\ngetOriginalOffsetAt(offset: number): undefined | {\n        offset: number;\n        length: number;\n    };\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-isInGeneratedRange-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-isInGeneratedRange-member-1-\"></a>\n\n#### [isInGeneratedRange](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-isInGeneratedRange-member-1-)\n\n\n\n**Signature:**\n```ts\nisInGeneratedRange(offset: number): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-isInTemplateIdentifierRange-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-isInTemplateIdentifierRange-member-1-\"></a>\n\n#### [isInTemplateIdentifierRange](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-isInTemplateIdentifierRange-member-1-)\n\n\n\n**Signature:**\n```ts\nisInTemplateIdentifierRange(offset: number): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-toDisplayMappings-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-toDisplayMappings-member-1-\"></a>\n\n#### [toDisplayMappings](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-toDisplayMappings-member-1-)\n\n\n\n**Signature:**\n```ts\ntoDisplayMappings(): string;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-tryGenerate-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-tryGenerate-member-1-\"></a>\n\n#### [tryGenerate](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-tryGenerate-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected tryGenerate(): string;\n```\n\n\n<br>\n</details>\n\n<br>\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-class\" id=\"-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-class\"></a>\n\n### [TransformedBlockTextDocument](#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-class)\n\n\n\n<details><summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare class TransformedBlockTextDocument extends VirtualTextDocument {\n  protected constructor(container: VueTextDocument, selector: Selector, transformed: TextDocument, source: TextDocument | VirtualTextDocument, _transform: (document: TransformedBlockTextDocument) => BlockTransformResult);\n  static create(options: CreateTransformedBlockTextDocumentOptions): TransformedBlockTextDocument;\n  protected refresh(): void;\n  transform(): BlockTransformResult;\n  tryGetGeneratedOffset(offset: number): number | undefined;\n  tryGetSourceOffset(offset: number): number | undefined;\n}\n```\n\n**Members:**\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-create-member-1-\" id=\"-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-create-member-1-\"></a>\n\n#### [create](#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-create-member-1-)\n\n\n\n**Signature:**\n```ts\nstatic create(options: CreateTransformedBlockTextDocumentOptions): TransformedBlockTextDocument;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| options | <code><a href=\"#-vuedx-vue-virtual-textdocument--CreateTransformedBlockTextDocumentOptions-interface\">CreateTransformedBlockTextDocumentOptions</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-refresh-member-1-\" id=\"-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-refresh-member-1-\"></a>\n\n#### [refresh](#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-refresh-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected refresh(): void;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-transform-member-1-\" id=\"-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-transform-member-1-\"></a>\n\n#### [transform](#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-transform-member-1-)\n\n\n\n**Signature:**\n```ts\ntransform(): BlockTransformResult;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-tryGetGeneratedOffset-member-1-\" id=\"-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-tryGetGeneratedOffset-member-1-\"></a>\n\n#### [tryGetGeneratedOffset](#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-tryGetGeneratedOffset-member-1-)\n\n\n\n**Signature:**\n```ts\ntryGetGeneratedOffset(offset: number): number | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-tryGetSourceOffset-member-1-\" id=\"-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-tryGetSourceOffset-member-1-\"></a>\n\n#### [tryGetSourceOffset](#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-tryGetSourceOffset-member-1-)\n\n\n\n**Signature:**\n```ts\ntryGetSourceOffset(offset: number): number | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n</details>\n\n<br>\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VirtualTextDocument-class\" id=\"-vuedx-vue-virtual-textdocument-VirtualTextDocument-class\"></a>\n\n### [VirtualTextDocument](#-vuedx-vue-virtual-textdocument-VirtualTextDocument-class)\n\n\n\n<details><summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare class VirtualTextDocument extends ProxyTextDocument {\n  protected constructor(container: VueTextDocument, selector: Selector, doc: TextDocument);\n  readonly container: VueTextDocument;\n  static create(options: CreateVirtualTextDocumentOptions): VirtualTextDocument;\n  protected isDirty: boolean;\n  markDirty(): void;\n  protected refresh(): void;\n  readonly selector: Selector;\n}\n```\n\n**Members:**\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VirtualTextDocument-create-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VirtualTextDocument-create-member-1-\"></a>\n\n#### [create](#-vuedx-vue-virtual-textdocument-VirtualTextDocument-create-member-1-)\n\n\n\n**Signature:**\n```ts\nstatic create(options: CreateVirtualTextDocumentOptions): VirtualTextDocument;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| options | <code><a href=\"#-vuedx-vue-virtual-textdocument--CreateVirtualTextDocumentOptions-interface\">CreateVirtualTextDocumentOptions</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VirtualTextDocument-markDirty-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VirtualTextDocument-markDirty-member-1-\"></a>\n\n#### [markDirty](#-vuedx-vue-virtual-textdocument-VirtualTextDocument-markDirty-member-1-)\n\n\n\n**Signature:**\n```ts\nmarkDirty(): void;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VirtualTextDocument-refresh-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VirtualTextDocument-refresh-member-1-\"></a>\n\n#### [refresh](#-vuedx-vue-virtual-textdocument-VirtualTextDocument-refresh-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected refresh(): void;\n```\n\n\n<br>\n</details>\n\n<br>\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-class\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-class\"></a>\n\n### [VueTextDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-class)\n\n\n\n<details><summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare class VueTextDocument extends ProxyTextDocument {\n  constructor(doc: TextDocument, options?: VueTextDocumentOptions, parseOptions?: SFCParseOptions);\n  all(): VirtualTextDocument[];\n  blockAt(position: Position | number): SFCBlock | null | undefined;\n  static create(uri: string, languageId: string, version: number, content: string, options?: VueTextDocumentOptions, parseOptions?: SFCParseOptions): VueTextDocument;\n  protected createBlockDocument(selector: BlockSelector): VirtualTextDocument | undefined;\n  protected createInternalModuleDocument(): TransformedBlockTextDocument;\n  protected createModuleDocument(): TransformedBlockTextDocument;\n  protected createRenderDocument(): RenderFunctionTextDocument;\n  protected createTemplateASTDocument(): TransformedBlockTextDocument;\n  get descriptor(): SFCDescriptor;\n  documentAt(position: Position | number): VirtualTextDocument | undefined;\n  getBlock(selector: BlockSelector): SFCBlock | null | undefined;\n  getBlockSelector(block: SFCBlock): BlockSelector | undefined;\n  getDocument(selector: typeof RENDER_SELECTOR): RenderFunctionTextDocument;\n  getDocument(selector: SelectorLike): VirtualTextDocument;\n  getDocument(selector: string): VirtualTextDocument | undefined;\n  getDocumentFileName(selectorLike: SelectorLike): string;\n  protected getDocumentId(selector: Selector): string;\n  protected getDocumentLanguage(selector: Selector): string;\n  markDirty(): void;\n  readonly options: VueTextDocumentOptions;\n  protected parse(): void;\n  static update(document: VueTextDocument, changes: TextDocumentContentChangeEvent[], version: number): VueTextDocument;\n}\n```\n\n**Members:**\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-all-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-all-member-1-\"></a>\n\n#### [all](#-vuedx-vue-virtual-textdocument-VueTextDocument-all-member-1-)\n\n\n\n**Signature:**\n```ts\nall(): VirtualTextDocument[];\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-blockAt-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-blockAt-member-1-\"></a>\n\n#### [blockAt](#-vuedx-vue-virtual-textdocument-VueTextDocument-blockAt-member-1-)\n\n\n\n**Signature:**\n```ts\nblockAt(position: Position | number): SFCBlock | null | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| position | <code><a href=\"#vscode-languageserver-textdocument-Position-interface\">Position</a> &#124; number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-create-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-create-member-1-\"></a>\n\n#### [create](#-vuedx-vue-virtual-textdocument-VueTextDocument-create-member-1-)\n\n\n\n**Signature:**\n```ts\nstatic create(uri: string, languageId: string, version: number, content: string, options?: VueTextDocumentOptions, parseOptions?: SFCParseOptions): VueTextDocument;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n| languageId | <code>string</code> | - |\n| version | <code>number</code> | - |\n| content | <code>string</code> | - |\n| options | <code><a href=\"#-vuedx-vue-virtual-textdocument--VueTextDocumentOptions-interface\">VueTextDocumentOptions</a></code> | - |\n| parseOptions | <code><a href=\"#-vue-compiler-sfc-SFCParseOptions-interface\">SFCParseOptions</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-createBlockDocument-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-createBlockDocument-member-1-\"></a>\n\n#### [createBlockDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-createBlockDocument-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected createBlockDocument(selector: BlockSelector): VirtualTextDocument | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selector | <code><a href=\"#-vuedx-vue-virtual-textdocument--BlockSelector-type\">BlockSelector</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-createInternalModuleDocument-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-createInternalModuleDocument-member-1-\"></a>\n\n#### [createInternalModuleDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-createInternalModuleDocument-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected createInternalModuleDocument(): TransformedBlockTextDocument;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-createModuleDocument-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-createModuleDocument-member-1-\"></a>\n\n#### [createModuleDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-createModuleDocument-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected createModuleDocument(): TransformedBlockTextDocument;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-createRenderDocument-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-createRenderDocument-member-1-\"></a>\n\n#### [createRenderDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-createRenderDocument-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected createRenderDocument(): RenderFunctionTextDocument;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-createTemplateASTDocument-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-createTemplateASTDocument-member-1-\"></a>\n\n#### [createTemplateASTDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-createTemplateASTDocument-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected createTemplateASTDocument(): TransformedBlockTextDocument;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-documentAt-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-documentAt-member-1-\"></a>\n\n#### [documentAt](#-vuedx-vue-virtual-textdocument-VueTextDocument-documentAt-member-1-)\n\n\n\n**Signature:**\n```ts\ndocumentAt(position: Position | number): VirtualTextDocument | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| position | <code><a href=\"#vscode-languageserver-textdocument-Position-interface\">Position</a> &#124; number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getBlock-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getBlock-member-1-\"></a>\n\n#### [getBlock](#-vuedx-vue-virtual-textdocument-VueTextDocument-getBlock-member-1-)\n\n\n\n**Signature:**\n```ts\ngetBlock(selector: BlockSelector): SFCBlock | null | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selector | <code><a href=\"#-vuedx-vue-virtual-textdocument--BlockSelector-type\">BlockSelector</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getBlockSelector-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getBlockSelector-member-1-\"></a>\n\n#### [getBlockSelector](#-vuedx-vue-virtual-textdocument-VueTextDocument-getBlockSelector-member-1-)\n\n\n\n**Signature:**\n```ts\ngetBlockSelector(block: SFCBlock): BlockSelector | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| block | <code><a href=\"#-vue-compiler-sfc-SFCBlock-interface\">SFCBlock</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-1-\"></a>\n\n#### [getDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-1-)\n\n\n\n**Signature:**\n```ts\ngetDocument(selector: typeof RENDER_SELECTOR): RenderFunctionTextDocument;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selector | <code>typeof <a href=\"#-vuedx-vue-virtual-textdocument--RENDER-SELECTOR-var\">RENDER_SELECTOR</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-2-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-2-\"></a>\n\n#### [getDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-2-)\n\n\n\n**Signature:**\n```ts\ngetDocument(selector: SelectorLike): VirtualTextDocument;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selector | <code><a href=\"#-vuedx-vue-virtual-textdocument--SelectorLike-type\">SelectorLike</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-3-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-3-\"></a>\n\n#### [getDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-3-)\n\n\n\n**Signature:**\n```ts\ngetDocument(selector: string): VirtualTextDocument | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selector | <code>string</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentFileName-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentFileName-member-1-\"></a>\n\n#### [getDocumentFileName](#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentFileName-member-1-)\n\n\n\n**Signature:**\n```ts\ngetDocumentFileName(selectorLike: SelectorLike): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selectorLike | <code><a href=\"#-vuedx-vue-virtual-textdocument--SelectorLike-type\">SelectorLike</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentId-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentId-member-1-\"></a>\n\n#### [getDocumentId](#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentId-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected getDocumentId(selector: Selector): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selector | <code><a href=\"#-vuedx-vue-virtual-textdocument--Selector-type\">Selector</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentLanguage-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentLanguage-member-1-\"></a>\n\n#### [getDocumentLanguage](#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentLanguage-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected getDocumentLanguage(selector: Selector): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selector | <code><a href=\"#-vuedx-vue-virtual-textdocument--Selector-type\">Selector</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-markDirty-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-markDirty-member-1-\"></a>\n\n#### [markDirty](#-vuedx-vue-virtual-textdocument-VueTextDocument-markDirty-member-1-)\n\n\n\n**Signature:**\n```ts\nmarkDirty(): void;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-parse-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-parse-member-1-\"></a>\n\n#### [parse](#-vuedx-vue-virtual-textdocument-VueTextDocument-parse-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected parse(): void;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-update-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-update-member-1-\"></a>\n\n#### [update](#-vuedx-vue-virtual-textdocument-VueTextDocument-update-member-1-)\n\n\n\n**Signature:**\n```ts\nstatic update(document: VueTextDocument, changes: TextDocumentContentChangeEvent[], version: number): VueTextDocument;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| document | <code><a href=\"#-vuedx-vue-virtual-textdocument--VueTextDocument-class\">VueTextDocument</a></code> | - |\n| changes | <code><a href=\"#vscode-languageserver-textdocument-TextDocumentContentChangeEvent-type\">TextDocumentContentChangeEvent</a>[]</code> | - |\n| version | <code>number</code> | - |\n\n<br>\n</details>\n\n<br>\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-asFsPath-function-1-\" id=\"-vuedx-vue-virtual-textdocument-asFsPath-function-1-\"></a>\n\n### [asFsPath](#-vuedx-vue-virtual-textdocument-asFsPath-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function asFsPath(uri: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-asFsUri-function-1-\" id=\"-vuedx-vue-virtual-textdocument-asFsUri-function-1-\"></a>\n\n### [asFsUri](#-vuedx-vue-virtual-textdocument-asFsUri-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function asFsUri(fileName: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-asUri-function-1-\" id=\"-vuedx-vue-virtual-textdocument-asUri-function-1-\"></a>\n\n### [asUri](#-vuedx-vue-virtual-textdocument-asUri-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function asUri(fileNameOrUri: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileNameOrUri | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-basename-function-1-\" id=\"-vuedx-vue-virtual-textdocument-basename-function-1-\"></a>\n\n### [basename](#-vuedx-vue-virtual-textdocument-basename-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function basename(fileName: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-binarySearch-function-1-\" id=\"-vuedx-vue-virtual-textdocument-binarySearch-function-1-\"></a>\n\n### [binarySearch](#-vuedx-vue-virtual-textdocument-binarySearch-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function binarySearch<T>(array: T[], isMatch: (a: T) => number, returnMin?: boolean): T | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| array | <code>T[]</code> | - |\n| isMatch | <code>(a: T) => number</code> | - |\n| returnMin | <code>boolean</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-getBlockLanguage-function-1-\" id=\"-vuedx-vue-virtual-textdocument-getBlockLanguage-function-1-\"></a>\n\n### [getBlockLanguage](#-vuedx-vue-virtual-textdocument-getBlockLanguage-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function getBlockLanguage(block?: SFCBlock | null): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| block | <code><a href=\"#-vue-compiler-sfc-SFCBlock-interface\">SFCBlock</a> &#124; null</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-getContainingFile-function-1-\" id=\"-vuedx-vue-virtual-textdocument-getContainingFile-function-1-\"></a>\n\n### [getContainingFile](#-vuedx-vue-virtual-textdocument-getContainingFile-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function getContainingFile(fileName: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-getLanguageExtension-function-1-\" id=\"-vuedx-vue-virtual-textdocument-getLanguageExtension-function-1-\"></a>\n\n### [getLanguageExtension](#-vuedx-vue-virtual-textdocument-getLanguageExtension-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function getLanguageExtension(lang: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| lang | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-getLanguageIdFromExtension-function-1-\" id=\"-vuedx-vue-virtual-textdocument-getLanguageIdFromExtension-function-1-\"></a>\n\n### [getLanguageIdFromExtension](#-vuedx-vue-virtual-textdocument-getLanguageIdFromExtension-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function getLanguageIdFromExtension(ext: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| ext | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-isOffsetInBlock-function-1-\" id=\"-vuedx-vue-virtual-textdocument-isOffsetInBlock-function-1-\"></a>\n\n### [isOffsetInBlock](#-vuedx-vue-virtual-textdocument-isOffsetInBlock-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function isOffsetInBlock(offset: number, block?: SFCBlock | null): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n| block | <code><a href=\"#-vue-compiler-sfc-SFCBlock-interface\">SFCBlock</a> &#124; null</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-isVirtualFile-function-1-\" id=\"-vuedx-vue-virtual-textdocument-isVirtualFile-function-1-\"></a>\n\n### [isVirtualFile](#-vuedx-vue-virtual-textdocument-isVirtualFile-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function isVirtualFile(fileName: string): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-isVirtualFileOfType-function-1-\" id=\"-vuedx-vue-virtual-textdocument-isVirtualFileOfType-function-1-\"></a>\n\n### [isVirtualFileOfType](#-vuedx-vue-virtual-textdocument-isVirtualFileOfType-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function isVirtualFileOfType(fileName: string, type: '_render' | '_module' | '_internal' | 'script' | 'scriptSetup'): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n| type | <code>'_render' &#124; '_module' &#124; '_internal' &#124; 'script' &#124; 'scriptSetup'</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-isVueFile-function-1-\" id=\"-vuedx-vue-virtual-textdocument-isVueFile-function-1-\"></a>\n\n### [isVueFile](#-vuedx-vue-virtual-textdocument-isVueFile-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function isVueFile(fileName: string): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-parseVirtualFileName-function-1-\" id=\"-vuedx-vue-virtual-textdocument-parseVirtualFileName-function-1-\"></a>\n\n### [parseVirtualFileName](#-vuedx-vue-virtual-textdocument-parseVirtualFileName-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function parseVirtualFileName(fileName: string): {\n    uri: string;\n    selector: Selector;\n} | null;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-relativeVirtualImportPath-function-1-\" id=\"-vuedx-vue-virtual-textdocument-relativeVirtualImportPath-function-1-\"></a>\n\n### [relativeVirtualImportPath](#-vuedx-vue-virtual-textdocument-relativeVirtualImportPath-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function relativeVirtualImportPath(fileName: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-replaceSlashes-function-1-\" id=\"-vuedx-vue-virtual-textdocument-replaceSlashes-function-1-\"></a>\n\n### [replaceSlashes](#-vuedx-vue-virtual-textdocument-replaceSlashes-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function replaceSlashes(fileName: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n<!-- #region API-DOCS -->\n","readmeFilename":"readme.md","_id":"@vuedx/vue-virtual-textdocument@0.7.5-insiders-1623394946.0","_nodeVersion":"16.3.0","_npmVersion":"7.15.1","dist":{"integrity":"sha512-16kW2ilUkts7S4DbL5M8586KHhXM/q33gfwNB6uTL8iic1XhT/mkcxaDdXHd85elgyzhnqXHGNL5qNhBjjFoug==","shasum":"80a89a8abd26134e4eae356290eb17455194e208","tarball":"https://registry.npmjs.org/@vuedx/vue-virtual-textdocument/-/vue-virtual-textdocument-0.7.5-insiders-1623394946.0.tgz","fileCount":8,"unpackedSize":202333,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgwwqlCRA9TVsSAnZWagAAjH4QAJ1lPuxUeigiKvZUQWv/\nTWgBtj2cL344B67CIfkXB/h4RabnXMqsEFDS7jUXKhmb7rvvLlYXXHX5/3Zr\ntiD74+emMh4fMe1XSq/oq0pdnokvjPvupAyBbtUo4vRTeZ4yNXRms9ZlveuM\n7Q7S3xpme1ItJnkBi+o9T+mq6WAB6cbqHEzt6Bh/BF+22+KzabZm7fJjsUiD\nyUItQTIOsGmOmEfxNvbSoAV0i1As4NQ+GoM/ZN+mgRATssTQhKDSg55/KdG2\nofJRSkfEI65XYoga67bWBKzmzBEWUs748j5q9aURkOS9EavGh0AK0uQ8T6qM\nyZJErKsk729t+0jAeopOFRrO4UQTvrhP/+SmNHvhoW9xUUVlf1vxGUYF223V\ndiMGLb4c7X3kQiK6gXMpT+kiPEEfgY6khpzg478dZAewrWzbz7Q78L1OqrpF\nyZt3G0mhgWXKZBI4kYgeJ3WbkWPul4VyIERWXWBqFJNFuROOLmGE93VIkG61\nN+PajIbgMxX9GtvNML01eFHFhF+LxbtzTp/jshWKBjGAnJ3hpBFSsbJz6pYz\n6OQ5ufkfGYf1pN/T4bSYwb8rh/IwKRDl5snpYThQHg3CbouPkVnwZCIwVi8s\n052CQtluUIDG6LqSCdx7GU5AOhzpG+2wFatFaMC6jeW3gNfvAzQncEUjTSID\n8dVC\r\n=myS5\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCDmLN5OtlYH0Mw8d33k6UNVIStulrNejCXYhraZ9vqzwIgEKCk+h29DI1e0hsL04HHIV8sZxfEbfnESxz1bNmTtOE="}]},"_npmUser":{"name":"znck","email":"rahulkdn@gmail.com"},"directories":{},"maintainers":[{"name":"znck","email":"rahulkdn@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/vue-virtual-textdocument_0.7.5-insiders-1623394946.0_1623394981551_0.8898597234542551"},"_hasShrinkwrap":false},"0.7.5-insiders-1623402835.0":{"name":"@vuedx/vue-virtual-textdocument","version":"0.7.5-insiders-1623402835.0","description":"A virtual filesystem to access blocks in SFC as files","main":"lib/index.js","module":"lib/index.mjs","types":"lib/index.d.ts","publishConfig":{"types":"lib/index.d.ts"},"private":false,"keywords":["vue","vue sfc","sfc","vue virtual files"],"repository":{"type":"git","url":"git+https://github.com/znck/vue-developer-experience.git"},"author":{"name":"Rahul Kadyan","email":"rahulkdn@gmail.com","url":"https://znck.me/"},"funding":{"type":"individual","url":"https://github.com/sponsors/znck"},"license":"MIT","bugs":{"url":"https://github.com/znck/vue-developer-experience/issues"},"homepage":"https://github.com/znck/vue-developer-experience#readme","dependencies":{"@vuedx/analyze":"0.7.5-insiders-1623402835.0","@vuedx/compiler-sfc":"0.7.2-insiders-1623402835.0","@vuedx/compiler-tsx":"0.7.5-insiders-1623402835.0","@vuedx/shared":"0.7.4-insiders-1623402835.0","source-map":"^0.6.1","vscode-languageserver-textdocument":"^1.0.1","vscode-uri":"^2.1.2"},"devDependencies":{"fast-glob":"^3.2.4","typescript":"^4.0.3"},"scripts":{},"readme":"# Vue Virtual TextDocument\n\nAn implementation of virtual filesystem for accessing blocks in a `.vue` file as independent files.\n\n## Support\n\nThis package is part of [VueDX project](https://github.com/znck/vue-developer-experience), maintained by [Rahul Kadyan](https://github.com/znck). You can [💖 sponsor him](https://github.com/sponsors/znck) for continued development of this package and other VueDX tools.\n\n```\nnpm add @vuedx/vue-virtual-textdocument\n```\n<!-- #region API-DOCS -->\n<!-- Do not edit this file. It is a report generated by [scripts/docgen.js](https://github.com/znck/vue-developer-experience/tree/main/scripts/docgen.js). -->\n\n## API\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-AsyncDocumentStore-class\" id=\"-vuedx-vue-virtual-textdocument-AsyncDocumentStore-class\"></a>\n\n### [AsyncDocumentStore](#-vuedx-vue-virtual-textdocument-AsyncDocumentStore-class)\n\n\n\n<details><summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare class AsyncDocumentStore<T> extends DocumentStore<T> {\n  constructor(resolve: (uri: string) => T | Promise<T | null> | null, normalize?: (uri: string) => string);\n  get(uri: string): T | null;\n  get(uri: string): Promise<T | null>;\n}\n```\n\n**Members:**\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-AsyncDocumentStore-get-member-1-\" id=\"-vuedx-vue-virtual-textdocument-AsyncDocumentStore-get-member-1-\"></a>\n\n#### [get](#-vuedx-vue-virtual-textdocument-AsyncDocumentStore-get-member-1-)\n\n\n\n**Signature:**\n```ts\nget(uri: string): T | null;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-AsyncDocumentStore-get-member-2-\" id=\"-vuedx-vue-virtual-textdocument-AsyncDocumentStore-get-member-2-\"></a>\n\n#### [get](#-vuedx-vue-virtual-textdocument-AsyncDocumentStore-get-member-2-)\n\n\n\n**Signature:**\n```ts\nget(uri: string): Promise<T | null>;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n\n<br>\n</details>\n\n<br>\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-class\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-class\"></a>\n\n### [DocumentStore](#-vuedx-vue-virtual-textdocument-DocumentStore-class)\n\n\n\n<details><summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare class DocumentStore<T> {\n  constructor(resolve: (uri: string) => T | null, normalize?: (uri: string) => string);\n  all(): string[];\n  delete(uri: string): boolean;\n  dispose(): void;\n  get(uri: string): T | null;\n  protected getNormalizedUri(uri: string): string;\n  has(uri: string): boolean;\n  protected map: Map<string, T>;\n  normalize: (uri: string) => string;\n  protected resolve: (uri: string) => T | null;\n  protected reverseUriMap: Map<string, string>;\n  set(uri: string, document: T): void;\n}\n```\n\n**Members:**\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-all-member-1-\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-all-member-1-\"></a>\n\n#### [all](#-vuedx-vue-virtual-textdocument-DocumentStore-all-member-1-)\n\n\n\n**Signature:**\n```ts\nall(): string[];\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-delete-member-1-\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-delete-member-1-\"></a>\n\n#### [delete](#-vuedx-vue-virtual-textdocument-DocumentStore-delete-member-1-)\n\n\n\n**Signature:**\n```ts\ndelete(uri: string): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-dispose-member-1-\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-dispose-member-1-\"></a>\n\n#### [dispose](#-vuedx-vue-virtual-textdocument-DocumentStore-dispose-member-1-)\n\n\n\n**Signature:**\n```ts\ndispose(): void;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-get-member-1-\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-get-member-1-\"></a>\n\n#### [get](#-vuedx-vue-virtual-textdocument-DocumentStore-get-member-1-)\n\n\n\n**Signature:**\n```ts\nget(uri: string): T | null;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-getNormalizedUri-member-1-\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-getNormalizedUri-member-1-\"></a>\n\n#### [getNormalizedUri](#-vuedx-vue-virtual-textdocument-DocumentStore-getNormalizedUri-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected getNormalizedUri(uri: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-has-member-1-\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-has-member-1-\"></a>\n\n#### [has](#-vuedx-vue-virtual-textdocument-DocumentStore-has-member-1-)\n\n\n\n**Signature:**\n```ts\nhas(uri: string): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-set-member-1-\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-set-member-1-\"></a>\n\n#### [set](#-vuedx-vue-virtual-textdocument-DocumentStore-set-member-1-)\n\n\n\n**Signature:**\n```ts\nset(uri: string, document: T): void;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n| document | <code>T</code> | - |\n\n<br>\n</details>\n\n<br>\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-class\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-class\"></a>\n\n### [RenderFunctionTextDocument](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-class)\n\n\n\n<details><summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare class RenderFunctionTextDocument extends TransformedBlockTextDocument {\n  constructor(container: VueTextDocument, selector: Selector, transformed: TextDocument, source: TextDocument);\n  get ast(): CodegenResult['ast'] | undefined;\n  get contextCompletionsTriggerOffset(): number;\n  static create(options: CreateVirtualTextDocumentOptions): RenderFunctionTextDocument;\n  findExpression(offset: number, length: number): undefined | {\n        offset: number;\n        length: number;\n    };\n  protected generate(): string;\n  getAllGeneratedOffsetsAt(offset: number): undefined | Array<{\n        length: number;\n        offset: number;\n    }>;\n  getGeneratedOffsetAt(offset: number): undefined | {\n        length: number;\n        offset: number;\n    };\n  protected getKnownComponents(): Record<string, ComponentImport>;\n  getOriginalOffsetAt(offset: number): undefined | {\n        offset: number;\n        length: number;\n    };\n  isInGeneratedRange(offset: number): boolean;\n  isInTemplateIdentifierRange(offset: number): boolean;\n  get parserErrors(): CodegenResult['errors'];\n  get tagCompletionsTriggerOffset(): number;\n  toDisplayMappings(): string;\n  protected tryGenerate(): string;\n}\n```\n\n**Members:**\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-create-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-create-member-1-\"></a>\n\n#### [create](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-create-member-1-)\n\n\n\n**Signature:**\n```ts\nstatic create(options: CreateVirtualTextDocumentOptions): RenderFunctionTextDocument;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| options | <code><a href=\"#-vuedx-vue-virtual-textdocument--CreateVirtualTextDocumentOptions-interface\">CreateVirtualTextDocumentOptions</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-findExpression-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-findExpression-member-1-\"></a>\n\n#### [findExpression](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-findExpression-member-1-)\n\n\n\n**Signature:**\n```ts\nfindExpression(offset: number, length: number): undefined | {\n        offset: number;\n        length: number;\n    };\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n| length | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-generate-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-generate-member-1-\"></a>\n\n#### [generate](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-generate-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected generate(): string;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getAllGeneratedOffsetsAt-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getAllGeneratedOffsetsAt-member-1-\"></a>\n\n#### [getAllGeneratedOffsetsAt](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getAllGeneratedOffsetsAt-member-1-)\n\n\n\n**Signature:**\n```ts\ngetAllGeneratedOffsetsAt(offset: number): undefined | Array<{\n        length: number;\n        offset: number;\n    }>;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getGeneratedOffsetAt-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getGeneratedOffsetAt-member-1-\"></a>\n\n#### [getGeneratedOffsetAt](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getGeneratedOffsetAt-member-1-)\n\n\n\n**Signature:**\n```ts\ngetGeneratedOffsetAt(offset: number): undefined | {\n        length: number;\n        offset: number;\n    };\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getKnownComponents-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getKnownComponents-member-1-\"></a>\n\n#### [getKnownComponents](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getKnownComponents-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected getKnownComponents(): Record<string, ComponentImport>;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getOriginalOffsetAt-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getOriginalOffsetAt-member-1-\"></a>\n\n#### [getOriginalOffsetAt](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getOriginalOffsetAt-member-1-)\n\n\n\n**Signature:**\n```ts\ngetOriginalOffsetAt(offset: number): undefined | {\n        offset: number;\n        length: number;\n    };\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-isInGeneratedRange-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-isInGeneratedRange-member-1-\"></a>\n\n#### [isInGeneratedRange](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-isInGeneratedRange-member-1-)\n\n\n\n**Signature:**\n```ts\nisInGeneratedRange(offset: number): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-isInTemplateIdentifierRange-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-isInTemplateIdentifierRange-member-1-\"></a>\n\n#### [isInTemplateIdentifierRange](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-isInTemplateIdentifierRange-member-1-)\n\n\n\n**Signature:**\n```ts\nisInTemplateIdentifierRange(offset: number): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-toDisplayMappings-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-toDisplayMappings-member-1-\"></a>\n\n#### [toDisplayMappings](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-toDisplayMappings-member-1-)\n\n\n\n**Signature:**\n```ts\ntoDisplayMappings(): string;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-tryGenerate-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-tryGenerate-member-1-\"></a>\n\n#### [tryGenerate](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-tryGenerate-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected tryGenerate(): string;\n```\n\n\n<br>\n</details>\n\n<br>\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-class\" id=\"-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-class\"></a>\n\n### [TransformedBlockTextDocument](#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-class)\n\n\n\n<details><summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare class TransformedBlockTextDocument extends VirtualTextDocument {\n  protected constructor(container: VueTextDocument, selector: Selector, transformed: TextDocument, source: TextDocument | VirtualTextDocument, _transform: (document: TransformedBlockTextDocument) => BlockTransformResult);\n  static create(options: CreateTransformedBlockTextDocumentOptions): TransformedBlockTextDocument;\n  protected refresh(): void;\n  transform(): BlockTransformResult;\n  tryGetGeneratedOffset(offset: number): number | undefined;\n  tryGetSourceOffset(offset: number): number | undefined;\n}\n```\n\n**Members:**\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-create-member-1-\" id=\"-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-create-member-1-\"></a>\n\n#### [create](#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-create-member-1-)\n\n\n\n**Signature:**\n```ts\nstatic create(options: CreateTransformedBlockTextDocumentOptions): TransformedBlockTextDocument;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| options | <code><a href=\"#-vuedx-vue-virtual-textdocument--CreateTransformedBlockTextDocumentOptions-interface\">CreateTransformedBlockTextDocumentOptions</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-refresh-member-1-\" id=\"-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-refresh-member-1-\"></a>\n\n#### [refresh](#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-refresh-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected refresh(): void;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-transform-member-1-\" id=\"-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-transform-member-1-\"></a>\n\n#### [transform](#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-transform-member-1-)\n\n\n\n**Signature:**\n```ts\ntransform(): BlockTransformResult;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-tryGetGeneratedOffset-member-1-\" id=\"-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-tryGetGeneratedOffset-member-1-\"></a>\n\n#### [tryGetGeneratedOffset](#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-tryGetGeneratedOffset-member-1-)\n\n\n\n**Signature:**\n```ts\ntryGetGeneratedOffset(offset: number): number | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-tryGetSourceOffset-member-1-\" id=\"-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-tryGetSourceOffset-member-1-\"></a>\n\n#### [tryGetSourceOffset](#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-tryGetSourceOffset-member-1-)\n\n\n\n**Signature:**\n```ts\ntryGetSourceOffset(offset: number): number | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n</details>\n\n<br>\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VirtualTextDocument-class\" id=\"-vuedx-vue-virtual-textdocument-VirtualTextDocument-class\"></a>\n\n### [VirtualTextDocument](#-vuedx-vue-virtual-textdocument-VirtualTextDocument-class)\n\n\n\n<details><summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare class VirtualTextDocument extends ProxyTextDocument {\n  protected constructor(container: VueTextDocument, selector: Selector, doc: TextDocument);\n  readonly container: VueTextDocument;\n  static create(options: CreateVirtualTextDocumentOptions): VirtualTextDocument;\n  protected isDirty: boolean;\n  markDirty(): void;\n  protected refresh(): void;\n  readonly selector: Selector;\n}\n```\n\n**Members:**\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VirtualTextDocument-create-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VirtualTextDocument-create-member-1-\"></a>\n\n#### [create](#-vuedx-vue-virtual-textdocument-VirtualTextDocument-create-member-1-)\n\n\n\n**Signature:**\n```ts\nstatic create(options: CreateVirtualTextDocumentOptions): VirtualTextDocument;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| options | <code><a href=\"#-vuedx-vue-virtual-textdocument--CreateVirtualTextDocumentOptions-interface\">CreateVirtualTextDocumentOptions</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VirtualTextDocument-markDirty-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VirtualTextDocument-markDirty-member-1-\"></a>\n\n#### [markDirty](#-vuedx-vue-virtual-textdocument-VirtualTextDocument-markDirty-member-1-)\n\n\n\n**Signature:**\n```ts\nmarkDirty(): void;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VirtualTextDocument-refresh-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VirtualTextDocument-refresh-member-1-\"></a>\n\n#### [refresh](#-vuedx-vue-virtual-textdocument-VirtualTextDocument-refresh-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected refresh(): void;\n```\n\n\n<br>\n</details>\n\n<br>\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-class\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-class\"></a>\n\n### [VueTextDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-class)\n\n\n\n<details><summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare class VueTextDocument extends ProxyTextDocument {\n  constructor(doc: TextDocument, options?: VueTextDocumentOptions, parseOptions?: SFCParseOptions);\n  all(): VirtualTextDocument[];\n  blockAt(position: Position | number): SFCBlock | null | undefined;\n  static create(uri: string, languageId: string, version: number, content: string, options?: VueTextDocumentOptions, parseOptions?: SFCParseOptions): VueTextDocument;\n  protected createBlockDocument(selector: BlockSelector): VirtualTextDocument | undefined;\n  protected createInternalModuleDocument(): TransformedBlockTextDocument;\n  protected createModuleDocument(): TransformedBlockTextDocument;\n  protected createRenderDocument(): RenderFunctionTextDocument;\n  protected createTemplateASTDocument(): TransformedBlockTextDocument;\n  get descriptor(): SFCDescriptor;\n  documentAt(position: Position | number): VirtualTextDocument | undefined;\n  getBlock(selector: BlockSelector): SFCBlock | null | undefined;\n  getBlockSelector(block: SFCBlock): BlockSelector | undefined;\n  getDocument(selector: typeof RENDER_SELECTOR): RenderFunctionTextDocument;\n  getDocument(selector: SelectorLike): VirtualTextDocument;\n  getDocument(selector: string): VirtualTextDocument | undefined;\n  getDocumentFileName(selectorLike: SelectorLike): string;\n  protected getDocumentId(selector: Selector): string;\n  protected getDocumentLanguage(selector: Selector): string;\n  markDirty(): void;\n  readonly options: VueTextDocumentOptions;\n  protected parse(): void;\n  static update(document: VueTextDocument, changes: TextDocumentContentChangeEvent[], version: number): VueTextDocument;\n}\n```\n\n**Members:**\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-all-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-all-member-1-\"></a>\n\n#### [all](#-vuedx-vue-virtual-textdocument-VueTextDocument-all-member-1-)\n\n\n\n**Signature:**\n```ts\nall(): VirtualTextDocument[];\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-blockAt-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-blockAt-member-1-\"></a>\n\n#### [blockAt](#-vuedx-vue-virtual-textdocument-VueTextDocument-blockAt-member-1-)\n\n\n\n**Signature:**\n```ts\nblockAt(position: Position | number): SFCBlock | null | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| position | <code><a href=\"#vscode-languageserver-textdocument-Position-interface\">Position</a> &#124; number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-create-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-create-member-1-\"></a>\n\n#### [create](#-vuedx-vue-virtual-textdocument-VueTextDocument-create-member-1-)\n\n\n\n**Signature:**\n```ts\nstatic create(uri: string, languageId: string, version: number, content: string, options?: VueTextDocumentOptions, parseOptions?: SFCParseOptions): VueTextDocument;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n| languageId | <code>string</code> | - |\n| version | <code>number</code> | - |\n| content | <code>string</code> | - |\n| options | <code><a href=\"#-vuedx-vue-virtual-textdocument--VueTextDocumentOptions-interface\">VueTextDocumentOptions</a></code> | - |\n| parseOptions | <code><a href=\"#-vue-compiler-sfc-SFCParseOptions-interface\">SFCParseOptions</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-createBlockDocument-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-createBlockDocument-member-1-\"></a>\n\n#### [createBlockDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-createBlockDocument-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected createBlockDocument(selector: BlockSelector): VirtualTextDocument | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selector | <code><a href=\"#-vuedx-vue-virtual-textdocument--BlockSelector-type\">BlockSelector</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-createInternalModuleDocument-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-createInternalModuleDocument-member-1-\"></a>\n\n#### [createInternalModuleDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-createInternalModuleDocument-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected createInternalModuleDocument(): TransformedBlockTextDocument;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-createModuleDocument-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-createModuleDocument-member-1-\"></a>\n\n#### [createModuleDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-createModuleDocument-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected createModuleDocument(): TransformedBlockTextDocument;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-createRenderDocument-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-createRenderDocument-member-1-\"></a>\n\n#### [createRenderDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-createRenderDocument-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected createRenderDocument(): RenderFunctionTextDocument;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-createTemplateASTDocument-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-createTemplateASTDocument-member-1-\"></a>\n\n#### [createTemplateASTDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-createTemplateASTDocument-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected createTemplateASTDocument(): TransformedBlockTextDocument;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-documentAt-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-documentAt-member-1-\"></a>\n\n#### [documentAt](#-vuedx-vue-virtual-textdocument-VueTextDocument-documentAt-member-1-)\n\n\n\n**Signature:**\n```ts\ndocumentAt(position: Position | number): VirtualTextDocument | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| position | <code><a href=\"#vscode-languageserver-textdocument-Position-interface\">Position</a> &#124; number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getBlock-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getBlock-member-1-\"></a>\n\n#### [getBlock](#-vuedx-vue-virtual-textdocument-VueTextDocument-getBlock-member-1-)\n\n\n\n**Signature:**\n```ts\ngetBlock(selector: BlockSelector): SFCBlock | null | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selector | <code><a href=\"#-vuedx-vue-virtual-textdocument--BlockSelector-type\">BlockSelector</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getBlockSelector-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getBlockSelector-member-1-\"></a>\n\n#### [getBlockSelector](#-vuedx-vue-virtual-textdocument-VueTextDocument-getBlockSelector-member-1-)\n\n\n\n**Signature:**\n```ts\ngetBlockSelector(block: SFCBlock): BlockSelector | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| block | <code><a href=\"#-vue-compiler-sfc-SFCBlock-interface\">SFCBlock</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-1-\"></a>\n\n#### [getDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-1-)\n\n\n\n**Signature:**\n```ts\ngetDocument(selector: typeof RENDER_SELECTOR): RenderFunctionTextDocument;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selector | <code>typeof <a href=\"#-vuedx-vue-virtual-textdocument--RENDER-SELECTOR-var\">RENDER_SELECTOR</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-2-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-2-\"></a>\n\n#### [getDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-2-)\n\n\n\n**Signature:**\n```ts\ngetDocument(selector: SelectorLike): VirtualTextDocument;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selector | <code><a href=\"#-vuedx-vue-virtual-textdocument--SelectorLike-type\">SelectorLike</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-3-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-3-\"></a>\n\n#### [getDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-3-)\n\n\n\n**Signature:**\n```ts\ngetDocument(selector: string): VirtualTextDocument | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selector | <code>string</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentFileName-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentFileName-member-1-\"></a>\n\n#### [getDocumentFileName](#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentFileName-member-1-)\n\n\n\n**Signature:**\n```ts\ngetDocumentFileName(selectorLike: SelectorLike): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selectorLike | <code><a href=\"#-vuedx-vue-virtual-textdocument--SelectorLike-type\">SelectorLike</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentId-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentId-member-1-\"></a>\n\n#### [getDocumentId](#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentId-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected getDocumentId(selector: Selector): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selector | <code><a href=\"#-vuedx-vue-virtual-textdocument--Selector-type\">Selector</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentLanguage-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentLanguage-member-1-\"></a>\n\n#### [getDocumentLanguage](#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentLanguage-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected getDocumentLanguage(selector: Selector): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selector | <code><a href=\"#-vuedx-vue-virtual-textdocument--Selector-type\">Selector</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-markDirty-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-markDirty-member-1-\"></a>\n\n#### [markDirty](#-vuedx-vue-virtual-textdocument-VueTextDocument-markDirty-member-1-)\n\n\n\n**Signature:**\n```ts\nmarkDirty(): void;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-parse-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-parse-member-1-\"></a>\n\n#### [parse](#-vuedx-vue-virtual-textdocument-VueTextDocument-parse-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected parse(): void;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-update-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-update-member-1-\"></a>\n\n#### [update](#-vuedx-vue-virtual-textdocument-VueTextDocument-update-member-1-)\n\n\n\n**Signature:**\n```ts\nstatic update(document: VueTextDocument, changes: TextDocumentContentChangeEvent[], version: number): VueTextDocument;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| document | <code><a href=\"#-vuedx-vue-virtual-textdocument--VueTextDocument-class\">VueTextDocument</a></code> | - |\n| changes | <code><a href=\"#vscode-languageserver-textdocument-TextDocumentContentChangeEvent-type\">TextDocumentContentChangeEvent</a>[]</code> | - |\n| version | <code>number</code> | - |\n\n<br>\n</details>\n\n<br>\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-asFsPath-function-1-\" id=\"-vuedx-vue-virtual-textdocument-asFsPath-function-1-\"></a>\n\n### [asFsPath](#-vuedx-vue-virtual-textdocument-asFsPath-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function asFsPath(uri: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-asFsUri-function-1-\" id=\"-vuedx-vue-virtual-textdocument-asFsUri-function-1-\"></a>\n\n### [asFsUri](#-vuedx-vue-virtual-textdocument-asFsUri-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function asFsUri(fileName: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-asUri-function-1-\" id=\"-vuedx-vue-virtual-textdocument-asUri-function-1-\"></a>\n\n### [asUri](#-vuedx-vue-virtual-textdocument-asUri-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function asUri(fileNameOrUri: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileNameOrUri | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-basename-function-1-\" id=\"-vuedx-vue-virtual-textdocument-basename-function-1-\"></a>\n\n### [basename](#-vuedx-vue-virtual-textdocument-basename-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function basename(fileName: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-binarySearch-function-1-\" id=\"-vuedx-vue-virtual-textdocument-binarySearch-function-1-\"></a>\n\n### [binarySearch](#-vuedx-vue-virtual-textdocument-binarySearch-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function binarySearch<T>(array: T[], isMatch: (a: T) => number, returnMin?: boolean): T | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| array | <code>T[]</code> | - |\n| isMatch | <code>(a: T) => number</code> | - |\n| returnMin | <code>boolean</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-getBlockLanguage-function-1-\" id=\"-vuedx-vue-virtual-textdocument-getBlockLanguage-function-1-\"></a>\n\n### [getBlockLanguage](#-vuedx-vue-virtual-textdocument-getBlockLanguage-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function getBlockLanguage(block?: SFCBlock | null): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| block | <code><a href=\"#-vue-compiler-sfc-SFCBlock-interface\">SFCBlock</a> &#124; null</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-getContainingFile-function-1-\" id=\"-vuedx-vue-virtual-textdocument-getContainingFile-function-1-\"></a>\n\n### [getContainingFile](#-vuedx-vue-virtual-textdocument-getContainingFile-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function getContainingFile(fileName: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-getLanguageExtension-function-1-\" id=\"-vuedx-vue-virtual-textdocument-getLanguageExtension-function-1-\"></a>\n\n### [getLanguageExtension](#-vuedx-vue-virtual-textdocument-getLanguageExtension-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function getLanguageExtension(lang: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| lang | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-getLanguageIdFromExtension-function-1-\" id=\"-vuedx-vue-virtual-textdocument-getLanguageIdFromExtension-function-1-\"></a>\n\n### [getLanguageIdFromExtension](#-vuedx-vue-virtual-textdocument-getLanguageIdFromExtension-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function getLanguageIdFromExtension(ext: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| ext | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-isOffsetInBlock-function-1-\" id=\"-vuedx-vue-virtual-textdocument-isOffsetInBlock-function-1-\"></a>\n\n### [isOffsetInBlock](#-vuedx-vue-virtual-textdocument-isOffsetInBlock-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function isOffsetInBlock(offset: number, block?: SFCBlock | null): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n| block | <code><a href=\"#-vue-compiler-sfc-SFCBlock-interface\">SFCBlock</a> &#124; null</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-isVirtualFile-function-1-\" id=\"-vuedx-vue-virtual-textdocument-isVirtualFile-function-1-\"></a>\n\n### [isVirtualFile](#-vuedx-vue-virtual-textdocument-isVirtualFile-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function isVirtualFile(fileName: string): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-isVirtualFileOfType-function-1-\" id=\"-vuedx-vue-virtual-textdocument-isVirtualFileOfType-function-1-\"></a>\n\n### [isVirtualFileOfType](#-vuedx-vue-virtual-textdocument-isVirtualFileOfType-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function isVirtualFileOfType(fileName: string, type: '_render' | '_module' | '_internal' | 'script' | 'scriptSetup'): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n| type | <code>'_render' &#124; '_module' &#124; '_internal' &#124; 'script' &#124; 'scriptSetup'</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-isVueFile-function-1-\" id=\"-vuedx-vue-virtual-textdocument-isVueFile-function-1-\"></a>\n\n### [isVueFile](#-vuedx-vue-virtual-textdocument-isVueFile-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function isVueFile(fileName: string): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-parseVirtualFileName-function-1-\" id=\"-vuedx-vue-virtual-textdocument-parseVirtualFileName-function-1-\"></a>\n\n### [parseVirtualFileName](#-vuedx-vue-virtual-textdocument-parseVirtualFileName-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function parseVirtualFileName(fileName: string): {\n    uri: string;\n    selector: Selector;\n} | null;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-relativeVirtualImportPath-function-1-\" id=\"-vuedx-vue-virtual-textdocument-relativeVirtualImportPath-function-1-\"></a>\n\n### [relativeVirtualImportPath](#-vuedx-vue-virtual-textdocument-relativeVirtualImportPath-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function relativeVirtualImportPath(fileName: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-replaceSlashes-function-1-\" id=\"-vuedx-vue-virtual-textdocument-replaceSlashes-function-1-\"></a>\n\n### [replaceSlashes](#-vuedx-vue-virtual-textdocument-replaceSlashes-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function replaceSlashes(fileName: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n<!-- #region API-DOCS -->\n","readmeFilename":"readme.md","_id":"@vuedx/vue-virtual-textdocument@0.7.5-insiders-1623402835.0","_nodeVersion":"16.3.0","_npmVersion":"7.15.1","dist":{"integrity":"sha512-SmiiFAnqF9DXTaswd9leHA841dCZ1RMHaeT8MeywpLDeSYeLHrCxcMclTJlo4QCVxYp/JRd9mXEvcKU2z+Zj4Q==","shasum":"13f719b7392dcf480e2b78023fd90033f53ce0ac","tarball":"https://registry.npmjs.org/@vuedx/vue-virtual-textdocument/-/vue-virtual-textdocument-0.7.5-insiders-1623402835.0.tgz","fileCount":8,"unpackedSize":202333,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgwyl2CRA9TVsSAnZWagAAi9MP/j/nvo+UXBpFqyQ+B3BO\nqhN93o8hHvx6HJivuVLPEMupowtQ8b7AFIng7J44GAPO2kvr55zP1AJxmblL\nPX7vgYFQWMMXKgZ2lQTKFXMBlZkdThj/MsS3cfbuc6nKWroc7IOtX9HmIeoH\notMZq9cOvBj+5Y4pnVm5KJzD9T0j+ay+CIdKdcFtwiWXm+UvgXfp2w348vVJ\nlC1UBJoOVcbW24Ipum6tQFfbZ6A6zmCZY+YUjfqOwWNDY4irgZfJohiYQk1J\njr7MYa5epyEX10NmLlqROmK4J9mnvTnUgRHFFoPMdPTiS7VTw/uDMe8fTgUC\n3eSE9O11UArnYM/Pq0bUoJOW68iKyMAhGoYo4NTMcpHPE4+IUHB+kUQdNN0A\nnK+ja4qMKE0zGWS+8ou2qmr5oz0ozCB/DYIECLeUv7HzjiW4Ot5OqqwSMqo9\nuao5+qg6sFdRYynN6w60ifCbnZp83p/oTcn0YsHa+L/iRgIzvFJNH7HMvJQH\ntiQzDCba9yXiKF2syAhqVQ2j3dCZiKu/6FlpZ0tQ12wPgEg8wlKqY8RlGA3D\nByc76LU1cjt75fnZf4AJADf1H99CnvNTRCCDmd0kZBa9dbIsyvmoUoIZwCuw\nJBQy+/apzr+oaJDy+hhr0F+F1P0dB4C3jua49H4A5RajVBEDA9ChFRIrF/+r\n47YB\r\n=YTKd\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIBkH+k/tAanYnB5zdO7glWjCvREAQJoX/ieawT18ASvCAiB1QeRszG+7MHPJL1OBZunNCwwIDXN+RrKRV56KWyVDaA=="}]},"_npmUser":{"name":"znck","email":"rahulkdn@gmail.com"},"directories":{},"maintainers":[{"name":"znck","email":"rahulkdn@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/vue-virtual-textdocument_0.7.5-insiders-1623402835.0_1623402870035_0.040586545045976585"},"_hasShrinkwrap":false},"0.7.5-insiders-1630600136.0":{"name":"@vuedx/vue-virtual-textdocument","version":"0.7.5-insiders-1630600136.0","description":"A virtual filesystem to access blocks in SFC as files","main":"lib/index.js","module":"lib/index.mjs","types":"lib/index.d.ts","publishConfig":{"types":"lib/index.d.ts"},"private":false,"keywords":["vue","vue sfc","sfc","vue virtual files"],"repository":{"type":"git","url":"git+https://github.com/znck/vue-developer-experience.git"},"author":{"name":"Rahul Kadyan","email":"rahulkdn@gmail.com","url":"https://znck.me/"},"funding":{"type":"individual","url":"https://github.com/sponsors/znck"},"license":"MIT","bugs":{"url":"https://github.com/znck/vue-developer-experience/issues"},"homepage":"https://github.com/znck/vue-developer-experience#readme","dependencies":{"@vuedx/compiler-sfc":"0.7.2-insiders-1630600136.0","@vuedx/compiler-tsx":"0.7.5-insiders-1630600136.0","@vuedx/shared":"0.7.4-insiders-1630600136.0","@vuedx/template-ast-types":"0.7.3-insiders-1630600136.0","@vuedx/transforms":"0.7.5-insiders-1630600136.0","source-map":"^0.6.1","vscode-languageserver-textdocument":"^1.0.1","vscode-uri":"^2.1.2"},"devDependencies":{"typescript":"^4.0.3"},"scripts":{},"readme":"# Vue Virtual TextDocument\n\nAn implementation of virtual filesystem for accessing blocks in a `.vue` file as independent files.\n\n## Support\n\nThis package is part of [VueDX project](https://github.com/znck/vue-developer-experience), maintained by [Rahul Kadyan](https://github.com/znck). You can [💖 sponsor him](https://github.com/sponsors/znck) for continued development of this package and other VueDX tools.\n\n```\nnpm add @vuedx/vue-virtual-textdocument\n```\n<!-- #region API-DOCS -->\n<!-- Do not edit this file. It is a report generated by [scripts/docgen.js](https://github.com/znck/vue-developer-experience/tree/main/scripts/docgen.js). -->\n\n## API\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-AsyncDocumentStore-class\" id=\"-vuedx-vue-virtual-textdocument-AsyncDocumentStore-class\"></a>\n\n### [AsyncDocumentStore](#-vuedx-vue-virtual-textdocument-AsyncDocumentStore-class)\n\n\n\n<details><summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare class AsyncDocumentStore<T> extends DocumentStore<T> {\n  constructor(resolve: (uri: string) => T | Promise<T | null> | null, normalize?: (uri: string) => string);\n  get(uri: string): T | null;\n  get(uri: string): Promise<T | null>;\n}\n```\n\n**Members:**\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-AsyncDocumentStore-get-member-1-\" id=\"-vuedx-vue-virtual-textdocument-AsyncDocumentStore-get-member-1-\"></a>\n\n#### [get](#-vuedx-vue-virtual-textdocument-AsyncDocumentStore-get-member-1-)\n\n\n\n**Signature:**\n```ts\nget(uri: string): T | null;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-AsyncDocumentStore-get-member-2-\" id=\"-vuedx-vue-virtual-textdocument-AsyncDocumentStore-get-member-2-\"></a>\n\n#### [get](#-vuedx-vue-virtual-textdocument-AsyncDocumentStore-get-member-2-)\n\n\n\n**Signature:**\n```ts\nget(uri: string): Promise<T | null>;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n\n<br>\n</details>\n\n<br>\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-class\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-class\"></a>\n\n### [DocumentStore](#-vuedx-vue-virtual-textdocument-DocumentStore-class)\n\n\n\n<details><summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare class DocumentStore<T> {\n  constructor(resolve: (uri: string) => T | null, normalize?: (uri: string) => string);\n  all(): string[];\n  delete(uri: string): boolean;\n  dispose(): void;\n  get(uri: string): T | null;\n  protected getNormalizedUri(uri: string): string;\n  has(uri: string): boolean;\n  protected map: Map<string, T>;\n  normalize: (uri: string) => string;\n  protected resolve: (uri: string) => T | null;\n  protected reverseUriMap: Map<string, string>;\n  set(uri: string, document: T): void;\n}\n```\n\n**Members:**\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-all-member-1-\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-all-member-1-\"></a>\n\n#### [all](#-vuedx-vue-virtual-textdocument-DocumentStore-all-member-1-)\n\n\n\n**Signature:**\n```ts\nall(): string[];\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-delete-member-1-\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-delete-member-1-\"></a>\n\n#### [delete](#-vuedx-vue-virtual-textdocument-DocumentStore-delete-member-1-)\n\n\n\n**Signature:**\n```ts\ndelete(uri: string): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-dispose-member-1-\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-dispose-member-1-\"></a>\n\n#### [dispose](#-vuedx-vue-virtual-textdocument-DocumentStore-dispose-member-1-)\n\n\n\n**Signature:**\n```ts\ndispose(): void;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-get-member-1-\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-get-member-1-\"></a>\n\n#### [get](#-vuedx-vue-virtual-textdocument-DocumentStore-get-member-1-)\n\n\n\n**Signature:**\n```ts\nget(uri: string): T | null;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-getNormalizedUri-member-1-\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-getNormalizedUri-member-1-\"></a>\n\n#### [getNormalizedUri](#-vuedx-vue-virtual-textdocument-DocumentStore-getNormalizedUri-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected getNormalizedUri(uri: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-has-member-1-\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-has-member-1-\"></a>\n\n#### [has](#-vuedx-vue-virtual-textdocument-DocumentStore-has-member-1-)\n\n\n\n**Signature:**\n```ts\nhas(uri: string): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-set-member-1-\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-set-member-1-\"></a>\n\n#### [set](#-vuedx-vue-virtual-textdocument-DocumentStore-set-member-1-)\n\n\n\n**Signature:**\n```ts\nset(uri: string, document: T): void;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n| document | <code>T</code> | - |\n\n<br>\n</details>\n\n<br>\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-class\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-class\"></a>\n\n### [RenderFunctionTextDocument](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-class)\n\n\n\n<details><summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare class RenderFunctionTextDocument extends TransformedBlockTextDocument {\n  constructor(container: VueTextDocument, selector: Selector, transformed: TextDocument, source: TextDocument);\n  get ast(): CodegenResult['ast'] | undefined;\n  get contextCompletionsTriggerOffset(): number;\n  static create(options: CreateVirtualTextDocumentOptions): RenderFunctionTextDocument;\n  findExpression(offset: number, length: number): undefined | {\n        offset: number;\n        length: number;\n    };\n  protected generate(): string;\n  getAllGeneratedOffsetsAt(offset: number): undefined | Array<{\n        length: number;\n        offset: number;\n    }>;\n  getGeneratedOffsetAt(offset: number): undefined | {\n        length: number;\n        offset: number;\n    };\n  protected getKnownComponents(): Record<string, ComponentImport>;\n  getOriginalOffsetAt(offset: number): undefined | {\n        offset: number;\n        length: number;\n    };\n  isInGeneratedRange(offset: number): boolean;\n  isInTemplateIdentifierRange(offset: number): boolean;\n  get parserErrors(): CodegenResult['errors'];\n  get tagCompletionsTriggerOffset(): number;\n  toDisplayMappings(): string;\n  protected tryGenerate(): string;\n}\n```\n\n**Members:**\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-create-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-create-member-1-\"></a>\n\n#### [create](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-create-member-1-)\n\n\n\n**Signature:**\n```ts\nstatic create(options: CreateVirtualTextDocumentOptions): RenderFunctionTextDocument;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| options | <code><a href=\"#-vuedx-vue-virtual-textdocument--CreateVirtualTextDocumentOptions-interface\">CreateVirtualTextDocumentOptions</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-findExpression-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-findExpression-member-1-\"></a>\n\n#### [findExpression](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-findExpression-member-1-)\n\n\n\n**Signature:**\n```ts\nfindExpression(offset: number, length: number): undefined | {\n        offset: number;\n        length: number;\n    };\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n| length | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-generate-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-generate-member-1-\"></a>\n\n#### [generate](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-generate-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected generate(): string;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getAllGeneratedOffsetsAt-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getAllGeneratedOffsetsAt-member-1-\"></a>\n\n#### [getAllGeneratedOffsetsAt](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getAllGeneratedOffsetsAt-member-1-)\n\n\n\n**Signature:**\n```ts\ngetAllGeneratedOffsetsAt(offset: number): undefined | Array<{\n        length: number;\n        offset: number;\n    }>;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getGeneratedOffsetAt-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getGeneratedOffsetAt-member-1-\"></a>\n\n#### [getGeneratedOffsetAt](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getGeneratedOffsetAt-member-1-)\n\n\n\n**Signature:**\n```ts\ngetGeneratedOffsetAt(offset: number): undefined | {\n        length: number;\n        offset: number;\n    };\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getKnownComponents-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getKnownComponents-member-1-\"></a>\n\n#### [getKnownComponents](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getKnownComponents-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected getKnownComponents(): Record<string, ComponentImport>;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getOriginalOffsetAt-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getOriginalOffsetAt-member-1-\"></a>\n\n#### [getOriginalOffsetAt](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getOriginalOffsetAt-member-1-)\n\n\n\n**Signature:**\n```ts\ngetOriginalOffsetAt(offset: number): undefined | {\n        offset: number;\n        length: number;\n    };\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-isInGeneratedRange-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-isInGeneratedRange-member-1-\"></a>\n\n#### [isInGeneratedRange](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-isInGeneratedRange-member-1-)\n\n\n\n**Signature:**\n```ts\nisInGeneratedRange(offset: number): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-isInTemplateIdentifierRange-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-isInTemplateIdentifierRange-member-1-\"></a>\n\n#### [isInTemplateIdentifierRange](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-isInTemplateIdentifierRange-member-1-)\n\n\n\n**Signature:**\n```ts\nisInTemplateIdentifierRange(offset: number): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-toDisplayMappings-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-toDisplayMappings-member-1-\"></a>\n\n#### [toDisplayMappings](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-toDisplayMappings-member-1-)\n\n\n\n**Signature:**\n```ts\ntoDisplayMappings(): string;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-tryGenerate-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-tryGenerate-member-1-\"></a>\n\n#### [tryGenerate](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-tryGenerate-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected tryGenerate(): string;\n```\n\n\n<br>\n</details>\n\n<br>\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-class\" id=\"-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-class\"></a>\n\n### [TransformedBlockTextDocument](#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-class)\n\n\n\n<details><summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare class TransformedBlockTextDocument extends VirtualTextDocument {\n  protected constructor(container: VueTextDocument, selector: Selector, transformed: TextDocument, source: TextDocument | VirtualTextDocument, _transform: (document: TransformedBlockTextDocument) => BlockTransformResult);\n  static create(options: CreateTransformedBlockTextDocumentOptions): TransformedBlockTextDocument;\n  protected refresh(): void;\n  transform(): BlockTransformResult;\n  tryGetGeneratedOffset(offset: number): number | undefined;\n  tryGetSourceOffset(offset: number): number | undefined;\n}\n```\n\n**Members:**\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-create-member-1-\" id=\"-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-create-member-1-\"></a>\n\n#### [create](#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-create-member-1-)\n\n\n\n**Signature:**\n```ts\nstatic create(options: CreateTransformedBlockTextDocumentOptions): TransformedBlockTextDocument;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| options | <code><a href=\"#-vuedx-vue-virtual-textdocument--CreateTransformedBlockTextDocumentOptions-interface\">CreateTransformedBlockTextDocumentOptions</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-refresh-member-1-\" id=\"-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-refresh-member-1-\"></a>\n\n#### [refresh](#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-refresh-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected refresh(): void;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-transform-member-1-\" id=\"-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-transform-member-1-\"></a>\n\n#### [transform](#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-transform-member-1-)\n\n\n\n**Signature:**\n```ts\ntransform(): BlockTransformResult;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-tryGetGeneratedOffset-member-1-\" id=\"-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-tryGetGeneratedOffset-member-1-\"></a>\n\n#### [tryGetGeneratedOffset](#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-tryGetGeneratedOffset-member-1-)\n\n\n\n**Signature:**\n```ts\ntryGetGeneratedOffset(offset: number): number | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-tryGetSourceOffset-member-1-\" id=\"-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-tryGetSourceOffset-member-1-\"></a>\n\n#### [tryGetSourceOffset](#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-tryGetSourceOffset-member-1-)\n\n\n\n**Signature:**\n```ts\ntryGetSourceOffset(offset: number): number | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n</details>\n\n<br>\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VirtualTextDocument-class\" id=\"-vuedx-vue-virtual-textdocument-VirtualTextDocument-class\"></a>\n\n### [VirtualTextDocument](#-vuedx-vue-virtual-textdocument-VirtualTextDocument-class)\n\n\n\n<details><summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare class VirtualTextDocument extends ProxyTextDocument {\n  protected constructor(container: VueTextDocument, selector: Selector, doc: TextDocument);\n  readonly container: VueTextDocument;\n  static create(options: CreateVirtualTextDocumentOptions): VirtualTextDocument;\n  protected isDirty: boolean;\n  markDirty(): void;\n  protected refresh(): void;\n  readonly selector: Selector;\n}\n```\n\n**Members:**\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VirtualTextDocument-create-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VirtualTextDocument-create-member-1-\"></a>\n\n#### [create](#-vuedx-vue-virtual-textdocument-VirtualTextDocument-create-member-1-)\n\n\n\n**Signature:**\n```ts\nstatic create(options: CreateVirtualTextDocumentOptions): VirtualTextDocument;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| options | <code><a href=\"#-vuedx-vue-virtual-textdocument--CreateVirtualTextDocumentOptions-interface\">CreateVirtualTextDocumentOptions</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VirtualTextDocument-markDirty-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VirtualTextDocument-markDirty-member-1-\"></a>\n\n#### [markDirty](#-vuedx-vue-virtual-textdocument-VirtualTextDocument-markDirty-member-1-)\n\n\n\n**Signature:**\n```ts\nmarkDirty(): void;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VirtualTextDocument-refresh-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VirtualTextDocument-refresh-member-1-\"></a>\n\n#### [refresh](#-vuedx-vue-virtual-textdocument-VirtualTextDocument-refresh-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected refresh(): void;\n```\n\n\n<br>\n</details>\n\n<br>\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-class\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-class\"></a>\n\n### [VueTextDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-class)\n\n\n\n<details><summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare class VueTextDocument extends ProxyTextDocument {\n  constructor(doc: TextDocument, options?: VueTextDocumentOptions, parseOptions?: SFCParseOptions);\n  all(): VirtualTextDocument[];\n  blockAt(position: Position | number): SFCBlock | null | undefined;\n  static create(uri: string, languageId: string, version: number, content: string, options?: VueTextDocumentOptions, parseOptions?: SFCParseOptions): VueTextDocument;\n  protected createBlockDocument(selector: BlockSelector): VirtualTextDocument | undefined;\n  protected createInternalModuleDocument(): TransformedBlockTextDocument;\n  protected createModuleDocument(): TransformedBlockTextDocument;\n  protected createRenderDocument(): RenderFunctionTextDocument;\n  protected createTemplateASTDocument(): TransformedBlockTextDocument;\n  get descriptor(): SFCDescriptor;\n  documentAt(position: Position | number): VirtualTextDocument | undefined;\n  getBlock(selector: BlockSelector): SFCBlock | null | undefined;\n  getBlockSelector(block: SFCBlock): BlockSelector | undefined;\n  getDocument(selector: typeof RENDER_SELECTOR): RenderFunctionTextDocument;\n  getDocument(selector: SelectorLike): VirtualTextDocument;\n  getDocument(selector: string): VirtualTextDocument | undefined;\n  getDocumentFileName(selectorLike: SelectorLike): string;\n  protected getDocumentId(selector: Selector): string;\n  protected getDocumentLanguage(selector: Selector): string;\n  markDirty(): void;\n  readonly options: VueTextDocumentOptions;\n  protected parse(): void;\n  static update(document: VueTextDocument, changes: TextDocumentContentChangeEvent[], version: number): VueTextDocument;\n}\n```\n\n**Members:**\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-all-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-all-member-1-\"></a>\n\n#### [all](#-vuedx-vue-virtual-textdocument-VueTextDocument-all-member-1-)\n\n\n\n**Signature:**\n```ts\nall(): VirtualTextDocument[];\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-blockAt-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-blockAt-member-1-\"></a>\n\n#### [blockAt](#-vuedx-vue-virtual-textdocument-VueTextDocument-blockAt-member-1-)\n\n\n\n**Signature:**\n```ts\nblockAt(position: Position | number): SFCBlock | null | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| position | <code><a href=\"#vscode-languageserver-textdocument-Position-interface\">Position</a> &#124; number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-create-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-create-member-1-\"></a>\n\n#### [create](#-vuedx-vue-virtual-textdocument-VueTextDocument-create-member-1-)\n\n\n\n**Signature:**\n```ts\nstatic create(uri: string, languageId: string, version: number, content: string, options?: VueTextDocumentOptions, parseOptions?: SFCParseOptions): VueTextDocument;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n| languageId | <code>string</code> | - |\n| version | <code>number</code> | - |\n| content | <code>string</code> | - |\n| options | <code><a href=\"#-vuedx-vue-virtual-textdocument--VueTextDocumentOptions-interface\">VueTextDocumentOptions</a></code> | - |\n| parseOptions | <code><a href=\"#-vue-compiler-sfc-SFCParseOptions-interface\">SFCParseOptions</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-createBlockDocument-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-createBlockDocument-member-1-\"></a>\n\n#### [createBlockDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-createBlockDocument-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected createBlockDocument(selector: BlockSelector): VirtualTextDocument | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selector | <code><a href=\"#-vuedx-vue-virtual-textdocument--BlockSelector-type\">BlockSelector</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-createInternalModuleDocument-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-createInternalModuleDocument-member-1-\"></a>\n\n#### [createInternalModuleDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-createInternalModuleDocument-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected createInternalModuleDocument(): TransformedBlockTextDocument;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-createModuleDocument-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-createModuleDocument-member-1-\"></a>\n\n#### [createModuleDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-createModuleDocument-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected createModuleDocument(): TransformedBlockTextDocument;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-createRenderDocument-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-createRenderDocument-member-1-\"></a>\n\n#### [createRenderDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-createRenderDocument-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected createRenderDocument(): RenderFunctionTextDocument;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-createTemplateASTDocument-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-createTemplateASTDocument-member-1-\"></a>\n\n#### [createTemplateASTDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-createTemplateASTDocument-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected createTemplateASTDocument(): TransformedBlockTextDocument;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-documentAt-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-documentAt-member-1-\"></a>\n\n#### [documentAt](#-vuedx-vue-virtual-textdocument-VueTextDocument-documentAt-member-1-)\n\n\n\n**Signature:**\n```ts\ndocumentAt(position: Position | number): VirtualTextDocument | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| position | <code><a href=\"#vscode-languageserver-textdocument-Position-interface\">Position</a> &#124; number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getBlock-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getBlock-member-1-\"></a>\n\n#### [getBlock](#-vuedx-vue-virtual-textdocument-VueTextDocument-getBlock-member-1-)\n\n\n\n**Signature:**\n```ts\ngetBlock(selector: BlockSelector): SFCBlock | null | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selector | <code><a href=\"#-vuedx-vue-virtual-textdocument--BlockSelector-type\">BlockSelector</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getBlockSelector-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getBlockSelector-member-1-\"></a>\n\n#### [getBlockSelector](#-vuedx-vue-virtual-textdocument-VueTextDocument-getBlockSelector-member-1-)\n\n\n\n**Signature:**\n```ts\ngetBlockSelector(block: SFCBlock): BlockSelector | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| block | <code><a href=\"#-vue-compiler-sfc-SFCBlock-interface\">SFCBlock</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-1-\"></a>\n\n#### [getDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-1-)\n\n\n\n**Signature:**\n```ts\ngetDocument(selector: typeof RENDER_SELECTOR): RenderFunctionTextDocument;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selector | <code>typeof <a href=\"#-vuedx-vue-virtual-textdocument--RENDER-SELECTOR-var\">RENDER_SELECTOR</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-2-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-2-\"></a>\n\n#### [getDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-2-)\n\n\n\n**Signature:**\n```ts\ngetDocument(selector: SelectorLike): VirtualTextDocument;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selector | <code><a href=\"#-vuedx-vue-virtual-textdocument--SelectorLike-type\">SelectorLike</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-3-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-3-\"></a>\n\n#### [getDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-3-)\n\n\n\n**Signature:**\n```ts\ngetDocument(selector: string): VirtualTextDocument | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selector | <code>string</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentFileName-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentFileName-member-1-\"></a>\n\n#### [getDocumentFileName](#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentFileName-member-1-)\n\n\n\n**Signature:**\n```ts\ngetDocumentFileName(selectorLike: SelectorLike): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selectorLike | <code><a href=\"#-vuedx-vue-virtual-textdocument--SelectorLike-type\">SelectorLike</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentId-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentId-member-1-\"></a>\n\n#### [getDocumentId](#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentId-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected getDocumentId(selector: Selector): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selector | <code><a href=\"#-vuedx-vue-virtual-textdocument--Selector-type\">Selector</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentLanguage-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentLanguage-member-1-\"></a>\n\n#### [getDocumentLanguage](#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentLanguage-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected getDocumentLanguage(selector: Selector): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selector | <code><a href=\"#-vuedx-vue-virtual-textdocument--Selector-type\">Selector</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-markDirty-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-markDirty-member-1-\"></a>\n\n#### [markDirty](#-vuedx-vue-virtual-textdocument-VueTextDocument-markDirty-member-1-)\n\n\n\n**Signature:**\n```ts\nmarkDirty(): void;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-parse-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-parse-member-1-\"></a>\n\n#### [parse](#-vuedx-vue-virtual-textdocument-VueTextDocument-parse-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected parse(): void;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-update-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-update-member-1-\"></a>\n\n#### [update](#-vuedx-vue-virtual-textdocument-VueTextDocument-update-member-1-)\n\n\n\n**Signature:**\n```ts\nstatic update(document: VueTextDocument, changes: TextDocumentContentChangeEvent[], version: number): VueTextDocument;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| document | <code><a href=\"#-vuedx-vue-virtual-textdocument--VueTextDocument-class\">VueTextDocument</a></code> | - |\n| changes | <code><a href=\"#vscode-languageserver-textdocument-TextDocumentContentChangeEvent-type\">TextDocumentContentChangeEvent</a>[]</code> | - |\n| version | <code>number</code> | - |\n\n<br>\n</details>\n\n<br>\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-asFsPath-function-1-\" id=\"-vuedx-vue-virtual-textdocument-asFsPath-function-1-\"></a>\n\n### [asFsPath](#-vuedx-vue-virtual-textdocument-asFsPath-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function asFsPath(uri: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-asFsUri-function-1-\" id=\"-vuedx-vue-virtual-textdocument-asFsUri-function-1-\"></a>\n\n### [asFsUri](#-vuedx-vue-virtual-textdocument-asFsUri-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function asFsUri(fileName: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-asUri-function-1-\" id=\"-vuedx-vue-virtual-textdocument-asUri-function-1-\"></a>\n\n### [asUri](#-vuedx-vue-virtual-textdocument-asUri-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function asUri(fileNameOrUri: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileNameOrUri | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-basename-function-1-\" id=\"-vuedx-vue-virtual-textdocument-basename-function-1-\"></a>\n\n### [basename](#-vuedx-vue-virtual-textdocument-basename-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function basename(fileName: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-binarySearch-function-1-\" id=\"-vuedx-vue-virtual-textdocument-binarySearch-function-1-\"></a>\n\n### [binarySearch](#-vuedx-vue-virtual-textdocument-binarySearch-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function binarySearch<T>(array: T[], isMatch: (a: T) => number, returnMin?: boolean): T | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| array | <code>T[]</code> | - |\n| isMatch | <code>(a: T) => number</code> | - |\n| returnMin | <code>boolean</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-getBlockLanguage-function-1-\" id=\"-vuedx-vue-virtual-textdocument-getBlockLanguage-function-1-\"></a>\n\n### [getBlockLanguage](#-vuedx-vue-virtual-textdocument-getBlockLanguage-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function getBlockLanguage(block?: SFCBlock | null): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| block | <code><a href=\"#-vue-compiler-sfc-SFCBlock-interface\">SFCBlock</a> &#124; null</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-getContainingFile-function-1-\" id=\"-vuedx-vue-virtual-textdocument-getContainingFile-function-1-\"></a>\n\n### [getContainingFile](#-vuedx-vue-virtual-textdocument-getContainingFile-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function getContainingFile(fileName: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-getLanguageExtension-function-1-\" id=\"-vuedx-vue-virtual-textdocument-getLanguageExtension-function-1-\"></a>\n\n### [getLanguageExtension](#-vuedx-vue-virtual-textdocument-getLanguageExtension-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function getLanguageExtension(lang: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| lang | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-getLanguageIdFromExtension-function-1-\" id=\"-vuedx-vue-virtual-textdocument-getLanguageIdFromExtension-function-1-\"></a>\n\n### [getLanguageIdFromExtension](#-vuedx-vue-virtual-textdocument-getLanguageIdFromExtension-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function getLanguageIdFromExtension(ext: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| ext | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-isOffsetInBlock-function-1-\" id=\"-vuedx-vue-virtual-textdocument-isOffsetInBlock-function-1-\"></a>\n\n### [isOffsetInBlock](#-vuedx-vue-virtual-textdocument-isOffsetInBlock-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function isOffsetInBlock(offset: number, block?: SFCBlock | null): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n| block | <code><a href=\"#-vue-compiler-sfc-SFCBlock-interface\">SFCBlock</a> &#124; null</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-isVirtualFile-function-1-\" id=\"-vuedx-vue-virtual-textdocument-isVirtualFile-function-1-\"></a>\n\n### [isVirtualFile](#-vuedx-vue-virtual-textdocument-isVirtualFile-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function isVirtualFile(fileName: string): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-isVirtualFileOfType-function-1-\" id=\"-vuedx-vue-virtual-textdocument-isVirtualFileOfType-function-1-\"></a>\n\n### [isVirtualFileOfType](#-vuedx-vue-virtual-textdocument-isVirtualFileOfType-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function isVirtualFileOfType(fileName: string, type: '_render' | '_module' | '_internal' | 'script' | 'scriptSetup'): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n| type | <code>'_render' &#124; '_module' &#124; '_internal' &#124; 'script' &#124; 'scriptSetup'</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-isVueFile-function-1-\" id=\"-vuedx-vue-virtual-textdocument-isVueFile-function-1-\"></a>\n\n### [isVueFile](#-vuedx-vue-virtual-textdocument-isVueFile-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function isVueFile(fileName: string): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-parseVirtualFileName-function-1-\" id=\"-vuedx-vue-virtual-textdocument-parseVirtualFileName-function-1-\"></a>\n\n### [parseVirtualFileName](#-vuedx-vue-virtual-textdocument-parseVirtualFileName-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function parseVirtualFileName(fileName: string): {\n    uri: string;\n    selector: Selector;\n} | null;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-relativeVirtualImportPath-function-1-\" id=\"-vuedx-vue-virtual-textdocument-relativeVirtualImportPath-function-1-\"></a>\n\n### [relativeVirtualImportPath](#-vuedx-vue-virtual-textdocument-relativeVirtualImportPath-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function relativeVirtualImportPath(fileName: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-replaceSlashes-function-1-\" id=\"-vuedx-vue-virtual-textdocument-replaceSlashes-function-1-\"></a>\n\n### [replaceSlashes](#-vuedx-vue-virtual-textdocument-replaceSlashes-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function replaceSlashes(fileName: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n<!-- #region API-DOCS -->\n","readmeFilename":"readme.md","_id":"@vuedx/vue-virtual-textdocument@0.7.5-insiders-1630600136.0","_nodeVersion":"16.8.0","_npmVersion":"7.21.0","dist":{"integrity":"sha512-lpTWxNE5beq5Wp2aJi9UPRgZxbrkSyCsys+jWU+Ov1hOsnANx9PYJbNzb/mnDezO4C1WjhYcACjNtBGSGR4hiQ==","shasum":"24c210cead756a6e2418abfda1deba78ec9209cc","tarball":"https://registry.npmjs.org/@vuedx/vue-virtual-textdocument/-/vue-virtual-textdocument-0.7.5-insiders-1630600136.0.tgz","fileCount":8,"unpackedSize":164687,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhMPvqCRA9TVsSAnZWagAAfxEQAKJwTORVCrECEcZk59BD\nsvFJdQnLEdaasXiygrnzilgvIs4S+pl+CyPdXy+qLb5D4yJKG+OY0qjBve+6\n9JPys7me6yC+NUdySOk0gVw5r5D7P4c44bxAiSkV255jIcPE9ix7Pybvjc5B\nwj5TulcQUXBZDQS/alQlHH+/xurQbk4vF4MQ3ro7g5QmPkSnWIhDdMPVcEXG\nv+5SsvjqfvK4WocKkuVFSQu0x9fZPURES8o6wyTCguMehBjtS2iZrYmc6LRw\npKZEObn3i19pooySb7RHxv6qerYDOqsqgHbw6yWkkILb4Jq0capWNr2seUmu\nfXlsWkI8z3u1MniwVEsCyyg4bLV64oLQa4m64JSsUsw/Vgp2mjmgoTlfOAle\nPwBkO6st7ijVlUaD64DNIqgHB6GiS7XUr2pLvJbCs4U+ENHS1kqsfXYuJBON\nlcJ2A5ZO4ENVCwPklsxT2DoSV5+wvoqP0mxnskLTn+hdeuEVvSymDVfRMUj5\nDX9gtzrU9T8o9ZQ3zLdQz9s0PAeMk2GzZQRd9/zdZwtctdIm+1bO7Zl0uUZb\n3ndJEBQwcmql3Y6UwYayQpx8bBqlWwI1x5/W2JlAMK1rDS9QTfxLv9dmph8P\nj1Lp6iFPxtsN8lnRQx58EverVaJ0JK8vQRPv5bsT3IacLoec4vB0WLz6dkVe\nAvbO\r\n=ou64\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIAJQNKtmzTMMSTb7IsMCEVnzl/QVvx1PGGeS+7m7INxCAiEAkLmVW7V0o41lmLAYM7MD2MHFmsNid1/KZ2rM7SG0MqA="}]},"_npmUser":{"name":"znck","email":"rahulkdn@gmail.com"},"directories":{},"maintainers":[{"name":"znck","email":"rahulkdn@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/vue-virtual-textdocument_0.7.5-insiders-1630600136.0_1630600170507_0.9447331116084314"},"_hasShrinkwrap":false},"0.7.5-insiders-1630601239.0":{"name":"@vuedx/vue-virtual-textdocument","version":"0.7.5-insiders-1630601239.0","description":"A virtual filesystem to access blocks in SFC as files","main":"lib/index.js","module":"lib/index.mjs","types":"lib/index.d.ts","publishConfig":{"types":"lib/index.d.ts"},"private":false,"keywords":["vue","vue sfc","sfc","vue virtual files"],"repository":{"type":"git","url":"git+https://github.com/znck/vue-developer-experience.git"},"author":{"name":"Rahul Kadyan","email":"rahulkdn@gmail.com","url":"https://znck.me/"},"funding":{"type":"individual","url":"https://github.com/sponsors/znck"},"license":"MIT","bugs":{"url":"https://github.com/znck/vue-developer-experience/issues"},"homepage":"https://github.com/znck/vue-developer-experience#readme","dependencies":{"@vuedx/compiler-sfc":"0.7.2-insiders-1630601239.0","@vuedx/compiler-tsx":"0.7.5-insiders-1630601239.0","@vuedx/shared":"0.7.4-insiders-1630601239.0","@vuedx/template-ast-types":"0.7.3-insiders-1630601239.0","@vuedx/transforms":"0.7.5-insiders-1630601239.0","source-map":"^0.6.1","vscode-languageserver-textdocument":"^1.0.1","vscode-uri":"^2.1.2"},"devDependencies":{"typescript":"^4.0.3"},"scripts":{},"readme":"# Vue Virtual TextDocument\n\nAn implementation of virtual filesystem for accessing blocks in a `.vue` file as independent files.\n\n## Support\n\nThis package is part of [VueDX project](https://github.com/znck/vue-developer-experience), maintained by [Rahul Kadyan](https://github.com/znck). You can [💖 sponsor him](https://github.com/sponsors/znck) for continued development of this package and other VueDX tools.\n\n```\nnpm add @vuedx/vue-virtual-textdocument\n```\n<!-- #region API-DOCS -->\n<!-- Do not edit this file. It is a report generated by [scripts/docgen.js](https://github.com/znck/vue-developer-experience/tree/main/scripts/docgen.js). -->\n\n## API\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-AsyncDocumentStore-class\" id=\"-vuedx-vue-virtual-textdocument-AsyncDocumentStore-class\"></a>\n\n### [AsyncDocumentStore](#-vuedx-vue-virtual-textdocument-AsyncDocumentStore-class)\n\n\n\n<details><summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare class AsyncDocumentStore<T> extends DocumentStore<T> {\n  constructor(resolve: (uri: string) => T | Promise<T | null> | null, normalize?: (uri: string) => string);\n  get(uri: string): T | null;\n  get(uri: string): Promise<T | null>;\n}\n```\n\n**Members:**\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-AsyncDocumentStore-get-member-1-\" id=\"-vuedx-vue-virtual-textdocument-AsyncDocumentStore-get-member-1-\"></a>\n\n#### [get](#-vuedx-vue-virtual-textdocument-AsyncDocumentStore-get-member-1-)\n\n\n\n**Signature:**\n```ts\nget(uri: string): T | null;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-AsyncDocumentStore-get-member-2-\" id=\"-vuedx-vue-virtual-textdocument-AsyncDocumentStore-get-member-2-\"></a>\n\n#### [get](#-vuedx-vue-virtual-textdocument-AsyncDocumentStore-get-member-2-)\n\n\n\n**Signature:**\n```ts\nget(uri: string): Promise<T | null>;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n\n<br>\n</details>\n\n<br>\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-class\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-class\"></a>\n\n### [DocumentStore](#-vuedx-vue-virtual-textdocument-DocumentStore-class)\n\n\n\n<details><summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare class DocumentStore<T> {\n  constructor(resolve: (uri: string) => T | null, normalize?: (uri: string) => string);\n  all(): string[];\n  delete(uri: string): boolean;\n  dispose(): void;\n  get(uri: string): T | null;\n  protected getNormalizedUri(uri: string): string;\n  has(uri: string): boolean;\n  protected map: Map<string, T>;\n  normalize: (uri: string) => string;\n  protected resolve: (uri: string) => T | null;\n  protected reverseUriMap: Map<string, string>;\n  set(uri: string, document: T): void;\n}\n```\n\n**Members:**\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-all-member-1-\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-all-member-1-\"></a>\n\n#### [all](#-vuedx-vue-virtual-textdocument-DocumentStore-all-member-1-)\n\n\n\n**Signature:**\n```ts\nall(): string[];\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-delete-member-1-\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-delete-member-1-\"></a>\n\n#### [delete](#-vuedx-vue-virtual-textdocument-DocumentStore-delete-member-1-)\n\n\n\n**Signature:**\n```ts\ndelete(uri: string): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-dispose-member-1-\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-dispose-member-1-\"></a>\n\n#### [dispose](#-vuedx-vue-virtual-textdocument-DocumentStore-dispose-member-1-)\n\n\n\n**Signature:**\n```ts\ndispose(): void;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-get-member-1-\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-get-member-1-\"></a>\n\n#### [get](#-vuedx-vue-virtual-textdocument-DocumentStore-get-member-1-)\n\n\n\n**Signature:**\n```ts\nget(uri: string): T | null;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-getNormalizedUri-member-1-\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-getNormalizedUri-member-1-\"></a>\n\n#### [getNormalizedUri](#-vuedx-vue-virtual-textdocument-DocumentStore-getNormalizedUri-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected getNormalizedUri(uri: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-has-member-1-\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-has-member-1-\"></a>\n\n#### [has](#-vuedx-vue-virtual-textdocument-DocumentStore-has-member-1-)\n\n\n\n**Signature:**\n```ts\nhas(uri: string): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-set-member-1-\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-set-member-1-\"></a>\n\n#### [set](#-vuedx-vue-virtual-textdocument-DocumentStore-set-member-1-)\n\n\n\n**Signature:**\n```ts\nset(uri: string, document: T): void;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n| document | <code>T</code> | - |\n\n<br>\n</details>\n\n<br>\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-class\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-class\"></a>\n\n### [RenderFunctionTextDocument](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-class)\n\n\n\n<details><summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare class RenderFunctionTextDocument extends TransformedBlockTextDocument {\n  constructor(container: VueTextDocument, selector: Selector, transformed: TextDocument, source: TextDocument);\n  get ast(): CodegenResult['ast'] | undefined;\n  get contextCompletionsTriggerOffset(): number;\n  static create(options: CreateVirtualTextDocumentOptions): RenderFunctionTextDocument;\n  findExpression(offset: number, length: number): undefined | {\n        offset: number;\n        length: number;\n    };\n  protected generate(): string;\n  getAllGeneratedOffsetsAt(offset: number): undefined | Array<{\n        length: number;\n        offset: number;\n    }>;\n  getGeneratedOffsetAt(offset: number): undefined | {\n        length: number;\n        offset: number;\n    };\n  protected getKnownComponents(): Record<string, ComponentImport>;\n  getOriginalOffsetAt(offset: number): undefined | {\n        offset: number;\n        length: number;\n    };\n  isInGeneratedRange(offset: number): boolean;\n  isInTemplateIdentifierRange(offset: number): boolean;\n  get parserErrors(): CodegenResult['errors'];\n  get tagCompletionsTriggerOffset(): number;\n  toDisplayMappings(): string;\n  protected tryGenerate(): string;\n}\n```\n\n**Members:**\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-create-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-create-member-1-\"></a>\n\n#### [create](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-create-member-1-)\n\n\n\n**Signature:**\n```ts\nstatic create(options: CreateVirtualTextDocumentOptions): RenderFunctionTextDocument;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| options | <code><a href=\"#-vuedx-vue-virtual-textdocument--CreateVirtualTextDocumentOptions-interface\">CreateVirtualTextDocumentOptions</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-findExpression-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-findExpression-member-1-\"></a>\n\n#### [findExpression](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-findExpression-member-1-)\n\n\n\n**Signature:**\n```ts\nfindExpression(offset: number, length: number): undefined | {\n        offset: number;\n        length: number;\n    };\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n| length | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-generate-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-generate-member-1-\"></a>\n\n#### [generate](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-generate-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected generate(): string;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getAllGeneratedOffsetsAt-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getAllGeneratedOffsetsAt-member-1-\"></a>\n\n#### [getAllGeneratedOffsetsAt](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getAllGeneratedOffsetsAt-member-1-)\n\n\n\n**Signature:**\n```ts\ngetAllGeneratedOffsetsAt(offset: number): undefined | Array<{\n        length: number;\n        offset: number;\n    }>;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getGeneratedOffsetAt-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getGeneratedOffsetAt-member-1-\"></a>\n\n#### [getGeneratedOffsetAt](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getGeneratedOffsetAt-member-1-)\n\n\n\n**Signature:**\n```ts\ngetGeneratedOffsetAt(offset: number): undefined | {\n        length: number;\n        offset: number;\n    };\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getKnownComponents-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getKnownComponents-member-1-\"></a>\n\n#### [getKnownComponents](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getKnownComponents-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected getKnownComponents(): Record<string, ComponentImport>;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getOriginalOffsetAt-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getOriginalOffsetAt-member-1-\"></a>\n\n#### [getOriginalOffsetAt](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getOriginalOffsetAt-member-1-)\n\n\n\n**Signature:**\n```ts\ngetOriginalOffsetAt(offset: number): undefined | {\n        offset: number;\n        length: number;\n    };\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-isInGeneratedRange-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-isInGeneratedRange-member-1-\"></a>\n\n#### [isInGeneratedRange](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-isInGeneratedRange-member-1-)\n\n\n\n**Signature:**\n```ts\nisInGeneratedRange(offset: number): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-isInTemplateIdentifierRange-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-isInTemplateIdentifierRange-member-1-\"></a>\n\n#### [isInTemplateIdentifierRange](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-isInTemplateIdentifierRange-member-1-)\n\n\n\n**Signature:**\n```ts\nisInTemplateIdentifierRange(offset: number): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-toDisplayMappings-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-toDisplayMappings-member-1-\"></a>\n\n#### [toDisplayMappings](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-toDisplayMappings-member-1-)\n\n\n\n**Signature:**\n```ts\ntoDisplayMappings(): string;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-tryGenerate-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-tryGenerate-member-1-\"></a>\n\n#### [tryGenerate](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-tryGenerate-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected tryGenerate(): string;\n```\n\n\n<br>\n</details>\n\n<br>\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-class\" id=\"-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-class\"></a>\n\n### [TransformedBlockTextDocument](#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-class)\n\n\n\n<details><summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare class TransformedBlockTextDocument extends VirtualTextDocument {\n  protected constructor(container: VueTextDocument, selector: Selector, transformed: TextDocument, source: TextDocument | VirtualTextDocument, _transform: (document: TransformedBlockTextDocument) => BlockTransformResult);\n  static create(options: CreateTransformedBlockTextDocumentOptions): TransformedBlockTextDocument;\n  protected refresh(): void;\n  transform(): BlockTransformResult;\n  tryGetGeneratedOffset(offset: number): number | undefined;\n  tryGetSourceOffset(offset: number): number | undefined;\n}\n```\n\n**Members:**\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-create-member-1-\" id=\"-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-create-member-1-\"></a>\n\n#### [create](#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-create-member-1-)\n\n\n\n**Signature:**\n```ts\nstatic create(options: CreateTransformedBlockTextDocumentOptions): TransformedBlockTextDocument;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| options | <code><a href=\"#-vuedx-vue-virtual-textdocument--CreateTransformedBlockTextDocumentOptions-interface\">CreateTransformedBlockTextDocumentOptions</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-refresh-member-1-\" id=\"-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-refresh-member-1-\"></a>\n\n#### [refresh](#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-refresh-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected refresh(): void;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-transform-member-1-\" id=\"-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-transform-member-1-\"></a>\n\n#### [transform](#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-transform-member-1-)\n\n\n\n**Signature:**\n```ts\ntransform(): BlockTransformResult;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-tryGetGeneratedOffset-member-1-\" id=\"-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-tryGetGeneratedOffset-member-1-\"></a>\n\n#### [tryGetGeneratedOffset](#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-tryGetGeneratedOffset-member-1-)\n\n\n\n**Signature:**\n```ts\ntryGetGeneratedOffset(offset: number): number | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-tryGetSourceOffset-member-1-\" id=\"-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-tryGetSourceOffset-member-1-\"></a>\n\n#### [tryGetSourceOffset](#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-tryGetSourceOffset-member-1-)\n\n\n\n**Signature:**\n```ts\ntryGetSourceOffset(offset: number): number | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n</details>\n\n<br>\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VirtualTextDocument-class\" id=\"-vuedx-vue-virtual-textdocument-VirtualTextDocument-class\"></a>\n\n### [VirtualTextDocument](#-vuedx-vue-virtual-textdocument-VirtualTextDocument-class)\n\n\n\n<details><summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare class VirtualTextDocument extends ProxyTextDocument {\n  protected constructor(container: VueTextDocument, selector: Selector, doc: TextDocument);\n  readonly container: VueTextDocument;\n  static create(options: CreateVirtualTextDocumentOptions): VirtualTextDocument;\n  protected isDirty: boolean;\n  markDirty(): void;\n  protected refresh(): void;\n  readonly selector: Selector;\n}\n```\n\n**Members:**\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VirtualTextDocument-create-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VirtualTextDocument-create-member-1-\"></a>\n\n#### [create](#-vuedx-vue-virtual-textdocument-VirtualTextDocument-create-member-1-)\n\n\n\n**Signature:**\n```ts\nstatic create(options: CreateVirtualTextDocumentOptions): VirtualTextDocument;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| options | <code><a href=\"#-vuedx-vue-virtual-textdocument--CreateVirtualTextDocumentOptions-interface\">CreateVirtualTextDocumentOptions</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VirtualTextDocument-markDirty-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VirtualTextDocument-markDirty-member-1-\"></a>\n\n#### [markDirty](#-vuedx-vue-virtual-textdocument-VirtualTextDocument-markDirty-member-1-)\n\n\n\n**Signature:**\n```ts\nmarkDirty(): void;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VirtualTextDocument-refresh-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VirtualTextDocument-refresh-member-1-\"></a>\n\n#### [refresh](#-vuedx-vue-virtual-textdocument-VirtualTextDocument-refresh-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected refresh(): void;\n```\n\n\n<br>\n</details>\n\n<br>\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-class\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-class\"></a>\n\n### [VueTextDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-class)\n\n\n\n<details><summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare class VueTextDocument extends ProxyTextDocument {\n  constructor(doc: TextDocument, options?: VueTextDocumentOptions, parseOptions?: SFCParseOptions);\n  all(): VirtualTextDocument[];\n  blockAt(position: Position | number): SFCBlock | null | undefined;\n  static create(uri: string, languageId: string, version: number, content: string, options?: VueTextDocumentOptions, parseOptions?: SFCParseOptions): VueTextDocument;\n  protected createBlockDocument(selector: BlockSelector): VirtualTextDocument | undefined;\n  protected createInternalModuleDocument(): TransformedBlockTextDocument;\n  protected createModuleDocument(): TransformedBlockTextDocument;\n  protected createRenderDocument(): RenderFunctionTextDocument;\n  protected createTemplateASTDocument(): TransformedBlockTextDocument;\n  get descriptor(): SFCDescriptor;\n  documentAt(position: Position | number): VirtualTextDocument | undefined;\n  getBlock(selector: BlockSelector): SFCBlock | null | undefined;\n  getBlockSelector(block: SFCBlock): BlockSelector | undefined;\n  getDocument(selector: typeof RENDER_SELECTOR): RenderFunctionTextDocument;\n  getDocument(selector: SelectorLike): VirtualTextDocument;\n  getDocument(selector: string): VirtualTextDocument | undefined;\n  getDocumentFileName(selectorLike: SelectorLike): string;\n  protected getDocumentId(selector: Selector): string;\n  protected getDocumentLanguage(selector: Selector): string;\n  markDirty(): void;\n  readonly options: VueTextDocumentOptions;\n  protected parse(): void;\n  static update(document: VueTextDocument, changes: TextDocumentContentChangeEvent[], version: number): VueTextDocument;\n}\n```\n\n**Members:**\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-all-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-all-member-1-\"></a>\n\n#### [all](#-vuedx-vue-virtual-textdocument-VueTextDocument-all-member-1-)\n\n\n\n**Signature:**\n```ts\nall(): VirtualTextDocument[];\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-blockAt-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-blockAt-member-1-\"></a>\n\n#### [blockAt](#-vuedx-vue-virtual-textdocument-VueTextDocument-blockAt-member-1-)\n\n\n\n**Signature:**\n```ts\nblockAt(position: Position | number): SFCBlock | null | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| position | <code><a href=\"#vscode-languageserver-textdocument-Position-interface\">Position</a> &#124; number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-create-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-create-member-1-\"></a>\n\n#### [create](#-vuedx-vue-virtual-textdocument-VueTextDocument-create-member-1-)\n\n\n\n**Signature:**\n```ts\nstatic create(uri: string, languageId: string, version: number, content: string, options?: VueTextDocumentOptions, parseOptions?: SFCParseOptions): VueTextDocument;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n| languageId | <code>string</code> | - |\n| version | <code>number</code> | - |\n| content | <code>string</code> | - |\n| options | <code><a href=\"#-vuedx-vue-virtual-textdocument--VueTextDocumentOptions-interface\">VueTextDocumentOptions</a></code> | - |\n| parseOptions | <code><a href=\"#-vue-compiler-sfc-SFCParseOptions-interface\">SFCParseOptions</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-createBlockDocument-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-createBlockDocument-member-1-\"></a>\n\n#### [createBlockDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-createBlockDocument-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected createBlockDocument(selector: BlockSelector): VirtualTextDocument | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selector | <code><a href=\"#-vuedx-vue-virtual-textdocument--BlockSelector-type\">BlockSelector</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-createInternalModuleDocument-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-createInternalModuleDocument-member-1-\"></a>\n\n#### [createInternalModuleDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-createInternalModuleDocument-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected createInternalModuleDocument(): TransformedBlockTextDocument;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-createModuleDocument-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-createModuleDocument-member-1-\"></a>\n\n#### [createModuleDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-createModuleDocument-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected createModuleDocument(): TransformedBlockTextDocument;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-createRenderDocument-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-createRenderDocument-member-1-\"></a>\n\n#### [createRenderDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-createRenderDocument-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected createRenderDocument(): RenderFunctionTextDocument;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-createTemplateASTDocument-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-createTemplateASTDocument-member-1-\"></a>\n\n#### [createTemplateASTDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-createTemplateASTDocument-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected createTemplateASTDocument(): TransformedBlockTextDocument;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-documentAt-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-documentAt-member-1-\"></a>\n\n#### [documentAt](#-vuedx-vue-virtual-textdocument-VueTextDocument-documentAt-member-1-)\n\n\n\n**Signature:**\n```ts\ndocumentAt(position: Position | number): VirtualTextDocument | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| position | <code><a href=\"#vscode-languageserver-textdocument-Position-interface\">Position</a> &#124; number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getBlock-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getBlock-member-1-\"></a>\n\n#### [getBlock](#-vuedx-vue-virtual-textdocument-VueTextDocument-getBlock-member-1-)\n\n\n\n**Signature:**\n```ts\ngetBlock(selector: BlockSelector): SFCBlock | null | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selector | <code><a href=\"#-vuedx-vue-virtual-textdocument--BlockSelector-type\">BlockSelector</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getBlockSelector-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getBlockSelector-member-1-\"></a>\n\n#### [getBlockSelector](#-vuedx-vue-virtual-textdocument-VueTextDocument-getBlockSelector-member-1-)\n\n\n\n**Signature:**\n```ts\ngetBlockSelector(block: SFCBlock): BlockSelector | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| block | <code><a href=\"#-vue-compiler-sfc-SFCBlock-interface\">SFCBlock</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-1-\"></a>\n\n#### [getDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-1-)\n\n\n\n**Signature:**\n```ts\ngetDocument(selector: typeof RENDER_SELECTOR): RenderFunctionTextDocument;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selector | <code>typeof <a href=\"#-vuedx-vue-virtual-textdocument--RENDER-SELECTOR-var\">RENDER_SELECTOR</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-2-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-2-\"></a>\n\n#### [getDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-2-)\n\n\n\n**Signature:**\n```ts\ngetDocument(selector: SelectorLike): VirtualTextDocument;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selector | <code><a href=\"#-vuedx-vue-virtual-textdocument--SelectorLike-type\">SelectorLike</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-3-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-3-\"></a>\n\n#### [getDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-3-)\n\n\n\n**Signature:**\n```ts\ngetDocument(selector: string): VirtualTextDocument | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selector | <code>string</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentFileName-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentFileName-member-1-\"></a>\n\n#### [getDocumentFileName](#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentFileName-member-1-)\n\n\n\n**Signature:**\n```ts\ngetDocumentFileName(selectorLike: SelectorLike): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selectorLike | <code><a href=\"#-vuedx-vue-virtual-textdocument--SelectorLike-type\">SelectorLike</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentId-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentId-member-1-\"></a>\n\n#### [getDocumentId](#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentId-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected getDocumentId(selector: Selector): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selector | <code><a href=\"#-vuedx-vue-virtual-textdocument--Selector-type\">Selector</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentLanguage-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentLanguage-member-1-\"></a>\n\n#### [getDocumentLanguage](#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentLanguage-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected getDocumentLanguage(selector: Selector): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selector | <code><a href=\"#-vuedx-vue-virtual-textdocument--Selector-type\">Selector</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-markDirty-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-markDirty-member-1-\"></a>\n\n#### [markDirty](#-vuedx-vue-virtual-textdocument-VueTextDocument-markDirty-member-1-)\n\n\n\n**Signature:**\n```ts\nmarkDirty(): void;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-parse-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-parse-member-1-\"></a>\n\n#### [parse](#-vuedx-vue-virtual-textdocument-VueTextDocument-parse-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected parse(): void;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-update-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-update-member-1-\"></a>\n\n#### [update](#-vuedx-vue-virtual-textdocument-VueTextDocument-update-member-1-)\n\n\n\n**Signature:**\n```ts\nstatic update(document: VueTextDocument, changes: TextDocumentContentChangeEvent[], version: number): VueTextDocument;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| document | <code><a href=\"#-vuedx-vue-virtual-textdocument--VueTextDocument-class\">VueTextDocument</a></code> | - |\n| changes | <code><a href=\"#vscode-languageserver-textdocument-TextDocumentContentChangeEvent-type\">TextDocumentContentChangeEvent</a>[]</code> | - |\n| version | <code>number</code> | - |\n\n<br>\n</details>\n\n<br>\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-asFsPath-function-1-\" id=\"-vuedx-vue-virtual-textdocument-asFsPath-function-1-\"></a>\n\n### [asFsPath](#-vuedx-vue-virtual-textdocument-asFsPath-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function asFsPath(uri: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-asFsUri-function-1-\" id=\"-vuedx-vue-virtual-textdocument-asFsUri-function-1-\"></a>\n\n### [asFsUri](#-vuedx-vue-virtual-textdocument-asFsUri-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function asFsUri(fileName: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-asUri-function-1-\" id=\"-vuedx-vue-virtual-textdocument-asUri-function-1-\"></a>\n\n### [asUri](#-vuedx-vue-virtual-textdocument-asUri-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function asUri(fileNameOrUri: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileNameOrUri | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-basename-function-1-\" id=\"-vuedx-vue-virtual-textdocument-basename-function-1-\"></a>\n\n### [basename](#-vuedx-vue-virtual-textdocument-basename-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function basename(fileName: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-binarySearch-function-1-\" id=\"-vuedx-vue-virtual-textdocument-binarySearch-function-1-\"></a>\n\n### [binarySearch](#-vuedx-vue-virtual-textdocument-binarySearch-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function binarySearch<T>(array: T[], isMatch: (a: T) => number, returnMin?: boolean): T | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| array | <code>T[]</code> | - |\n| isMatch | <code>(a: T) => number</code> | - |\n| returnMin | <code>boolean</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-getBlockLanguage-function-1-\" id=\"-vuedx-vue-virtual-textdocument-getBlockLanguage-function-1-\"></a>\n\n### [getBlockLanguage](#-vuedx-vue-virtual-textdocument-getBlockLanguage-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function getBlockLanguage(block?: SFCBlock | null): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| block | <code><a href=\"#-vue-compiler-sfc-SFCBlock-interface\">SFCBlock</a> &#124; null</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-getContainingFile-function-1-\" id=\"-vuedx-vue-virtual-textdocument-getContainingFile-function-1-\"></a>\n\n### [getContainingFile](#-vuedx-vue-virtual-textdocument-getContainingFile-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function getContainingFile(fileName: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-getLanguageExtension-function-1-\" id=\"-vuedx-vue-virtual-textdocument-getLanguageExtension-function-1-\"></a>\n\n### [getLanguageExtension](#-vuedx-vue-virtual-textdocument-getLanguageExtension-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function getLanguageExtension(lang: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| lang | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-getLanguageIdFromExtension-function-1-\" id=\"-vuedx-vue-virtual-textdocument-getLanguageIdFromExtension-function-1-\"></a>\n\n### [getLanguageIdFromExtension](#-vuedx-vue-virtual-textdocument-getLanguageIdFromExtension-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function getLanguageIdFromExtension(ext: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| ext | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-isOffsetInBlock-function-1-\" id=\"-vuedx-vue-virtual-textdocument-isOffsetInBlock-function-1-\"></a>\n\n### [isOffsetInBlock](#-vuedx-vue-virtual-textdocument-isOffsetInBlock-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function isOffsetInBlock(offset: number, block?: SFCBlock | null): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n| block | <code><a href=\"#-vue-compiler-sfc-SFCBlock-interface\">SFCBlock</a> &#124; null</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-isVirtualFile-function-1-\" id=\"-vuedx-vue-virtual-textdocument-isVirtualFile-function-1-\"></a>\n\n### [isVirtualFile](#-vuedx-vue-virtual-textdocument-isVirtualFile-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function isVirtualFile(fileName: string): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-isVirtualFileOfType-function-1-\" id=\"-vuedx-vue-virtual-textdocument-isVirtualFileOfType-function-1-\"></a>\n\n### [isVirtualFileOfType](#-vuedx-vue-virtual-textdocument-isVirtualFileOfType-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function isVirtualFileOfType(fileName: string, type: '_render' | '_module' | '_internal' | 'script' | 'scriptSetup'): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n| type | <code>'_render' &#124; '_module' &#124; '_internal' &#124; 'script' &#124; 'scriptSetup'</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-isVueFile-function-1-\" id=\"-vuedx-vue-virtual-textdocument-isVueFile-function-1-\"></a>\n\n### [isVueFile](#-vuedx-vue-virtual-textdocument-isVueFile-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function isVueFile(fileName: string): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-parseVirtualFileName-function-1-\" id=\"-vuedx-vue-virtual-textdocument-parseVirtualFileName-function-1-\"></a>\n\n### [parseVirtualFileName](#-vuedx-vue-virtual-textdocument-parseVirtualFileName-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function parseVirtualFileName(fileName: string): {\n    uri: string;\n    selector: Selector;\n} | null;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-relativeVirtualImportPath-function-1-\" id=\"-vuedx-vue-virtual-textdocument-relativeVirtualImportPath-function-1-\"></a>\n\n### [relativeVirtualImportPath](#-vuedx-vue-virtual-textdocument-relativeVirtualImportPath-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function relativeVirtualImportPath(fileName: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-replaceSlashes-function-1-\" id=\"-vuedx-vue-virtual-textdocument-replaceSlashes-function-1-\"></a>\n\n### [replaceSlashes](#-vuedx-vue-virtual-textdocument-replaceSlashes-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function replaceSlashes(fileName: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n<!-- #region API-DOCS -->\n","readmeFilename":"readme.md","_id":"@vuedx/vue-virtual-textdocument@0.7.5-insiders-1630601239.0","_nodeVersion":"16.8.0","_npmVersion":"7.21.0","dist":{"integrity":"sha512-uzoBJDOiTWshtAO7yfxdrnp8noFVbFXmlmGdZ+bRbvD2f/CUitBKtYcxTJotP/yViiRSR8CGBdK4L9HfMkwKXw==","shasum":"76bf179ef2570e884ec57be3a6668ce64c4f0f80","tarball":"https://registry.npmjs.org/@vuedx/vue-virtual-textdocument/-/vue-virtual-textdocument-0.7.5-insiders-1630601239.0.tgz","fileCount":8,"unpackedSize":164687,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhMQBBCRA9TVsSAnZWagAArh8P/0LHzDEIHvGKNKsIAUnx\na7EY8QefCPbHVRTu/LFAAGgQhM47PErR4+eXTHGW9D56FH56E7FXAF+WtnX5\nFsmSaeRpuDykFoI3lIr+rfXdPrjR2+NvufqdP7RS9KxwjHsPDX/y9sQnwl+c\nsCoQkIJYAA10Mj/1n3nYRmbVvRIxg5FrSOvU0y535C1/06zueBbazr5BEMEM\nLcPfbTIir4n/5tdQ85MNYZ1E3KZmai1LzFsEcwzXiT1FGK9EwQqu9EwuMHt+\nbYrZV/pZyacut8nKCBdT9q+QHAFmRN9hDyO1/Lur0QKYdB+BNZ5ryasu7UWw\n0u3fCvnPWrOyHSwdjBdt8/zuvUzbuG3ee+G5eYy/wIpgqnd3AvXBch8pSwpT\nlKqjHcvrKsHneQFp8hoChhyoKrBSFkNHS/g2IDE8JIHLYNfCZeugDpjwu8dF\nigbywDFbgW3B0RvSDfO7qVZYIieH7MCxbUoowKjq9F+EhNgMXyxCUykkUoXw\n4UvTePEb8YpwPebvIpF7Sq8WN2sF//tRikmnazILysLaY4ZLz+/4snCxYW9H\n60iHtSra1wXrVpcKG9T6YtdMCMyOTYa6gDr2qFUgUwVJJW3e2X4Ey+P/qN2U\n3gKaiu8aiUstPjYHv74MsL9WOQqTu7cEnUACnZdkVUJHPS1hObI517SmnIdP\nuXJA\r\n=8Xv4\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDCYtjDpyMiNWNPMAqATMdbEl32UQDb7AQmdF0G1G57SAIhAOUtM+gyLQbQE3UpwebMZk1VntA1fepy+/2IPTnO5tz7"}]},"_npmUser":{"name":"znck","email":"rahulkdn@gmail.com"},"directories":{},"maintainers":[{"name":"znck","email":"rahulkdn@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/vue-virtual-textdocument_0.7.5-insiders-1630601239.0_1630601280826_0.4500220778238302"},"_hasShrinkwrap":false},"0.7.5-insiders-1630604709.0":{"name":"@vuedx/vue-virtual-textdocument","version":"0.7.5-insiders-1630604709.0","description":"A virtual filesystem to access blocks in SFC as files","main":"lib/index.js","module":"lib/index.mjs","types":"lib/index.d.ts","publishConfig":{"types":"lib/index.d.ts"},"private":false,"keywords":["vue","vue sfc","sfc","vue virtual files"],"repository":{"type":"git","url":"git+https://github.com/znck/vue-developer-experience.git"},"author":{"name":"Rahul Kadyan","email":"rahulkdn@gmail.com","url":"https://znck.me/"},"funding":{"type":"individual","url":"https://github.com/sponsors/znck"},"license":"MIT","bugs":{"url":"https://github.com/znck/vue-developer-experience/issues"},"homepage":"https://github.com/znck/vue-developer-experience#readme","dependencies":{"@vuedx/compiler-sfc":"0.7.2-insiders-1630604709.0","@vuedx/compiler-tsx":"0.7.5-insiders-1630604709.0","@vuedx/shared":"0.7.4-insiders-1630604709.0","@vuedx/template-ast-types":"0.7.3-insiders-1630604709.0","@vuedx/transforms":"0.7.5-insiders-1630604709.0","source-map":"^0.6.1","vscode-languageserver-textdocument":"^1.0.1","vscode-uri":"^2.1.2"},"devDependencies":{"typescript":"^4.0.3"},"scripts":{},"readme":"# Vue Virtual TextDocument\n\nAn implementation of virtual filesystem for accessing blocks in a `.vue` file as independent files.\n\n## Support\n\nThis package is part of [VueDX project](https://github.com/znck/vue-developer-experience), maintained by [Rahul Kadyan](https://github.com/znck). You can [💖 sponsor him](https://github.com/sponsors/znck) for continued development of this package and other VueDX tools.\n\n```\nnpm add @vuedx/vue-virtual-textdocument\n```\n<!-- #region API-DOCS -->\n<!-- Do not edit this file. It is a report generated by [scripts/docgen.js](https://github.com/znck/vue-developer-experience/tree/main/scripts/docgen.js). -->\n\n## API\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-AsyncDocumentStore-class\" id=\"-vuedx-vue-virtual-textdocument-AsyncDocumentStore-class\"></a>\n\n### [AsyncDocumentStore](#-vuedx-vue-virtual-textdocument-AsyncDocumentStore-class)\n\n\n\n<details><summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare class AsyncDocumentStore<T> extends DocumentStore<T> {\n  constructor(resolve: (uri: string) => T | Promise<T | null> | null, normalize?: (uri: string) => string);\n  get(uri: string): T | null;\n  get(uri: string): Promise<T | null>;\n}\n```\n\n**Members:**\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-AsyncDocumentStore-get-member-1-\" id=\"-vuedx-vue-virtual-textdocument-AsyncDocumentStore-get-member-1-\"></a>\n\n#### [get](#-vuedx-vue-virtual-textdocument-AsyncDocumentStore-get-member-1-)\n\n\n\n**Signature:**\n```ts\nget(uri: string): T | null;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-AsyncDocumentStore-get-member-2-\" id=\"-vuedx-vue-virtual-textdocument-AsyncDocumentStore-get-member-2-\"></a>\n\n#### [get](#-vuedx-vue-virtual-textdocument-AsyncDocumentStore-get-member-2-)\n\n\n\n**Signature:**\n```ts\nget(uri: string): Promise<T | null>;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n\n<br>\n</details>\n\n<br>\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-class\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-class\"></a>\n\n### [DocumentStore](#-vuedx-vue-virtual-textdocument-DocumentStore-class)\n\n\n\n<details><summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare class DocumentStore<T> {\n  constructor(resolve: (uri: string) => T | null, normalize?: (uri: string) => string);\n  all(): string[];\n  delete(uri: string): boolean;\n  dispose(): void;\n  get(uri: string): T | null;\n  protected getNormalizedUri(uri: string): string;\n  has(uri: string): boolean;\n  protected map: Map<string, T>;\n  normalize: (uri: string) => string;\n  protected resolve: (uri: string) => T | null;\n  protected reverseUriMap: Map<string, string>;\n  set(uri: string, document: T): void;\n}\n```\n\n**Members:**\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-all-member-1-\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-all-member-1-\"></a>\n\n#### [all](#-vuedx-vue-virtual-textdocument-DocumentStore-all-member-1-)\n\n\n\n**Signature:**\n```ts\nall(): string[];\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-delete-member-1-\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-delete-member-1-\"></a>\n\n#### [delete](#-vuedx-vue-virtual-textdocument-DocumentStore-delete-member-1-)\n\n\n\n**Signature:**\n```ts\ndelete(uri: string): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-dispose-member-1-\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-dispose-member-1-\"></a>\n\n#### [dispose](#-vuedx-vue-virtual-textdocument-DocumentStore-dispose-member-1-)\n\n\n\n**Signature:**\n```ts\ndispose(): void;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-get-member-1-\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-get-member-1-\"></a>\n\n#### [get](#-vuedx-vue-virtual-textdocument-DocumentStore-get-member-1-)\n\n\n\n**Signature:**\n```ts\nget(uri: string): T | null;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-getNormalizedUri-member-1-\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-getNormalizedUri-member-1-\"></a>\n\n#### [getNormalizedUri](#-vuedx-vue-virtual-textdocument-DocumentStore-getNormalizedUri-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected getNormalizedUri(uri: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-has-member-1-\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-has-member-1-\"></a>\n\n#### [has](#-vuedx-vue-virtual-textdocument-DocumentStore-has-member-1-)\n\n\n\n**Signature:**\n```ts\nhas(uri: string): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-set-member-1-\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-set-member-1-\"></a>\n\n#### [set](#-vuedx-vue-virtual-textdocument-DocumentStore-set-member-1-)\n\n\n\n**Signature:**\n```ts\nset(uri: string, document: T): void;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n| document | <code>T</code> | - |\n\n<br>\n</details>\n\n<br>\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-class\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-class\"></a>\n\n### [RenderFunctionTextDocument](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-class)\n\n\n\n<details><summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare class RenderFunctionTextDocument extends TransformedBlockTextDocument {\n  constructor(container: VueTextDocument, selector: Selector, transformed: TextDocument, source: TextDocument);\n  get ast(): CodegenResult['ast'] | undefined;\n  get contextCompletionsTriggerOffset(): number;\n  static create(options: CreateVirtualTextDocumentOptions): RenderFunctionTextDocument;\n  findExpression(offset: number, length: number): undefined | {\n        offset: number;\n        length: number;\n    };\n  protected generate(): string;\n  getAllGeneratedOffsetsAt(offset: number): undefined | Array<{\n        length: number;\n        offset: number;\n    }>;\n  getGeneratedOffsetAt(offset: number): undefined | {\n        length: number;\n        offset: number;\n    };\n  protected getKnownComponents(): Record<string, ComponentImport>;\n  getOriginalOffsetAt(offset: number): undefined | {\n        offset: number;\n        length: number;\n    };\n  isInGeneratedRange(offset: number): boolean;\n  isInTemplateIdentifierRange(offset: number): boolean;\n  get parserErrors(): CodegenResult['errors'];\n  get tagCompletionsTriggerOffset(): number;\n  toDisplayMappings(): string;\n  protected tryGenerate(): string;\n}\n```\n\n**Members:**\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-create-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-create-member-1-\"></a>\n\n#### [create](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-create-member-1-)\n\n\n\n**Signature:**\n```ts\nstatic create(options: CreateVirtualTextDocumentOptions): RenderFunctionTextDocument;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| options | <code><a href=\"#-vuedx-vue-virtual-textdocument--CreateVirtualTextDocumentOptions-interface\">CreateVirtualTextDocumentOptions</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-findExpression-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-findExpression-member-1-\"></a>\n\n#### [findExpression](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-findExpression-member-1-)\n\n\n\n**Signature:**\n```ts\nfindExpression(offset: number, length: number): undefined | {\n        offset: number;\n        length: number;\n    };\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n| length | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-generate-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-generate-member-1-\"></a>\n\n#### [generate](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-generate-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected generate(): string;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getAllGeneratedOffsetsAt-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getAllGeneratedOffsetsAt-member-1-\"></a>\n\n#### [getAllGeneratedOffsetsAt](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getAllGeneratedOffsetsAt-member-1-)\n\n\n\n**Signature:**\n```ts\ngetAllGeneratedOffsetsAt(offset: number): undefined | Array<{\n        length: number;\n        offset: number;\n    }>;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getGeneratedOffsetAt-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getGeneratedOffsetAt-member-1-\"></a>\n\n#### [getGeneratedOffsetAt](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getGeneratedOffsetAt-member-1-)\n\n\n\n**Signature:**\n```ts\ngetGeneratedOffsetAt(offset: number): undefined | {\n        length: number;\n        offset: number;\n    };\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getKnownComponents-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getKnownComponents-member-1-\"></a>\n\n#### [getKnownComponents](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getKnownComponents-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected getKnownComponents(): Record<string, ComponentImport>;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getOriginalOffsetAt-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getOriginalOffsetAt-member-1-\"></a>\n\n#### [getOriginalOffsetAt](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getOriginalOffsetAt-member-1-)\n\n\n\n**Signature:**\n```ts\ngetOriginalOffsetAt(offset: number): undefined | {\n        offset: number;\n        length: number;\n    };\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-isInGeneratedRange-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-isInGeneratedRange-member-1-\"></a>\n\n#### [isInGeneratedRange](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-isInGeneratedRange-member-1-)\n\n\n\n**Signature:**\n```ts\nisInGeneratedRange(offset: number): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-isInTemplateIdentifierRange-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-isInTemplateIdentifierRange-member-1-\"></a>\n\n#### [isInTemplateIdentifierRange](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-isInTemplateIdentifierRange-member-1-)\n\n\n\n**Signature:**\n```ts\nisInTemplateIdentifierRange(offset: number): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-toDisplayMappings-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-toDisplayMappings-member-1-\"></a>\n\n#### [toDisplayMappings](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-toDisplayMappings-member-1-)\n\n\n\n**Signature:**\n```ts\ntoDisplayMappings(): string;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-tryGenerate-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-tryGenerate-member-1-\"></a>\n\n#### [tryGenerate](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-tryGenerate-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected tryGenerate(): string;\n```\n\n\n<br>\n</details>\n\n<br>\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-class\" id=\"-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-class\"></a>\n\n### [TransformedBlockTextDocument](#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-class)\n\n\n\n<details><summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare class TransformedBlockTextDocument extends VirtualTextDocument {\n  protected constructor(container: VueTextDocument, selector: Selector, transformed: TextDocument, source: TextDocument | VirtualTextDocument, _transform: (document: TransformedBlockTextDocument) => BlockTransformResult);\n  static create(options: CreateTransformedBlockTextDocumentOptions): TransformedBlockTextDocument;\n  protected refresh(): void;\n  transform(): BlockTransformResult;\n  tryGetGeneratedOffset(offset: number): number | undefined;\n  tryGetSourceOffset(offset: number): number | undefined;\n}\n```\n\n**Members:**\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-create-member-1-\" id=\"-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-create-member-1-\"></a>\n\n#### [create](#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-create-member-1-)\n\n\n\n**Signature:**\n```ts\nstatic create(options: CreateTransformedBlockTextDocumentOptions): TransformedBlockTextDocument;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| options | <code><a href=\"#-vuedx-vue-virtual-textdocument--CreateTransformedBlockTextDocumentOptions-interface\">CreateTransformedBlockTextDocumentOptions</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-refresh-member-1-\" id=\"-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-refresh-member-1-\"></a>\n\n#### [refresh](#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-refresh-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected refresh(): void;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-transform-member-1-\" id=\"-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-transform-member-1-\"></a>\n\n#### [transform](#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-transform-member-1-)\n\n\n\n**Signature:**\n```ts\ntransform(): BlockTransformResult;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-tryGetGeneratedOffset-member-1-\" id=\"-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-tryGetGeneratedOffset-member-1-\"></a>\n\n#### [tryGetGeneratedOffset](#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-tryGetGeneratedOffset-member-1-)\n\n\n\n**Signature:**\n```ts\ntryGetGeneratedOffset(offset: number): number | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-tryGetSourceOffset-member-1-\" id=\"-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-tryGetSourceOffset-member-1-\"></a>\n\n#### [tryGetSourceOffset](#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-tryGetSourceOffset-member-1-)\n\n\n\n**Signature:**\n```ts\ntryGetSourceOffset(offset: number): number | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n</details>\n\n<br>\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VirtualTextDocument-class\" id=\"-vuedx-vue-virtual-textdocument-VirtualTextDocument-class\"></a>\n\n### [VirtualTextDocument](#-vuedx-vue-virtual-textdocument-VirtualTextDocument-class)\n\n\n\n<details><summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare class VirtualTextDocument extends ProxyTextDocument {\n  protected constructor(container: VueTextDocument, selector: Selector, doc: TextDocument);\n  readonly container: VueTextDocument;\n  static create(options: CreateVirtualTextDocumentOptions): VirtualTextDocument;\n  protected isDirty: boolean;\n  markDirty(): void;\n  protected refresh(): void;\n  readonly selector: Selector;\n}\n```\n\n**Members:**\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VirtualTextDocument-create-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VirtualTextDocument-create-member-1-\"></a>\n\n#### [create](#-vuedx-vue-virtual-textdocument-VirtualTextDocument-create-member-1-)\n\n\n\n**Signature:**\n```ts\nstatic create(options: CreateVirtualTextDocumentOptions): VirtualTextDocument;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| options | <code><a href=\"#-vuedx-vue-virtual-textdocument--CreateVirtualTextDocumentOptions-interface\">CreateVirtualTextDocumentOptions</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VirtualTextDocument-markDirty-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VirtualTextDocument-markDirty-member-1-\"></a>\n\n#### [markDirty](#-vuedx-vue-virtual-textdocument-VirtualTextDocument-markDirty-member-1-)\n\n\n\n**Signature:**\n```ts\nmarkDirty(): void;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VirtualTextDocument-refresh-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VirtualTextDocument-refresh-member-1-\"></a>\n\n#### [refresh](#-vuedx-vue-virtual-textdocument-VirtualTextDocument-refresh-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected refresh(): void;\n```\n\n\n<br>\n</details>\n\n<br>\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-class\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-class\"></a>\n\n### [VueTextDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-class)\n\n\n\n<details><summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare class VueTextDocument extends ProxyTextDocument {\n  constructor(doc: TextDocument, options?: VueTextDocumentOptions, parseOptions?: SFCParseOptions);\n  all(): VirtualTextDocument[];\n  blockAt(position: Position | number): SFCBlock | null | undefined;\n  static create(uri: string, languageId: string, version: number, content: string, options?: VueTextDocumentOptions, parseOptions?: SFCParseOptions): VueTextDocument;\n  protected createBlockDocument(selector: BlockSelector): VirtualTextDocument | undefined;\n  protected createInternalModuleDocument(): TransformedBlockTextDocument;\n  protected createModuleDocument(): TransformedBlockTextDocument;\n  protected createRenderDocument(): RenderFunctionTextDocument;\n  protected createTemplateASTDocument(): TransformedBlockTextDocument;\n  get descriptor(): SFCDescriptor;\n  documentAt(position: Position | number): VirtualTextDocument | undefined;\n  getBlock(selector: BlockSelector): SFCBlock | null | undefined;\n  getBlockSelector(block: SFCBlock): BlockSelector | undefined;\n  getDocument(selector: typeof RENDER_SELECTOR): RenderFunctionTextDocument;\n  getDocument(selector: SelectorLike): VirtualTextDocument;\n  getDocument(selector: string): VirtualTextDocument | undefined;\n  getDocumentFileName(selectorLike: SelectorLike): string;\n  protected getDocumentId(selector: Selector): string;\n  protected getDocumentLanguage(selector: Selector): string;\n  markDirty(): void;\n  readonly options: VueTextDocumentOptions;\n  protected parse(): void;\n  static update(document: VueTextDocument, changes: TextDocumentContentChangeEvent[], version: number): VueTextDocument;\n}\n```\n\n**Members:**\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-all-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-all-member-1-\"></a>\n\n#### [all](#-vuedx-vue-virtual-textdocument-VueTextDocument-all-member-1-)\n\n\n\n**Signature:**\n```ts\nall(): VirtualTextDocument[];\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-blockAt-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-blockAt-member-1-\"></a>\n\n#### [blockAt](#-vuedx-vue-virtual-textdocument-VueTextDocument-blockAt-member-1-)\n\n\n\n**Signature:**\n```ts\nblockAt(position: Position | number): SFCBlock | null | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| position | <code><a href=\"#vscode-languageserver-textdocument-Position-interface\">Position</a> &#124; number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-create-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-create-member-1-\"></a>\n\n#### [create](#-vuedx-vue-virtual-textdocument-VueTextDocument-create-member-1-)\n\n\n\n**Signature:**\n```ts\nstatic create(uri: string, languageId: string, version: number, content: string, options?: VueTextDocumentOptions, parseOptions?: SFCParseOptions): VueTextDocument;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n| languageId | <code>string</code> | - |\n| version | <code>number</code> | - |\n| content | <code>string</code> | - |\n| options | <code><a href=\"#-vuedx-vue-virtual-textdocument--VueTextDocumentOptions-interface\">VueTextDocumentOptions</a></code> | - |\n| parseOptions | <code><a href=\"#-vue-compiler-sfc-SFCParseOptions-interface\">SFCParseOptions</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-createBlockDocument-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-createBlockDocument-member-1-\"></a>\n\n#### [createBlockDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-createBlockDocument-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected createBlockDocument(selector: BlockSelector): VirtualTextDocument | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selector | <code><a href=\"#-vuedx-vue-virtual-textdocument--BlockSelector-type\">BlockSelector</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-createInternalModuleDocument-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-createInternalModuleDocument-member-1-\"></a>\n\n#### [createInternalModuleDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-createInternalModuleDocument-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected createInternalModuleDocument(): TransformedBlockTextDocument;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-createModuleDocument-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-createModuleDocument-member-1-\"></a>\n\n#### [createModuleDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-createModuleDocument-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected createModuleDocument(): TransformedBlockTextDocument;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-createRenderDocument-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-createRenderDocument-member-1-\"></a>\n\n#### [createRenderDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-createRenderDocument-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected createRenderDocument(): RenderFunctionTextDocument;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-createTemplateASTDocument-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-createTemplateASTDocument-member-1-\"></a>\n\n#### [createTemplateASTDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-createTemplateASTDocument-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected createTemplateASTDocument(): TransformedBlockTextDocument;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-documentAt-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-documentAt-member-1-\"></a>\n\n#### [documentAt](#-vuedx-vue-virtual-textdocument-VueTextDocument-documentAt-member-1-)\n\n\n\n**Signature:**\n```ts\ndocumentAt(position: Position | number): VirtualTextDocument | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| position | <code><a href=\"#vscode-languageserver-textdocument-Position-interface\">Position</a> &#124; number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getBlock-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getBlock-member-1-\"></a>\n\n#### [getBlock](#-vuedx-vue-virtual-textdocument-VueTextDocument-getBlock-member-1-)\n\n\n\n**Signature:**\n```ts\ngetBlock(selector: BlockSelector): SFCBlock | null | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selector | <code><a href=\"#-vuedx-vue-virtual-textdocument--BlockSelector-type\">BlockSelector</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getBlockSelector-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getBlockSelector-member-1-\"></a>\n\n#### [getBlockSelector](#-vuedx-vue-virtual-textdocument-VueTextDocument-getBlockSelector-member-1-)\n\n\n\n**Signature:**\n```ts\ngetBlockSelector(block: SFCBlock): BlockSelector | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| block | <code><a href=\"#-vue-compiler-sfc-SFCBlock-interface\">SFCBlock</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-1-\"></a>\n\n#### [getDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-1-)\n\n\n\n**Signature:**\n```ts\ngetDocument(selector: typeof RENDER_SELECTOR): RenderFunctionTextDocument;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selector | <code>typeof <a href=\"#-vuedx-vue-virtual-textdocument--RENDER-SELECTOR-var\">RENDER_SELECTOR</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-2-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-2-\"></a>\n\n#### [getDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-2-)\n\n\n\n**Signature:**\n```ts\ngetDocument(selector: SelectorLike): VirtualTextDocument;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selector | <code><a href=\"#-vuedx-vue-virtual-textdocument--SelectorLike-type\">SelectorLike</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-3-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-3-\"></a>\n\n#### [getDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-3-)\n\n\n\n**Signature:**\n```ts\ngetDocument(selector: string): VirtualTextDocument | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selector | <code>string</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentFileName-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentFileName-member-1-\"></a>\n\n#### [getDocumentFileName](#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentFileName-member-1-)\n\n\n\n**Signature:**\n```ts\ngetDocumentFileName(selectorLike: SelectorLike): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selectorLike | <code><a href=\"#-vuedx-vue-virtual-textdocument--SelectorLike-type\">SelectorLike</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentId-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentId-member-1-\"></a>\n\n#### [getDocumentId](#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentId-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected getDocumentId(selector: Selector): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selector | <code><a href=\"#-vuedx-vue-virtual-textdocument--Selector-type\">Selector</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentLanguage-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentLanguage-member-1-\"></a>\n\n#### [getDocumentLanguage](#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentLanguage-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected getDocumentLanguage(selector: Selector): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selector | <code><a href=\"#-vuedx-vue-virtual-textdocument--Selector-type\">Selector</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-markDirty-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-markDirty-member-1-\"></a>\n\n#### [markDirty](#-vuedx-vue-virtual-textdocument-VueTextDocument-markDirty-member-1-)\n\n\n\n**Signature:**\n```ts\nmarkDirty(): void;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-parse-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-parse-member-1-\"></a>\n\n#### [parse](#-vuedx-vue-virtual-textdocument-VueTextDocument-parse-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected parse(): void;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-update-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-update-member-1-\"></a>\n\n#### [update](#-vuedx-vue-virtual-textdocument-VueTextDocument-update-member-1-)\n\n\n\n**Signature:**\n```ts\nstatic update(document: VueTextDocument, changes: TextDocumentContentChangeEvent[], version: number): VueTextDocument;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| document | <code><a href=\"#-vuedx-vue-virtual-textdocument--VueTextDocument-class\">VueTextDocument</a></code> | - |\n| changes | <code><a href=\"#vscode-languageserver-textdocument-TextDocumentContentChangeEvent-type\">TextDocumentContentChangeEvent</a>[]</code> | - |\n| version | <code>number</code> | - |\n\n<br>\n</details>\n\n<br>\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-asFsPath-function-1-\" id=\"-vuedx-vue-virtual-textdocument-asFsPath-function-1-\"></a>\n\n### [asFsPath](#-vuedx-vue-virtual-textdocument-asFsPath-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function asFsPath(uri: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-asFsUri-function-1-\" id=\"-vuedx-vue-virtual-textdocument-asFsUri-function-1-\"></a>\n\n### [asFsUri](#-vuedx-vue-virtual-textdocument-asFsUri-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function asFsUri(fileName: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-asUri-function-1-\" id=\"-vuedx-vue-virtual-textdocument-asUri-function-1-\"></a>\n\n### [asUri](#-vuedx-vue-virtual-textdocument-asUri-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function asUri(fileNameOrUri: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileNameOrUri | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-basename-function-1-\" id=\"-vuedx-vue-virtual-textdocument-basename-function-1-\"></a>\n\n### [basename](#-vuedx-vue-virtual-textdocument-basename-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function basename(fileName: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-binarySearch-function-1-\" id=\"-vuedx-vue-virtual-textdocument-binarySearch-function-1-\"></a>\n\n### [binarySearch](#-vuedx-vue-virtual-textdocument-binarySearch-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function binarySearch<T>(array: T[], isMatch: (a: T) => number, returnMin?: boolean): T | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| array | <code>T[]</code> | - |\n| isMatch | <code>(a: T) => number</code> | - |\n| returnMin | <code>boolean</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-getBlockLanguage-function-1-\" id=\"-vuedx-vue-virtual-textdocument-getBlockLanguage-function-1-\"></a>\n\n### [getBlockLanguage](#-vuedx-vue-virtual-textdocument-getBlockLanguage-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function getBlockLanguage(block?: SFCBlock | null): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| block | <code><a href=\"#-vue-compiler-sfc-SFCBlock-interface\">SFCBlock</a> &#124; null</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-getContainingFile-function-1-\" id=\"-vuedx-vue-virtual-textdocument-getContainingFile-function-1-\"></a>\n\n### [getContainingFile](#-vuedx-vue-virtual-textdocument-getContainingFile-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function getContainingFile(fileName: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-getLanguageExtension-function-1-\" id=\"-vuedx-vue-virtual-textdocument-getLanguageExtension-function-1-\"></a>\n\n### [getLanguageExtension](#-vuedx-vue-virtual-textdocument-getLanguageExtension-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function getLanguageExtension(lang: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| lang | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-getLanguageIdFromExtension-function-1-\" id=\"-vuedx-vue-virtual-textdocument-getLanguageIdFromExtension-function-1-\"></a>\n\n### [getLanguageIdFromExtension](#-vuedx-vue-virtual-textdocument-getLanguageIdFromExtension-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function getLanguageIdFromExtension(ext: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| ext | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-isOffsetInBlock-function-1-\" id=\"-vuedx-vue-virtual-textdocument-isOffsetInBlock-function-1-\"></a>\n\n### [isOffsetInBlock](#-vuedx-vue-virtual-textdocument-isOffsetInBlock-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function isOffsetInBlock(offset: number, block?: SFCBlock | null): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n| block | <code><a href=\"#-vue-compiler-sfc-SFCBlock-interface\">SFCBlock</a> &#124; null</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-isVirtualFile-function-1-\" id=\"-vuedx-vue-virtual-textdocument-isVirtualFile-function-1-\"></a>\n\n### [isVirtualFile](#-vuedx-vue-virtual-textdocument-isVirtualFile-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function isVirtualFile(fileName: string): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-isVirtualFileOfType-function-1-\" id=\"-vuedx-vue-virtual-textdocument-isVirtualFileOfType-function-1-\"></a>\n\n### [isVirtualFileOfType](#-vuedx-vue-virtual-textdocument-isVirtualFileOfType-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function isVirtualFileOfType(fileName: string, type: '_render' | '_module' | '_internal' | 'script' | 'scriptSetup'): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n| type | <code>'_render' &#124; '_module' &#124; '_internal' &#124; 'script' &#124; 'scriptSetup'</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-isVueFile-function-1-\" id=\"-vuedx-vue-virtual-textdocument-isVueFile-function-1-\"></a>\n\n### [isVueFile](#-vuedx-vue-virtual-textdocument-isVueFile-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function isVueFile(fileName: string): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-parseVirtualFileName-function-1-\" id=\"-vuedx-vue-virtual-textdocument-parseVirtualFileName-function-1-\"></a>\n\n### [parseVirtualFileName](#-vuedx-vue-virtual-textdocument-parseVirtualFileName-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function parseVirtualFileName(fileName: string): {\n    uri: string;\n    selector: Selector;\n} | null;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-relativeVirtualImportPath-function-1-\" id=\"-vuedx-vue-virtual-textdocument-relativeVirtualImportPath-function-1-\"></a>\n\n### [relativeVirtualImportPath](#-vuedx-vue-virtual-textdocument-relativeVirtualImportPath-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function relativeVirtualImportPath(fileName: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-replaceSlashes-function-1-\" id=\"-vuedx-vue-virtual-textdocument-replaceSlashes-function-1-\"></a>\n\n### [replaceSlashes](#-vuedx-vue-virtual-textdocument-replaceSlashes-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function replaceSlashes(fileName: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n<!-- #region API-DOCS -->\n","readmeFilename":"readme.md","_id":"@vuedx/vue-virtual-textdocument@0.7.5-insiders-1630604709.0","_nodeVersion":"16.8.0","_npmVersion":"7.21.0","dist":{"integrity":"sha512-edxfRRrI0RISHCv0s7iyjZVEVDCToK/y/UMBb1rOS9CcqHA1Bkus0tVQBgNATPronA7ZwccWhWEK8dPfWAKq3A==","shasum":"94a2450d9ffe34b4f6aed54760635db3a6501462","tarball":"https://registry.npmjs.org/@vuedx/vue-virtual-textdocument/-/vue-virtual-textdocument-0.7.5-insiders-1630604709.0.tgz","fileCount":8,"unpackedSize":164687,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhMQ3GCRA9TVsSAnZWagAAV/0P/3/fngX+y0v5szPidRnD\njcAlhM6H58+qzEb9Csz+DQhZhxn/OOXWIIrxXPsFvFu+Jt3SwcUAWpf6JIDV\nSKZZJl34f5S5IsUf0dMB43z0Mk1mh2TpKZg46i+fBwlsu5dbDz1rq7bpedSL\nKU8yGJ4rZaTnj+p8YR1/ABSzRcS3BQ8S2cqSE/kWFM8pm/xLWC2QoSdqfqPP\nlJtDlUF8kXTGomU7Jg4R0U+wBF4ay4uVChbAbKiniubWRuhArRFm21/kMiTR\nxdVSxWzNOwiy4ikyYRukyZeeWYBKnUwR4cUf7BwAKFK4bh6BBl/FwA/WpM5I\nEZnpiPR3NFhHInvJarv3k9hN+I0Bo+9Xtl1iRaWoWqR28uLs414ACNAb88mv\npBo/svNrvPgtKFRPsm5SG/poEIaVAqLIX03DU/KIoxKritgJkKnE/W77JZ8Q\nAgvNbTsuq4n4jaQAhcBsAxQ6vUQzcOtV0Usb1kdQ1TPN7NdWWUs2twxYdiZf\nkIdJzeLYojdyfm+3nXSwB98qB8h91Utb6fq/ZKRpLvaWfOSJZt09viOCqPaq\nTRuunckNhLYSJhOrVUMEWMcVK1IJNkJ+gq63b3Yhg4VoUbuBkJi3Xx3GOoCD\n+XRr5Mj4G+orFrtRgh/SvggqM5PDb62jiAfoyNK0qdUoWIGJZvoc87fcBkkR\nOR46\r\n=lr6V\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIF42YmFnJSwQAAZCK43i5ZSL0acc02XUybefS64Uu0dPAiAI3gdABFQwTK1fe8PVD4mLIqeyvEUTFMu6NAhB3ciFeA=="}]},"_npmUser":{"name":"znck","email":"rahulkdn@gmail.com"},"directories":{},"maintainers":[{"name":"znck","email":"rahulkdn@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/vue-virtual-textdocument_0.7.5-insiders-1630604709.0_1630604742295_0.8445875529942375"},"_hasShrinkwrap":false},"0.7.5-next-1646032139.0":{"name":"@vuedx/vue-virtual-textdocument","version":"0.7.5-next-1646032139.0","description":"A virtual filesystem to access blocks in SFC as files","main":"lib/index.js","module":"lib/index.mjs","types":"lib/index.d.ts","publishConfig":{"types":"lib/index.d.ts"},"private":false,"keywords":["vue","vue sfc","sfc","vue virtual files"],"repository":{"type":"git","url":"git+https://github.com/znck/vue-developer-experience.git"},"author":{"name":"Rahul Kadyan","email":"rahulkdn@gmail.com","url":"https://znck.me/"},"funding":{"type":"individual","url":"https://github.com/sponsors/znck"},"license":"MIT","bugs":{"url":"https://github.com/znck/vue-developer-experience/issues"},"homepage":"https://github.com/znck/vue-developer-experience#readme","dependencies":{"@vuedx/compiler-sfc":"0.7.2-next-1646032139.0","@vuedx/compiler-tsx":"0.7.5-next-1646032139.0","@vuedx/shared":"0.7.4-next-1646032139.0","@vuedx/template-ast-types":"0.7.3-next-1646032139.0","@vuedx/transforms":"0.7.5-next-1646032139.0","source-map":"^0.6.1","vscode-languageserver-textdocument":"^1.0.1","vscode-uri":"^2.1.2"},"devDependencies":{"typescript":"^4.0.3"},"scripts":{},"readme":"# Vue Virtual TextDocument\n\nAn implementation of virtual filesystem for accessing blocks in a `.vue` file as independent files.\n\n## Support\n\nThis package is part of [VueDX project](https://github.com/znck/vue-developer-experience), maintained by [Rahul Kadyan](https://github.com/znck). You can [💖 sponsor him](https://github.com/sponsors/znck) for continued development of this package and other VueDX tools.\n\n```\nnpm add @vuedx/vue-virtual-textdocument\n```\n<!-- #region API-DOCS -->\n<!-- Do not edit this file. It is a report generated by [scripts/docgen.js](https://github.com/znck/vue-developer-experience/tree/main/scripts/docgen.js). -->\n\n## API\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-AsyncDocumentStore-class\" id=\"-vuedx-vue-virtual-textdocument-AsyncDocumentStore-class\"></a>\n\n### [AsyncDocumentStore](#-vuedx-vue-virtual-textdocument-AsyncDocumentStore-class)\n\n\n\n<details><summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare class AsyncDocumentStore<T> extends DocumentStore<T> {\n  constructor(resolve: (uri: string) => T | Promise<T | null> | null, normalize?: (uri: string) => string);\n  get(uri: string): T | null;\n  get(uri: string): Promise<T | null>;\n}\n```\n\n**Members:**\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-AsyncDocumentStore-get-member-1-\" id=\"-vuedx-vue-virtual-textdocument-AsyncDocumentStore-get-member-1-\"></a>\n\n#### [get](#-vuedx-vue-virtual-textdocument-AsyncDocumentStore-get-member-1-)\n\n\n\n**Signature:**\n```ts\nget(uri: string): T | null;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-AsyncDocumentStore-get-member-2-\" id=\"-vuedx-vue-virtual-textdocument-AsyncDocumentStore-get-member-2-\"></a>\n\n#### [get](#-vuedx-vue-virtual-textdocument-AsyncDocumentStore-get-member-2-)\n\n\n\n**Signature:**\n```ts\nget(uri: string): Promise<T | null>;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n\n<br>\n</details>\n\n<br>\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-class\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-class\"></a>\n\n### [DocumentStore](#-vuedx-vue-virtual-textdocument-DocumentStore-class)\n\n\n\n<details><summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare class DocumentStore<T> {\n  constructor(resolve: (uri: string) => T | null, normalize?: (uri: string) => string);\n  all(): string[];\n  delete(uri: string): boolean;\n  dispose(): void;\n  get(uri: string): T | null;\n  protected getNormalizedUri(uri: string): string;\n  has(uri: string): boolean;\n  protected map: Map<string, T>;\n  normalize: (uri: string) => string;\n  protected resolve: (uri: string) => T | null;\n  protected reverseUriMap: Map<string, string>;\n  set(uri: string, document: T): void;\n}\n```\n\n**Members:**\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-all-member-1-\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-all-member-1-\"></a>\n\n#### [all](#-vuedx-vue-virtual-textdocument-DocumentStore-all-member-1-)\n\n\n\n**Signature:**\n```ts\nall(): string[];\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-delete-member-1-\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-delete-member-1-\"></a>\n\n#### [delete](#-vuedx-vue-virtual-textdocument-DocumentStore-delete-member-1-)\n\n\n\n**Signature:**\n```ts\ndelete(uri: string): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-dispose-member-1-\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-dispose-member-1-\"></a>\n\n#### [dispose](#-vuedx-vue-virtual-textdocument-DocumentStore-dispose-member-1-)\n\n\n\n**Signature:**\n```ts\ndispose(): void;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-get-member-1-\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-get-member-1-\"></a>\n\n#### [get](#-vuedx-vue-virtual-textdocument-DocumentStore-get-member-1-)\n\n\n\n**Signature:**\n```ts\nget(uri: string): T | null;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-getNormalizedUri-member-1-\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-getNormalizedUri-member-1-\"></a>\n\n#### [getNormalizedUri](#-vuedx-vue-virtual-textdocument-DocumentStore-getNormalizedUri-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected getNormalizedUri(uri: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-has-member-1-\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-has-member-1-\"></a>\n\n#### [has](#-vuedx-vue-virtual-textdocument-DocumentStore-has-member-1-)\n\n\n\n**Signature:**\n```ts\nhas(uri: string): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-set-member-1-\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-set-member-1-\"></a>\n\n#### [set](#-vuedx-vue-virtual-textdocument-DocumentStore-set-member-1-)\n\n\n\n**Signature:**\n```ts\nset(uri: string, document: T): void;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n| document | <code>T</code> | - |\n\n<br>\n</details>\n\n<br>\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-class\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-class\"></a>\n\n### [RenderFunctionTextDocument](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-class)\n\n\n\n<details><summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare class RenderFunctionTextDocument extends TransformedBlockTextDocument {\n  constructor(container: VueTextDocument, selector: Selector, transformed: TextDocument, source: TextDocument);\n  get ast(): CodegenResult['ast'] | undefined;\n  get contextCompletionsTriggerOffset(): number;\n  static create(options: CreateVirtualTextDocumentOptions): RenderFunctionTextDocument;\n  findExpression(offset: number, length: number): undefined | {\n        offset: number;\n        length: number;\n    };\n  protected generate(): string;\n  getAllGeneratedOffsetsAt(offset: number): undefined | Array<{\n        length: number;\n        offset: number;\n    }>;\n  getGeneratedOffsetAt(offset: number): undefined | {\n        length: number;\n        offset: number;\n    };\n  protected getKnownComponents(): Record<string, ComponentImport>;\n  getOriginalOffsetAt(offset: number): undefined | {\n        offset: number;\n        length: number;\n    };\n  isInGeneratedRange(offset: number): boolean;\n  isInTemplateIdentifierRange(offset: number): boolean;\n  get parserErrors(): CodegenResult['errors'];\n  get tagCompletionsTriggerOffset(): number;\n  toDisplayMappings(): string;\n  protected tryGenerate(): string;\n}\n```\n\n**Members:**\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-create-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-create-member-1-\"></a>\n\n#### [create](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-create-member-1-)\n\n\n\n**Signature:**\n```ts\nstatic create(options: CreateVirtualTextDocumentOptions): RenderFunctionTextDocument;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| options | <code><a href=\"#-vuedx-vue-virtual-textdocument--CreateVirtualTextDocumentOptions-interface\">CreateVirtualTextDocumentOptions</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-findExpression-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-findExpression-member-1-\"></a>\n\n#### [findExpression](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-findExpression-member-1-)\n\n\n\n**Signature:**\n```ts\nfindExpression(offset: number, length: number): undefined | {\n        offset: number;\n        length: number;\n    };\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n| length | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-generate-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-generate-member-1-\"></a>\n\n#### [generate](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-generate-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected generate(): string;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getAllGeneratedOffsetsAt-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getAllGeneratedOffsetsAt-member-1-\"></a>\n\n#### [getAllGeneratedOffsetsAt](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getAllGeneratedOffsetsAt-member-1-)\n\n\n\n**Signature:**\n```ts\ngetAllGeneratedOffsetsAt(offset: number): undefined | Array<{\n        length: number;\n        offset: number;\n    }>;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getGeneratedOffsetAt-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getGeneratedOffsetAt-member-1-\"></a>\n\n#### [getGeneratedOffsetAt](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getGeneratedOffsetAt-member-1-)\n\n\n\n**Signature:**\n```ts\ngetGeneratedOffsetAt(offset: number): undefined | {\n        length: number;\n        offset: number;\n    };\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getKnownComponents-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getKnownComponents-member-1-\"></a>\n\n#### [getKnownComponents](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getKnownComponents-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected getKnownComponents(): Record<string, ComponentImport>;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getOriginalOffsetAt-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getOriginalOffsetAt-member-1-\"></a>\n\n#### [getOriginalOffsetAt](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getOriginalOffsetAt-member-1-)\n\n\n\n**Signature:**\n```ts\ngetOriginalOffsetAt(offset: number): undefined | {\n        offset: number;\n        length: number;\n    };\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-isInGeneratedRange-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-isInGeneratedRange-member-1-\"></a>\n\n#### [isInGeneratedRange](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-isInGeneratedRange-member-1-)\n\n\n\n**Signature:**\n```ts\nisInGeneratedRange(offset: number): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-isInTemplateIdentifierRange-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-isInTemplateIdentifierRange-member-1-\"></a>\n\n#### [isInTemplateIdentifierRange](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-isInTemplateIdentifierRange-member-1-)\n\n\n\n**Signature:**\n```ts\nisInTemplateIdentifierRange(offset: number): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-toDisplayMappings-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-toDisplayMappings-member-1-\"></a>\n\n#### [toDisplayMappings](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-toDisplayMappings-member-1-)\n\n\n\n**Signature:**\n```ts\ntoDisplayMappings(): string;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-tryGenerate-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-tryGenerate-member-1-\"></a>\n\n#### [tryGenerate](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-tryGenerate-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected tryGenerate(): string;\n```\n\n\n<br>\n</details>\n\n<br>\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-class\" id=\"-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-class\"></a>\n\n### [TransformedBlockTextDocument](#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-class)\n\n\n\n<details><summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare class TransformedBlockTextDocument extends VirtualTextDocument {\n  protected constructor(container: VueTextDocument, selector: Selector, transformed: TextDocument, source: TextDocument | VirtualTextDocument, _transform: (document: TransformedBlockTextDocument) => BlockTransformResult);\n  static create(options: CreateTransformedBlockTextDocumentOptions): TransformedBlockTextDocument;\n  protected refresh(): void;\n  transform(): BlockTransformResult;\n  tryGetGeneratedOffset(offset: number): number | undefined;\n  tryGetSourceOffset(offset: number): number | undefined;\n}\n```\n\n**Members:**\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-create-member-1-\" id=\"-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-create-member-1-\"></a>\n\n#### [create](#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-create-member-1-)\n\n\n\n**Signature:**\n```ts\nstatic create(options: CreateTransformedBlockTextDocumentOptions): TransformedBlockTextDocument;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| options | <code><a href=\"#-vuedx-vue-virtual-textdocument--CreateTransformedBlockTextDocumentOptions-interface\">CreateTransformedBlockTextDocumentOptions</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-refresh-member-1-\" id=\"-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-refresh-member-1-\"></a>\n\n#### [refresh](#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-refresh-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected refresh(): void;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-transform-member-1-\" id=\"-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-transform-member-1-\"></a>\n\n#### [transform](#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-transform-member-1-)\n\n\n\n**Signature:**\n```ts\ntransform(): BlockTransformResult;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-tryGetGeneratedOffset-member-1-\" id=\"-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-tryGetGeneratedOffset-member-1-\"></a>\n\n#### [tryGetGeneratedOffset](#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-tryGetGeneratedOffset-member-1-)\n\n\n\n**Signature:**\n```ts\ntryGetGeneratedOffset(offset: number): number | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-tryGetSourceOffset-member-1-\" id=\"-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-tryGetSourceOffset-member-1-\"></a>\n\n#### [tryGetSourceOffset](#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-tryGetSourceOffset-member-1-)\n\n\n\n**Signature:**\n```ts\ntryGetSourceOffset(offset: number): number | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n</details>\n\n<br>\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VirtualTextDocument-class\" id=\"-vuedx-vue-virtual-textdocument-VirtualTextDocument-class\"></a>\n\n### [VirtualTextDocument](#-vuedx-vue-virtual-textdocument-VirtualTextDocument-class)\n\n\n\n<details><summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare class VirtualTextDocument extends ProxyTextDocument {\n  protected constructor(container: VueTextDocument, selector: Selector, doc: TextDocument);\n  readonly container: VueTextDocument;\n  static create(options: CreateVirtualTextDocumentOptions): VirtualTextDocument;\n  protected isDirty: boolean;\n  markDirty(): void;\n  protected refresh(): void;\n  readonly selector: Selector;\n}\n```\n\n**Members:**\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VirtualTextDocument-create-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VirtualTextDocument-create-member-1-\"></a>\n\n#### [create](#-vuedx-vue-virtual-textdocument-VirtualTextDocument-create-member-1-)\n\n\n\n**Signature:**\n```ts\nstatic create(options: CreateVirtualTextDocumentOptions): VirtualTextDocument;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| options | <code><a href=\"#-vuedx-vue-virtual-textdocument--CreateVirtualTextDocumentOptions-interface\">CreateVirtualTextDocumentOptions</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VirtualTextDocument-markDirty-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VirtualTextDocument-markDirty-member-1-\"></a>\n\n#### [markDirty](#-vuedx-vue-virtual-textdocument-VirtualTextDocument-markDirty-member-1-)\n\n\n\n**Signature:**\n```ts\nmarkDirty(): void;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VirtualTextDocument-refresh-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VirtualTextDocument-refresh-member-1-\"></a>\n\n#### [refresh](#-vuedx-vue-virtual-textdocument-VirtualTextDocument-refresh-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected refresh(): void;\n```\n\n\n<br>\n</details>\n\n<br>\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-class\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-class\"></a>\n\n### [VueTextDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-class)\n\n\n\n<details><summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare class VueTextDocument extends ProxyTextDocument {\n  constructor(doc: TextDocument, options?: VueTextDocumentOptions, parseOptions?: SFCParseOptions);\n  all(): VirtualTextDocument[];\n  blockAt(position: Position | number): SFCBlock | null | undefined;\n  static create(uri: string, languageId: string, version: number, content: string, options?: VueTextDocumentOptions, parseOptions?: SFCParseOptions): VueTextDocument;\n  protected createBlockDocument(selector: BlockSelector): VirtualTextDocument | undefined;\n  protected createInternalModuleDocument(): TransformedBlockTextDocument;\n  protected createModuleDocument(): TransformedBlockTextDocument;\n  protected createRenderDocument(): RenderFunctionTextDocument;\n  protected createTemplateASTDocument(): TransformedBlockTextDocument;\n  get descriptor(): SFCDescriptor;\n  documentAt(position: Position | number): VirtualTextDocument | undefined;\n  getBlock(selector: BlockSelector): SFCBlock | null | undefined;\n  getBlockSelector(block: SFCBlock): BlockSelector | undefined;\n  getDocument(selector: typeof RENDER_SELECTOR): RenderFunctionTextDocument;\n  getDocument(selector: SelectorLike): VirtualTextDocument;\n  getDocument(selector: string): VirtualTextDocument | undefined;\n  getDocumentFileName(selectorLike: SelectorLike): string;\n  protected getDocumentId(selector: Selector): string;\n  protected getDocumentLanguage(selector: Selector): string;\n  markDirty(): void;\n  readonly options: VueTextDocumentOptions;\n  protected parse(): void;\n  static update(document: VueTextDocument, changes: TextDocumentContentChangeEvent[], version: number): VueTextDocument;\n}\n```\n\n**Members:**\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-all-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-all-member-1-\"></a>\n\n#### [all](#-vuedx-vue-virtual-textdocument-VueTextDocument-all-member-1-)\n\n\n\n**Signature:**\n```ts\nall(): VirtualTextDocument[];\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-blockAt-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-blockAt-member-1-\"></a>\n\n#### [blockAt](#-vuedx-vue-virtual-textdocument-VueTextDocument-blockAt-member-1-)\n\n\n\n**Signature:**\n```ts\nblockAt(position: Position | number): SFCBlock | null | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| position | <code><a href=\"#vscode-languageserver-textdocument-Position-interface\">Position</a> &#124; number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-create-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-create-member-1-\"></a>\n\n#### [create](#-vuedx-vue-virtual-textdocument-VueTextDocument-create-member-1-)\n\n\n\n**Signature:**\n```ts\nstatic create(uri: string, languageId: string, version: number, content: string, options?: VueTextDocumentOptions, parseOptions?: SFCParseOptions): VueTextDocument;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n| languageId | <code>string</code> | - |\n| version | <code>number</code> | - |\n| content | <code>string</code> | - |\n| options | <code><a href=\"#-vuedx-vue-virtual-textdocument--VueTextDocumentOptions-interface\">VueTextDocumentOptions</a></code> | - |\n| parseOptions | <code><a href=\"#-vue-compiler-sfc-SFCParseOptions-interface\">SFCParseOptions</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-createBlockDocument-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-createBlockDocument-member-1-\"></a>\n\n#### [createBlockDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-createBlockDocument-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected createBlockDocument(selector: BlockSelector): VirtualTextDocument | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selector | <code><a href=\"#-vuedx-vue-virtual-textdocument--BlockSelector-type\">BlockSelector</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-createInternalModuleDocument-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-createInternalModuleDocument-member-1-\"></a>\n\n#### [createInternalModuleDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-createInternalModuleDocument-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected createInternalModuleDocument(): TransformedBlockTextDocument;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-createModuleDocument-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-createModuleDocument-member-1-\"></a>\n\n#### [createModuleDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-createModuleDocument-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected createModuleDocument(): TransformedBlockTextDocument;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-createRenderDocument-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-createRenderDocument-member-1-\"></a>\n\n#### [createRenderDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-createRenderDocument-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected createRenderDocument(): RenderFunctionTextDocument;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-createTemplateASTDocument-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-createTemplateASTDocument-member-1-\"></a>\n\n#### [createTemplateASTDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-createTemplateASTDocument-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected createTemplateASTDocument(): TransformedBlockTextDocument;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-documentAt-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-documentAt-member-1-\"></a>\n\n#### [documentAt](#-vuedx-vue-virtual-textdocument-VueTextDocument-documentAt-member-1-)\n\n\n\n**Signature:**\n```ts\ndocumentAt(position: Position | number): VirtualTextDocument | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| position | <code><a href=\"#vscode-languageserver-textdocument-Position-interface\">Position</a> &#124; number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getBlock-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getBlock-member-1-\"></a>\n\n#### [getBlock](#-vuedx-vue-virtual-textdocument-VueTextDocument-getBlock-member-1-)\n\n\n\n**Signature:**\n```ts\ngetBlock(selector: BlockSelector): SFCBlock | null | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selector | <code><a href=\"#-vuedx-vue-virtual-textdocument--BlockSelector-type\">BlockSelector</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getBlockSelector-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getBlockSelector-member-1-\"></a>\n\n#### [getBlockSelector](#-vuedx-vue-virtual-textdocument-VueTextDocument-getBlockSelector-member-1-)\n\n\n\n**Signature:**\n```ts\ngetBlockSelector(block: SFCBlock): BlockSelector | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| block | <code><a href=\"#-vue-compiler-sfc-SFCBlock-interface\">SFCBlock</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-1-\"></a>\n\n#### [getDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-1-)\n\n\n\n**Signature:**\n```ts\ngetDocument(selector: typeof RENDER_SELECTOR): RenderFunctionTextDocument;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selector | <code>typeof <a href=\"#-vuedx-vue-virtual-textdocument--RENDER-SELECTOR-var\">RENDER_SELECTOR</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-2-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-2-\"></a>\n\n#### [getDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-2-)\n\n\n\n**Signature:**\n```ts\ngetDocument(selector: SelectorLike): VirtualTextDocument;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selector | <code><a href=\"#-vuedx-vue-virtual-textdocument--SelectorLike-type\">SelectorLike</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-3-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-3-\"></a>\n\n#### [getDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-3-)\n\n\n\n**Signature:**\n```ts\ngetDocument(selector: string): VirtualTextDocument | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selector | <code>string</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentFileName-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentFileName-member-1-\"></a>\n\n#### [getDocumentFileName](#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentFileName-member-1-)\n\n\n\n**Signature:**\n```ts\ngetDocumentFileName(selectorLike: SelectorLike): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selectorLike | <code><a href=\"#-vuedx-vue-virtual-textdocument--SelectorLike-type\">SelectorLike</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentId-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentId-member-1-\"></a>\n\n#### [getDocumentId](#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentId-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected getDocumentId(selector: Selector): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selector | <code><a href=\"#-vuedx-vue-virtual-textdocument--Selector-type\">Selector</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentLanguage-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentLanguage-member-1-\"></a>\n\n#### [getDocumentLanguage](#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentLanguage-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected getDocumentLanguage(selector: Selector): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selector | <code><a href=\"#-vuedx-vue-virtual-textdocument--Selector-type\">Selector</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-markDirty-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-markDirty-member-1-\"></a>\n\n#### [markDirty](#-vuedx-vue-virtual-textdocument-VueTextDocument-markDirty-member-1-)\n\n\n\n**Signature:**\n```ts\nmarkDirty(): void;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-parse-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-parse-member-1-\"></a>\n\n#### [parse](#-vuedx-vue-virtual-textdocument-VueTextDocument-parse-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected parse(): void;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-update-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-update-member-1-\"></a>\n\n#### [update](#-vuedx-vue-virtual-textdocument-VueTextDocument-update-member-1-)\n\n\n\n**Signature:**\n```ts\nstatic update(document: VueTextDocument, changes: TextDocumentContentChangeEvent[], version: number): VueTextDocument;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| document | <code><a href=\"#-vuedx-vue-virtual-textdocument--VueTextDocument-class\">VueTextDocument</a></code> | - |\n| changes | <code><a href=\"#vscode-languageserver-textdocument-TextDocumentContentChangeEvent-type\">TextDocumentContentChangeEvent</a>[]</code> | - |\n| version | <code>number</code> | - |\n\n<br>\n</details>\n\n<br>\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-asFsPath-function-1-\" id=\"-vuedx-vue-virtual-textdocument-asFsPath-function-1-\"></a>\n\n### [asFsPath](#-vuedx-vue-virtual-textdocument-asFsPath-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function asFsPath(uri: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-asFsUri-function-1-\" id=\"-vuedx-vue-virtual-textdocument-asFsUri-function-1-\"></a>\n\n### [asFsUri](#-vuedx-vue-virtual-textdocument-asFsUri-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function asFsUri(fileName: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-asUri-function-1-\" id=\"-vuedx-vue-virtual-textdocument-asUri-function-1-\"></a>\n\n### [asUri](#-vuedx-vue-virtual-textdocument-asUri-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function asUri(fileNameOrUri: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileNameOrUri | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-basename-function-1-\" id=\"-vuedx-vue-virtual-textdocument-basename-function-1-\"></a>\n\n### [basename](#-vuedx-vue-virtual-textdocument-basename-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function basename(fileName: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-binarySearch-function-1-\" id=\"-vuedx-vue-virtual-textdocument-binarySearch-function-1-\"></a>\n\n### [binarySearch](#-vuedx-vue-virtual-textdocument-binarySearch-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function binarySearch<T>(array: T[], isMatch: (a: T) => number, returnMin?: boolean): T | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| array | <code>T[]</code> | - |\n| isMatch | <code>(a: T) => number</code> | - |\n| returnMin | <code>boolean</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-getBlockLanguage-function-1-\" id=\"-vuedx-vue-virtual-textdocument-getBlockLanguage-function-1-\"></a>\n\n### [getBlockLanguage](#-vuedx-vue-virtual-textdocument-getBlockLanguage-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function getBlockLanguage(block?: SFCBlock | null): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| block | <code><a href=\"#-vue-compiler-sfc-SFCBlock-interface\">SFCBlock</a> &#124; null</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-getContainingFile-function-1-\" id=\"-vuedx-vue-virtual-textdocument-getContainingFile-function-1-\"></a>\n\n### [getContainingFile](#-vuedx-vue-virtual-textdocument-getContainingFile-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function getContainingFile(fileName: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-getLanguageExtension-function-1-\" id=\"-vuedx-vue-virtual-textdocument-getLanguageExtension-function-1-\"></a>\n\n### [getLanguageExtension](#-vuedx-vue-virtual-textdocument-getLanguageExtension-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function getLanguageExtension(lang: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| lang | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-getLanguageIdFromExtension-function-1-\" id=\"-vuedx-vue-virtual-textdocument-getLanguageIdFromExtension-function-1-\"></a>\n\n### [getLanguageIdFromExtension](#-vuedx-vue-virtual-textdocument-getLanguageIdFromExtension-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function getLanguageIdFromExtension(ext: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| ext | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-isOffsetInBlock-function-1-\" id=\"-vuedx-vue-virtual-textdocument-isOffsetInBlock-function-1-\"></a>\n\n### [isOffsetInBlock](#-vuedx-vue-virtual-textdocument-isOffsetInBlock-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function isOffsetInBlock(offset: number, block?: SFCBlock | null): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n| block | <code><a href=\"#-vue-compiler-sfc-SFCBlock-interface\">SFCBlock</a> &#124; null</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-isVirtualFile-function-1-\" id=\"-vuedx-vue-virtual-textdocument-isVirtualFile-function-1-\"></a>\n\n### [isVirtualFile](#-vuedx-vue-virtual-textdocument-isVirtualFile-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function isVirtualFile(fileName: string): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-isVirtualFileOfType-function-1-\" id=\"-vuedx-vue-virtual-textdocument-isVirtualFileOfType-function-1-\"></a>\n\n### [isVirtualFileOfType](#-vuedx-vue-virtual-textdocument-isVirtualFileOfType-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function isVirtualFileOfType(fileName: string, type: '_render' | '_module' | '_internal' | 'script' | 'scriptSetup'): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n| type | <code>'_render' &#124; '_module' &#124; '_internal' &#124; 'script' &#124; 'scriptSetup'</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-isVueFile-function-1-\" id=\"-vuedx-vue-virtual-textdocument-isVueFile-function-1-\"></a>\n\n### [isVueFile](#-vuedx-vue-virtual-textdocument-isVueFile-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function isVueFile(fileName: string): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-parseVirtualFileName-function-1-\" id=\"-vuedx-vue-virtual-textdocument-parseVirtualFileName-function-1-\"></a>\n\n### [parseVirtualFileName](#-vuedx-vue-virtual-textdocument-parseVirtualFileName-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function parseVirtualFileName(fileName: string): {\n    uri: string;\n    selector: Selector;\n} | null;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-relativeVirtualImportPath-function-1-\" id=\"-vuedx-vue-virtual-textdocument-relativeVirtualImportPath-function-1-\"></a>\n\n### [relativeVirtualImportPath](#-vuedx-vue-virtual-textdocument-relativeVirtualImportPath-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function relativeVirtualImportPath(fileName: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-replaceSlashes-function-1-\" id=\"-vuedx-vue-virtual-textdocument-replaceSlashes-function-1-\"></a>\n\n### [replaceSlashes](#-vuedx-vue-virtual-textdocument-replaceSlashes-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function replaceSlashes(fileName: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n<!-- #region API-DOCS -->\n","readmeFilename":"readme.md","gitHead":"ac5cd7f7551447bcc11741022dacd04aa1f98881","_id":"@vuedx/vue-virtual-textdocument@0.7.5-next-1646032139.0","_nodeVersion":"16.14.0","_npmVersion":"8.3.1","dist":{"integrity":"sha512-zHNEVizOZgVHHexssQTo5a8ablG1c6b2wXAVyFtUOQ1nINa3WnLlJffaCkEldWVjj551qCnnXp8yypwMI/UMWg==","shasum":"d087e402d75dbfeb7974d16560e9f2556552ea67","tarball":"https://registry.npmjs.org/@vuedx/vue-virtual-textdocument/-/vue-virtual-textdocument-0.7.5-next-1646032139.0.tgz","fileCount":8,"unpackedSize":198547,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiHHUhACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrhMw/+JRvXMIQKTJCNMPW5FMC5gIlSaGhKaY6jBZ67nOGYSZdTujWC\r\nSuMRJMnWIHlXAPLFd7BvABwgjmy4OihQt3bduxeyvOUbBw+Hu9UvGLPk7wUr\r\n/R4DQJH+wGF8bcdnypEFbuHgEeaLap7tuz7kJ6Re1KDHd0vzjpjFzmo/AYZl\r\nBTAFB0m47fpaO99FGLIg+h/LC5ayYSXcDhChwKnOOMyuJoklcGqPnUH/7IZh\r\nJmf3PUG63Eqra1ZnV+CrKsiLyE2d9nBkF76e/va1sf7zBD41sj/IicadYxMU\r\n08spNDnkm1mR3uL83f+CsIGhLRw/rA9SXlNnVpHOSOayIJZxeRNau/0ZHpOC\r\njIbljIXnPhEueD5HnKCKrFYf2SBYnYYlQUgo4nTZhJg3325WW8QxG4DCF3bV\r\nja2RH8uSbhF49/DEi17HYCBQp5iQWRMlpMfSO+fHPoKIUXWNQrl8McR0ckBi\r\nXkIM9hSTERbEDDyebDvvbl75PHidV/6upadYhqos8joNamT8Ms7ymq8R57qw\r\nLcl7AetbGYqFZcenPIlZtx7T8i6YyRDX7L9q6bQggQKXzi3kHt5PjKec0wLL\r\nQlcbl58HIOguO7h6MM+I/zDPQEzwV5AqOG1XvSTUC/8kS3mfTHdY5niM7lN0\r\nxmFXE/AK9K4LD4gqgiymJV9MdZSHUnsCp60=\r\n=KcdU\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIG0u15iAtHLX1q1M19AVhOCRur4wmswdneZxYtzGp0zGAiAQZN+MXuY5Pdfd30YFyQJKo9vqSslKUTuBBPIEoJ1I+g=="}]},"_npmUser":{"name":"znck","email":"rahulkdn@gmail.com"},"directories":{},"maintainers":[{"name":"znck","email":"rahulkdn@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/vue-virtual-textdocument_0.7.5-next-1646032139.0_1646032161250_0.19208434725995205"},"_hasShrinkwrap":false},"0.7.5-next-1646814663.0":{"name":"@vuedx/vue-virtual-textdocument","version":"0.7.5-next-1646814663.0","description":"A virtual filesystem to access blocks in SFC as files","main":"lib/index.js","module":"lib/index.mjs","types":"lib/index.d.ts","publishConfig":{"types":"lib/index.d.ts"},"private":false,"keywords":["vue","vue sfc","sfc","vue virtual files"],"repository":{"type":"git","url":"git+https://github.com/znck/vue-developer-experience.git"},"author":{"name":"Rahul Kadyan","email":"rahulkdn@gmail.com","url":"https://znck.me/"},"funding":{"type":"individual","url":"https://github.com/sponsors/znck"},"license":"MIT","bugs":{"url":"https://github.com/znck/vue-developer-experience/issues"},"homepage":"https://github.com/znck/vue-developer-experience#readme","dependencies":{"@vuedx/compiler-sfc":"0.7.2-next-1646814663.0","@vuedx/compiler-tsx":"0.7.5-next-1646814663.0","@vuedx/shared":"0.7.4-next-1646814663.0","@vuedx/template-ast-types":"0.7.3-next-1646814663.0","@vuedx/transforms":"0.7.5-next-1646814663.0","source-map":"^0.6.1","vscode-languageserver-textdocument":"^1.0.1","vscode-uri":"^2.1.2"},"devDependencies":{"typescript":"^4.0.3"},"scripts":{},"readme":"# Vue Virtual TextDocument\n\nAn implementation of virtual filesystem for accessing blocks in a `.vue` file as independent files.\n\n## Support\n\nThis package is part of [VueDX project](https://github.com/znck/vue-developer-experience), maintained by [Rahul Kadyan](https://github.com/znck). You can [💖 sponsor him](https://github.com/sponsors/znck) for continued development of this package and other VueDX tools.\n\n```\nnpm add @vuedx/vue-virtual-textdocument\n```\n<!-- #region API-DOCS -->\n<!-- Do not edit this file. It is a report generated by [scripts/docgen.js](https://github.com/znck/vue-developer-experience/tree/main/scripts/docgen.js). -->\n\n## API\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-AsyncDocumentStore-class\" id=\"-vuedx-vue-virtual-textdocument-AsyncDocumentStore-class\"></a>\n\n### [AsyncDocumentStore](#-vuedx-vue-virtual-textdocument-AsyncDocumentStore-class)\n\n\n\n<details><summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare class AsyncDocumentStore<T> extends DocumentStore<T> {\n  constructor(resolve: (uri: string) => T | Promise<T | null> | null, normalize?: (uri: string) => string);\n  get(uri: string): T | null;\n  get(uri: string): Promise<T | null>;\n}\n```\n\n**Members:**\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-AsyncDocumentStore-get-member-1-\" id=\"-vuedx-vue-virtual-textdocument-AsyncDocumentStore-get-member-1-\"></a>\n\n#### [get](#-vuedx-vue-virtual-textdocument-AsyncDocumentStore-get-member-1-)\n\n\n\n**Signature:**\n```ts\nget(uri: string): T | null;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-AsyncDocumentStore-get-member-2-\" id=\"-vuedx-vue-virtual-textdocument-AsyncDocumentStore-get-member-2-\"></a>\n\n#### [get](#-vuedx-vue-virtual-textdocument-AsyncDocumentStore-get-member-2-)\n\n\n\n**Signature:**\n```ts\nget(uri: string): Promise<T | null>;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n\n<br>\n</details>\n\n<br>\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-class\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-class\"></a>\n\n### [DocumentStore](#-vuedx-vue-virtual-textdocument-DocumentStore-class)\n\n\n\n<details><summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare class DocumentStore<T> {\n  constructor(resolve: (uri: string) => T | null, normalize?: (uri: string) => string);\n  all(): string[];\n  delete(uri: string): boolean;\n  dispose(): void;\n  get(uri: string): T | null;\n  protected getNormalizedUri(uri: string): string;\n  has(uri: string): boolean;\n  protected map: Map<string, T>;\n  normalize: (uri: string) => string;\n  protected resolve: (uri: string) => T | null;\n  protected reverseUriMap: Map<string, string>;\n  set(uri: string, document: T): void;\n}\n```\n\n**Members:**\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-all-member-1-\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-all-member-1-\"></a>\n\n#### [all](#-vuedx-vue-virtual-textdocument-DocumentStore-all-member-1-)\n\n\n\n**Signature:**\n```ts\nall(): string[];\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-delete-member-1-\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-delete-member-1-\"></a>\n\n#### [delete](#-vuedx-vue-virtual-textdocument-DocumentStore-delete-member-1-)\n\n\n\n**Signature:**\n```ts\ndelete(uri: string): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-dispose-member-1-\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-dispose-member-1-\"></a>\n\n#### [dispose](#-vuedx-vue-virtual-textdocument-DocumentStore-dispose-member-1-)\n\n\n\n**Signature:**\n```ts\ndispose(): void;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-get-member-1-\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-get-member-1-\"></a>\n\n#### [get](#-vuedx-vue-virtual-textdocument-DocumentStore-get-member-1-)\n\n\n\n**Signature:**\n```ts\nget(uri: string): T | null;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-getNormalizedUri-member-1-\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-getNormalizedUri-member-1-\"></a>\n\n#### [getNormalizedUri](#-vuedx-vue-virtual-textdocument-DocumentStore-getNormalizedUri-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected getNormalizedUri(uri: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-has-member-1-\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-has-member-1-\"></a>\n\n#### [has](#-vuedx-vue-virtual-textdocument-DocumentStore-has-member-1-)\n\n\n\n**Signature:**\n```ts\nhas(uri: string): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-set-member-1-\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-set-member-1-\"></a>\n\n#### [set](#-vuedx-vue-virtual-textdocument-DocumentStore-set-member-1-)\n\n\n\n**Signature:**\n```ts\nset(uri: string, document: T): void;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n| document | <code>T</code> | - |\n\n<br>\n</details>\n\n<br>\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-class\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-class\"></a>\n\n### [RenderFunctionTextDocument](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-class)\n\n\n\n<details><summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare class RenderFunctionTextDocument extends TransformedBlockTextDocument {\n  constructor(container: VueTextDocument, selector: Selector, transformed: TextDocument, source: TextDocument);\n  get ast(): CodegenResult['ast'] | undefined;\n  get contextCompletionsTriggerOffset(): number;\n  static create(options: CreateVirtualTextDocumentOptions): RenderFunctionTextDocument;\n  findExpression(offset: number, length: number): undefined | {\n        offset: number;\n        length: number;\n    };\n  protected generate(): string;\n  getAllGeneratedOffsetsAt(offset: number): undefined | Array<{\n        length: number;\n        offset: number;\n    }>;\n  getGeneratedOffsetAt(offset: number): undefined | {\n        length: number;\n        offset: number;\n    };\n  protected getKnownComponents(): Record<string, ComponentImport>;\n  getOriginalOffsetAt(offset: number): undefined | {\n        offset: number;\n        length: number;\n    };\n  isInGeneratedRange(offset: number): boolean;\n  isInTemplateIdentifierRange(offset: number): boolean;\n  get parserErrors(): CodegenResult['errors'];\n  get tagCompletionsTriggerOffset(): number;\n  toDisplayMappings(): string;\n  protected tryGenerate(): string;\n}\n```\n\n**Members:**\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-create-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-create-member-1-\"></a>\n\n#### [create](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-create-member-1-)\n\n\n\n**Signature:**\n```ts\nstatic create(options: CreateVirtualTextDocumentOptions): RenderFunctionTextDocument;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| options | <code><a href=\"#-vuedx-vue-virtual-textdocument--CreateVirtualTextDocumentOptions-interface\">CreateVirtualTextDocumentOptions</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-findExpression-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-findExpression-member-1-\"></a>\n\n#### [findExpression](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-findExpression-member-1-)\n\n\n\n**Signature:**\n```ts\nfindExpression(offset: number, length: number): undefined | {\n        offset: number;\n        length: number;\n    };\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n| length | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-generate-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-generate-member-1-\"></a>\n\n#### [generate](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-generate-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected generate(): string;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getAllGeneratedOffsetsAt-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getAllGeneratedOffsetsAt-member-1-\"></a>\n\n#### [getAllGeneratedOffsetsAt](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getAllGeneratedOffsetsAt-member-1-)\n\n\n\n**Signature:**\n```ts\ngetAllGeneratedOffsetsAt(offset: number): undefined | Array<{\n        length: number;\n        offset: number;\n    }>;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getGeneratedOffsetAt-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getGeneratedOffsetAt-member-1-\"></a>\n\n#### [getGeneratedOffsetAt](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getGeneratedOffsetAt-member-1-)\n\n\n\n**Signature:**\n```ts\ngetGeneratedOffsetAt(offset: number): undefined | {\n        length: number;\n        offset: number;\n    };\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getKnownComponents-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getKnownComponents-member-1-\"></a>\n\n#### [getKnownComponents](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getKnownComponents-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected getKnownComponents(): Record<string, ComponentImport>;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getOriginalOffsetAt-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getOriginalOffsetAt-member-1-\"></a>\n\n#### [getOriginalOffsetAt](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getOriginalOffsetAt-member-1-)\n\n\n\n**Signature:**\n```ts\ngetOriginalOffsetAt(offset: number): undefined | {\n        offset: number;\n        length: number;\n    };\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-isInGeneratedRange-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-isInGeneratedRange-member-1-\"></a>\n\n#### [isInGeneratedRange](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-isInGeneratedRange-member-1-)\n\n\n\n**Signature:**\n```ts\nisInGeneratedRange(offset: number): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-isInTemplateIdentifierRange-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-isInTemplateIdentifierRange-member-1-\"></a>\n\n#### [isInTemplateIdentifierRange](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-isInTemplateIdentifierRange-member-1-)\n\n\n\n**Signature:**\n```ts\nisInTemplateIdentifierRange(offset: number): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-toDisplayMappings-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-toDisplayMappings-member-1-\"></a>\n\n#### [toDisplayMappings](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-toDisplayMappings-member-1-)\n\n\n\n**Signature:**\n```ts\ntoDisplayMappings(): string;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-tryGenerate-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-tryGenerate-member-1-\"></a>\n\n#### [tryGenerate](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-tryGenerate-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected tryGenerate(): string;\n```\n\n\n<br>\n</details>\n\n<br>\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-class\" id=\"-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-class\"></a>\n\n### [TransformedBlockTextDocument](#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-class)\n\n\n\n<details><summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare class TransformedBlockTextDocument extends VirtualTextDocument {\n  protected constructor(container: VueTextDocument, selector: Selector, transformed: TextDocument, source: TextDocument | VirtualTextDocument, _transform: (document: TransformedBlockTextDocument) => BlockTransformResult);\n  static create(options: CreateTransformedBlockTextDocumentOptions): TransformedBlockTextDocument;\n  protected refresh(): void;\n  transform(): BlockTransformResult;\n  tryGetGeneratedOffset(offset: number): number | undefined;\n  tryGetSourceOffset(offset: number): number | undefined;\n}\n```\n\n**Members:**\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-create-member-1-\" id=\"-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-create-member-1-\"></a>\n\n#### [create](#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-create-member-1-)\n\n\n\n**Signature:**\n```ts\nstatic create(options: CreateTransformedBlockTextDocumentOptions): TransformedBlockTextDocument;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| options | <code><a href=\"#-vuedx-vue-virtual-textdocument--CreateTransformedBlockTextDocumentOptions-interface\">CreateTransformedBlockTextDocumentOptions</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-refresh-member-1-\" id=\"-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-refresh-member-1-\"></a>\n\n#### [refresh](#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-refresh-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected refresh(): void;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-transform-member-1-\" id=\"-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-transform-member-1-\"></a>\n\n#### [transform](#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-transform-member-1-)\n\n\n\n**Signature:**\n```ts\ntransform(): BlockTransformResult;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-tryGetGeneratedOffset-member-1-\" id=\"-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-tryGetGeneratedOffset-member-1-\"></a>\n\n#### [tryGetGeneratedOffset](#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-tryGetGeneratedOffset-member-1-)\n\n\n\n**Signature:**\n```ts\ntryGetGeneratedOffset(offset: number): number | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-tryGetSourceOffset-member-1-\" id=\"-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-tryGetSourceOffset-member-1-\"></a>\n\n#### [tryGetSourceOffset](#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-tryGetSourceOffset-member-1-)\n\n\n\n**Signature:**\n```ts\ntryGetSourceOffset(offset: number): number | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n</details>\n\n<br>\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VirtualTextDocument-class\" id=\"-vuedx-vue-virtual-textdocument-VirtualTextDocument-class\"></a>\n\n### [VirtualTextDocument](#-vuedx-vue-virtual-textdocument-VirtualTextDocument-class)\n\n\n\n<details><summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare class VirtualTextDocument extends ProxyTextDocument {\n  protected constructor(container: VueTextDocument, selector: Selector, doc: TextDocument);\n  readonly container: VueTextDocument;\n  static create(options: CreateVirtualTextDocumentOptions): VirtualTextDocument;\n  protected isDirty: boolean;\n  markDirty(): void;\n  protected refresh(): void;\n  readonly selector: Selector;\n}\n```\n\n**Members:**\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VirtualTextDocument-create-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VirtualTextDocument-create-member-1-\"></a>\n\n#### [create](#-vuedx-vue-virtual-textdocument-VirtualTextDocument-create-member-1-)\n\n\n\n**Signature:**\n```ts\nstatic create(options: CreateVirtualTextDocumentOptions): VirtualTextDocument;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| options | <code><a href=\"#-vuedx-vue-virtual-textdocument--CreateVirtualTextDocumentOptions-interface\">CreateVirtualTextDocumentOptions</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VirtualTextDocument-markDirty-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VirtualTextDocument-markDirty-member-1-\"></a>\n\n#### [markDirty](#-vuedx-vue-virtual-textdocument-VirtualTextDocument-markDirty-member-1-)\n\n\n\n**Signature:**\n```ts\nmarkDirty(): void;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VirtualTextDocument-refresh-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VirtualTextDocument-refresh-member-1-\"></a>\n\n#### [refresh](#-vuedx-vue-virtual-textdocument-VirtualTextDocument-refresh-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected refresh(): void;\n```\n\n\n<br>\n</details>\n\n<br>\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-class\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-class\"></a>\n\n### [VueTextDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-class)\n\n\n\n<details><summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare class VueTextDocument extends ProxyTextDocument {\n  constructor(doc: TextDocument, options?: VueTextDocumentOptions, parseOptions?: SFCParseOptions);\n  all(): VirtualTextDocument[];\n  blockAt(position: Position | number): SFCBlock | null | undefined;\n  static create(uri: string, languageId: string, version: number, content: string, options?: VueTextDocumentOptions, parseOptions?: SFCParseOptions): VueTextDocument;\n  protected createBlockDocument(selector: BlockSelector): VirtualTextDocument | undefined;\n  protected createInternalModuleDocument(): TransformedBlockTextDocument;\n  protected createModuleDocument(): TransformedBlockTextDocument;\n  protected createRenderDocument(): RenderFunctionTextDocument;\n  protected createTemplateASTDocument(): TransformedBlockTextDocument;\n  get descriptor(): SFCDescriptor;\n  documentAt(position: Position | number): VirtualTextDocument | undefined;\n  getBlock(selector: BlockSelector): SFCBlock | null | undefined;\n  getBlockSelector(block: SFCBlock): BlockSelector | undefined;\n  getDocument(selector: typeof RENDER_SELECTOR): RenderFunctionTextDocument;\n  getDocument(selector: SelectorLike): VirtualTextDocument;\n  getDocument(selector: string): VirtualTextDocument | undefined;\n  getDocumentFileName(selectorLike: SelectorLike): string;\n  protected getDocumentId(selector: Selector): string;\n  protected getDocumentLanguage(selector: Selector): string;\n  markDirty(): void;\n  readonly options: VueTextDocumentOptions;\n  protected parse(): void;\n  static update(document: VueTextDocument, changes: TextDocumentContentChangeEvent[], version: number): VueTextDocument;\n}\n```\n\n**Members:**\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-all-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-all-member-1-\"></a>\n\n#### [all](#-vuedx-vue-virtual-textdocument-VueTextDocument-all-member-1-)\n\n\n\n**Signature:**\n```ts\nall(): VirtualTextDocument[];\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-blockAt-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-blockAt-member-1-\"></a>\n\n#### [blockAt](#-vuedx-vue-virtual-textdocument-VueTextDocument-blockAt-member-1-)\n\n\n\n**Signature:**\n```ts\nblockAt(position: Position | number): SFCBlock | null | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| position | <code><a href=\"#vscode-languageserver-textdocument-Position-interface\">Position</a> &#124; number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-create-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-create-member-1-\"></a>\n\n#### [create](#-vuedx-vue-virtual-textdocument-VueTextDocument-create-member-1-)\n\n\n\n**Signature:**\n```ts\nstatic create(uri: string, languageId: string, version: number, content: string, options?: VueTextDocumentOptions, parseOptions?: SFCParseOptions): VueTextDocument;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n| languageId | <code>string</code> | - |\n| version | <code>number</code> | - |\n| content | <code>string</code> | - |\n| options | <code><a href=\"#-vuedx-vue-virtual-textdocument--VueTextDocumentOptions-interface\">VueTextDocumentOptions</a></code> | - |\n| parseOptions | <code><a href=\"#-vue-compiler-sfc-SFCParseOptions-interface\">SFCParseOptions</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-createBlockDocument-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-createBlockDocument-member-1-\"></a>\n\n#### [createBlockDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-createBlockDocument-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected createBlockDocument(selector: BlockSelector): VirtualTextDocument | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selector | <code><a href=\"#-vuedx-vue-virtual-textdocument--BlockSelector-type\">BlockSelector</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-createInternalModuleDocument-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-createInternalModuleDocument-member-1-\"></a>\n\n#### [createInternalModuleDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-createInternalModuleDocument-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected createInternalModuleDocument(): TransformedBlockTextDocument;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-createModuleDocument-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-createModuleDocument-member-1-\"></a>\n\n#### [createModuleDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-createModuleDocument-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected createModuleDocument(): TransformedBlockTextDocument;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-createRenderDocument-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-createRenderDocument-member-1-\"></a>\n\n#### [createRenderDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-createRenderDocument-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected createRenderDocument(): RenderFunctionTextDocument;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-createTemplateASTDocument-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-createTemplateASTDocument-member-1-\"></a>\n\n#### [createTemplateASTDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-createTemplateASTDocument-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected createTemplateASTDocument(): TransformedBlockTextDocument;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-documentAt-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-documentAt-member-1-\"></a>\n\n#### [documentAt](#-vuedx-vue-virtual-textdocument-VueTextDocument-documentAt-member-1-)\n\n\n\n**Signature:**\n```ts\ndocumentAt(position: Position | number): VirtualTextDocument | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| position | <code><a href=\"#vscode-languageserver-textdocument-Position-interface\">Position</a> &#124; number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getBlock-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getBlock-member-1-\"></a>\n\n#### [getBlock](#-vuedx-vue-virtual-textdocument-VueTextDocument-getBlock-member-1-)\n\n\n\n**Signature:**\n```ts\ngetBlock(selector: BlockSelector): SFCBlock | null | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selector | <code><a href=\"#-vuedx-vue-virtual-textdocument--BlockSelector-type\">BlockSelector</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getBlockSelector-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getBlockSelector-member-1-\"></a>\n\n#### [getBlockSelector](#-vuedx-vue-virtual-textdocument-VueTextDocument-getBlockSelector-member-1-)\n\n\n\n**Signature:**\n```ts\ngetBlockSelector(block: SFCBlock): BlockSelector | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| block | <code><a href=\"#-vue-compiler-sfc-SFCBlock-interface\">SFCBlock</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-1-\"></a>\n\n#### [getDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-1-)\n\n\n\n**Signature:**\n```ts\ngetDocument(selector: typeof RENDER_SELECTOR): RenderFunctionTextDocument;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selector | <code>typeof <a href=\"#-vuedx-vue-virtual-textdocument--RENDER-SELECTOR-var\">RENDER_SELECTOR</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-2-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-2-\"></a>\n\n#### [getDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-2-)\n\n\n\n**Signature:**\n```ts\ngetDocument(selector: SelectorLike): VirtualTextDocument;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selector | <code><a href=\"#-vuedx-vue-virtual-textdocument--SelectorLike-type\">SelectorLike</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-3-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-3-\"></a>\n\n#### [getDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-3-)\n\n\n\n**Signature:**\n```ts\ngetDocument(selector: string): VirtualTextDocument | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selector | <code>string</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentFileName-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentFileName-member-1-\"></a>\n\n#### [getDocumentFileName](#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentFileName-member-1-)\n\n\n\n**Signature:**\n```ts\ngetDocumentFileName(selectorLike: SelectorLike): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selectorLike | <code><a href=\"#-vuedx-vue-virtual-textdocument--SelectorLike-type\">SelectorLike</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentId-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentId-member-1-\"></a>\n\n#### [getDocumentId](#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentId-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected getDocumentId(selector: Selector): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selector | <code><a href=\"#-vuedx-vue-virtual-textdocument--Selector-type\">Selector</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentLanguage-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentLanguage-member-1-\"></a>\n\n#### [getDocumentLanguage](#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentLanguage-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected getDocumentLanguage(selector: Selector): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selector | <code><a href=\"#-vuedx-vue-virtual-textdocument--Selector-type\">Selector</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-markDirty-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-markDirty-member-1-\"></a>\n\n#### [markDirty](#-vuedx-vue-virtual-textdocument-VueTextDocument-markDirty-member-1-)\n\n\n\n**Signature:**\n```ts\nmarkDirty(): void;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-parse-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-parse-member-1-\"></a>\n\n#### [parse](#-vuedx-vue-virtual-textdocument-VueTextDocument-parse-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected parse(): void;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-update-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-update-member-1-\"></a>\n\n#### [update](#-vuedx-vue-virtual-textdocument-VueTextDocument-update-member-1-)\n\n\n\n**Signature:**\n```ts\nstatic update(document: VueTextDocument, changes: TextDocumentContentChangeEvent[], version: number): VueTextDocument;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| document | <code><a href=\"#-vuedx-vue-virtual-textdocument--VueTextDocument-class\">VueTextDocument</a></code> | - |\n| changes | <code><a href=\"#vscode-languageserver-textdocument-TextDocumentContentChangeEvent-type\">TextDocumentContentChangeEvent</a>[]</code> | - |\n| version | <code>number</code> | - |\n\n<br>\n</details>\n\n<br>\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-asFsPath-function-1-\" id=\"-vuedx-vue-virtual-textdocument-asFsPath-function-1-\"></a>\n\n### [asFsPath](#-vuedx-vue-virtual-textdocument-asFsPath-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function asFsPath(uri: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-asFsUri-function-1-\" id=\"-vuedx-vue-virtual-textdocument-asFsUri-function-1-\"></a>\n\n### [asFsUri](#-vuedx-vue-virtual-textdocument-asFsUri-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function asFsUri(fileName: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-asUri-function-1-\" id=\"-vuedx-vue-virtual-textdocument-asUri-function-1-\"></a>\n\n### [asUri](#-vuedx-vue-virtual-textdocument-asUri-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function asUri(fileNameOrUri: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileNameOrUri | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-basename-function-1-\" id=\"-vuedx-vue-virtual-textdocument-basename-function-1-\"></a>\n\n### [basename](#-vuedx-vue-virtual-textdocument-basename-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function basename(fileName: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-binarySearch-function-1-\" id=\"-vuedx-vue-virtual-textdocument-binarySearch-function-1-\"></a>\n\n### [binarySearch](#-vuedx-vue-virtual-textdocument-binarySearch-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function binarySearch<T>(array: T[], isMatch: (a: T) => number, returnMin?: boolean): T | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| array | <code>T[]</code> | - |\n| isMatch | <code>(a: T) => number</code> | - |\n| returnMin | <code>boolean</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-getBlockLanguage-function-1-\" id=\"-vuedx-vue-virtual-textdocument-getBlockLanguage-function-1-\"></a>\n\n### [getBlockLanguage](#-vuedx-vue-virtual-textdocument-getBlockLanguage-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function getBlockLanguage(block?: SFCBlock | null): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| block | <code><a href=\"#-vue-compiler-sfc-SFCBlock-interface\">SFCBlock</a> &#124; null</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-getContainingFile-function-1-\" id=\"-vuedx-vue-virtual-textdocument-getContainingFile-function-1-\"></a>\n\n### [getContainingFile](#-vuedx-vue-virtual-textdocument-getContainingFile-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function getContainingFile(fileName: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-getLanguageExtension-function-1-\" id=\"-vuedx-vue-virtual-textdocument-getLanguageExtension-function-1-\"></a>\n\n### [getLanguageExtension](#-vuedx-vue-virtual-textdocument-getLanguageExtension-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function getLanguageExtension(lang: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| lang | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-getLanguageIdFromExtension-function-1-\" id=\"-vuedx-vue-virtual-textdocument-getLanguageIdFromExtension-function-1-\"></a>\n\n### [getLanguageIdFromExtension](#-vuedx-vue-virtual-textdocument-getLanguageIdFromExtension-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function getLanguageIdFromExtension(ext: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| ext | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-isOffsetInBlock-function-1-\" id=\"-vuedx-vue-virtual-textdocument-isOffsetInBlock-function-1-\"></a>\n\n### [isOffsetInBlock](#-vuedx-vue-virtual-textdocument-isOffsetInBlock-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function isOffsetInBlock(offset: number, block?: SFCBlock | null): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n| block | <code><a href=\"#-vue-compiler-sfc-SFCBlock-interface\">SFCBlock</a> &#124; null</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-isVirtualFile-function-1-\" id=\"-vuedx-vue-virtual-textdocument-isVirtualFile-function-1-\"></a>\n\n### [isVirtualFile](#-vuedx-vue-virtual-textdocument-isVirtualFile-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function isVirtualFile(fileName: string): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-isVirtualFileOfType-function-1-\" id=\"-vuedx-vue-virtual-textdocument-isVirtualFileOfType-function-1-\"></a>\n\n### [isVirtualFileOfType](#-vuedx-vue-virtual-textdocument-isVirtualFileOfType-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function isVirtualFileOfType(fileName: string, type: '_render' | '_module' | '_internal' | 'script' | 'scriptSetup'): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n| type | <code>'_render' &#124; '_module' &#124; '_internal' &#124; 'script' &#124; 'scriptSetup'</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-isVueFile-function-1-\" id=\"-vuedx-vue-virtual-textdocument-isVueFile-function-1-\"></a>\n\n### [isVueFile](#-vuedx-vue-virtual-textdocument-isVueFile-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function isVueFile(fileName: string): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-parseVirtualFileName-function-1-\" id=\"-vuedx-vue-virtual-textdocument-parseVirtualFileName-function-1-\"></a>\n\n### [parseVirtualFileName](#-vuedx-vue-virtual-textdocument-parseVirtualFileName-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function parseVirtualFileName(fileName: string): {\n    uri: string;\n    selector: Selector;\n} | null;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-relativeVirtualImportPath-function-1-\" id=\"-vuedx-vue-virtual-textdocument-relativeVirtualImportPath-function-1-\"></a>\n\n### [relativeVirtualImportPath](#-vuedx-vue-virtual-textdocument-relativeVirtualImportPath-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function relativeVirtualImportPath(fileName: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-replaceSlashes-function-1-\" id=\"-vuedx-vue-virtual-textdocument-replaceSlashes-function-1-\"></a>\n\n### [replaceSlashes](#-vuedx-vue-virtual-textdocument-replaceSlashes-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function replaceSlashes(fileName: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n<!-- #region API-DOCS -->\n","readmeFilename":"readme.md","gitHead":"e3dced7823198429c304d8022b89b362bdd51a5e","_id":"@vuedx/vue-virtual-textdocument@0.7.5-next-1646814663.0","_nodeVersion":"16.14.0","_npmVersion":"8.3.1","dist":{"integrity":"sha512-TrZS3DeEv9WP9JvXeYwPdsWsjTGb3Hu5g6KNQ5wdf0X/GC4X52zHS41gP0K6j4kup3JiElWzC0DljgIfTTJBWQ==","shasum":"61c42358afc1f82544485efe8cd0db8d9ef39b98","tarball":"https://registry.npmjs.org/@vuedx/vue-virtual-textdocument/-/vue-virtual-textdocument-0.7.5-next-1646814663.0.tgz","fileCount":8,"unpackedSize":194717,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiKGXbACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpzXxAAmD9NFB17cMOvMrstnsxj4spZpWgCySjNDXEHX2lULq6Xoe+7\r\nGODkyKVYuAV3iCgFYAy2jcGFCMzqqzPwuRWymqDJH0c8NnA4zw3fJAs+CCEo\r\nkobDXFfSxGfqCFU2FTRPtz1HA2eEGu5O5KophwZKDIBzupC42Wdmhw2UkLJs\r\nsHvaSf3Dq1qX1kMIHlxuGRbWQMsTTTqacfTDC3no7Qy/tLADh/7MCTlCj1Zi\r\njzZXdrddSKszpGleF9dpo3KySsPCttB8fcv7yCFdqbb231PEV5l92QoJe8bv\r\n67FvJomtmRogUQcWvzrujTgdr34TEQ8bwgUcEv/fdV9s/nuOaRx0rZzl2kWb\r\nDaPMN8zdMlHtiygZAQ4+C/pCQT/GEaZMouFUjlr2Aqu+MkHlzQgbqYoazkB8\r\nvz2IrSXs9hFMtcWMShSyWNvSPLT5eCIdy2jzjgk0RipPqyQq3i/Ia8xOpHTn\r\nolt6GiFd7RRSDvyfHX/iZw3g3tOZCbINr7UgBGF0Unb6W2Nrqy1nyMYRBrfB\r\nt6MySh6qGZejx3WLZCX+M4WGz04YoWCj98So1xS2bKjK1DZwsRDsuznyFJi2\r\no2sAx8RUCh3KwRsEHNLhKi0TsVqLJwHMk2LVlv4Api+HDbp4P2IdnCi9R0PJ\r\nvcRtl75qGLz3o5Ru8c9k/DNMDQpZa5e6fFQ=\r\n=vHUU\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCXEaB7raXDLKCimw8f9JDRD6mfveB1qRVn3SEmmDIbtwIgRccuclLk+N4cFc8xL0dv5Ss915AuGVVnsrZpI/ViVZA="}]},"_npmUser":{"name":"znck","email":"rahulkdn@gmail.com"},"directories":{},"maintainers":[{"name":"znck","email":"rahulkdn@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/vue-virtual-textdocument_0.7.5-next-1646814663.0_1646814682824_0.48404645053548756"},"_hasShrinkwrap":false},"0.7.5-next-1647274818.0":{"name":"@vuedx/vue-virtual-textdocument","version":"0.7.5-next-1647274818.0","description":"A virtual filesystem to access blocks in SFC as files","main":"lib/index.js","module":"lib/index.mjs","types":"lib/index.d.ts","publishConfig":{"types":"lib/index.d.ts"},"private":false,"keywords":["vue","vue sfc","sfc","vue virtual files"],"repository":{"type":"git","url":"git+https://github.com/znck/vue-developer-experience.git"},"author":{"name":"Rahul Kadyan","email":"rahulkdn@gmail.com","url":"https://znck.me/"},"funding":{"type":"individual","url":"https://github.com/sponsors/znck"},"license":"MIT","bugs":{"url":"https://github.com/znck/vue-developer-experience/issues"},"homepage":"https://github.com/znck/vue-developer-experience#readme","dependencies":{"@vuedx/compiler-sfc":"0.7.2-next-1647274818.0","@vuedx/compiler-tsx":"0.7.5-next-1647274818.0","@vuedx/shared":"0.7.4-next-1647274818.0","@vuedx/template-ast-types":"0.7.3-next-1647274818.0","@vuedx/transforms":"0.7.5-next-1647274818.0","source-map":"^0.6.1","vscode-languageserver-textdocument":"^1.0.1","vscode-uri":"^2.1.2"},"devDependencies":{"typescript":"^4.0.3"},"scripts":{},"readme":"# Vue Virtual TextDocument\n\nAn implementation of virtual filesystem for accessing blocks in a `.vue` file as independent files.\n\n## Support\n\nThis package is part of [VueDX project](https://github.com/znck/vue-developer-experience), maintained by [Rahul Kadyan](https://github.com/znck). You can [💖 sponsor him](https://github.com/sponsors/znck) for continued development of this package and other VueDX tools.\n\n```\nnpm add @vuedx/vue-virtual-textdocument\n```\n<!-- #region API-DOCS -->\n<!-- Do not edit this file. It is a report generated by [scripts/docgen.js](https://github.com/znck/vue-developer-experience/tree/main/scripts/docgen.js). -->\n\n## API\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-AsyncDocumentStore-class\" id=\"-vuedx-vue-virtual-textdocument-AsyncDocumentStore-class\"></a>\n\n### [AsyncDocumentStore](#-vuedx-vue-virtual-textdocument-AsyncDocumentStore-class)\n\n\n\n<details><summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare class AsyncDocumentStore<T> extends DocumentStore<T> {\n  constructor(resolve: (uri: string) => T | Promise<T | null> | null, normalize?: (uri: string) => string);\n  get(uri: string): T | null;\n  get(uri: string): Promise<T | null>;\n}\n```\n\n**Members:**\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-AsyncDocumentStore-get-member-1-\" id=\"-vuedx-vue-virtual-textdocument-AsyncDocumentStore-get-member-1-\"></a>\n\n#### [get](#-vuedx-vue-virtual-textdocument-AsyncDocumentStore-get-member-1-)\n\n\n\n**Signature:**\n```ts\nget(uri: string): T | null;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-AsyncDocumentStore-get-member-2-\" id=\"-vuedx-vue-virtual-textdocument-AsyncDocumentStore-get-member-2-\"></a>\n\n#### [get](#-vuedx-vue-virtual-textdocument-AsyncDocumentStore-get-member-2-)\n\n\n\n**Signature:**\n```ts\nget(uri: string): Promise<T | null>;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n\n<br>\n</details>\n\n<br>\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-class\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-class\"></a>\n\n### [DocumentStore](#-vuedx-vue-virtual-textdocument-DocumentStore-class)\n\n\n\n<details><summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare class DocumentStore<T> {\n  constructor(resolve: (uri: string) => T | null, normalize?: (uri: string) => string);\n  all(): string[];\n  delete(uri: string): boolean;\n  dispose(): void;\n  get(uri: string): T | null;\n  protected getNormalizedUri(uri: string): string;\n  has(uri: string): boolean;\n  protected map: Map<string, T>;\n  normalize: (uri: string) => string;\n  protected resolve: (uri: string) => T | null;\n  protected reverseUriMap: Map<string, string>;\n  set(uri: string, document: T): void;\n}\n```\n\n**Members:**\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-all-member-1-\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-all-member-1-\"></a>\n\n#### [all](#-vuedx-vue-virtual-textdocument-DocumentStore-all-member-1-)\n\n\n\n**Signature:**\n```ts\nall(): string[];\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-delete-member-1-\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-delete-member-1-\"></a>\n\n#### [delete](#-vuedx-vue-virtual-textdocument-DocumentStore-delete-member-1-)\n\n\n\n**Signature:**\n```ts\ndelete(uri: string): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-dispose-member-1-\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-dispose-member-1-\"></a>\n\n#### [dispose](#-vuedx-vue-virtual-textdocument-DocumentStore-dispose-member-1-)\n\n\n\n**Signature:**\n```ts\ndispose(): void;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-get-member-1-\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-get-member-1-\"></a>\n\n#### [get](#-vuedx-vue-virtual-textdocument-DocumentStore-get-member-1-)\n\n\n\n**Signature:**\n```ts\nget(uri: string): T | null;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-getNormalizedUri-member-1-\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-getNormalizedUri-member-1-\"></a>\n\n#### [getNormalizedUri](#-vuedx-vue-virtual-textdocument-DocumentStore-getNormalizedUri-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected getNormalizedUri(uri: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-has-member-1-\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-has-member-1-\"></a>\n\n#### [has](#-vuedx-vue-virtual-textdocument-DocumentStore-has-member-1-)\n\n\n\n**Signature:**\n```ts\nhas(uri: string): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-set-member-1-\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-set-member-1-\"></a>\n\n#### [set](#-vuedx-vue-virtual-textdocument-DocumentStore-set-member-1-)\n\n\n\n**Signature:**\n```ts\nset(uri: string, document: T): void;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n| document | <code>T</code> | - |\n\n<br>\n</details>\n\n<br>\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-class\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-class\"></a>\n\n### [RenderFunctionTextDocument](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-class)\n\n\n\n<details><summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare class RenderFunctionTextDocument extends TransformedBlockTextDocument {\n  constructor(container: VueTextDocument, selector: Selector, transformed: TextDocument, source: TextDocument);\n  get ast(): CodegenResult['ast'] | undefined;\n  get contextCompletionsTriggerOffset(): number;\n  static create(options: CreateVirtualTextDocumentOptions): RenderFunctionTextDocument;\n  findExpression(offset: number, length: number): undefined | {\n        offset: number;\n        length: number;\n    };\n  protected generate(): string;\n  getAllGeneratedOffsetsAt(offset: number): undefined | Array<{\n        length: number;\n        offset: number;\n    }>;\n  getGeneratedOffsetAt(offset: number): undefined | {\n        length: number;\n        offset: number;\n    };\n  protected getKnownComponents(): Record<string, ComponentImport>;\n  getOriginalOffsetAt(offset: number): undefined | {\n        offset: number;\n        length: number;\n    };\n  isInGeneratedRange(offset: number): boolean;\n  isInTemplateIdentifierRange(offset: number): boolean;\n  get parserErrors(): CodegenResult['errors'];\n  get tagCompletionsTriggerOffset(): number;\n  toDisplayMappings(): string;\n  protected tryGenerate(): string;\n}\n```\n\n**Members:**\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-create-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-create-member-1-\"></a>\n\n#### [create](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-create-member-1-)\n\n\n\n**Signature:**\n```ts\nstatic create(options: CreateVirtualTextDocumentOptions): RenderFunctionTextDocument;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| options | <code><a href=\"#-vuedx-vue-virtual-textdocument--CreateVirtualTextDocumentOptions-interface\">CreateVirtualTextDocumentOptions</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-findExpression-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-findExpression-member-1-\"></a>\n\n#### [findExpression](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-findExpression-member-1-)\n\n\n\n**Signature:**\n```ts\nfindExpression(offset: number, length: number): undefined | {\n        offset: number;\n        length: number;\n    };\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n| length | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-generate-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-generate-member-1-\"></a>\n\n#### [generate](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-generate-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected generate(): string;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getAllGeneratedOffsetsAt-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getAllGeneratedOffsetsAt-member-1-\"></a>\n\n#### [getAllGeneratedOffsetsAt](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getAllGeneratedOffsetsAt-member-1-)\n\n\n\n**Signature:**\n```ts\ngetAllGeneratedOffsetsAt(offset: number): undefined | Array<{\n        length: number;\n        offset: number;\n    }>;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getGeneratedOffsetAt-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getGeneratedOffsetAt-member-1-\"></a>\n\n#### [getGeneratedOffsetAt](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getGeneratedOffsetAt-member-1-)\n\n\n\n**Signature:**\n```ts\ngetGeneratedOffsetAt(offset: number): undefined | {\n        length: number;\n        offset: number;\n    };\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getKnownComponents-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getKnownComponents-member-1-\"></a>\n\n#### [getKnownComponents](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getKnownComponents-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected getKnownComponents(): Record<string, ComponentImport>;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getOriginalOffsetAt-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getOriginalOffsetAt-member-1-\"></a>\n\n#### [getOriginalOffsetAt](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getOriginalOffsetAt-member-1-)\n\n\n\n**Signature:**\n```ts\ngetOriginalOffsetAt(offset: number): undefined | {\n        offset: number;\n        length: number;\n    };\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-isInGeneratedRange-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-isInGeneratedRange-member-1-\"></a>\n\n#### [isInGeneratedRange](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-isInGeneratedRange-member-1-)\n\n\n\n**Signature:**\n```ts\nisInGeneratedRange(offset: number): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-isInTemplateIdentifierRange-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-isInTemplateIdentifierRange-member-1-\"></a>\n\n#### [isInTemplateIdentifierRange](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-isInTemplateIdentifierRange-member-1-)\n\n\n\n**Signature:**\n```ts\nisInTemplateIdentifierRange(offset: number): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-toDisplayMappings-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-toDisplayMappings-member-1-\"></a>\n\n#### [toDisplayMappings](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-toDisplayMappings-member-1-)\n\n\n\n**Signature:**\n```ts\ntoDisplayMappings(): string;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-tryGenerate-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-tryGenerate-member-1-\"></a>\n\n#### [tryGenerate](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-tryGenerate-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected tryGenerate(): string;\n```\n\n\n<br>\n</details>\n\n<br>\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-class\" id=\"-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-class\"></a>\n\n### [TransformedBlockTextDocument](#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-class)\n\n\n\n<details><summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare class TransformedBlockTextDocument extends VirtualTextDocument {\n  protected constructor(container: VueTextDocument, selector: Selector, transformed: TextDocument, source: TextDocument | VirtualTextDocument, _transform: (document: TransformedBlockTextDocument) => BlockTransformResult);\n  static create(options: CreateTransformedBlockTextDocumentOptions): TransformedBlockTextDocument;\n  protected refresh(): void;\n  transform(): BlockTransformResult;\n  tryGetGeneratedOffset(offset: number): number | undefined;\n  tryGetSourceOffset(offset: number): number | undefined;\n}\n```\n\n**Members:**\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-create-member-1-\" id=\"-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-create-member-1-\"></a>\n\n#### [create](#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-create-member-1-)\n\n\n\n**Signature:**\n```ts\nstatic create(options: CreateTransformedBlockTextDocumentOptions): TransformedBlockTextDocument;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| options | <code><a href=\"#-vuedx-vue-virtual-textdocument--CreateTransformedBlockTextDocumentOptions-interface\">CreateTransformedBlockTextDocumentOptions</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-refresh-member-1-\" id=\"-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-refresh-member-1-\"></a>\n\n#### [refresh](#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-refresh-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected refresh(): void;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-transform-member-1-\" id=\"-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-transform-member-1-\"></a>\n\n#### [transform](#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-transform-member-1-)\n\n\n\n**Signature:**\n```ts\ntransform(): BlockTransformResult;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-tryGetGeneratedOffset-member-1-\" id=\"-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-tryGetGeneratedOffset-member-1-\"></a>\n\n#### [tryGetGeneratedOffset](#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-tryGetGeneratedOffset-member-1-)\n\n\n\n**Signature:**\n```ts\ntryGetGeneratedOffset(offset: number): number | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-tryGetSourceOffset-member-1-\" id=\"-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-tryGetSourceOffset-member-1-\"></a>\n\n#### [tryGetSourceOffset](#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-tryGetSourceOffset-member-1-)\n\n\n\n**Signature:**\n```ts\ntryGetSourceOffset(offset: number): number | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n</details>\n\n<br>\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VirtualTextDocument-class\" id=\"-vuedx-vue-virtual-textdocument-VirtualTextDocument-class\"></a>\n\n### [VirtualTextDocument](#-vuedx-vue-virtual-textdocument-VirtualTextDocument-class)\n\n\n\n<details><summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare class VirtualTextDocument extends ProxyTextDocument {\n  protected constructor(container: VueTextDocument, selector: Selector, doc: TextDocument);\n  readonly container: VueTextDocument;\n  static create(options: CreateVirtualTextDocumentOptions): VirtualTextDocument;\n  protected isDirty: boolean;\n  markDirty(): void;\n  protected refresh(): void;\n  readonly selector: Selector;\n}\n```\n\n**Members:**\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VirtualTextDocument-create-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VirtualTextDocument-create-member-1-\"></a>\n\n#### [create](#-vuedx-vue-virtual-textdocument-VirtualTextDocument-create-member-1-)\n\n\n\n**Signature:**\n```ts\nstatic create(options: CreateVirtualTextDocumentOptions): VirtualTextDocument;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| options | <code><a href=\"#-vuedx-vue-virtual-textdocument--CreateVirtualTextDocumentOptions-interface\">CreateVirtualTextDocumentOptions</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VirtualTextDocument-markDirty-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VirtualTextDocument-markDirty-member-1-\"></a>\n\n#### [markDirty](#-vuedx-vue-virtual-textdocument-VirtualTextDocument-markDirty-member-1-)\n\n\n\n**Signature:**\n```ts\nmarkDirty(): void;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VirtualTextDocument-refresh-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VirtualTextDocument-refresh-member-1-\"></a>\n\n#### [refresh](#-vuedx-vue-virtual-textdocument-VirtualTextDocument-refresh-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected refresh(): void;\n```\n\n\n<br>\n</details>\n\n<br>\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-class\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-class\"></a>\n\n### [VueTextDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-class)\n\n\n\n<details><summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare class VueTextDocument extends ProxyTextDocument {\n  constructor(doc: TextDocument, options?: VueTextDocumentOptions, parseOptions?: SFCParseOptions);\n  all(): VirtualTextDocument[];\n  blockAt(position: Position | number): SFCBlock | null | undefined;\n  static create(uri: string, languageId: string, version: number, content: string, options?: VueTextDocumentOptions, parseOptions?: SFCParseOptions): VueTextDocument;\n  protected createBlockDocument(selector: BlockSelector): VirtualTextDocument | undefined;\n  protected createInternalModuleDocument(): TransformedBlockTextDocument;\n  protected createModuleDocument(): TransformedBlockTextDocument;\n  protected createRenderDocument(): RenderFunctionTextDocument;\n  protected createTemplateASTDocument(): TransformedBlockTextDocument;\n  get descriptor(): SFCDescriptor;\n  documentAt(position: Position | number): VirtualTextDocument | undefined;\n  getBlock(selector: BlockSelector): SFCBlock | null | undefined;\n  getBlockSelector(block: SFCBlock): BlockSelector | undefined;\n  getDocument(selector: typeof RENDER_SELECTOR): RenderFunctionTextDocument;\n  getDocument(selector: SelectorLike): VirtualTextDocument;\n  getDocument(selector: string): VirtualTextDocument | undefined;\n  getDocumentFileName(selectorLike: SelectorLike): string;\n  protected getDocumentId(selector: Selector): string;\n  protected getDocumentLanguage(selector: Selector): string;\n  markDirty(): void;\n  readonly options: VueTextDocumentOptions;\n  protected parse(): void;\n  static update(document: VueTextDocument, changes: TextDocumentContentChangeEvent[], version: number): VueTextDocument;\n}\n```\n\n**Members:**\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-all-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-all-member-1-\"></a>\n\n#### [all](#-vuedx-vue-virtual-textdocument-VueTextDocument-all-member-1-)\n\n\n\n**Signature:**\n```ts\nall(): VirtualTextDocument[];\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-blockAt-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-blockAt-member-1-\"></a>\n\n#### [blockAt](#-vuedx-vue-virtual-textdocument-VueTextDocument-blockAt-member-1-)\n\n\n\n**Signature:**\n```ts\nblockAt(position: Position | number): SFCBlock | null | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| position | <code><a href=\"#vscode-languageserver-textdocument-Position-interface\">Position</a> &#124; number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-create-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-create-member-1-\"></a>\n\n#### [create](#-vuedx-vue-virtual-textdocument-VueTextDocument-create-member-1-)\n\n\n\n**Signature:**\n```ts\nstatic create(uri: string, languageId: string, version: number, content: string, options?: VueTextDocumentOptions, parseOptions?: SFCParseOptions): VueTextDocument;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n| languageId | <code>string</code> | - |\n| version | <code>number</code> | - |\n| content | <code>string</code> | - |\n| options | <code><a href=\"#-vuedx-vue-virtual-textdocument--VueTextDocumentOptions-interface\">VueTextDocumentOptions</a></code> | - |\n| parseOptions | <code><a href=\"#-vue-compiler-sfc-SFCParseOptions-interface\">SFCParseOptions</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-createBlockDocument-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-createBlockDocument-member-1-\"></a>\n\n#### [createBlockDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-createBlockDocument-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected createBlockDocument(selector: BlockSelector): VirtualTextDocument | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selector | <code><a href=\"#-vuedx-vue-virtual-textdocument--BlockSelector-type\">BlockSelector</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-createInternalModuleDocument-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-createInternalModuleDocument-member-1-\"></a>\n\n#### [createInternalModuleDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-createInternalModuleDocument-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected createInternalModuleDocument(): TransformedBlockTextDocument;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-createModuleDocument-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-createModuleDocument-member-1-\"></a>\n\n#### [createModuleDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-createModuleDocument-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected createModuleDocument(): TransformedBlockTextDocument;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-createRenderDocument-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-createRenderDocument-member-1-\"></a>\n\n#### [createRenderDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-createRenderDocument-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected createRenderDocument(): RenderFunctionTextDocument;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-createTemplateASTDocument-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-createTemplateASTDocument-member-1-\"></a>\n\n#### [createTemplateASTDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-createTemplateASTDocument-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected createTemplateASTDocument(): TransformedBlockTextDocument;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-documentAt-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-documentAt-member-1-\"></a>\n\n#### [documentAt](#-vuedx-vue-virtual-textdocument-VueTextDocument-documentAt-member-1-)\n\n\n\n**Signature:**\n```ts\ndocumentAt(position: Position | number): VirtualTextDocument | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| position | <code><a href=\"#vscode-languageserver-textdocument-Position-interface\">Position</a> &#124; number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getBlock-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getBlock-member-1-\"></a>\n\n#### [getBlock](#-vuedx-vue-virtual-textdocument-VueTextDocument-getBlock-member-1-)\n\n\n\n**Signature:**\n```ts\ngetBlock(selector: BlockSelector): SFCBlock | null | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selector | <code><a href=\"#-vuedx-vue-virtual-textdocument--BlockSelector-type\">BlockSelector</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getBlockSelector-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getBlockSelector-member-1-\"></a>\n\n#### [getBlockSelector](#-vuedx-vue-virtual-textdocument-VueTextDocument-getBlockSelector-member-1-)\n\n\n\n**Signature:**\n```ts\ngetBlockSelector(block: SFCBlock): BlockSelector | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| block | <code><a href=\"#-vue-compiler-sfc-SFCBlock-interface\">SFCBlock</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-1-\"></a>\n\n#### [getDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-1-)\n\n\n\n**Signature:**\n```ts\ngetDocument(selector: typeof RENDER_SELECTOR): RenderFunctionTextDocument;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selector | <code>typeof <a href=\"#-vuedx-vue-virtual-textdocument--RENDER-SELECTOR-var\">RENDER_SELECTOR</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-2-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-2-\"></a>\n\n#### [getDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-2-)\n\n\n\n**Signature:**\n```ts\ngetDocument(selector: SelectorLike): VirtualTextDocument;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selector | <code><a href=\"#-vuedx-vue-virtual-textdocument--SelectorLike-type\">SelectorLike</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-3-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-3-\"></a>\n\n#### [getDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-3-)\n\n\n\n**Signature:**\n```ts\ngetDocument(selector: string): VirtualTextDocument | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selector | <code>string</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentFileName-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentFileName-member-1-\"></a>\n\n#### [getDocumentFileName](#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentFileName-member-1-)\n\n\n\n**Signature:**\n```ts\ngetDocumentFileName(selectorLike: SelectorLike): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selectorLike | <code><a href=\"#-vuedx-vue-virtual-textdocument--SelectorLike-type\">SelectorLike</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentId-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentId-member-1-\"></a>\n\n#### [getDocumentId](#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentId-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected getDocumentId(selector: Selector): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selector | <code><a href=\"#-vuedx-vue-virtual-textdocument--Selector-type\">Selector</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentLanguage-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentLanguage-member-1-\"></a>\n\n#### [getDocumentLanguage](#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentLanguage-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected getDocumentLanguage(selector: Selector): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selector | <code><a href=\"#-vuedx-vue-virtual-textdocument--Selector-type\">Selector</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-markDirty-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-markDirty-member-1-\"></a>\n\n#### [markDirty](#-vuedx-vue-virtual-textdocument-VueTextDocument-markDirty-member-1-)\n\n\n\n**Signature:**\n```ts\nmarkDirty(): void;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-parse-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-parse-member-1-\"></a>\n\n#### [parse](#-vuedx-vue-virtual-textdocument-VueTextDocument-parse-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected parse(): void;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-update-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-update-member-1-\"></a>\n\n#### [update](#-vuedx-vue-virtual-textdocument-VueTextDocument-update-member-1-)\n\n\n\n**Signature:**\n```ts\nstatic update(document: VueTextDocument, changes: TextDocumentContentChangeEvent[], version: number): VueTextDocument;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| document | <code><a href=\"#-vuedx-vue-virtual-textdocument--VueTextDocument-class\">VueTextDocument</a></code> | - |\n| changes | <code><a href=\"#vscode-languageserver-textdocument-TextDocumentContentChangeEvent-type\">TextDocumentContentChangeEvent</a>[]</code> | - |\n| version | <code>number</code> | - |\n\n<br>\n</details>\n\n<br>\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-asFsPath-function-1-\" id=\"-vuedx-vue-virtual-textdocument-asFsPath-function-1-\"></a>\n\n### [asFsPath](#-vuedx-vue-virtual-textdocument-asFsPath-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function asFsPath(uri: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-asFsUri-function-1-\" id=\"-vuedx-vue-virtual-textdocument-asFsUri-function-1-\"></a>\n\n### [asFsUri](#-vuedx-vue-virtual-textdocument-asFsUri-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function asFsUri(fileName: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-asUri-function-1-\" id=\"-vuedx-vue-virtual-textdocument-asUri-function-1-\"></a>\n\n### [asUri](#-vuedx-vue-virtual-textdocument-asUri-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function asUri(fileNameOrUri: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileNameOrUri | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-basename-function-1-\" id=\"-vuedx-vue-virtual-textdocument-basename-function-1-\"></a>\n\n### [basename](#-vuedx-vue-virtual-textdocument-basename-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function basename(fileName: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-binarySearch-function-1-\" id=\"-vuedx-vue-virtual-textdocument-binarySearch-function-1-\"></a>\n\n### [binarySearch](#-vuedx-vue-virtual-textdocument-binarySearch-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function binarySearch<T>(array: T[], isMatch: (a: T) => number, returnMin?: boolean): T | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| array | <code>T[]</code> | - |\n| isMatch | <code>(a: T) => number</code> | - |\n| returnMin | <code>boolean</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-getBlockLanguage-function-1-\" id=\"-vuedx-vue-virtual-textdocument-getBlockLanguage-function-1-\"></a>\n\n### [getBlockLanguage](#-vuedx-vue-virtual-textdocument-getBlockLanguage-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function getBlockLanguage(block?: SFCBlock | null): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| block | <code><a href=\"#-vue-compiler-sfc-SFCBlock-interface\">SFCBlock</a> &#124; null</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-getContainingFile-function-1-\" id=\"-vuedx-vue-virtual-textdocument-getContainingFile-function-1-\"></a>\n\n### [getContainingFile](#-vuedx-vue-virtual-textdocument-getContainingFile-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function getContainingFile(fileName: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-getLanguageExtension-function-1-\" id=\"-vuedx-vue-virtual-textdocument-getLanguageExtension-function-1-\"></a>\n\n### [getLanguageExtension](#-vuedx-vue-virtual-textdocument-getLanguageExtension-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function getLanguageExtension(lang: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| lang | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-getLanguageIdFromExtension-function-1-\" id=\"-vuedx-vue-virtual-textdocument-getLanguageIdFromExtension-function-1-\"></a>\n\n### [getLanguageIdFromExtension](#-vuedx-vue-virtual-textdocument-getLanguageIdFromExtension-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function getLanguageIdFromExtension(ext: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| ext | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-isOffsetInBlock-function-1-\" id=\"-vuedx-vue-virtual-textdocument-isOffsetInBlock-function-1-\"></a>\n\n### [isOffsetInBlock](#-vuedx-vue-virtual-textdocument-isOffsetInBlock-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function isOffsetInBlock(offset: number, block?: SFCBlock | null): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n| block | <code><a href=\"#-vue-compiler-sfc-SFCBlock-interface\">SFCBlock</a> &#124; null</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-isVirtualFile-function-1-\" id=\"-vuedx-vue-virtual-textdocument-isVirtualFile-function-1-\"></a>\n\n### [isVirtualFile](#-vuedx-vue-virtual-textdocument-isVirtualFile-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function isVirtualFile(fileName: string): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-isVirtualFileOfType-function-1-\" id=\"-vuedx-vue-virtual-textdocument-isVirtualFileOfType-function-1-\"></a>\n\n### [isVirtualFileOfType](#-vuedx-vue-virtual-textdocument-isVirtualFileOfType-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function isVirtualFileOfType(fileName: string, type: '_render' | '_module' | '_internal' | 'script' | 'scriptSetup'): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n| type | <code>'_render' &#124; '_module' &#124; '_internal' &#124; 'script' &#124; 'scriptSetup'</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-isVueFile-function-1-\" id=\"-vuedx-vue-virtual-textdocument-isVueFile-function-1-\"></a>\n\n### [isVueFile](#-vuedx-vue-virtual-textdocument-isVueFile-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function isVueFile(fileName: string): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-parseVirtualFileName-function-1-\" id=\"-vuedx-vue-virtual-textdocument-parseVirtualFileName-function-1-\"></a>\n\n### [parseVirtualFileName](#-vuedx-vue-virtual-textdocument-parseVirtualFileName-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function parseVirtualFileName(fileName: string): {\n    uri: string;\n    selector: Selector;\n} | null;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-relativeVirtualImportPath-function-1-\" id=\"-vuedx-vue-virtual-textdocument-relativeVirtualImportPath-function-1-\"></a>\n\n### [relativeVirtualImportPath](#-vuedx-vue-virtual-textdocument-relativeVirtualImportPath-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function relativeVirtualImportPath(fileName: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-replaceSlashes-function-1-\" id=\"-vuedx-vue-virtual-textdocument-replaceSlashes-function-1-\"></a>\n\n### [replaceSlashes](#-vuedx-vue-virtual-textdocument-replaceSlashes-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function replaceSlashes(fileName: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n<!-- #region API-DOCS -->\n","readmeFilename":"readme.md","gitHead":"28d00a45919a4fcaf4d0888288e6b0af8e690b1a","_id":"@vuedx/vue-virtual-textdocument@0.7.5-next-1647274818.0","_nodeVersion":"16.14.0","_npmVersion":"8.3.1","dist":{"integrity":"sha512-boEDjYZ6vLmKiDkx/xY6L7LIu2LsHYiregsK/sgBGPYFfRQhmnCbeYbq4j9BO+MibO+fV3jz3YbQRUgta1sPDg==","shasum":"a3e4c8b90163b22f9d63566f01509158e5b8ecdf","tarball":"https://registry.npmjs.org/@vuedx/vue-virtual-textdocument/-/vue-virtual-textdocument-0.7.5-next-1647274818.0.tgz","fileCount":8,"unpackedSize":196459,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiL2taACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpP2g/+J8gfpHIxaWBdP6H7qxdXUluLJ9bTDQfx4dk7VsZpAyZpeSX2\r\nE98P/mRCLG1klIl3SJoOueYtwfOcTe6CLffgl8/VDkbdQP9uzOeG8JHEAbZW\r\nz2nTfwHcMaAe7iC7euQmweRlTK0/YXn6A0BaY24bZE3fnghpwSe1jr9dY2OK\r\nrb7QTesmyc5E8/1ocAcrvPtR5ZK2jJWeoZnBZUFN+/9ED+JVBDYKVt3/239h\r\nqHghUPo4mDNiLUDMF3BMCRH+5hJ15Sco7aw6MvxEY7weCmXqujDp7X1vsZ0d\r\ned3ck68OLcIyUQVPHq8A9EQFXdU+C4S8RN+lzu5kbSrlNVOE2NmhIkA9Ukh2\r\nn+MDskJMrqRejKkmovrbZGfuyW+3F6rHjk2mkLz1fZIgVwLM5LNRUN70UWeE\r\nl+439Sz38VCVpZkEOZGAScKpIWvXfHLh14nojZn7LdOs4/Z249o78T6AAPP5\r\nQmhy5g6PqlvcXDgBM/fF9By1q4FYzKh1XYr/OAahlgSqE53BcfL8wm3Moso5\r\nG/5jUfDfX9ZZ/8UxzsJc1dN3wJs0kAI4QM7OaaBPL7my4Ve5IMi6FA0f2Qaf\r\ntyVlUd+XU3Nntj8XbVMZ+2RSKWrIIZG70X+L+f6Jy/15ySK/SqgDo+pROcPl\r\nMnAssSU81Tav8OdXjFHn6xF52uGuDrSXU58=\r\n=Noma\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIG2WV0kypOV/3aAJpCtSxP9IGoCCTcK3+JvK3j8r49pYAiEA3jaBP/IR1oHCoe9k2ALBxArGapbQHLv0y9nfLoCTQ7A="}]},"_npmUser":{"name":"znck","email":"rahulkdn@gmail.com"},"directories":{},"maintainers":[{"name":"znck","email":"rahulkdn@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/vue-virtual-textdocument_0.7.5-next-1647274818.0_1647274842275_0.7876688651183956"},"_hasShrinkwrap":false},"0.7.5-next-1647442110.0":{"name":"@vuedx/vue-virtual-textdocument","version":"0.7.5-next-1647442110.0","description":"A virtual filesystem to access blocks in SFC as files","main":"lib/index.js","module":"lib/index.mjs","types":"lib/index.d.ts","publishConfig":{"types":"lib/index.d.ts"},"private":false,"keywords":["vue","vue sfc","sfc","vue virtual files"],"repository":{"type":"git","url":"git+https://github.com/znck/vue-developer-experience.git"},"author":{"name":"Rahul Kadyan","email":"rahulkdn@gmail.com","url":"https://znck.me/"},"funding":{"type":"individual","url":"https://github.com/sponsors/znck"},"license":"MIT","bugs":{"url":"https://github.com/znck/vue-developer-experience/issues"},"homepage":"https://github.com/znck/vue-developer-experience#readme","dependencies":{"@vuedx/compiler-sfc":"0.7.2-next-1647442110.0","@vuedx/compiler-tsx":"0.7.5-next-1647442110.0","@vuedx/shared":"0.7.4-next-1647442110.0","@vuedx/template-ast-types":"0.7.3-next-1647442110.0","@vuedx/transforms":"0.7.5-next-1647442110.0","source-map":"^0.6.1","vscode-languageserver-textdocument":"^1.0.1","vscode-uri":"^2.1.2"},"devDependencies":{"typescript":"^4.0.3"},"scripts":{},"readme":"# Vue Virtual TextDocument\n\nAn implementation of virtual filesystem for accessing blocks in a `.vue` file as independent files.\n\n## Support\n\nThis package is part of [VueDX project](https://github.com/znck/vue-developer-experience), maintained by [Rahul Kadyan](https://github.com/znck). You can [💖 sponsor him](https://github.com/sponsors/znck) for continued development of this package and other VueDX tools.\n\n```\nnpm add @vuedx/vue-virtual-textdocument\n```\n<!-- #region API-DOCS -->\n<!-- Do not edit this file. It is a report generated by [scripts/docgen.js](https://github.com/znck/vue-developer-experience/tree/main/scripts/docgen.js). -->\n\n## API\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-AsyncDocumentStore-class\" id=\"-vuedx-vue-virtual-textdocument-AsyncDocumentStore-class\"></a>\n\n### [AsyncDocumentStore](#-vuedx-vue-virtual-textdocument-AsyncDocumentStore-class)\n\n\n\n<details><summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare class AsyncDocumentStore<T> extends DocumentStore<T> {\n  constructor(resolve: (uri: string) => T | Promise<T | null> | null, normalize?: (uri: string) => string);\n  get(uri: string): T | null;\n  get(uri: string): Promise<T | null>;\n}\n```\n\n**Members:**\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-AsyncDocumentStore-get-member-1-\" id=\"-vuedx-vue-virtual-textdocument-AsyncDocumentStore-get-member-1-\"></a>\n\n#### [get](#-vuedx-vue-virtual-textdocument-AsyncDocumentStore-get-member-1-)\n\n\n\n**Signature:**\n```ts\nget(uri: string): T | null;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-AsyncDocumentStore-get-member-2-\" id=\"-vuedx-vue-virtual-textdocument-AsyncDocumentStore-get-member-2-\"></a>\n\n#### [get](#-vuedx-vue-virtual-textdocument-AsyncDocumentStore-get-member-2-)\n\n\n\n**Signature:**\n```ts\nget(uri: string): Promise<T | null>;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n\n<br>\n</details>\n\n<br>\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-class\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-class\"></a>\n\n### [DocumentStore](#-vuedx-vue-virtual-textdocument-DocumentStore-class)\n\n\n\n<details><summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare class DocumentStore<T> {\n  constructor(resolve: (uri: string) => T | null, normalize?: (uri: string) => string);\n  all(): string[];\n  delete(uri: string): boolean;\n  dispose(): void;\n  get(uri: string): T | null;\n  protected getNormalizedUri(uri: string): string;\n  has(uri: string): boolean;\n  protected map: Map<string, T>;\n  normalize: (uri: string) => string;\n  protected resolve: (uri: string) => T | null;\n  protected reverseUriMap: Map<string, string>;\n  set(uri: string, document: T): void;\n}\n```\n\n**Members:**\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-all-member-1-\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-all-member-1-\"></a>\n\n#### [all](#-vuedx-vue-virtual-textdocument-DocumentStore-all-member-1-)\n\n\n\n**Signature:**\n```ts\nall(): string[];\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-delete-member-1-\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-delete-member-1-\"></a>\n\n#### [delete](#-vuedx-vue-virtual-textdocument-DocumentStore-delete-member-1-)\n\n\n\n**Signature:**\n```ts\ndelete(uri: string): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-dispose-member-1-\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-dispose-member-1-\"></a>\n\n#### [dispose](#-vuedx-vue-virtual-textdocument-DocumentStore-dispose-member-1-)\n\n\n\n**Signature:**\n```ts\ndispose(): void;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-get-member-1-\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-get-member-1-\"></a>\n\n#### [get](#-vuedx-vue-virtual-textdocument-DocumentStore-get-member-1-)\n\n\n\n**Signature:**\n```ts\nget(uri: string): T | null;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-getNormalizedUri-member-1-\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-getNormalizedUri-member-1-\"></a>\n\n#### [getNormalizedUri](#-vuedx-vue-virtual-textdocument-DocumentStore-getNormalizedUri-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected getNormalizedUri(uri: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-has-member-1-\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-has-member-1-\"></a>\n\n#### [has](#-vuedx-vue-virtual-textdocument-DocumentStore-has-member-1-)\n\n\n\n**Signature:**\n```ts\nhas(uri: string): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-set-member-1-\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-set-member-1-\"></a>\n\n#### [set](#-vuedx-vue-virtual-textdocument-DocumentStore-set-member-1-)\n\n\n\n**Signature:**\n```ts\nset(uri: string, document: T): void;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n| document | <code>T</code> | - |\n\n<br>\n</details>\n\n<br>\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-class\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-class\"></a>\n\n### [RenderFunctionTextDocument](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-class)\n\n\n\n<details><summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare class RenderFunctionTextDocument extends TransformedBlockTextDocument {\n  constructor(container: VueTextDocument, selector: Selector, transformed: TextDocument, source: TextDocument);\n  get ast(): CodegenResult['ast'] | undefined;\n  get contextCompletionsTriggerOffset(): number;\n  static create(options: CreateVirtualTextDocumentOptions): RenderFunctionTextDocument;\n  findExpression(offset: number, length: number): undefined | {\n        offset: number;\n        length: number;\n    };\n  protected generate(): string;\n  getAllGeneratedOffsetsAt(offset: number): undefined | Array<{\n        length: number;\n        offset: number;\n    }>;\n  getGeneratedOffsetAt(offset: number): undefined | {\n        length: number;\n        offset: number;\n    };\n  protected getKnownComponents(): Record<string, ComponentImport>;\n  getOriginalOffsetAt(offset: number): undefined | {\n        offset: number;\n        length: number;\n    };\n  isInGeneratedRange(offset: number): boolean;\n  isInTemplateIdentifierRange(offset: number): boolean;\n  get parserErrors(): CodegenResult['errors'];\n  get tagCompletionsTriggerOffset(): number;\n  toDisplayMappings(): string;\n  protected tryGenerate(): string;\n}\n```\n\n**Members:**\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-create-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-create-member-1-\"></a>\n\n#### [create](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-create-member-1-)\n\n\n\n**Signature:**\n```ts\nstatic create(options: CreateVirtualTextDocumentOptions): RenderFunctionTextDocument;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| options | <code><a href=\"#-vuedx-vue-virtual-textdocument--CreateVirtualTextDocumentOptions-interface\">CreateVirtualTextDocumentOptions</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-findExpression-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-findExpression-member-1-\"></a>\n\n#### [findExpression](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-findExpression-member-1-)\n\n\n\n**Signature:**\n```ts\nfindExpression(offset: number, length: number): undefined | {\n        offset: number;\n        length: number;\n    };\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n| length | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-generate-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-generate-member-1-\"></a>\n\n#### [generate](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-generate-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected generate(): string;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getAllGeneratedOffsetsAt-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getAllGeneratedOffsetsAt-member-1-\"></a>\n\n#### [getAllGeneratedOffsetsAt](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getAllGeneratedOffsetsAt-member-1-)\n\n\n\n**Signature:**\n```ts\ngetAllGeneratedOffsetsAt(offset: number): undefined | Array<{\n        length: number;\n        offset: number;\n    }>;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getGeneratedOffsetAt-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getGeneratedOffsetAt-member-1-\"></a>\n\n#### [getGeneratedOffsetAt](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getGeneratedOffsetAt-member-1-)\n\n\n\n**Signature:**\n```ts\ngetGeneratedOffsetAt(offset: number): undefined | {\n        length: number;\n        offset: number;\n    };\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getKnownComponents-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getKnownComponents-member-1-\"></a>\n\n#### [getKnownComponents](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getKnownComponents-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected getKnownComponents(): Record<string, ComponentImport>;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getOriginalOffsetAt-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getOriginalOffsetAt-member-1-\"></a>\n\n#### [getOriginalOffsetAt](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getOriginalOffsetAt-member-1-)\n\n\n\n**Signature:**\n```ts\ngetOriginalOffsetAt(offset: number): undefined | {\n        offset: number;\n        length: number;\n    };\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-isInGeneratedRange-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-isInGeneratedRange-member-1-\"></a>\n\n#### [isInGeneratedRange](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-isInGeneratedRange-member-1-)\n\n\n\n**Signature:**\n```ts\nisInGeneratedRange(offset: number): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-isInTemplateIdentifierRange-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-isInTemplateIdentifierRange-member-1-\"></a>\n\n#### [isInTemplateIdentifierRange](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-isInTemplateIdentifierRange-member-1-)\n\n\n\n**Signature:**\n```ts\nisInTemplateIdentifierRange(offset: number): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-toDisplayMappings-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-toDisplayMappings-member-1-\"></a>\n\n#### [toDisplayMappings](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-toDisplayMappings-member-1-)\n\n\n\n**Signature:**\n```ts\ntoDisplayMappings(): string;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-tryGenerate-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-tryGenerate-member-1-\"></a>\n\n#### [tryGenerate](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-tryGenerate-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected tryGenerate(): string;\n```\n\n\n<br>\n</details>\n\n<br>\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-class\" id=\"-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-class\"></a>\n\n### [TransformedBlockTextDocument](#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-class)\n\n\n\n<details><summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare class TransformedBlockTextDocument extends VirtualTextDocument {\n  protected constructor(container: VueTextDocument, selector: Selector, transformed: TextDocument, source: TextDocument | VirtualTextDocument, _transform: (document: TransformedBlockTextDocument) => BlockTransformResult);\n  static create(options: CreateTransformedBlockTextDocumentOptions): TransformedBlockTextDocument;\n  protected refresh(): void;\n  transform(): BlockTransformResult;\n  tryGetGeneratedOffset(offset: number): number | undefined;\n  tryGetSourceOffset(offset: number): number | undefined;\n}\n```\n\n**Members:**\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-create-member-1-\" id=\"-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-create-member-1-\"></a>\n\n#### [create](#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-create-member-1-)\n\n\n\n**Signature:**\n```ts\nstatic create(options: CreateTransformedBlockTextDocumentOptions): TransformedBlockTextDocument;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| options | <code><a href=\"#-vuedx-vue-virtual-textdocument--CreateTransformedBlockTextDocumentOptions-interface\">CreateTransformedBlockTextDocumentOptions</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-refresh-member-1-\" id=\"-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-refresh-member-1-\"></a>\n\n#### [refresh](#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-refresh-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected refresh(): void;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-transform-member-1-\" id=\"-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-transform-member-1-\"></a>\n\n#### [transform](#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-transform-member-1-)\n\n\n\n**Signature:**\n```ts\ntransform(): BlockTransformResult;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-tryGetGeneratedOffset-member-1-\" id=\"-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-tryGetGeneratedOffset-member-1-\"></a>\n\n#### [tryGetGeneratedOffset](#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-tryGetGeneratedOffset-member-1-)\n\n\n\n**Signature:**\n```ts\ntryGetGeneratedOffset(offset: number): number | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-tryGetSourceOffset-member-1-\" id=\"-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-tryGetSourceOffset-member-1-\"></a>\n\n#### [tryGetSourceOffset](#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-tryGetSourceOffset-member-1-)\n\n\n\n**Signature:**\n```ts\ntryGetSourceOffset(offset: number): number | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n</details>\n\n<br>\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VirtualTextDocument-class\" id=\"-vuedx-vue-virtual-textdocument-VirtualTextDocument-class\"></a>\n\n### [VirtualTextDocument](#-vuedx-vue-virtual-textdocument-VirtualTextDocument-class)\n\n\n\n<details><summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare class VirtualTextDocument extends ProxyTextDocument {\n  protected constructor(container: VueTextDocument, selector: Selector, doc: TextDocument);\n  readonly container: VueTextDocument;\n  static create(options: CreateVirtualTextDocumentOptions): VirtualTextDocument;\n  protected isDirty: boolean;\n  markDirty(): void;\n  protected refresh(): void;\n  readonly selector: Selector;\n}\n```\n\n**Members:**\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VirtualTextDocument-create-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VirtualTextDocument-create-member-1-\"></a>\n\n#### [create](#-vuedx-vue-virtual-textdocument-VirtualTextDocument-create-member-1-)\n\n\n\n**Signature:**\n```ts\nstatic create(options: CreateVirtualTextDocumentOptions): VirtualTextDocument;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| options | <code><a href=\"#-vuedx-vue-virtual-textdocument--CreateVirtualTextDocumentOptions-interface\">CreateVirtualTextDocumentOptions</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VirtualTextDocument-markDirty-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VirtualTextDocument-markDirty-member-1-\"></a>\n\n#### [markDirty](#-vuedx-vue-virtual-textdocument-VirtualTextDocument-markDirty-member-1-)\n\n\n\n**Signature:**\n```ts\nmarkDirty(): void;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VirtualTextDocument-refresh-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VirtualTextDocument-refresh-member-1-\"></a>\n\n#### [refresh](#-vuedx-vue-virtual-textdocument-VirtualTextDocument-refresh-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected refresh(): void;\n```\n\n\n<br>\n</details>\n\n<br>\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-class\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-class\"></a>\n\n### [VueTextDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-class)\n\n\n\n<details><summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare class VueTextDocument extends ProxyTextDocument {\n  constructor(doc: TextDocument, options?: VueTextDocumentOptions, parseOptions?: SFCParseOptions);\n  all(): VirtualTextDocument[];\n  blockAt(position: Position | number): SFCBlock | null | undefined;\n  static create(uri: string, languageId: string, version: number, content: string, options?: VueTextDocumentOptions, parseOptions?: SFCParseOptions): VueTextDocument;\n  protected createBlockDocument(selector: BlockSelector): VirtualTextDocument | undefined;\n  protected createInternalModuleDocument(): TransformedBlockTextDocument;\n  protected createModuleDocument(): TransformedBlockTextDocument;\n  protected createRenderDocument(): RenderFunctionTextDocument;\n  protected createTemplateASTDocument(): TransformedBlockTextDocument;\n  get descriptor(): SFCDescriptor;\n  documentAt(position: Position | number): VirtualTextDocument | undefined;\n  getBlock(selector: BlockSelector): SFCBlock | null | undefined;\n  getBlockSelector(block: SFCBlock): BlockSelector | undefined;\n  getDocument(selector: typeof RENDER_SELECTOR): RenderFunctionTextDocument;\n  getDocument(selector: SelectorLike): VirtualTextDocument;\n  getDocument(selector: string): VirtualTextDocument | undefined;\n  getDocumentFileName(selectorLike: SelectorLike): string;\n  protected getDocumentId(selector: Selector): string;\n  protected getDocumentLanguage(selector: Selector): string;\n  markDirty(): void;\n  readonly options: VueTextDocumentOptions;\n  protected parse(): void;\n  static update(document: VueTextDocument, changes: TextDocumentContentChangeEvent[], version: number): VueTextDocument;\n}\n```\n\n**Members:**\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-all-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-all-member-1-\"></a>\n\n#### [all](#-vuedx-vue-virtual-textdocument-VueTextDocument-all-member-1-)\n\n\n\n**Signature:**\n```ts\nall(): VirtualTextDocument[];\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-blockAt-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-blockAt-member-1-\"></a>\n\n#### [blockAt](#-vuedx-vue-virtual-textdocument-VueTextDocument-blockAt-member-1-)\n\n\n\n**Signature:**\n```ts\nblockAt(position: Position | number): SFCBlock | null | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| position | <code><a href=\"#vscode-languageserver-textdocument-Position-interface\">Position</a> &#124; number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-create-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-create-member-1-\"></a>\n\n#### [create](#-vuedx-vue-virtual-textdocument-VueTextDocument-create-member-1-)\n\n\n\n**Signature:**\n```ts\nstatic create(uri: string, languageId: string, version: number, content: string, options?: VueTextDocumentOptions, parseOptions?: SFCParseOptions): VueTextDocument;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n| languageId | <code>string</code> | - |\n| version | <code>number</code> | - |\n| content | <code>string</code> | - |\n| options | <code><a href=\"#-vuedx-vue-virtual-textdocument--VueTextDocumentOptions-interface\">VueTextDocumentOptions</a></code> | - |\n| parseOptions | <code><a href=\"#-vue-compiler-sfc-SFCParseOptions-interface\">SFCParseOptions</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-createBlockDocument-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-createBlockDocument-member-1-\"></a>\n\n#### [createBlockDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-createBlockDocument-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected createBlockDocument(selector: BlockSelector): VirtualTextDocument | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selector | <code><a href=\"#-vuedx-vue-virtual-textdocument--BlockSelector-type\">BlockSelector</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-createInternalModuleDocument-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-createInternalModuleDocument-member-1-\"></a>\n\n#### [createInternalModuleDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-createInternalModuleDocument-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected createInternalModuleDocument(): TransformedBlockTextDocument;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-createModuleDocument-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-createModuleDocument-member-1-\"></a>\n\n#### [createModuleDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-createModuleDocument-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected createModuleDocument(): TransformedBlockTextDocument;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-createRenderDocument-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-createRenderDocument-member-1-\"></a>\n\n#### [createRenderDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-createRenderDocument-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected createRenderDocument(): RenderFunctionTextDocument;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-createTemplateASTDocument-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-createTemplateASTDocument-member-1-\"></a>\n\n#### [createTemplateASTDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-createTemplateASTDocument-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected createTemplateASTDocument(): TransformedBlockTextDocument;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-documentAt-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-documentAt-member-1-\"></a>\n\n#### [documentAt](#-vuedx-vue-virtual-textdocument-VueTextDocument-documentAt-member-1-)\n\n\n\n**Signature:**\n```ts\ndocumentAt(position: Position | number): VirtualTextDocument | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| position | <code><a href=\"#vscode-languageserver-textdocument-Position-interface\">Position</a> &#124; number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getBlock-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getBlock-member-1-\"></a>\n\n#### [getBlock](#-vuedx-vue-virtual-textdocument-VueTextDocument-getBlock-member-1-)\n\n\n\n**Signature:**\n```ts\ngetBlock(selector: BlockSelector): SFCBlock | null | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selector | <code><a href=\"#-vuedx-vue-virtual-textdocument--BlockSelector-type\">BlockSelector</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getBlockSelector-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getBlockSelector-member-1-\"></a>\n\n#### [getBlockSelector](#-vuedx-vue-virtual-textdocument-VueTextDocument-getBlockSelector-member-1-)\n\n\n\n**Signature:**\n```ts\ngetBlockSelector(block: SFCBlock): BlockSelector | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| block | <code><a href=\"#-vue-compiler-sfc-SFCBlock-interface\">SFCBlock</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-1-\"></a>\n\n#### [getDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-1-)\n\n\n\n**Signature:**\n```ts\ngetDocument(selector: typeof RENDER_SELECTOR): RenderFunctionTextDocument;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selector | <code>typeof <a href=\"#-vuedx-vue-virtual-textdocument--RENDER-SELECTOR-var\">RENDER_SELECTOR</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-2-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-2-\"></a>\n\n#### [getDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-2-)\n\n\n\n**Signature:**\n```ts\ngetDocument(selector: SelectorLike): VirtualTextDocument;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selector | <code><a href=\"#-vuedx-vue-virtual-textdocument--SelectorLike-type\">SelectorLike</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-3-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-3-\"></a>\n\n#### [getDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-3-)\n\n\n\n**Signature:**\n```ts\ngetDocument(selector: string): VirtualTextDocument | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selector | <code>string</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentFileName-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentFileName-member-1-\"></a>\n\n#### [getDocumentFileName](#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentFileName-member-1-)\n\n\n\n**Signature:**\n```ts\ngetDocumentFileName(selectorLike: SelectorLike): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selectorLike | <code><a href=\"#-vuedx-vue-virtual-textdocument--SelectorLike-type\">SelectorLike</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentId-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentId-member-1-\"></a>\n\n#### [getDocumentId](#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentId-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected getDocumentId(selector: Selector): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selector | <code><a href=\"#-vuedx-vue-virtual-textdocument--Selector-type\">Selector</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentLanguage-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentLanguage-member-1-\"></a>\n\n#### [getDocumentLanguage](#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentLanguage-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected getDocumentLanguage(selector: Selector): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selector | <code><a href=\"#-vuedx-vue-virtual-textdocument--Selector-type\">Selector</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-markDirty-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-markDirty-member-1-\"></a>\n\n#### [markDirty](#-vuedx-vue-virtual-textdocument-VueTextDocument-markDirty-member-1-)\n\n\n\n**Signature:**\n```ts\nmarkDirty(): void;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-parse-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-parse-member-1-\"></a>\n\n#### [parse](#-vuedx-vue-virtual-textdocument-VueTextDocument-parse-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected parse(): void;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-update-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-update-member-1-\"></a>\n\n#### [update](#-vuedx-vue-virtual-textdocument-VueTextDocument-update-member-1-)\n\n\n\n**Signature:**\n```ts\nstatic update(document: VueTextDocument, changes: TextDocumentContentChangeEvent[], version: number): VueTextDocument;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| document | <code><a href=\"#-vuedx-vue-virtual-textdocument--VueTextDocument-class\">VueTextDocument</a></code> | - |\n| changes | <code><a href=\"#vscode-languageserver-textdocument-TextDocumentContentChangeEvent-type\">TextDocumentContentChangeEvent</a>[]</code> | - |\n| version | <code>number</code> | - |\n\n<br>\n</details>\n\n<br>\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-asFsPath-function-1-\" id=\"-vuedx-vue-virtual-textdocument-asFsPath-function-1-\"></a>\n\n### [asFsPath](#-vuedx-vue-virtual-textdocument-asFsPath-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function asFsPath(uri: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-asFsUri-function-1-\" id=\"-vuedx-vue-virtual-textdocument-asFsUri-function-1-\"></a>\n\n### [asFsUri](#-vuedx-vue-virtual-textdocument-asFsUri-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function asFsUri(fileName: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-asUri-function-1-\" id=\"-vuedx-vue-virtual-textdocument-asUri-function-1-\"></a>\n\n### [asUri](#-vuedx-vue-virtual-textdocument-asUri-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function asUri(fileNameOrUri: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileNameOrUri | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-basename-function-1-\" id=\"-vuedx-vue-virtual-textdocument-basename-function-1-\"></a>\n\n### [basename](#-vuedx-vue-virtual-textdocument-basename-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function basename(fileName: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-binarySearch-function-1-\" id=\"-vuedx-vue-virtual-textdocument-binarySearch-function-1-\"></a>\n\n### [binarySearch](#-vuedx-vue-virtual-textdocument-binarySearch-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function binarySearch<T>(array: T[], isMatch: (a: T) => number, returnMin?: boolean): T | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| array | <code>T[]</code> | - |\n| isMatch | <code>(a: T) => number</code> | - |\n| returnMin | <code>boolean</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-getBlockLanguage-function-1-\" id=\"-vuedx-vue-virtual-textdocument-getBlockLanguage-function-1-\"></a>\n\n### [getBlockLanguage](#-vuedx-vue-virtual-textdocument-getBlockLanguage-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function getBlockLanguage(block?: SFCBlock | null): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| block | <code><a href=\"#-vue-compiler-sfc-SFCBlock-interface\">SFCBlock</a> &#124; null</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-getContainingFile-function-1-\" id=\"-vuedx-vue-virtual-textdocument-getContainingFile-function-1-\"></a>\n\n### [getContainingFile](#-vuedx-vue-virtual-textdocument-getContainingFile-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function getContainingFile(fileName: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-getLanguageExtension-function-1-\" id=\"-vuedx-vue-virtual-textdocument-getLanguageExtension-function-1-\"></a>\n\n### [getLanguageExtension](#-vuedx-vue-virtual-textdocument-getLanguageExtension-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function getLanguageExtension(lang: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| lang | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-getLanguageIdFromExtension-function-1-\" id=\"-vuedx-vue-virtual-textdocument-getLanguageIdFromExtension-function-1-\"></a>\n\n### [getLanguageIdFromExtension](#-vuedx-vue-virtual-textdocument-getLanguageIdFromExtension-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function getLanguageIdFromExtension(ext: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| ext | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-isOffsetInBlock-function-1-\" id=\"-vuedx-vue-virtual-textdocument-isOffsetInBlock-function-1-\"></a>\n\n### [isOffsetInBlock](#-vuedx-vue-virtual-textdocument-isOffsetInBlock-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function isOffsetInBlock(offset: number, block?: SFCBlock | null): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n| block | <code><a href=\"#-vue-compiler-sfc-SFCBlock-interface\">SFCBlock</a> &#124; null</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-isVirtualFile-function-1-\" id=\"-vuedx-vue-virtual-textdocument-isVirtualFile-function-1-\"></a>\n\n### [isVirtualFile](#-vuedx-vue-virtual-textdocument-isVirtualFile-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function isVirtualFile(fileName: string): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-isVirtualFileOfType-function-1-\" id=\"-vuedx-vue-virtual-textdocument-isVirtualFileOfType-function-1-\"></a>\n\n### [isVirtualFileOfType](#-vuedx-vue-virtual-textdocument-isVirtualFileOfType-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function isVirtualFileOfType(fileName: string, type: '_render' | '_module' | '_internal' | 'script' | 'scriptSetup'): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n| type | <code>'_render' &#124; '_module' &#124; '_internal' &#124; 'script' &#124; 'scriptSetup'</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-isVueFile-function-1-\" id=\"-vuedx-vue-virtual-textdocument-isVueFile-function-1-\"></a>\n\n### [isVueFile](#-vuedx-vue-virtual-textdocument-isVueFile-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function isVueFile(fileName: string): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-parseVirtualFileName-function-1-\" id=\"-vuedx-vue-virtual-textdocument-parseVirtualFileName-function-1-\"></a>\n\n### [parseVirtualFileName](#-vuedx-vue-virtual-textdocument-parseVirtualFileName-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function parseVirtualFileName(fileName: string): {\n    uri: string;\n    selector: Selector;\n} | null;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-relativeVirtualImportPath-function-1-\" id=\"-vuedx-vue-virtual-textdocument-relativeVirtualImportPath-function-1-\"></a>\n\n### [relativeVirtualImportPath](#-vuedx-vue-virtual-textdocument-relativeVirtualImportPath-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function relativeVirtualImportPath(fileName: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-replaceSlashes-function-1-\" id=\"-vuedx-vue-virtual-textdocument-replaceSlashes-function-1-\"></a>\n\n### [replaceSlashes](#-vuedx-vue-virtual-textdocument-replaceSlashes-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function replaceSlashes(fileName: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n<!-- #region API-DOCS -->\n","readmeFilename":"readme.md","gitHead":"47b3f73197135fe6fc58b0b738514efb6800a4b6","_id":"@vuedx/vue-virtual-textdocument@0.7.5-next-1647442110.0","_nodeVersion":"16.14.0","_npmVersion":"8.3.1","dist":{"integrity":"sha512-9joURoNqJVORnRl2eejfad6yOz6kt0D5SFFPM3gcSu0TD+86SIdrZ8m6bxfSdBK6o1Sg46+cHikaXQrDmzjRnw==","shasum":"1003de5d4ec1e889c6d786f6e5b57c03d3bd5256","tarball":"https://registry.npmjs.org/@vuedx/vue-virtual-textdocument/-/vue-virtual-textdocument-0.7.5-next-1647442110.0.tgz","fileCount":8,"unpackedSize":209572,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiMfjTACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmq2DQ//e0b6T6zaEwnNTHoEIEJNY7VBt3y5LSAoZ4ZkGB017dG+mAh0\r\nF4zE5osNa+2IU4XNJwncsioehmemfnnYXusyq1EufmqTzTvCJwYLpjj/MD2D\r\no4FTsKJIYfrOB7rBcHXRSEHazLJ0ch1aLQcQMWLWkYHeB2bVndtqL9bQRtx8\r\ncyGbajQuwB8G8zX2ytPoJ+RHS1CjYsA/iClrLfs9WmJRq+lvBWrXIrzah9Rb\r\nHb0NiCHfdNxApUjUnAaIcrHQOQrtiuELMDTkRQlE/85VexhYQyDNZJJPMue3\r\nTPPYHmcdLhuebIYUXeeSqaMibirEI35/+km8XSzTRZOqPPaeyGbjUUaMk62m\r\nAzPkAxWXEBn7lRYfo/0S+9iufC+LEbr98yy/GrJiPIfCcIWpgEW+Ye3mqlV9\r\nZ22Bfwh3sHh1uyRcf20c0NJ8pNHrQNVhbVp7b9qYqx1RyM/8vj4SpiKp23Xi\r\n7ntsq2Lg9iFGlpTvV1LIljFo6pkDgsrLtKuZRlSGSIkn319hZhKwJr9R6uiE\r\nC2RJd5yyfoJhOKFHH0jenbtL5MS8y6u8RVpdhmsX34rv2UQtZxhMOgedx30/\r\ni5L48ld+6x9CFJcdb/wTAhDw6kdTuyhyyq0wt+v2kUtmY6FSqR9auQVPsojn\r\nufwxNNWINkt65fCEPavD4BH+J5HbtMCjLsI=\r\n=Bmps\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCym9jkMdq7l3/bNEbbP0FW/GOcb3OjsIzlWnPRm1lVgAIgSszWM0K8d+8hAjhyOX/OcNDMK/7dtis+jJGxyagAx9U="}]},"_npmUser":{"name":"znck","email":"rahulkdn@gmail.com"},"directories":{},"maintainers":[{"name":"znck","email":"rahulkdn@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/vue-virtual-textdocument_0.7.5-next-1647442110.0_1647442131463_0.7303071452099172"},"_hasShrinkwrap":false},"0.7.5-next-1647674505.0":{"name":"@vuedx/vue-virtual-textdocument","version":"0.7.5-next-1647674505.0","description":"A virtual filesystem to access blocks in SFC as files","main":"lib/index.js","module":"lib/index.mjs","types":"lib/index.d.ts","publishConfig":{"types":"lib/index.d.ts"},"private":false,"keywords":["vue","vue sfc","sfc","vue virtual files"],"repository":{"type":"git","url":"git+https://github.com/znck/vue-developer-experience.git"},"author":{"name":"Rahul Kadyan","email":"rahulkdn@gmail.com","url":"https://znck.me/"},"funding":{"type":"individual","url":"https://github.com/sponsors/znck"},"license":"MIT","bugs":{"url":"https://github.com/znck/vue-developer-experience/issues"},"homepage":"https://github.com/znck/vue-developer-experience#readme","dependencies":{"@vuedx/compiler-sfc":"0.7.2-next-1647674505.0","@vuedx/compiler-tsx":"0.7.5-next-1647674505.0","@vuedx/shared":"0.7.4-next-1647674505.0","@vuedx/template-ast-types":"0.7.3-next-1647674505.0","@vuedx/transforms":"0.7.5-next-1647674505.0","source-map":"^0.6.1","vscode-languageserver-textdocument":"^1.0.1","vscode-uri":"^2.1.2"},"devDependencies":{"typescript":"^4.0.3"},"scripts":{},"readme":"# Vue Virtual TextDocument\n\nAn implementation of virtual filesystem for accessing blocks in a `.vue` file as independent files.\n\n## Support\n\nThis package is part of [VueDX project](https://github.com/znck/vue-developer-experience), maintained by [Rahul Kadyan](https://github.com/znck). You can [💖 sponsor him](https://github.com/sponsors/znck) for continued development of this package and other VueDX tools.\n\n```\nnpm add @vuedx/vue-virtual-textdocument\n```\n<!-- #region API-DOCS -->\n<!-- Do not edit this file. It is a report generated by [scripts/docgen.js](https://github.com/znck/vue-developer-experience/tree/main/scripts/docgen.js). -->\n\n## API\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-AsyncDocumentStore-class\" id=\"-vuedx-vue-virtual-textdocument-AsyncDocumentStore-class\"></a>\n\n### [AsyncDocumentStore](#-vuedx-vue-virtual-textdocument-AsyncDocumentStore-class)\n\n\n\n<details><summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare class AsyncDocumentStore<T> extends DocumentStore<T> {\n  constructor(resolve: (uri: string) => T | Promise<T | null> | null, normalize?: (uri: string) => string);\n  get(uri: string): T | null;\n  get(uri: string): Promise<T | null>;\n}\n```\n\n**Members:**\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-AsyncDocumentStore-get-member-1-\" id=\"-vuedx-vue-virtual-textdocument-AsyncDocumentStore-get-member-1-\"></a>\n\n#### [get](#-vuedx-vue-virtual-textdocument-AsyncDocumentStore-get-member-1-)\n\n\n\n**Signature:**\n```ts\nget(uri: string): T | null;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-AsyncDocumentStore-get-member-2-\" id=\"-vuedx-vue-virtual-textdocument-AsyncDocumentStore-get-member-2-\"></a>\n\n#### [get](#-vuedx-vue-virtual-textdocument-AsyncDocumentStore-get-member-2-)\n\n\n\n**Signature:**\n```ts\nget(uri: string): Promise<T | null>;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n\n<br>\n</details>\n\n<br>\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-class\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-class\"></a>\n\n### [DocumentStore](#-vuedx-vue-virtual-textdocument-DocumentStore-class)\n\n\n\n<details><summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare class DocumentStore<T> {\n  constructor(resolve: (uri: string) => T | null, normalize?: (uri: string) => string);\n  all(): string[];\n  delete(uri: string): boolean;\n  dispose(): void;\n  get(uri: string): T | null;\n  protected getNormalizedUri(uri: string): string;\n  has(uri: string): boolean;\n  protected map: Map<string, T>;\n  normalize: (uri: string) => string;\n  protected resolve: (uri: string) => T | null;\n  protected reverseUriMap: Map<string, string>;\n  set(uri: string, document: T): void;\n}\n```\n\n**Members:**\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-all-member-1-\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-all-member-1-\"></a>\n\n#### [all](#-vuedx-vue-virtual-textdocument-DocumentStore-all-member-1-)\n\n\n\n**Signature:**\n```ts\nall(): string[];\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-delete-member-1-\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-delete-member-1-\"></a>\n\n#### [delete](#-vuedx-vue-virtual-textdocument-DocumentStore-delete-member-1-)\n\n\n\n**Signature:**\n```ts\ndelete(uri: string): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-dispose-member-1-\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-dispose-member-1-\"></a>\n\n#### [dispose](#-vuedx-vue-virtual-textdocument-DocumentStore-dispose-member-1-)\n\n\n\n**Signature:**\n```ts\ndispose(): void;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-get-member-1-\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-get-member-1-\"></a>\n\n#### [get](#-vuedx-vue-virtual-textdocument-DocumentStore-get-member-1-)\n\n\n\n**Signature:**\n```ts\nget(uri: string): T | null;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-getNormalizedUri-member-1-\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-getNormalizedUri-member-1-\"></a>\n\n#### [getNormalizedUri](#-vuedx-vue-virtual-textdocument-DocumentStore-getNormalizedUri-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected getNormalizedUri(uri: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-has-member-1-\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-has-member-1-\"></a>\n\n#### [has](#-vuedx-vue-virtual-textdocument-DocumentStore-has-member-1-)\n\n\n\n**Signature:**\n```ts\nhas(uri: string): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-set-member-1-\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-set-member-1-\"></a>\n\n#### [set](#-vuedx-vue-virtual-textdocument-DocumentStore-set-member-1-)\n\n\n\n**Signature:**\n```ts\nset(uri: string, document: T): void;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n| document | <code>T</code> | - |\n\n<br>\n</details>\n\n<br>\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-class\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-class\"></a>\n\n### [RenderFunctionTextDocument](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-class)\n\n\n\n<details><summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare class RenderFunctionTextDocument extends TransformedBlockTextDocument {\n  constructor(container: VueTextDocument, selector: Selector, transformed: TextDocument, source: TextDocument);\n  get ast(): CodegenResult['ast'] | undefined;\n  get contextCompletionsTriggerOffset(): number;\n  static create(options: CreateVirtualTextDocumentOptions): RenderFunctionTextDocument;\n  findExpression(offset: number, length: number): undefined | {\n        offset: number;\n        length: number;\n    };\n  protected generate(): string;\n  getAllGeneratedOffsetsAt(offset: number): undefined | Array<{\n        length: number;\n        offset: number;\n    }>;\n  getGeneratedOffsetAt(offset: number): undefined | {\n        length: number;\n        offset: number;\n    };\n  protected getKnownComponents(): Record<string, ComponentImport>;\n  getOriginalOffsetAt(offset: number): undefined | {\n        offset: number;\n        length: number;\n    };\n  isInGeneratedRange(offset: number): boolean;\n  isInTemplateIdentifierRange(offset: number): boolean;\n  get parserErrors(): CodegenResult['errors'];\n  get tagCompletionsTriggerOffset(): number;\n  toDisplayMappings(): string;\n  protected tryGenerate(): string;\n}\n```\n\n**Members:**\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-create-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-create-member-1-\"></a>\n\n#### [create](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-create-member-1-)\n\n\n\n**Signature:**\n```ts\nstatic create(options: CreateVirtualTextDocumentOptions): RenderFunctionTextDocument;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| options | <code><a href=\"#-vuedx-vue-virtual-textdocument--CreateVirtualTextDocumentOptions-interface\">CreateVirtualTextDocumentOptions</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-findExpression-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-findExpression-member-1-\"></a>\n\n#### [findExpression](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-findExpression-member-1-)\n\n\n\n**Signature:**\n```ts\nfindExpression(offset: number, length: number): undefined | {\n        offset: number;\n        length: number;\n    };\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n| length | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-generate-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-generate-member-1-\"></a>\n\n#### [generate](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-generate-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected generate(): string;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getAllGeneratedOffsetsAt-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getAllGeneratedOffsetsAt-member-1-\"></a>\n\n#### [getAllGeneratedOffsetsAt](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getAllGeneratedOffsetsAt-member-1-)\n\n\n\n**Signature:**\n```ts\ngetAllGeneratedOffsetsAt(offset: number): undefined | Array<{\n        length: number;\n        offset: number;\n    }>;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getGeneratedOffsetAt-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getGeneratedOffsetAt-member-1-\"></a>\n\n#### [getGeneratedOffsetAt](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getGeneratedOffsetAt-member-1-)\n\n\n\n**Signature:**\n```ts\ngetGeneratedOffsetAt(offset: number): undefined | {\n        length: number;\n        offset: number;\n    };\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getKnownComponents-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getKnownComponents-member-1-\"></a>\n\n#### [getKnownComponents](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getKnownComponents-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected getKnownComponents(): Record<string, ComponentImport>;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getOriginalOffsetAt-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getOriginalOffsetAt-member-1-\"></a>\n\n#### [getOriginalOffsetAt](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getOriginalOffsetAt-member-1-)\n\n\n\n**Signature:**\n```ts\ngetOriginalOffsetAt(offset: number): undefined | {\n        offset: number;\n        length: number;\n    };\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-isInGeneratedRange-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-isInGeneratedRange-member-1-\"></a>\n\n#### [isInGeneratedRange](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-isInGeneratedRange-member-1-)\n\n\n\n**Signature:**\n```ts\nisInGeneratedRange(offset: number): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-isInTemplateIdentifierRange-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-isInTemplateIdentifierRange-member-1-\"></a>\n\n#### [isInTemplateIdentifierRange](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-isInTemplateIdentifierRange-member-1-)\n\n\n\n**Signature:**\n```ts\nisInTemplateIdentifierRange(offset: number): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-toDisplayMappings-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-toDisplayMappings-member-1-\"></a>\n\n#### [toDisplayMappings](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-toDisplayMappings-member-1-)\n\n\n\n**Signature:**\n```ts\ntoDisplayMappings(): string;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-tryGenerate-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-tryGenerate-member-1-\"></a>\n\n#### [tryGenerate](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-tryGenerate-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected tryGenerate(): string;\n```\n\n\n<br>\n</details>\n\n<br>\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-class\" id=\"-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-class\"></a>\n\n### [TransformedBlockTextDocument](#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-class)\n\n\n\n<details><summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare class TransformedBlockTextDocument extends VirtualTextDocument {\n  protected constructor(container: VueTextDocument, selector: Selector, transformed: TextDocument, source: TextDocument | VirtualTextDocument, _transform: (document: TransformedBlockTextDocument) => BlockTransformResult);\n  static create(options: CreateTransformedBlockTextDocumentOptions): TransformedBlockTextDocument;\n  protected refresh(): void;\n  transform(): BlockTransformResult;\n  tryGetGeneratedOffset(offset: number): number | undefined;\n  tryGetSourceOffset(offset: number): number | undefined;\n}\n```\n\n**Members:**\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-create-member-1-\" id=\"-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-create-member-1-\"></a>\n\n#### [create](#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-create-member-1-)\n\n\n\n**Signature:**\n```ts\nstatic create(options: CreateTransformedBlockTextDocumentOptions): TransformedBlockTextDocument;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| options | <code><a href=\"#-vuedx-vue-virtual-textdocument--CreateTransformedBlockTextDocumentOptions-interface\">CreateTransformedBlockTextDocumentOptions</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-refresh-member-1-\" id=\"-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-refresh-member-1-\"></a>\n\n#### [refresh](#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-refresh-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected refresh(): void;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-transform-member-1-\" id=\"-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-transform-member-1-\"></a>\n\n#### [transform](#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-transform-member-1-)\n\n\n\n**Signature:**\n```ts\ntransform(): BlockTransformResult;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-tryGetGeneratedOffset-member-1-\" id=\"-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-tryGetGeneratedOffset-member-1-\"></a>\n\n#### [tryGetGeneratedOffset](#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-tryGetGeneratedOffset-member-1-)\n\n\n\n**Signature:**\n```ts\ntryGetGeneratedOffset(offset: number): number | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-tryGetSourceOffset-member-1-\" id=\"-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-tryGetSourceOffset-member-1-\"></a>\n\n#### [tryGetSourceOffset](#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-tryGetSourceOffset-member-1-)\n\n\n\n**Signature:**\n```ts\ntryGetSourceOffset(offset: number): number | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n</details>\n\n<br>\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VirtualTextDocument-class\" id=\"-vuedx-vue-virtual-textdocument-VirtualTextDocument-class\"></a>\n\n### [VirtualTextDocument](#-vuedx-vue-virtual-textdocument-VirtualTextDocument-class)\n\n\n\n<details><summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare class VirtualTextDocument extends ProxyTextDocument {\n  protected constructor(container: VueTextDocument, selector: Selector, doc: TextDocument);\n  readonly container: VueTextDocument;\n  static create(options: CreateVirtualTextDocumentOptions): VirtualTextDocument;\n  protected isDirty: boolean;\n  markDirty(): void;\n  protected refresh(): void;\n  readonly selector: Selector;\n}\n```\n\n**Members:**\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VirtualTextDocument-create-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VirtualTextDocument-create-member-1-\"></a>\n\n#### [create](#-vuedx-vue-virtual-textdocument-VirtualTextDocument-create-member-1-)\n\n\n\n**Signature:**\n```ts\nstatic create(options: CreateVirtualTextDocumentOptions): VirtualTextDocument;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| options | <code><a href=\"#-vuedx-vue-virtual-textdocument--CreateVirtualTextDocumentOptions-interface\">CreateVirtualTextDocumentOptions</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VirtualTextDocument-markDirty-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VirtualTextDocument-markDirty-member-1-\"></a>\n\n#### [markDirty](#-vuedx-vue-virtual-textdocument-VirtualTextDocument-markDirty-member-1-)\n\n\n\n**Signature:**\n```ts\nmarkDirty(): void;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VirtualTextDocument-refresh-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VirtualTextDocument-refresh-member-1-\"></a>\n\n#### [refresh](#-vuedx-vue-virtual-textdocument-VirtualTextDocument-refresh-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected refresh(): void;\n```\n\n\n<br>\n</details>\n\n<br>\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-class\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-class\"></a>\n\n### [VueTextDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-class)\n\n\n\n<details><summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare class VueTextDocument extends ProxyTextDocument {\n  constructor(doc: TextDocument, options?: VueTextDocumentOptions, parseOptions?: SFCParseOptions);\n  all(): VirtualTextDocument[];\n  blockAt(position: Position | number): SFCBlock | null | undefined;\n  static create(uri: string, languageId: string, version: number, content: string, options?: VueTextDocumentOptions, parseOptions?: SFCParseOptions): VueTextDocument;\n  protected createBlockDocument(selector: BlockSelector): VirtualTextDocument | undefined;\n  protected createInternalModuleDocument(): TransformedBlockTextDocument;\n  protected createModuleDocument(): TransformedBlockTextDocument;\n  protected createRenderDocument(): RenderFunctionTextDocument;\n  protected createTemplateASTDocument(): TransformedBlockTextDocument;\n  get descriptor(): SFCDescriptor;\n  documentAt(position: Position | number): VirtualTextDocument | undefined;\n  getBlock(selector: BlockSelector): SFCBlock | null | undefined;\n  getBlockSelector(block: SFCBlock): BlockSelector | undefined;\n  getDocument(selector: typeof RENDER_SELECTOR): RenderFunctionTextDocument;\n  getDocument(selector: SelectorLike): VirtualTextDocument;\n  getDocument(selector: string): VirtualTextDocument | undefined;\n  getDocumentFileName(selectorLike: SelectorLike): string;\n  protected getDocumentId(selector: Selector): string;\n  protected getDocumentLanguage(selector: Selector): string;\n  markDirty(): void;\n  readonly options: VueTextDocumentOptions;\n  protected parse(): void;\n  static update(document: VueTextDocument, changes: TextDocumentContentChangeEvent[], version: number): VueTextDocument;\n}\n```\n\n**Members:**\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-all-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-all-member-1-\"></a>\n\n#### [all](#-vuedx-vue-virtual-textdocument-VueTextDocument-all-member-1-)\n\n\n\n**Signature:**\n```ts\nall(): VirtualTextDocument[];\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-blockAt-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-blockAt-member-1-\"></a>\n\n#### [blockAt](#-vuedx-vue-virtual-textdocument-VueTextDocument-blockAt-member-1-)\n\n\n\n**Signature:**\n```ts\nblockAt(position: Position | number): SFCBlock | null | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| position | <code><a href=\"#vscode-languageserver-textdocument-Position-interface\">Position</a> &#124; number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-create-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-create-member-1-\"></a>\n\n#### [create](#-vuedx-vue-virtual-textdocument-VueTextDocument-create-member-1-)\n\n\n\n**Signature:**\n```ts\nstatic create(uri: string, languageId: string, version: number, content: string, options?: VueTextDocumentOptions, parseOptions?: SFCParseOptions): VueTextDocument;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n| languageId | <code>string</code> | - |\n| version | <code>number</code> | - |\n| content | <code>string</code> | - |\n| options | <code><a href=\"#-vuedx-vue-virtual-textdocument--VueTextDocumentOptions-interface\">VueTextDocumentOptions</a></code> | - |\n| parseOptions | <code><a href=\"#-vue-compiler-sfc-SFCParseOptions-interface\">SFCParseOptions</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-createBlockDocument-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-createBlockDocument-member-1-\"></a>\n\n#### [createBlockDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-createBlockDocument-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected createBlockDocument(selector: BlockSelector): VirtualTextDocument | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selector | <code><a href=\"#-vuedx-vue-virtual-textdocument--BlockSelector-type\">BlockSelector</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-createInternalModuleDocument-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-createInternalModuleDocument-member-1-\"></a>\n\n#### [createInternalModuleDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-createInternalModuleDocument-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected createInternalModuleDocument(): TransformedBlockTextDocument;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-createModuleDocument-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-createModuleDocument-member-1-\"></a>\n\n#### [createModuleDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-createModuleDocument-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected createModuleDocument(): TransformedBlockTextDocument;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-createRenderDocument-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-createRenderDocument-member-1-\"></a>\n\n#### [createRenderDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-createRenderDocument-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected createRenderDocument(): RenderFunctionTextDocument;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-createTemplateASTDocument-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-createTemplateASTDocument-member-1-\"></a>\n\n#### [createTemplateASTDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-createTemplateASTDocument-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected createTemplateASTDocument(): TransformedBlockTextDocument;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-documentAt-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-documentAt-member-1-\"></a>\n\n#### [documentAt](#-vuedx-vue-virtual-textdocument-VueTextDocument-documentAt-member-1-)\n\n\n\n**Signature:**\n```ts\ndocumentAt(position: Position | number): VirtualTextDocument | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| position | <code><a href=\"#vscode-languageserver-textdocument-Position-interface\">Position</a> &#124; number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getBlock-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getBlock-member-1-\"></a>\n\n#### [getBlock](#-vuedx-vue-virtual-textdocument-VueTextDocument-getBlock-member-1-)\n\n\n\n**Signature:**\n```ts\ngetBlock(selector: BlockSelector): SFCBlock | null | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selector | <code><a href=\"#-vuedx-vue-virtual-textdocument--BlockSelector-type\">BlockSelector</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getBlockSelector-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getBlockSelector-member-1-\"></a>\n\n#### [getBlockSelector](#-vuedx-vue-virtual-textdocument-VueTextDocument-getBlockSelector-member-1-)\n\n\n\n**Signature:**\n```ts\ngetBlockSelector(block: SFCBlock): BlockSelector | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| block | <code><a href=\"#-vue-compiler-sfc-SFCBlock-interface\">SFCBlock</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-1-\"></a>\n\n#### [getDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-1-)\n\n\n\n**Signature:**\n```ts\ngetDocument(selector: typeof RENDER_SELECTOR): RenderFunctionTextDocument;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selector | <code>typeof <a href=\"#-vuedx-vue-virtual-textdocument--RENDER-SELECTOR-var\">RENDER_SELECTOR</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-2-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-2-\"></a>\n\n#### [getDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-2-)\n\n\n\n**Signature:**\n```ts\ngetDocument(selector: SelectorLike): VirtualTextDocument;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selector | <code><a href=\"#-vuedx-vue-virtual-textdocument--SelectorLike-type\">SelectorLike</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-3-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-3-\"></a>\n\n#### [getDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-3-)\n\n\n\n**Signature:**\n```ts\ngetDocument(selector: string): VirtualTextDocument | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selector | <code>string</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentFileName-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentFileName-member-1-\"></a>\n\n#### [getDocumentFileName](#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentFileName-member-1-)\n\n\n\n**Signature:**\n```ts\ngetDocumentFileName(selectorLike: SelectorLike): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selectorLike | <code><a href=\"#-vuedx-vue-virtual-textdocument--SelectorLike-type\">SelectorLike</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentId-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentId-member-1-\"></a>\n\n#### [getDocumentId](#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentId-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected getDocumentId(selector: Selector): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selector | <code><a href=\"#-vuedx-vue-virtual-textdocument--Selector-type\">Selector</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentLanguage-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentLanguage-member-1-\"></a>\n\n#### [getDocumentLanguage](#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentLanguage-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected getDocumentLanguage(selector: Selector): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selector | <code><a href=\"#-vuedx-vue-virtual-textdocument--Selector-type\">Selector</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-markDirty-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-markDirty-member-1-\"></a>\n\n#### [markDirty](#-vuedx-vue-virtual-textdocument-VueTextDocument-markDirty-member-1-)\n\n\n\n**Signature:**\n```ts\nmarkDirty(): void;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-parse-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-parse-member-1-\"></a>\n\n#### [parse](#-vuedx-vue-virtual-textdocument-VueTextDocument-parse-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected parse(): void;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-update-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-update-member-1-\"></a>\n\n#### [update](#-vuedx-vue-virtual-textdocument-VueTextDocument-update-member-1-)\n\n\n\n**Signature:**\n```ts\nstatic update(document: VueTextDocument, changes: TextDocumentContentChangeEvent[], version: number): VueTextDocument;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| document | <code><a href=\"#-vuedx-vue-virtual-textdocument--VueTextDocument-class\">VueTextDocument</a></code> | - |\n| changes | <code><a href=\"#vscode-languageserver-textdocument-TextDocumentContentChangeEvent-type\">TextDocumentContentChangeEvent</a>[]</code> | - |\n| version | <code>number</code> | - |\n\n<br>\n</details>\n\n<br>\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-asFsPath-function-1-\" id=\"-vuedx-vue-virtual-textdocument-asFsPath-function-1-\"></a>\n\n### [asFsPath](#-vuedx-vue-virtual-textdocument-asFsPath-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function asFsPath(uri: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-asFsUri-function-1-\" id=\"-vuedx-vue-virtual-textdocument-asFsUri-function-1-\"></a>\n\n### [asFsUri](#-vuedx-vue-virtual-textdocument-asFsUri-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function asFsUri(fileName: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-asUri-function-1-\" id=\"-vuedx-vue-virtual-textdocument-asUri-function-1-\"></a>\n\n### [asUri](#-vuedx-vue-virtual-textdocument-asUri-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function asUri(fileNameOrUri: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileNameOrUri | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-basename-function-1-\" id=\"-vuedx-vue-virtual-textdocument-basename-function-1-\"></a>\n\n### [basename](#-vuedx-vue-virtual-textdocument-basename-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function basename(fileName: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-binarySearch-function-1-\" id=\"-vuedx-vue-virtual-textdocument-binarySearch-function-1-\"></a>\n\n### [binarySearch](#-vuedx-vue-virtual-textdocument-binarySearch-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function binarySearch<T>(array: T[], isMatch: (a: T) => number, returnMin?: boolean): T | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| array | <code>T[]</code> | - |\n| isMatch | <code>(a: T) => number</code> | - |\n| returnMin | <code>boolean</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-getBlockLanguage-function-1-\" id=\"-vuedx-vue-virtual-textdocument-getBlockLanguage-function-1-\"></a>\n\n### [getBlockLanguage](#-vuedx-vue-virtual-textdocument-getBlockLanguage-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function getBlockLanguage(block?: SFCBlock | null): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| block | <code><a href=\"#-vue-compiler-sfc-SFCBlock-interface\">SFCBlock</a> &#124; null</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-getContainingFile-function-1-\" id=\"-vuedx-vue-virtual-textdocument-getContainingFile-function-1-\"></a>\n\n### [getContainingFile](#-vuedx-vue-virtual-textdocument-getContainingFile-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function getContainingFile(fileName: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-getLanguageExtension-function-1-\" id=\"-vuedx-vue-virtual-textdocument-getLanguageExtension-function-1-\"></a>\n\n### [getLanguageExtension](#-vuedx-vue-virtual-textdocument-getLanguageExtension-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function getLanguageExtension(lang: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| lang | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-getLanguageIdFromExtension-function-1-\" id=\"-vuedx-vue-virtual-textdocument-getLanguageIdFromExtension-function-1-\"></a>\n\n### [getLanguageIdFromExtension](#-vuedx-vue-virtual-textdocument-getLanguageIdFromExtension-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function getLanguageIdFromExtension(ext: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| ext | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-isOffsetInBlock-function-1-\" id=\"-vuedx-vue-virtual-textdocument-isOffsetInBlock-function-1-\"></a>\n\n### [isOffsetInBlock](#-vuedx-vue-virtual-textdocument-isOffsetInBlock-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function isOffsetInBlock(offset: number, block?: SFCBlock | null): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n| block | <code><a href=\"#-vue-compiler-sfc-SFCBlock-interface\">SFCBlock</a> &#124; null</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-isVirtualFile-function-1-\" id=\"-vuedx-vue-virtual-textdocument-isVirtualFile-function-1-\"></a>\n\n### [isVirtualFile](#-vuedx-vue-virtual-textdocument-isVirtualFile-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function isVirtualFile(fileName: string): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-isVirtualFileOfType-function-1-\" id=\"-vuedx-vue-virtual-textdocument-isVirtualFileOfType-function-1-\"></a>\n\n### [isVirtualFileOfType](#-vuedx-vue-virtual-textdocument-isVirtualFileOfType-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function isVirtualFileOfType(fileName: string, type: '_render' | '_module' | '_internal' | 'script' | 'scriptSetup'): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n| type | <code>'_render' &#124; '_module' &#124; '_internal' &#124; 'script' &#124; 'scriptSetup'</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-isVueFile-function-1-\" id=\"-vuedx-vue-virtual-textdocument-isVueFile-function-1-\"></a>\n\n### [isVueFile](#-vuedx-vue-virtual-textdocument-isVueFile-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function isVueFile(fileName: string): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-parseVirtualFileName-function-1-\" id=\"-vuedx-vue-virtual-textdocument-parseVirtualFileName-function-1-\"></a>\n\n### [parseVirtualFileName](#-vuedx-vue-virtual-textdocument-parseVirtualFileName-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function parseVirtualFileName(fileName: string): {\n    uri: string;\n    selector: Selector;\n} | null;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-relativeVirtualImportPath-function-1-\" id=\"-vuedx-vue-virtual-textdocument-relativeVirtualImportPath-function-1-\"></a>\n\n### [relativeVirtualImportPath](#-vuedx-vue-virtual-textdocument-relativeVirtualImportPath-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function relativeVirtualImportPath(fileName: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-replaceSlashes-function-1-\" id=\"-vuedx-vue-virtual-textdocument-replaceSlashes-function-1-\"></a>\n\n### [replaceSlashes](#-vuedx-vue-virtual-textdocument-replaceSlashes-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function replaceSlashes(fileName: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n<!-- #region API-DOCS -->\n","readmeFilename":"readme.md","gitHead":"8bb42206debd6454c5c2bea9b08942a92cdae8f9","_id":"@vuedx/vue-virtual-textdocument@0.7.5-next-1647674505.0","_nodeVersion":"16.14.0","_npmVersion":"8.3.1","dist":{"integrity":"sha512-AIpNaegwkoYeuTcAShzwL8Iw6tKZZxMWYo4EdJhW/ThP/LgcPFO5c8OwdcT728Yk7xFL3o4g7D3Fu/y+DV6tSw==","shasum":"8df416529da0437cc278b407d53d1bc6a54a7a4e","tarball":"https://registry.npmjs.org/@vuedx/vue-virtual-textdocument/-/vue-virtual-textdocument-0.7.5-next-1647674505.0.tgz","fileCount":8,"unpackedSize":213560,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiNYSeACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmoJcg/7B3LHfsrwd9Qw0liqeyzJ+gremP3iRFTi/OzGI7sKWtEwzRdY\r\nHO1+mUc6Pl1Y5BJxLF7/VcFKyvSEBLogR6BohqTzphUbd5XoaqfjFnNHG60E\r\nBiOoaYC3/D5K/1zMS9ekwZaUIAYTK0yQaBOsy6J7Fk5yzj2rrs0KdGUK/rKV\r\nh7iMZDJECGotl0nywSIOCJDB+Fmiv/pQEXzAsO6U1MPu6rILjn8r6L2TbS+D\r\nMP1IOMcYYwoeoBRUv7bWcPEcjGClF0eM7DU2CxGjjM0sFweVWYlGXLZ+Q6Ub\r\nts95rlOJpQ3AXpdrFlcNkNLV1nT+XG9Q3FELI5shCuDDm5+hdxbKdl1HtHrs\r\nJbOGgBeru5AdV102s1H8Wg9zHyMGQHcoF8SnyZyjK+NKP3YL6d8YB7A/zYGO\r\nRF41LU1KwPVFVeBDWmCmGfvGsEcZjwJEdD61cZDrDQejBo0fShbPGDb9LNTQ\r\nXYuJ8pydWkUhrbR9F3SBhrRsGfTcGu8JZNqBpTah8oVS6CYfhBOOVwRqzheg\r\nphyYpchEv3vFEi2SX5EMheFRwBVsDg0Vf6FCwASzTUUCOmia5K5aDfjaIdNE\r\no7r2ToimPURqdgg7B3nehII5hoetj79xYzza843bqY2HKvvqLwHo2SfMMYOe\r\nXZ5egJBUw+HOCjtZBZ+obTdW+GQKJXrIqB8=\r\n=zc2p\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIHBCCvi8mOLzBqdOxPQtoqZ4/qSFm3/XJRPgYwTzenW+AiAU51RnBRNfwxfJehvyowK7wq/XJ5JrMOOxznrcbuUU1w=="}]},"_npmUser":{"name":"znck","email":"rahulkdn@gmail.com"},"directories":{},"maintainers":[{"name":"znck","email":"rahulkdn@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/vue-virtual-textdocument_0.7.5-next-1647674505.0_1647674526654_0.7744840569770017"},"_hasShrinkwrap":false},"0.7.5-next-1647768616.0":{"name":"@vuedx/vue-virtual-textdocument","version":"0.7.5-next-1647768616.0","description":"A virtual filesystem to access blocks in SFC as files","main":"lib/index.js","module":"lib/index.mjs","types":"lib/index.d.ts","publishConfig":{"types":"lib/index.d.ts"},"private":false,"keywords":["vue","vue sfc","sfc","vue virtual files"],"repository":{"type":"git","url":"git+https://github.com/znck/vue-developer-experience.git"},"author":{"name":"Rahul Kadyan","email":"rahulkdn@gmail.com","url":"https://znck.me/"},"funding":{"type":"individual","url":"https://github.com/sponsors/znck"},"license":"MIT","bugs":{"url":"https://github.com/znck/vue-developer-experience/issues"},"homepage":"https://github.com/znck/vue-developer-experience#readme","dependencies":{"@vuedx/compiler-sfc":"0.7.2-next-1647768616.0","@vuedx/compiler-tsx":"0.7.5-next-1647768616.0","@vuedx/shared":"0.7.4-next-1647768616.0","@vuedx/template-ast-types":"0.7.3-next-1647768616.0","@vuedx/transforms":"0.7.5-next-1647768616.0","source-map":"^0.6.1","vscode-languageserver-textdocument":"^1.0.1","vscode-uri":"^2.1.2"},"devDependencies":{"typescript":"^4.0.3"},"scripts":{},"readme":"# Vue Virtual TextDocument\n\nAn implementation of virtual filesystem for accessing blocks in a `.vue` file as independent files.\n\n## Support\n\nThis package is part of [VueDX project](https://github.com/znck/vue-developer-experience), maintained by [Rahul Kadyan](https://github.com/znck). You can [💖 sponsor him](https://github.com/sponsors/znck) for continued development of this package and other VueDX tools.\n\n```\nnpm add @vuedx/vue-virtual-textdocument\n```\n<!-- #region API-DOCS -->\n<!-- Do not edit this file. It is a report generated by [scripts/docgen.js](https://github.com/znck/vue-developer-experience/tree/main/scripts/docgen.js). -->\n\n## API\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-AsyncDocumentStore-class\" id=\"-vuedx-vue-virtual-textdocument-AsyncDocumentStore-class\"></a>\n\n### [AsyncDocumentStore](#-vuedx-vue-virtual-textdocument-AsyncDocumentStore-class)\n\n\n\n<details><summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare class AsyncDocumentStore<T> extends DocumentStore<T> {\n  constructor(resolve: (uri: string) => T | Promise<T | null> | null, normalize?: (uri: string) => string);\n  get(uri: string): T | null;\n  get(uri: string): Promise<T | null>;\n}\n```\n\n**Members:**\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-AsyncDocumentStore-get-member-1-\" id=\"-vuedx-vue-virtual-textdocument-AsyncDocumentStore-get-member-1-\"></a>\n\n#### [get](#-vuedx-vue-virtual-textdocument-AsyncDocumentStore-get-member-1-)\n\n\n\n**Signature:**\n```ts\nget(uri: string): T | null;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-AsyncDocumentStore-get-member-2-\" id=\"-vuedx-vue-virtual-textdocument-AsyncDocumentStore-get-member-2-\"></a>\n\n#### [get](#-vuedx-vue-virtual-textdocument-AsyncDocumentStore-get-member-2-)\n\n\n\n**Signature:**\n```ts\nget(uri: string): Promise<T | null>;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n\n<br>\n</details>\n\n<br>\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-class\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-class\"></a>\n\n### [DocumentStore](#-vuedx-vue-virtual-textdocument-DocumentStore-class)\n\n\n\n<details><summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare class DocumentStore<T> {\n  constructor(resolve: (uri: string) => T | null, normalize?: (uri: string) => string);\n  all(): string[];\n  delete(uri: string): boolean;\n  dispose(): void;\n  get(uri: string): T | null;\n  protected getNormalizedUri(uri: string): string;\n  has(uri: string): boolean;\n  protected map: Map<string, T>;\n  normalize: (uri: string) => string;\n  protected resolve: (uri: string) => T | null;\n  protected reverseUriMap: Map<string, string>;\n  set(uri: string, document: T): void;\n}\n```\n\n**Members:**\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-all-member-1-\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-all-member-1-\"></a>\n\n#### [all](#-vuedx-vue-virtual-textdocument-DocumentStore-all-member-1-)\n\n\n\n**Signature:**\n```ts\nall(): string[];\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-delete-member-1-\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-delete-member-1-\"></a>\n\n#### [delete](#-vuedx-vue-virtual-textdocument-DocumentStore-delete-member-1-)\n\n\n\n**Signature:**\n```ts\ndelete(uri: string): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-dispose-member-1-\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-dispose-member-1-\"></a>\n\n#### [dispose](#-vuedx-vue-virtual-textdocument-DocumentStore-dispose-member-1-)\n\n\n\n**Signature:**\n```ts\ndispose(): void;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-get-member-1-\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-get-member-1-\"></a>\n\n#### [get](#-vuedx-vue-virtual-textdocument-DocumentStore-get-member-1-)\n\n\n\n**Signature:**\n```ts\nget(uri: string): T | null;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-getNormalizedUri-member-1-\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-getNormalizedUri-member-1-\"></a>\n\n#### [getNormalizedUri](#-vuedx-vue-virtual-textdocument-DocumentStore-getNormalizedUri-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected getNormalizedUri(uri: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-has-member-1-\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-has-member-1-\"></a>\n\n#### [has](#-vuedx-vue-virtual-textdocument-DocumentStore-has-member-1-)\n\n\n\n**Signature:**\n```ts\nhas(uri: string): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-set-member-1-\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-set-member-1-\"></a>\n\n#### [set](#-vuedx-vue-virtual-textdocument-DocumentStore-set-member-1-)\n\n\n\n**Signature:**\n```ts\nset(uri: string, document: T): void;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n| document | <code>T</code> | - |\n\n<br>\n</details>\n\n<br>\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-class\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-class\"></a>\n\n### [RenderFunctionTextDocument](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-class)\n\n\n\n<details><summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare class RenderFunctionTextDocument extends TransformedBlockTextDocument {\n  constructor(container: VueTextDocument, selector: Selector, transformed: TextDocument, source: TextDocument);\n  get ast(): CodegenResult['ast'] | undefined;\n  get contextCompletionsTriggerOffset(): number;\n  static create(options: CreateVirtualTextDocumentOptions): RenderFunctionTextDocument;\n  findExpression(offset: number, length: number): undefined | {\n        offset: number;\n        length: number;\n    };\n  protected generate(): string;\n  getAllGeneratedOffsetsAt(offset: number): undefined | Array<{\n        length: number;\n        offset: number;\n    }>;\n  getGeneratedOffsetAt(offset: number): undefined | {\n        length: number;\n        offset: number;\n    };\n  protected getKnownComponents(): Record<string, ComponentImport>;\n  getOriginalOffsetAt(offset: number): undefined | {\n        offset: number;\n        length: number;\n    };\n  isInGeneratedRange(offset: number): boolean;\n  isInTemplateIdentifierRange(offset: number): boolean;\n  get parserErrors(): CodegenResult['errors'];\n  get tagCompletionsTriggerOffset(): number;\n  toDisplayMappings(): string;\n  protected tryGenerate(): string;\n}\n```\n\n**Members:**\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-create-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-create-member-1-\"></a>\n\n#### [create](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-create-member-1-)\n\n\n\n**Signature:**\n```ts\nstatic create(options: CreateVirtualTextDocumentOptions): RenderFunctionTextDocument;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| options | <code><a href=\"#-vuedx-vue-virtual-textdocument--CreateVirtualTextDocumentOptions-interface\">CreateVirtualTextDocumentOptions</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-findExpression-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-findExpression-member-1-\"></a>\n\n#### [findExpression](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-findExpression-member-1-)\n\n\n\n**Signature:**\n```ts\nfindExpression(offset: number, length: number): undefined | {\n        offset: number;\n        length: number;\n    };\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n| length | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-generate-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-generate-member-1-\"></a>\n\n#### [generate](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-generate-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected generate(): string;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getAllGeneratedOffsetsAt-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getAllGeneratedOffsetsAt-member-1-\"></a>\n\n#### [getAllGeneratedOffsetsAt](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getAllGeneratedOffsetsAt-member-1-)\n\n\n\n**Signature:**\n```ts\ngetAllGeneratedOffsetsAt(offset: number): undefined | Array<{\n        length: number;\n        offset: number;\n    }>;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getGeneratedOffsetAt-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getGeneratedOffsetAt-member-1-\"></a>\n\n#### [getGeneratedOffsetAt](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getGeneratedOffsetAt-member-1-)\n\n\n\n**Signature:**\n```ts\ngetGeneratedOffsetAt(offset: number): undefined | {\n        length: number;\n        offset: number;\n    };\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getKnownComponents-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getKnownComponents-member-1-\"></a>\n\n#### [getKnownComponents](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getKnownComponents-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected getKnownComponents(): Record<string, ComponentImport>;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getOriginalOffsetAt-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getOriginalOffsetAt-member-1-\"></a>\n\n#### [getOriginalOffsetAt](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getOriginalOffsetAt-member-1-)\n\n\n\n**Signature:**\n```ts\ngetOriginalOffsetAt(offset: number): undefined | {\n        offset: number;\n        length: number;\n    };\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-isInGeneratedRange-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-isInGeneratedRange-member-1-\"></a>\n\n#### [isInGeneratedRange](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-isInGeneratedRange-member-1-)\n\n\n\n**Signature:**\n```ts\nisInGeneratedRange(offset: number): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-isInTemplateIdentifierRange-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-isInTemplateIdentifierRange-member-1-\"></a>\n\n#### [isInTemplateIdentifierRange](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-isInTemplateIdentifierRange-member-1-)\n\n\n\n**Signature:**\n```ts\nisInTemplateIdentifierRange(offset: number): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-toDisplayMappings-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-toDisplayMappings-member-1-\"></a>\n\n#### [toDisplayMappings](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-toDisplayMappings-member-1-)\n\n\n\n**Signature:**\n```ts\ntoDisplayMappings(): string;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-tryGenerate-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-tryGenerate-member-1-\"></a>\n\n#### [tryGenerate](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-tryGenerate-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected tryGenerate(): string;\n```\n\n\n<br>\n</details>\n\n<br>\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-class\" id=\"-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-class\"></a>\n\n### [TransformedBlockTextDocument](#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-class)\n\n\n\n<details><summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare class TransformedBlockTextDocument extends VirtualTextDocument {\n  protected constructor(container: VueTextDocument, selector: Selector, transformed: TextDocument, source: TextDocument | VirtualTextDocument, _transform: (document: TransformedBlockTextDocument) => BlockTransformResult);\n  static create(options: CreateTransformedBlockTextDocumentOptions): TransformedBlockTextDocument;\n  protected refresh(): void;\n  transform(): BlockTransformResult;\n  tryGetGeneratedOffset(offset: number): number | undefined;\n  tryGetSourceOffset(offset: number): number | undefined;\n}\n```\n\n**Members:**\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-create-member-1-\" id=\"-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-create-member-1-\"></a>\n\n#### [create](#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-create-member-1-)\n\n\n\n**Signature:**\n```ts\nstatic create(options: CreateTransformedBlockTextDocumentOptions): TransformedBlockTextDocument;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| options | <code><a href=\"#-vuedx-vue-virtual-textdocument--CreateTransformedBlockTextDocumentOptions-interface\">CreateTransformedBlockTextDocumentOptions</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-refresh-member-1-\" id=\"-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-refresh-member-1-\"></a>\n\n#### [refresh](#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-refresh-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected refresh(): void;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-transform-member-1-\" id=\"-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-transform-member-1-\"></a>\n\n#### [transform](#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-transform-member-1-)\n\n\n\n**Signature:**\n```ts\ntransform(): BlockTransformResult;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-tryGetGeneratedOffset-member-1-\" id=\"-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-tryGetGeneratedOffset-member-1-\"></a>\n\n#### [tryGetGeneratedOffset](#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-tryGetGeneratedOffset-member-1-)\n\n\n\n**Signature:**\n```ts\ntryGetGeneratedOffset(offset: number): number | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-tryGetSourceOffset-member-1-\" id=\"-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-tryGetSourceOffset-member-1-\"></a>\n\n#### [tryGetSourceOffset](#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-tryGetSourceOffset-member-1-)\n\n\n\n**Signature:**\n```ts\ntryGetSourceOffset(offset: number): number | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n</details>\n\n<br>\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VirtualTextDocument-class\" id=\"-vuedx-vue-virtual-textdocument-VirtualTextDocument-class\"></a>\n\n### [VirtualTextDocument](#-vuedx-vue-virtual-textdocument-VirtualTextDocument-class)\n\n\n\n<details><summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare class VirtualTextDocument extends ProxyTextDocument {\n  protected constructor(container: VueTextDocument, selector: Selector, doc: TextDocument);\n  readonly container: VueTextDocument;\n  static create(options: CreateVirtualTextDocumentOptions): VirtualTextDocument;\n  protected isDirty: boolean;\n  markDirty(): void;\n  protected refresh(): void;\n  readonly selector: Selector;\n}\n```\n\n**Members:**\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VirtualTextDocument-create-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VirtualTextDocument-create-member-1-\"></a>\n\n#### [create](#-vuedx-vue-virtual-textdocument-VirtualTextDocument-create-member-1-)\n\n\n\n**Signature:**\n```ts\nstatic create(options: CreateVirtualTextDocumentOptions): VirtualTextDocument;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| options | <code><a href=\"#-vuedx-vue-virtual-textdocument--CreateVirtualTextDocumentOptions-interface\">CreateVirtualTextDocumentOptions</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VirtualTextDocument-markDirty-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VirtualTextDocument-markDirty-member-1-\"></a>\n\n#### [markDirty](#-vuedx-vue-virtual-textdocument-VirtualTextDocument-markDirty-member-1-)\n\n\n\n**Signature:**\n```ts\nmarkDirty(): void;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VirtualTextDocument-refresh-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VirtualTextDocument-refresh-member-1-\"></a>\n\n#### [refresh](#-vuedx-vue-virtual-textdocument-VirtualTextDocument-refresh-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected refresh(): void;\n```\n\n\n<br>\n</details>\n\n<br>\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-class\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-class\"></a>\n\n### [VueTextDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-class)\n\n\n\n<details><summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare class VueTextDocument extends ProxyTextDocument {\n  constructor(doc: TextDocument, options?: VueTextDocumentOptions, parseOptions?: SFCParseOptions);\n  all(): VirtualTextDocument[];\n  blockAt(position: Position | number): SFCBlock | null | undefined;\n  static create(uri: string, languageId: string, version: number, content: string, options?: VueTextDocumentOptions, parseOptions?: SFCParseOptions): VueTextDocument;\n  protected createBlockDocument(selector: BlockSelector): VirtualTextDocument | undefined;\n  protected createInternalModuleDocument(): TransformedBlockTextDocument;\n  protected createModuleDocument(): TransformedBlockTextDocument;\n  protected createRenderDocument(): RenderFunctionTextDocument;\n  protected createTemplateASTDocument(): TransformedBlockTextDocument;\n  get descriptor(): SFCDescriptor;\n  documentAt(position: Position | number): VirtualTextDocument | undefined;\n  getBlock(selector: BlockSelector): SFCBlock | null | undefined;\n  getBlockSelector(block: SFCBlock): BlockSelector | undefined;\n  getDocument(selector: typeof RENDER_SELECTOR): RenderFunctionTextDocument;\n  getDocument(selector: SelectorLike): VirtualTextDocument;\n  getDocument(selector: string): VirtualTextDocument | undefined;\n  getDocumentFileName(selectorLike: SelectorLike): string;\n  protected getDocumentId(selector: Selector): string;\n  protected getDocumentLanguage(selector: Selector): string;\n  markDirty(): void;\n  readonly options: VueTextDocumentOptions;\n  protected parse(): void;\n  static update(document: VueTextDocument, changes: TextDocumentContentChangeEvent[], version: number): VueTextDocument;\n}\n```\n\n**Members:**\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-all-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-all-member-1-\"></a>\n\n#### [all](#-vuedx-vue-virtual-textdocument-VueTextDocument-all-member-1-)\n\n\n\n**Signature:**\n```ts\nall(): VirtualTextDocument[];\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-blockAt-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-blockAt-member-1-\"></a>\n\n#### [blockAt](#-vuedx-vue-virtual-textdocument-VueTextDocument-blockAt-member-1-)\n\n\n\n**Signature:**\n```ts\nblockAt(position: Position | number): SFCBlock | null | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| position | <code><a href=\"#vscode-languageserver-textdocument-Position-interface\">Position</a> &#124; number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-create-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-create-member-1-\"></a>\n\n#### [create](#-vuedx-vue-virtual-textdocument-VueTextDocument-create-member-1-)\n\n\n\n**Signature:**\n```ts\nstatic create(uri: string, languageId: string, version: number, content: string, options?: VueTextDocumentOptions, parseOptions?: SFCParseOptions): VueTextDocument;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n| languageId | <code>string</code> | - |\n| version | <code>number</code> | - |\n| content | <code>string</code> | - |\n| options | <code><a href=\"#-vuedx-vue-virtual-textdocument--VueTextDocumentOptions-interface\">VueTextDocumentOptions</a></code> | - |\n| parseOptions | <code><a href=\"#-vue-compiler-sfc-SFCParseOptions-interface\">SFCParseOptions</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-createBlockDocument-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-createBlockDocument-member-1-\"></a>\n\n#### [createBlockDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-createBlockDocument-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected createBlockDocument(selector: BlockSelector): VirtualTextDocument | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selector | <code><a href=\"#-vuedx-vue-virtual-textdocument--BlockSelector-type\">BlockSelector</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-createInternalModuleDocument-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-createInternalModuleDocument-member-1-\"></a>\n\n#### [createInternalModuleDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-createInternalModuleDocument-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected createInternalModuleDocument(): TransformedBlockTextDocument;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-createModuleDocument-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-createModuleDocument-member-1-\"></a>\n\n#### [createModuleDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-createModuleDocument-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected createModuleDocument(): TransformedBlockTextDocument;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-createRenderDocument-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-createRenderDocument-member-1-\"></a>\n\n#### [createRenderDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-createRenderDocument-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected createRenderDocument(): RenderFunctionTextDocument;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-createTemplateASTDocument-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-createTemplateASTDocument-member-1-\"></a>\n\n#### [createTemplateASTDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-createTemplateASTDocument-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected createTemplateASTDocument(): TransformedBlockTextDocument;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-documentAt-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-documentAt-member-1-\"></a>\n\n#### [documentAt](#-vuedx-vue-virtual-textdocument-VueTextDocument-documentAt-member-1-)\n\n\n\n**Signature:**\n```ts\ndocumentAt(position: Position | number): VirtualTextDocument | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| position | <code><a href=\"#vscode-languageserver-textdocument-Position-interface\">Position</a> &#124; number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getBlock-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getBlock-member-1-\"></a>\n\n#### [getBlock](#-vuedx-vue-virtual-textdocument-VueTextDocument-getBlock-member-1-)\n\n\n\n**Signature:**\n```ts\ngetBlock(selector: BlockSelector): SFCBlock | null | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selector | <code><a href=\"#-vuedx-vue-virtual-textdocument--BlockSelector-type\">BlockSelector</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getBlockSelector-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getBlockSelector-member-1-\"></a>\n\n#### [getBlockSelector](#-vuedx-vue-virtual-textdocument-VueTextDocument-getBlockSelector-member-1-)\n\n\n\n**Signature:**\n```ts\ngetBlockSelector(block: SFCBlock): BlockSelector | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| block | <code><a href=\"#-vue-compiler-sfc-SFCBlock-interface\">SFCBlock</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-1-\"></a>\n\n#### [getDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-1-)\n\n\n\n**Signature:**\n```ts\ngetDocument(selector: typeof RENDER_SELECTOR): RenderFunctionTextDocument;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selector | <code>typeof <a href=\"#-vuedx-vue-virtual-textdocument--RENDER-SELECTOR-var\">RENDER_SELECTOR</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-2-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-2-\"></a>\n\n#### [getDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-2-)\n\n\n\n**Signature:**\n```ts\ngetDocument(selector: SelectorLike): VirtualTextDocument;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selector | <code><a href=\"#-vuedx-vue-virtual-textdocument--SelectorLike-type\">SelectorLike</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-3-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-3-\"></a>\n\n#### [getDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-3-)\n\n\n\n**Signature:**\n```ts\ngetDocument(selector: string): VirtualTextDocument | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selector | <code>string</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentFileName-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentFileName-member-1-\"></a>\n\n#### [getDocumentFileName](#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentFileName-member-1-)\n\n\n\n**Signature:**\n```ts\ngetDocumentFileName(selectorLike: SelectorLike): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selectorLike | <code><a href=\"#-vuedx-vue-virtual-textdocument--SelectorLike-type\">SelectorLike</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentId-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentId-member-1-\"></a>\n\n#### [getDocumentId](#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentId-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected getDocumentId(selector: Selector): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selector | <code><a href=\"#-vuedx-vue-virtual-textdocument--Selector-type\">Selector</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentLanguage-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentLanguage-member-1-\"></a>\n\n#### [getDocumentLanguage](#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentLanguage-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected getDocumentLanguage(selector: Selector): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selector | <code><a href=\"#-vuedx-vue-virtual-textdocument--Selector-type\">Selector</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-markDirty-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-markDirty-member-1-\"></a>\n\n#### [markDirty](#-vuedx-vue-virtual-textdocument-VueTextDocument-markDirty-member-1-)\n\n\n\n**Signature:**\n```ts\nmarkDirty(): void;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-parse-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-parse-member-1-\"></a>\n\n#### [parse](#-vuedx-vue-virtual-textdocument-VueTextDocument-parse-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected parse(): void;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-update-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-update-member-1-\"></a>\n\n#### [update](#-vuedx-vue-virtual-textdocument-VueTextDocument-update-member-1-)\n\n\n\n**Signature:**\n```ts\nstatic update(document: VueTextDocument, changes: TextDocumentContentChangeEvent[], version: number): VueTextDocument;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| document | <code><a href=\"#-vuedx-vue-virtual-textdocument--VueTextDocument-class\">VueTextDocument</a></code> | - |\n| changes | <code><a href=\"#vscode-languageserver-textdocument-TextDocumentContentChangeEvent-type\">TextDocumentContentChangeEvent</a>[]</code> | - |\n| version | <code>number</code> | - |\n\n<br>\n</details>\n\n<br>\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-asFsPath-function-1-\" id=\"-vuedx-vue-virtual-textdocument-asFsPath-function-1-\"></a>\n\n### [asFsPath](#-vuedx-vue-virtual-textdocument-asFsPath-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function asFsPath(uri: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-asFsUri-function-1-\" id=\"-vuedx-vue-virtual-textdocument-asFsUri-function-1-\"></a>\n\n### [asFsUri](#-vuedx-vue-virtual-textdocument-asFsUri-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function asFsUri(fileName: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-asUri-function-1-\" id=\"-vuedx-vue-virtual-textdocument-asUri-function-1-\"></a>\n\n### [asUri](#-vuedx-vue-virtual-textdocument-asUri-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function asUri(fileNameOrUri: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileNameOrUri | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-basename-function-1-\" id=\"-vuedx-vue-virtual-textdocument-basename-function-1-\"></a>\n\n### [basename](#-vuedx-vue-virtual-textdocument-basename-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function basename(fileName: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-binarySearch-function-1-\" id=\"-vuedx-vue-virtual-textdocument-binarySearch-function-1-\"></a>\n\n### [binarySearch](#-vuedx-vue-virtual-textdocument-binarySearch-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function binarySearch<T>(array: T[], isMatch: (a: T) => number, returnMin?: boolean): T | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| array | <code>T[]</code> | - |\n| isMatch | <code>(a: T) => number</code> | - |\n| returnMin | <code>boolean</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-getBlockLanguage-function-1-\" id=\"-vuedx-vue-virtual-textdocument-getBlockLanguage-function-1-\"></a>\n\n### [getBlockLanguage](#-vuedx-vue-virtual-textdocument-getBlockLanguage-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function getBlockLanguage(block?: SFCBlock | null): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| block | <code><a href=\"#-vue-compiler-sfc-SFCBlock-interface\">SFCBlock</a> &#124; null</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-getContainingFile-function-1-\" id=\"-vuedx-vue-virtual-textdocument-getContainingFile-function-1-\"></a>\n\n### [getContainingFile](#-vuedx-vue-virtual-textdocument-getContainingFile-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function getContainingFile(fileName: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-getLanguageExtension-function-1-\" id=\"-vuedx-vue-virtual-textdocument-getLanguageExtension-function-1-\"></a>\n\n### [getLanguageExtension](#-vuedx-vue-virtual-textdocument-getLanguageExtension-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function getLanguageExtension(lang: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| lang | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-getLanguageIdFromExtension-function-1-\" id=\"-vuedx-vue-virtual-textdocument-getLanguageIdFromExtension-function-1-\"></a>\n\n### [getLanguageIdFromExtension](#-vuedx-vue-virtual-textdocument-getLanguageIdFromExtension-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function getLanguageIdFromExtension(ext: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| ext | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-isOffsetInBlock-function-1-\" id=\"-vuedx-vue-virtual-textdocument-isOffsetInBlock-function-1-\"></a>\n\n### [isOffsetInBlock](#-vuedx-vue-virtual-textdocument-isOffsetInBlock-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function isOffsetInBlock(offset: number, block?: SFCBlock | null): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n| block | <code><a href=\"#-vue-compiler-sfc-SFCBlock-interface\">SFCBlock</a> &#124; null</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-isVirtualFile-function-1-\" id=\"-vuedx-vue-virtual-textdocument-isVirtualFile-function-1-\"></a>\n\n### [isVirtualFile](#-vuedx-vue-virtual-textdocument-isVirtualFile-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function isVirtualFile(fileName: string): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-isVirtualFileOfType-function-1-\" id=\"-vuedx-vue-virtual-textdocument-isVirtualFileOfType-function-1-\"></a>\n\n### [isVirtualFileOfType](#-vuedx-vue-virtual-textdocument-isVirtualFileOfType-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function isVirtualFileOfType(fileName: string, type: '_render' | '_module' | '_internal' | 'script' | 'scriptSetup'): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n| type | <code>'_render' &#124; '_module' &#124; '_internal' &#124; 'script' &#124; 'scriptSetup'</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-isVueFile-function-1-\" id=\"-vuedx-vue-virtual-textdocument-isVueFile-function-1-\"></a>\n\n### [isVueFile](#-vuedx-vue-virtual-textdocument-isVueFile-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function isVueFile(fileName: string): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-parseVirtualFileName-function-1-\" id=\"-vuedx-vue-virtual-textdocument-parseVirtualFileName-function-1-\"></a>\n\n### [parseVirtualFileName](#-vuedx-vue-virtual-textdocument-parseVirtualFileName-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function parseVirtualFileName(fileName: string): {\n    uri: string;\n    selector: Selector;\n} | null;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-relativeVirtualImportPath-function-1-\" id=\"-vuedx-vue-virtual-textdocument-relativeVirtualImportPath-function-1-\"></a>\n\n### [relativeVirtualImportPath](#-vuedx-vue-virtual-textdocument-relativeVirtualImportPath-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function relativeVirtualImportPath(fileName: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-replaceSlashes-function-1-\" id=\"-vuedx-vue-virtual-textdocument-replaceSlashes-function-1-\"></a>\n\n### [replaceSlashes](#-vuedx-vue-virtual-textdocument-replaceSlashes-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function replaceSlashes(fileName: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n<!-- #region API-DOCS -->\n","readmeFilename":"readme.md","gitHead":"125a76fd722d6845d2c220e836da3149ed1c0177","_id":"@vuedx/vue-virtual-textdocument@0.7.5-next-1647768616.0","_nodeVersion":"16.14.0","_npmVersion":"8.3.1","dist":{"integrity":"sha512-qYQKqYFtKSK8bGX9mXMKX71OmRTOrrtoa/2hWLoQghfWMSMwYD9sESJgyAQWV2G+g97paNeOVZZ7QhMIeqOAJQ==","shasum":"42b673120ba629f025bb17cb32fba6c35081e950","tarball":"https://registry.npmjs.org/@vuedx/vue-virtual-textdocument/-/vue-virtual-textdocument-0.7.5-next-1647768616.0.tgz","fileCount":8,"unpackedSize":220431,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiNvQ8ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrSkxAAlM2tVTCCxu66MnJNIImFGjXP6sod7j3lieie2svx8iAnqfOn\r\nMWyv6DRCKQAt+vrjo/+2M/dI8rCFFQQImDy1aazm+gPjQp3vSDlfqXcgXEAW\r\n3EH0eAeS4XX+G8Z/FJpCSfmXbjmBmNSBSOd6203eSlLBVoPUkwpjbmaK0bkM\r\ncUqH4r8WqnQz6NWzEHL8MQHmwFeqnfemJYUO3ffA+RuwgZELtv14Uzyu+NXX\r\n08cLK/AuB3UCiVjVzJDaLy+P5Wm3ZBU4PZxoysJ6Yjbt3X5uPvYiBjxu5cTF\r\noGoW7Tm8aPp4kfsF7UaDS0m5FVMUED4d2TVkU2o5/8pifhKFTU1yaxfymDvs\r\nob4kb4r73cm+1+tmI+SS4H6pwLnBFsBoBUyViBBZSz3/OCVtqdUI3l3KXIRu\r\nWZgNhHS06qzQM+jxH2QMh6jqZeku48IvadkJQHarRfeJQJloGRS90dfqSZnM\r\nNmXbUO1IALCScgcLLNhJua2Rxtk+BKeXmzEtwhwIXxN2C6Wvdz2+uAjAGe13\r\nup127vvcH8z4MkfBLOyQy5FlNe2Z8Fu2IhIm28WTRSZ/Mulaj6Hi9m9WxmIK\r\nwLzCmEcXkIS/DS28VtgpRuTATX8J6Ra/M12dIJwhOXb9YTSRXqi1XlscpEUD\r\nZz7MJdNs3kD2xB/JFMtYTsQkzfc8sBv4Ntw=\r\n=3zGr\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIEsOtVpxd7hMHCwHsFkZQuDsu8pUszByOyZ6+MhxQ95uAiEAxG3imQf1eNsURgUOqD2Vkuk7hyKGWGxLP7GCx+7dSoo="}]},"_npmUser":{"name":"znck","email":"rahulkdn@gmail.com"},"directories":{},"maintainers":[{"name":"znck","email":"rahulkdn@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/vue-virtual-textdocument_0.7.5-next-1647768616.0_1647768636761_0.15871370312484778"},"_hasShrinkwrap":false},"0.7.5-next-1647933433.0":{"name":"@vuedx/vue-virtual-textdocument","version":"0.7.5-next-1647933433.0","description":"A virtual filesystem to access blocks in SFC as files","main":"lib/index.js","module":"lib/index.mjs","types":"lib/index.d.ts","publishConfig":{"types":"lib/index.d.ts"},"private":false,"keywords":["vue","vue sfc","sfc","vue virtual files"],"repository":{"type":"git","url":"git+https://github.com/znck/vue-developer-experience.git"},"author":{"name":"Rahul Kadyan","email":"rahulkdn@gmail.com","url":"https://znck.me/"},"funding":{"type":"individual","url":"https://github.com/sponsors/znck"},"license":"MIT","bugs":{"url":"https://github.com/znck/vue-developer-experience/issues"},"homepage":"https://github.com/znck/vue-developer-experience#readme","dependencies":{"@vuedx/compiler-sfc":"0.7.2-next-1647933433.0","@vuedx/compiler-tsx":"0.7.5-next-1647933433.0","@vuedx/shared":"0.7.4-next-1647933433.0","@vuedx/template-ast-types":"0.7.3-next-1647933433.0","@vuedx/transforms":"0.7.5-next-1647933433.0","source-map":"^0.6.1","vscode-languageserver-textdocument":"^1.0.1","vscode-uri":"^2.1.2"},"devDependencies":{"typescript":"^4.0.3"},"scripts":{},"readme":"# Vue Virtual TextDocument\n\nAn implementation of virtual filesystem for accessing blocks in a `.vue` file as independent files.\n\n## Support\n\nThis package is part of [VueDX project](https://github.com/znck/vue-developer-experience), maintained by [Rahul Kadyan](https://github.com/znck). You can [💖 sponsor him](https://github.com/sponsors/znck) for continued development of this package and other VueDX tools.\n\n```\nnpm add @vuedx/vue-virtual-textdocument\n```\n<!-- #region API-DOCS -->\n<!-- Do not edit this file. It is a report generated by [scripts/docgen.js](https://github.com/znck/vue-developer-experience/tree/main/scripts/docgen.js). -->\n\n## API\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-AsyncDocumentStore-class\" id=\"-vuedx-vue-virtual-textdocument-AsyncDocumentStore-class\"></a>\n\n### [AsyncDocumentStore](#-vuedx-vue-virtual-textdocument-AsyncDocumentStore-class)\n\n\n\n<details><summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare class AsyncDocumentStore<T> extends DocumentStore<T> {\n  constructor(resolve: (uri: string) => T | Promise<T | null> | null, normalize?: (uri: string) => string);\n  get(uri: string): T | null;\n  get(uri: string): Promise<T | null>;\n}\n```\n\n**Members:**\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-AsyncDocumentStore-get-member-1-\" id=\"-vuedx-vue-virtual-textdocument-AsyncDocumentStore-get-member-1-\"></a>\n\n#### [get](#-vuedx-vue-virtual-textdocument-AsyncDocumentStore-get-member-1-)\n\n\n\n**Signature:**\n```ts\nget(uri: string): T | null;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-AsyncDocumentStore-get-member-2-\" id=\"-vuedx-vue-virtual-textdocument-AsyncDocumentStore-get-member-2-\"></a>\n\n#### [get](#-vuedx-vue-virtual-textdocument-AsyncDocumentStore-get-member-2-)\n\n\n\n**Signature:**\n```ts\nget(uri: string): Promise<T | null>;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n\n<br>\n</details>\n\n<br>\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-class\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-class\"></a>\n\n### [DocumentStore](#-vuedx-vue-virtual-textdocument-DocumentStore-class)\n\n\n\n<details><summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare class DocumentStore<T> {\n  constructor(resolve: (uri: string) => T | null, normalize?: (uri: string) => string);\n  all(): string[];\n  delete(uri: string): boolean;\n  dispose(): void;\n  get(uri: string): T | null;\n  protected getNormalizedUri(uri: string): string;\n  has(uri: string): boolean;\n  protected map: Map<string, T>;\n  normalize: (uri: string) => string;\n  protected resolve: (uri: string) => T | null;\n  protected reverseUriMap: Map<string, string>;\n  set(uri: string, document: T): void;\n}\n```\n\n**Members:**\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-all-member-1-\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-all-member-1-\"></a>\n\n#### [all](#-vuedx-vue-virtual-textdocument-DocumentStore-all-member-1-)\n\n\n\n**Signature:**\n```ts\nall(): string[];\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-delete-member-1-\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-delete-member-1-\"></a>\n\n#### [delete](#-vuedx-vue-virtual-textdocument-DocumentStore-delete-member-1-)\n\n\n\n**Signature:**\n```ts\ndelete(uri: string): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-dispose-member-1-\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-dispose-member-1-\"></a>\n\n#### [dispose](#-vuedx-vue-virtual-textdocument-DocumentStore-dispose-member-1-)\n\n\n\n**Signature:**\n```ts\ndispose(): void;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-get-member-1-\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-get-member-1-\"></a>\n\n#### [get](#-vuedx-vue-virtual-textdocument-DocumentStore-get-member-1-)\n\n\n\n**Signature:**\n```ts\nget(uri: string): T | null;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-getNormalizedUri-member-1-\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-getNormalizedUri-member-1-\"></a>\n\n#### [getNormalizedUri](#-vuedx-vue-virtual-textdocument-DocumentStore-getNormalizedUri-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected getNormalizedUri(uri: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-has-member-1-\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-has-member-1-\"></a>\n\n#### [has](#-vuedx-vue-virtual-textdocument-DocumentStore-has-member-1-)\n\n\n\n**Signature:**\n```ts\nhas(uri: string): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-set-member-1-\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-set-member-1-\"></a>\n\n#### [set](#-vuedx-vue-virtual-textdocument-DocumentStore-set-member-1-)\n\n\n\n**Signature:**\n```ts\nset(uri: string, document: T): void;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n| document | <code>T</code> | - |\n\n<br>\n</details>\n\n<br>\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-class\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-class\"></a>\n\n### [RenderFunctionTextDocument](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-class)\n\n\n\n<details><summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare class RenderFunctionTextDocument extends TransformedBlockTextDocument {\n  constructor(container: VueTextDocument, selector: Selector, transformed: TextDocument, source: TextDocument);\n  get ast(): CodegenResult['ast'] | undefined;\n  get contextCompletionsTriggerOffset(): number;\n  static create(options: CreateVirtualTextDocumentOptions): RenderFunctionTextDocument;\n  findExpression(offset: number, length: number): undefined | {\n        offset: number;\n        length: number;\n    };\n  protected generate(): string;\n  getAllGeneratedOffsetsAt(offset: number): undefined | Array<{\n        length: number;\n        offset: number;\n    }>;\n  getGeneratedOffsetAt(offset: number): undefined | {\n        length: number;\n        offset: number;\n    };\n  protected getKnownComponents(): Record<string, ComponentImport>;\n  getOriginalOffsetAt(offset: number): undefined | {\n        offset: number;\n        length: number;\n    };\n  isInGeneratedRange(offset: number): boolean;\n  isInTemplateIdentifierRange(offset: number): boolean;\n  get parserErrors(): CodegenResult['errors'];\n  get tagCompletionsTriggerOffset(): number;\n  toDisplayMappings(): string;\n  protected tryGenerate(): string;\n}\n```\n\n**Members:**\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-create-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-create-member-1-\"></a>\n\n#### [create](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-create-member-1-)\n\n\n\n**Signature:**\n```ts\nstatic create(options: CreateVirtualTextDocumentOptions): RenderFunctionTextDocument;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| options | <code><a href=\"#-vuedx-vue-virtual-textdocument--CreateVirtualTextDocumentOptions-interface\">CreateVirtualTextDocumentOptions</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-findExpression-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-findExpression-member-1-\"></a>\n\n#### [findExpression](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-findExpression-member-1-)\n\n\n\n**Signature:**\n```ts\nfindExpression(offset: number, length: number): undefined | {\n        offset: number;\n        length: number;\n    };\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n| length | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-generate-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-generate-member-1-\"></a>\n\n#### [generate](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-generate-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected generate(): string;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getAllGeneratedOffsetsAt-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getAllGeneratedOffsetsAt-member-1-\"></a>\n\n#### [getAllGeneratedOffsetsAt](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getAllGeneratedOffsetsAt-member-1-)\n\n\n\n**Signature:**\n```ts\ngetAllGeneratedOffsetsAt(offset: number): undefined | Array<{\n        length: number;\n        offset: number;\n    }>;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getGeneratedOffsetAt-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getGeneratedOffsetAt-member-1-\"></a>\n\n#### [getGeneratedOffsetAt](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getGeneratedOffsetAt-member-1-)\n\n\n\n**Signature:**\n```ts\ngetGeneratedOffsetAt(offset: number): undefined | {\n        length: number;\n        offset: number;\n    };\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getKnownComponents-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getKnownComponents-member-1-\"></a>\n\n#### [getKnownComponents](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getKnownComponents-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected getKnownComponents(): Record<string, ComponentImport>;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getOriginalOffsetAt-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getOriginalOffsetAt-member-1-\"></a>\n\n#### [getOriginalOffsetAt](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getOriginalOffsetAt-member-1-)\n\n\n\n**Signature:**\n```ts\ngetOriginalOffsetAt(offset: number): undefined | {\n        offset: number;\n        length: number;\n    };\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-isInGeneratedRange-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-isInGeneratedRange-member-1-\"></a>\n\n#### [isInGeneratedRange](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-isInGeneratedRange-member-1-)\n\n\n\n**Signature:**\n```ts\nisInGeneratedRange(offset: number): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-isInTemplateIdentifierRange-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-isInTemplateIdentifierRange-member-1-\"></a>\n\n#### [isInTemplateIdentifierRange](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-isInTemplateIdentifierRange-member-1-)\n\n\n\n**Signature:**\n```ts\nisInTemplateIdentifierRange(offset: number): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-toDisplayMappings-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-toDisplayMappings-member-1-\"></a>\n\n#### [toDisplayMappings](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-toDisplayMappings-member-1-)\n\n\n\n**Signature:**\n```ts\ntoDisplayMappings(): string;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-tryGenerate-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-tryGenerate-member-1-\"></a>\n\n#### [tryGenerate](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-tryGenerate-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected tryGenerate(): string;\n```\n\n\n<br>\n</details>\n\n<br>\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-class\" id=\"-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-class\"></a>\n\n### [TransformedBlockTextDocument](#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-class)\n\n\n\n<details><summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare class TransformedBlockTextDocument extends VirtualTextDocument {\n  protected constructor(container: VueTextDocument, selector: Selector, transformed: TextDocument, source: TextDocument | VirtualTextDocument, _transform: (document: TransformedBlockTextDocument) => BlockTransformResult);\n  static create(options: CreateTransformedBlockTextDocumentOptions): TransformedBlockTextDocument;\n  protected refresh(): void;\n  transform(): BlockTransformResult;\n  tryGetGeneratedOffset(offset: number): number | undefined;\n  tryGetSourceOffset(offset: number): number | undefined;\n}\n```\n\n**Members:**\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-create-member-1-\" id=\"-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-create-member-1-\"></a>\n\n#### [create](#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-create-member-1-)\n\n\n\n**Signature:**\n```ts\nstatic create(options: CreateTransformedBlockTextDocumentOptions): TransformedBlockTextDocument;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| options | <code><a href=\"#-vuedx-vue-virtual-textdocument--CreateTransformedBlockTextDocumentOptions-interface\">CreateTransformedBlockTextDocumentOptions</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-refresh-member-1-\" id=\"-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-refresh-member-1-\"></a>\n\n#### [refresh](#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-refresh-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected refresh(): void;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-transform-member-1-\" id=\"-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-transform-member-1-\"></a>\n\n#### [transform](#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-transform-member-1-)\n\n\n\n**Signature:**\n```ts\ntransform(): BlockTransformResult;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-tryGetGeneratedOffset-member-1-\" id=\"-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-tryGetGeneratedOffset-member-1-\"></a>\n\n#### [tryGetGeneratedOffset](#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-tryGetGeneratedOffset-member-1-)\n\n\n\n**Signature:**\n```ts\ntryGetGeneratedOffset(offset: number): number | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-tryGetSourceOffset-member-1-\" id=\"-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-tryGetSourceOffset-member-1-\"></a>\n\n#### [tryGetSourceOffset](#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-tryGetSourceOffset-member-1-)\n\n\n\n**Signature:**\n```ts\ntryGetSourceOffset(offset: number): number | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n</details>\n\n<br>\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VirtualTextDocument-class\" id=\"-vuedx-vue-virtual-textdocument-VirtualTextDocument-class\"></a>\n\n### [VirtualTextDocument](#-vuedx-vue-virtual-textdocument-VirtualTextDocument-class)\n\n\n\n<details><summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare class VirtualTextDocument extends ProxyTextDocument {\n  protected constructor(container: VueTextDocument, selector: Selector, doc: TextDocument);\n  readonly container: VueTextDocument;\n  static create(options: CreateVirtualTextDocumentOptions): VirtualTextDocument;\n  protected isDirty: boolean;\n  markDirty(): void;\n  protected refresh(): void;\n  readonly selector: Selector;\n}\n```\n\n**Members:**\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VirtualTextDocument-create-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VirtualTextDocument-create-member-1-\"></a>\n\n#### [create](#-vuedx-vue-virtual-textdocument-VirtualTextDocument-create-member-1-)\n\n\n\n**Signature:**\n```ts\nstatic create(options: CreateVirtualTextDocumentOptions): VirtualTextDocument;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| options | <code><a href=\"#-vuedx-vue-virtual-textdocument--CreateVirtualTextDocumentOptions-interface\">CreateVirtualTextDocumentOptions</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VirtualTextDocument-markDirty-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VirtualTextDocument-markDirty-member-1-\"></a>\n\n#### [markDirty](#-vuedx-vue-virtual-textdocument-VirtualTextDocument-markDirty-member-1-)\n\n\n\n**Signature:**\n```ts\nmarkDirty(): void;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VirtualTextDocument-refresh-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VirtualTextDocument-refresh-member-1-\"></a>\n\n#### [refresh](#-vuedx-vue-virtual-textdocument-VirtualTextDocument-refresh-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected refresh(): void;\n```\n\n\n<br>\n</details>\n\n<br>\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-class\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-class\"></a>\n\n### [VueTextDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-class)\n\n\n\n<details><summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare class VueTextDocument extends ProxyTextDocument {\n  constructor(doc: TextDocument, options?: VueTextDocumentOptions, parseOptions?: SFCParseOptions);\n  all(): VirtualTextDocument[];\n  blockAt(position: Position | number): SFCBlock | null | undefined;\n  static create(uri: string, languageId: string, version: number, content: string, options?: VueTextDocumentOptions, parseOptions?: SFCParseOptions): VueTextDocument;\n  protected createBlockDocument(selector: BlockSelector): VirtualTextDocument | undefined;\n  protected createInternalModuleDocument(): TransformedBlockTextDocument;\n  protected createModuleDocument(): TransformedBlockTextDocument;\n  protected createRenderDocument(): RenderFunctionTextDocument;\n  protected createTemplateASTDocument(): TransformedBlockTextDocument;\n  get descriptor(): SFCDescriptor;\n  documentAt(position: Position | number): VirtualTextDocument | undefined;\n  getBlock(selector: BlockSelector): SFCBlock | null | undefined;\n  getBlockSelector(block: SFCBlock): BlockSelector | undefined;\n  getDocument(selector: typeof RENDER_SELECTOR): RenderFunctionTextDocument;\n  getDocument(selector: SelectorLike): VirtualTextDocument;\n  getDocument(selector: string): VirtualTextDocument | undefined;\n  getDocumentFileName(selectorLike: SelectorLike): string;\n  protected getDocumentId(selector: Selector): string;\n  protected getDocumentLanguage(selector: Selector): string;\n  markDirty(): void;\n  readonly options: VueTextDocumentOptions;\n  protected parse(): void;\n  static update(document: VueTextDocument, changes: TextDocumentContentChangeEvent[], version: number): VueTextDocument;\n}\n```\n\n**Members:**\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-all-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-all-member-1-\"></a>\n\n#### [all](#-vuedx-vue-virtual-textdocument-VueTextDocument-all-member-1-)\n\n\n\n**Signature:**\n```ts\nall(): VirtualTextDocument[];\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-blockAt-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-blockAt-member-1-\"></a>\n\n#### [blockAt](#-vuedx-vue-virtual-textdocument-VueTextDocument-blockAt-member-1-)\n\n\n\n**Signature:**\n```ts\nblockAt(position: Position | number): SFCBlock | null | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| position | <code><a href=\"#vscode-languageserver-textdocument-Position-interface\">Position</a> &#124; number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-create-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-create-member-1-\"></a>\n\n#### [create](#-vuedx-vue-virtual-textdocument-VueTextDocument-create-member-1-)\n\n\n\n**Signature:**\n```ts\nstatic create(uri: string, languageId: string, version: number, content: string, options?: VueTextDocumentOptions, parseOptions?: SFCParseOptions): VueTextDocument;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n| languageId | <code>string</code> | - |\n| version | <code>number</code> | - |\n| content | <code>string</code> | - |\n| options | <code><a href=\"#-vuedx-vue-virtual-textdocument--VueTextDocumentOptions-interface\">VueTextDocumentOptions</a></code> | - |\n| parseOptions | <code><a href=\"#-vue-compiler-sfc-SFCParseOptions-interface\">SFCParseOptions</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-createBlockDocument-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-createBlockDocument-member-1-\"></a>\n\n#### [createBlockDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-createBlockDocument-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected createBlockDocument(selector: BlockSelector): VirtualTextDocument | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selector | <code><a href=\"#-vuedx-vue-virtual-textdocument--BlockSelector-type\">BlockSelector</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-createInternalModuleDocument-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-createInternalModuleDocument-member-1-\"></a>\n\n#### [createInternalModuleDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-createInternalModuleDocument-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected createInternalModuleDocument(): TransformedBlockTextDocument;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-createModuleDocument-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-createModuleDocument-member-1-\"></a>\n\n#### [createModuleDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-createModuleDocument-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected createModuleDocument(): TransformedBlockTextDocument;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-createRenderDocument-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-createRenderDocument-member-1-\"></a>\n\n#### [createRenderDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-createRenderDocument-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected createRenderDocument(): RenderFunctionTextDocument;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-createTemplateASTDocument-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-createTemplateASTDocument-member-1-\"></a>\n\n#### [createTemplateASTDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-createTemplateASTDocument-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected createTemplateASTDocument(): TransformedBlockTextDocument;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-documentAt-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-documentAt-member-1-\"></a>\n\n#### [documentAt](#-vuedx-vue-virtual-textdocument-VueTextDocument-documentAt-member-1-)\n\n\n\n**Signature:**\n```ts\ndocumentAt(position: Position | number): VirtualTextDocument | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| position | <code><a href=\"#vscode-languageserver-textdocument-Position-interface\">Position</a> &#124; number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getBlock-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getBlock-member-1-\"></a>\n\n#### [getBlock](#-vuedx-vue-virtual-textdocument-VueTextDocument-getBlock-member-1-)\n\n\n\n**Signature:**\n```ts\ngetBlock(selector: BlockSelector): SFCBlock | null | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selector | <code><a href=\"#-vuedx-vue-virtual-textdocument--BlockSelector-type\">BlockSelector</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getBlockSelector-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getBlockSelector-member-1-\"></a>\n\n#### [getBlockSelector](#-vuedx-vue-virtual-textdocument-VueTextDocument-getBlockSelector-member-1-)\n\n\n\n**Signature:**\n```ts\ngetBlockSelector(block: SFCBlock): BlockSelector | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| block | <code><a href=\"#-vue-compiler-sfc-SFCBlock-interface\">SFCBlock</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-1-\"></a>\n\n#### [getDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-1-)\n\n\n\n**Signature:**\n```ts\ngetDocument(selector: typeof RENDER_SELECTOR): RenderFunctionTextDocument;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selector | <code>typeof <a href=\"#-vuedx-vue-virtual-textdocument--RENDER-SELECTOR-var\">RENDER_SELECTOR</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-2-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-2-\"></a>\n\n#### [getDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-2-)\n\n\n\n**Signature:**\n```ts\ngetDocument(selector: SelectorLike): VirtualTextDocument;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selector | <code><a href=\"#-vuedx-vue-virtual-textdocument--SelectorLike-type\">SelectorLike</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-3-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-3-\"></a>\n\n#### [getDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-3-)\n\n\n\n**Signature:**\n```ts\ngetDocument(selector: string): VirtualTextDocument | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selector | <code>string</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentFileName-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentFileName-member-1-\"></a>\n\n#### [getDocumentFileName](#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentFileName-member-1-)\n\n\n\n**Signature:**\n```ts\ngetDocumentFileName(selectorLike: SelectorLike): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selectorLike | <code><a href=\"#-vuedx-vue-virtual-textdocument--SelectorLike-type\">SelectorLike</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentId-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentId-member-1-\"></a>\n\n#### [getDocumentId](#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentId-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected getDocumentId(selector: Selector): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selector | <code><a href=\"#-vuedx-vue-virtual-textdocument--Selector-type\">Selector</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentLanguage-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentLanguage-member-1-\"></a>\n\n#### [getDocumentLanguage](#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentLanguage-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected getDocumentLanguage(selector: Selector): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selector | <code><a href=\"#-vuedx-vue-virtual-textdocument--Selector-type\">Selector</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-markDirty-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-markDirty-member-1-\"></a>\n\n#### [markDirty](#-vuedx-vue-virtual-textdocument-VueTextDocument-markDirty-member-1-)\n\n\n\n**Signature:**\n```ts\nmarkDirty(): void;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-parse-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-parse-member-1-\"></a>\n\n#### [parse](#-vuedx-vue-virtual-textdocument-VueTextDocument-parse-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected parse(): void;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-update-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-update-member-1-\"></a>\n\n#### [update](#-vuedx-vue-virtual-textdocument-VueTextDocument-update-member-1-)\n\n\n\n**Signature:**\n```ts\nstatic update(document: VueTextDocument, changes: TextDocumentContentChangeEvent[], version: number): VueTextDocument;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| document | <code><a href=\"#-vuedx-vue-virtual-textdocument--VueTextDocument-class\">VueTextDocument</a></code> | - |\n| changes | <code><a href=\"#vscode-languageserver-textdocument-TextDocumentContentChangeEvent-type\">TextDocumentContentChangeEvent</a>[]</code> | - |\n| version | <code>number</code> | - |\n\n<br>\n</details>\n\n<br>\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-asFsPath-function-1-\" id=\"-vuedx-vue-virtual-textdocument-asFsPath-function-1-\"></a>\n\n### [asFsPath](#-vuedx-vue-virtual-textdocument-asFsPath-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function asFsPath(uri: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-asFsUri-function-1-\" id=\"-vuedx-vue-virtual-textdocument-asFsUri-function-1-\"></a>\n\n### [asFsUri](#-vuedx-vue-virtual-textdocument-asFsUri-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function asFsUri(fileName: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-asUri-function-1-\" id=\"-vuedx-vue-virtual-textdocument-asUri-function-1-\"></a>\n\n### [asUri](#-vuedx-vue-virtual-textdocument-asUri-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function asUri(fileNameOrUri: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileNameOrUri | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-basename-function-1-\" id=\"-vuedx-vue-virtual-textdocument-basename-function-1-\"></a>\n\n### [basename](#-vuedx-vue-virtual-textdocument-basename-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function basename(fileName: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-binarySearch-function-1-\" id=\"-vuedx-vue-virtual-textdocument-binarySearch-function-1-\"></a>\n\n### [binarySearch](#-vuedx-vue-virtual-textdocument-binarySearch-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function binarySearch<T>(array: T[], isMatch: (a: T) => number, returnMin?: boolean): T | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| array | <code>T[]</code> | - |\n| isMatch | <code>(a: T) => number</code> | - |\n| returnMin | <code>boolean</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-getBlockLanguage-function-1-\" id=\"-vuedx-vue-virtual-textdocument-getBlockLanguage-function-1-\"></a>\n\n### [getBlockLanguage](#-vuedx-vue-virtual-textdocument-getBlockLanguage-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function getBlockLanguage(block?: SFCBlock | null): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| block | <code><a href=\"#-vue-compiler-sfc-SFCBlock-interface\">SFCBlock</a> &#124; null</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-getContainingFile-function-1-\" id=\"-vuedx-vue-virtual-textdocument-getContainingFile-function-1-\"></a>\n\n### [getContainingFile](#-vuedx-vue-virtual-textdocument-getContainingFile-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function getContainingFile(fileName: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-getLanguageExtension-function-1-\" id=\"-vuedx-vue-virtual-textdocument-getLanguageExtension-function-1-\"></a>\n\n### [getLanguageExtension](#-vuedx-vue-virtual-textdocument-getLanguageExtension-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function getLanguageExtension(lang: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| lang | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-getLanguageIdFromExtension-function-1-\" id=\"-vuedx-vue-virtual-textdocument-getLanguageIdFromExtension-function-1-\"></a>\n\n### [getLanguageIdFromExtension](#-vuedx-vue-virtual-textdocument-getLanguageIdFromExtension-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function getLanguageIdFromExtension(ext: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| ext | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-isOffsetInBlock-function-1-\" id=\"-vuedx-vue-virtual-textdocument-isOffsetInBlock-function-1-\"></a>\n\n### [isOffsetInBlock](#-vuedx-vue-virtual-textdocument-isOffsetInBlock-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function isOffsetInBlock(offset: number, block?: SFCBlock | null): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n| block | <code><a href=\"#-vue-compiler-sfc-SFCBlock-interface\">SFCBlock</a> &#124; null</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-isVirtualFile-function-1-\" id=\"-vuedx-vue-virtual-textdocument-isVirtualFile-function-1-\"></a>\n\n### [isVirtualFile](#-vuedx-vue-virtual-textdocument-isVirtualFile-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function isVirtualFile(fileName: string): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-isVirtualFileOfType-function-1-\" id=\"-vuedx-vue-virtual-textdocument-isVirtualFileOfType-function-1-\"></a>\n\n### [isVirtualFileOfType](#-vuedx-vue-virtual-textdocument-isVirtualFileOfType-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function isVirtualFileOfType(fileName: string, type: '_render' | '_module' | '_internal' | 'script' | 'scriptSetup'): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n| type | <code>'_render' &#124; '_module' &#124; '_internal' &#124; 'script' &#124; 'scriptSetup'</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-isVueFile-function-1-\" id=\"-vuedx-vue-virtual-textdocument-isVueFile-function-1-\"></a>\n\n### [isVueFile](#-vuedx-vue-virtual-textdocument-isVueFile-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function isVueFile(fileName: string): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-parseVirtualFileName-function-1-\" id=\"-vuedx-vue-virtual-textdocument-parseVirtualFileName-function-1-\"></a>\n\n### [parseVirtualFileName](#-vuedx-vue-virtual-textdocument-parseVirtualFileName-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function parseVirtualFileName(fileName: string): {\n    uri: string;\n    selector: Selector;\n} | null;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-relativeVirtualImportPath-function-1-\" id=\"-vuedx-vue-virtual-textdocument-relativeVirtualImportPath-function-1-\"></a>\n\n### [relativeVirtualImportPath](#-vuedx-vue-virtual-textdocument-relativeVirtualImportPath-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function relativeVirtualImportPath(fileName: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-replaceSlashes-function-1-\" id=\"-vuedx-vue-virtual-textdocument-replaceSlashes-function-1-\"></a>\n\n### [replaceSlashes](#-vuedx-vue-virtual-textdocument-replaceSlashes-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function replaceSlashes(fileName: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n<!-- #region API-DOCS -->\n","readmeFilename":"readme.md","gitHead":"35ec24dcf4fc7e46e517f2d1eef106314ffe67bb","_id":"@vuedx/vue-virtual-textdocument@0.7.5-next-1647933433.0","_nodeVersion":"16.14.0","_npmVersion":"8.3.1","dist":{"integrity":"sha512-ihieawftMwco7a2qEDtNNoKc9+Ys0SFw8N82yuFOWyZdpJdIQv4ZRx/aEfAFS3tTvll6ckRuTCk+DQ+ElHEEmw==","shasum":"c0e6f36b40c49e6407fd1eaf8efc9a57cbe96dcd","tarball":"https://registry.npmjs.org/@vuedx/vue-virtual-textdocument/-/vue-virtual-textdocument-0.7.5-next-1647933433.0.tgz","fileCount":8,"unpackedSize":220431,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiOXgNACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmoOMQ//ahCBMBV3+vdnBoE6agM5ubVcMd+fDFQyHqcE8Ku9kfzIpf25\r\nAC4ASQOPQzUDjzko+yF2bIrbLiR6TmgaXQplwWI0hVRowMYN6WpPZARzhUMr\r\n+I4VeSKtPNfMLVzXnygKH34F0eVhs92WFKRGL7JRF00IPWtph02FqCfN5CSY\r\nzS/5llre8ZFN8HTG0tZi22xfLqRZPs/ZdBChf9a3COmYNnL7RjYPFTs43F56\r\nriCfWvjkybgbhXGmuZUqaxzfq03YwURZdX1eSu6HnIJfKf1wuq1bgDrd/wge\r\nYYMQTq6hpEom8bP6pmbpyuGrBI8BnCW3WhnnUPB7ccaBCaXcHsLRlvYexAZ4\r\nByIwJLGZ8cOQpCmIzjfFEQqfAwA2XkX1DszlMlm5KHOho6NcCLEKkEozFsui\r\nngFWhKxMjgaVnMjG16ahZyOpWdMcjdhNCO5InZTKguHp9iJ1ru685lf5BCvQ\r\n5Xjt+12L8Y4J0Y13ptSdfGFDQq2IeIddKzsz6vaYJT7ptBrRYNf5Ta5mspyF\r\n9mtQfX/MEYjG0TNKvjC3V/g+fdIPsEskXSPCAwJSxbi+VM1orwGDngmtMkij\r\nwoPNtHU8d874bGr6kbuJrdVKQxw7bxJhOpDHkqyBmUDfJL8NlNAMXTJtxpKL\r\ndT/ZnnGGJ3fWIWMA2k2R9tdMHCXwgMfv0y0=\r\n=wJw9\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDUfdgmRB8fl/siTIrXnyI/6+6TlCarC24MVNNw2EUrKwIgVao093+oHblCLrSF7p7w9BGvG/QGD4IgFakXEu+T9t8="}]},"_npmUser":{"name":"znck","email":"rahulkdn@gmail.com"},"directories":{},"maintainers":[{"name":"znck","email":"rahulkdn@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/vue-virtual-textdocument_0.7.5-next-1647933433.0_1647933453211_0.22748834362878556"},"_hasShrinkwrap":false},"0.7.5-next-1648400394.0":{"name":"@vuedx/vue-virtual-textdocument","version":"0.7.5-next-1648400394.0","description":"A virtual filesystem to access blocks in SFC as files","main":"lib/index.js","module":"lib/index.mjs","types":"lib/index.d.ts","publishConfig":{"types":"lib/index.d.ts"},"private":false,"keywords":["vue","vue sfc","sfc","vue virtual files"],"repository":{"type":"git","url":"git+https://github.com/znck/vue-developer-experience.git"},"author":{"name":"Rahul Kadyan","email":"rahulkdn@gmail.com","url":"https://znck.me/"},"funding":{"type":"individual","url":"https://github.com/sponsors/znck"},"license":"MIT","bugs":{"url":"https://github.com/znck/vue-developer-experience/issues"},"homepage":"https://github.com/znck/vue-developer-experience#readme","dependencies":{"@vuedx/compiler-sfc":"0.7.2-next-1648400394.0","@vuedx/compiler-tsx":"0.7.5-next-1648400394.0","@vuedx/shared":"0.7.4-next-1648400394.0","@vuedx/template-ast-types":"0.7.3-next-1648400394.0","@vuedx/transforms":"0.7.5-next-1648400394.0","source-map":"^0.6.1","vscode-languageserver-textdocument":"^1.0.1","vscode-uri":"^2.1.2"},"devDependencies":{"typescript":"^4.0.3"},"scripts":{},"readme":"# Vue Virtual TextDocument\n\nAn implementation of virtual filesystem for accessing blocks in a `.vue` file as independent files.\n\n## Support\n\nThis package is part of [VueDX project](https://github.com/znck/vue-developer-experience), maintained by [Rahul Kadyan](https://github.com/znck). You can [💖 sponsor him](https://github.com/sponsors/znck) for continued development of this package and other VueDX tools.\n\n```\nnpm add @vuedx/vue-virtual-textdocument\n```\n<!-- #region API-DOCS -->\n<!-- Do not edit this file. It is a report generated by [scripts/docgen.js](https://github.com/znck/vue-developer-experience/tree/main/scripts/docgen.js). -->\n\n## API\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-AsyncDocumentStore-class\" id=\"-vuedx-vue-virtual-textdocument-AsyncDocumentStore-class\"></a>\n\n### [AsyncDocumentStore](#-vuedx-vue-virtual-textdocument-AsyncDocumentStore-class)\n\n\n\n<details><summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare class AsyncDocumentStore<T> extends DocumentStore<T> {\n  constructor(resolve: (uri: string) => T | Promise<T | null> | null, normalize?: (uri: string) => string);\n  get(uri: string): T | null;\n  get(uri: string): Promise<T | null>;\n}\n```\n\n**Members:**\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-AsyncDocumentStore-get-member-1-\" id=\"-vuedx-vue-virtual-textdocument-AsyncDocumentStore-get-member-1-\"></a>\n\n#### [get](#-vuedx-vue-virtual-textdocument-AsyncDocumentStore-get-member-1-)\n\n\n\n**Signature:**\n```ts\nget(uri: string): T | null;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-AsyncDocumentStore-get-member-2-\" id=\"-vuedx-vue-virtual-textdocument-AsyncDocumentStore-get-member-2-\"></a>\n\n#### [get](#-vuedx-vue-virtual-textdocument-AsyncDocumentStore-get-member-2-)\n\n\n\n**Signature:**\n```ts\nget(uri: string): Promise<T | null>;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n\n<br>\n</details>\n\n<br>\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-class\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-class\"></a>\n\n### [DocumentStore](#-vuedx-vue-virtual-textdocument-DocumentStore-class)\n\n\n\n<details><summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare class DocumentStore<T> {\n  constructor(resolve: (uri: string) => T | null, normalize?: (uri: string) => string);\n  all(): string[];\n  delete(uri: string): boolean;\n  dispose(): void;\n  get(uri: string): T | null;\n  protected getNormalizedUri(uri: string): string;\n  has(uri: string): boolean;\n  protected map: Map<string, T>;\n  normalize: (uri: string) => string;\n  protected resolve: (uri: string) => T | null;\n  protected reverseUriMap: Map<string, string>;\n  set(uri: string, document: T): void;\n}\n```\n\n**Members:**\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-all-member-1-\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-all-member-1-\"></a>\n\n#### [all](#-vuedx-vue-virtual-textdocument-DocumentStore-all-member-1-)\n\n\n\n**Signature:**\n```ts\nall(): string[];\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-delete-member-1-\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-delete-member-1-\"></a>\n\n#### [delete](#-vuedx-vue-virtual-textdocument-DocumentStore-delete-member-1-)\n\n\n\n**Signature:**\n```ts\ndelete(uri: string): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-dispose-member-1-\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-dispose-member-1-\"></a>\n\n#### [dispose](#-vuedx-vue-virtual-textdocument-DocumentStore-dispose-member-1-)\n\n\n\n**Signature:**\n```ts\ndispose(): void;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-get-member-1-\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-get-member-1-\"></a>\n\n#### [get](#-vuedx-vue-virtual-textdocument-DocumentStore-get-member-1-)\n\n\n\n**Signature:**\n```ts\nget(uri: string): T | null;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-getNormalizedUri-member-1-\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-getNormalizedUri-member-1-\"></a>\n\n#### [getNormalizedUri](#-vuedx-vue-virtual-textdocument-DocumentStore-getNormalizedUri-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected getNormalizedUri(uri: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-has-member-1-\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-has-member-1-\"></a>\n\n#### [has](#-vuedx-vue-virtual-textdocument-DocumentStore-has-member-1-)\n\n\n\n**Signature:**\n```ts\nhas(uri: string): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-set-member-1-\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-set-member-1-\"></a>\n\n#### [set](#-vuedx-vue-virtual-textdocument-DocumentStore-set-member-1-)\n\n\n\n**Signature:**\n```ts\nset(uri: string, document: T): void;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n| document | <code>T</code> | - |\n\n<br>\n</details>\n\n<br>\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-class\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-class\"></a>\n\n### [RenderFunctionTextDocument](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-class)\n\n\n\n<details><summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare class RenderFunctionTextDocument extends TransformedBlockTextDocument {\n  constructor(container: VueTextDocument, selector: Selector, transformed: TextDocument, source: TextDocument);\n  get ast(): CodegenResult['ast'] | undefined;\n  get contextCompletionsTriggerOffset(): number;\n  static create(options: CreateVirtualTextDocumentOptions): RenderFunctionTextDocument;\n  findExpression(offset: number, length: number): undefined | {\n        offset: number;\n        length: number;\n    };\n  protected generate(): string;\n  getAllGeneratedOffsetsAt(offset: number): undefined | Array<{\n        length: number;\n        offset: number;\n    }>;\n  getGeneratedOffsetAt(offset: number): undefined | {\n        length: number;\n        offset: number;\n    };\n  protected getKnownComponents(): Record<string, ComponentImport>;\n  getOriginalOffsetAt(offset: number): undefined | {\n        offset: number;\n        length: number;\n    };\n  isInGeneratedRange(offset: number): boolean;\n  isInTemplateIdentifierRange(offset: number): boolean;\n  get parserErrors(): CodegenResult['errors'];\n  get tagCompletionsTriggerOffset(): number;\n  toDisplayMappings(): string;\n  protected tryGenerate(): string;\n}\n```\n\n**Members:**\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-create-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-create-member-1-\"></a>\n\n#### [create](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-create-member-1-)\n\n\n\n**Signature:**\n```ts\nstatic create(options: CreateVirtualTextDocumentOptions): RenderFunctionTextDocument;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| options | <code><a href=\"#-vuedx-vue-virtual-textdocument--CreateVirtualTextDocumentOptions-interface\">CreateVirtualTextDocumentOptions</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-findExpression-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-findExpression-member-1-\"></a>\n\n#### [findExpression](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-findExpression-member-1-)\n\n\n\n**Signature:**\n```ts\nfindExpression(offset: number, length: number): undefined | {\n        offset: number;\n        length: number;\n    };\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n| length | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-generate-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-generate-member-1-\"></a>\n\n#### [generate](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-generate-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected generate(): string;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getAllGeneratedOffsetsAt-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getAllGeneratedOffsetsAt-member-1-\"></a>\n\n#### [getAllGeneratedOffsetsAt](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getAllGeneratedOffsetsAt-member-1-)\n\n\n\n**Signature:**\n```ts\ngetAllGeneratedOffsetsAt(offset: number): undefined | Array<{\n        length: number;\n        offset: number;\n    }>;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getGeneratedOffsetAt-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getGeneratedOffsetAt-member-1-\"></a>\n\n#### [getGeneratedOffsetAt](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getGeneratedOffsetAt-member-1-)\n\n\n\n**Signature:**\n```ts\ngetGeneratedOffsetAt(offset: number): undefined | {\n        length: number;\n        offset: number;\n    };\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getKnownComponents-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getKnownComponents-member-1-\"></a>\n\n#### [getKnownComponents](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getKnownComponents-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected getKnownComponents(): Record<string, ComponentImport>;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getOriginalOffsetAt-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getOriginalOffsetAt-member-1-\"></a>\n\n#### [getOriginalOffsetAt](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getOriginalOffsetAt-member-1-)\n\n\n\n**Signature:**\n```ts\ngetOriginalOffsetAt(offset: number): undefined | {\n        offset: number;\n        length: number;\n    };\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-isInGeneratedRange-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-isInGeneratedRange-member-1-\"></a>\n\n#### [isInGeneratedRange](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-isInGeneratedRange-member-1-)\n\n\n\n**Signature:**\n```ts\nisInGeneratedRange(offset: number): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-isInTemplateIdentifierRange-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-isInTemplateIdentifierRange-member-1-\"></a>\n\n#### [isInTemplateIdentifierRange](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-isInTemplateIdentifierRange-member-1-)\n\n\n\n**Signature:**\n```ts\nisInTemplateIdentifierRange(offset: number): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-toDisplayMappings-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-toDisplayMappings-member-1-\"></a>\n\n#### [toDisplayMappings](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-toDisplayMappings-member-1-)\n\n\n\n**Signature:**\n```ts\ntoDisplayMappings(): string;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-tryGenerate-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-tryGenerate-member-1-\"></a>\n\n#### [tryGenerate](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-tryGenerate-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected tryGenerate(): string;\n```\n\n\n<br>\n</details>\n\n<br>\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-class\" id=\"-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-class\"></a>\n\n### [TransformedBlockTextDocument](#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-class)\n\n\n\n<details><summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare class TransformedBlockTextDocument extends VirtualTextDocument {\n  protected constructor(container: VueTextDocument, selector: Selector, transformed: TextDocument, source: TextDocument | VirtualTextDocument, _transform: (document: TransformedBlockTextDocument) => BlockTransformResult);\n  static create(options: CreateTransformedBlockTextDocumentOptions): TransformedBlockTextDocument;\n  protected refresh(): void;\n  transform(): BlockTransformResult;\n  tryGetGeneratedOffset(offset: number): number | undefined;\n  tryGetSourceOffset(offset: number): number | undefined;\n}\n```\n\n**Members:**\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-create-member-1-\" id=\"-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-create-member-1-\"></a>\n\n#### [create](#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-create-member-1-)\n\n\n\n**Signature:**\n```ts\nstatic create(options: CreateTransformedBlockTextDocumentOptions): TransformedBlockTextDocument;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| options | <code><a href=\"#-vuedx-vue-virtual-textdocument--CreateTransformedBlockTextDocumentOptions-interface\">CreateTransformedBlockTextDocumentOptions</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-refresh-member-1-\" id=\"-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-refresh-member-1-\"></a>\n\n#### [refresh](#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-refresh-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected refresh(): void;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-transform-member-1-\" id=\"-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-transform-member-1-\"></a>\n\n#### [transform](#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-transform-member-1-)\n\n\n\n**Signature:**\n```ts\ntransform(): BlockTransformResult;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-tryGetGeneratedOffset-member-1-\" id=\"-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-tryGetGeneratedOffset-member-1-\"></a>\n\n#### [tryGetGeneratedOffset](#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-tryGetGeneratedOffset-member-1-)\n\n\n\n**Signature:**\n```ts\ntryGetGeneratedOffset(offset: number): number | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-tryGetSourceOffset-member-1-\" id=\"-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-tryGetSourceOffset-member-1-\"></a>\n\n#### [tryGetSourceOffset](#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-tryGetSourceOffset-member-1-)\n\n\n\n**Signature:**\n```ts\ntryGetSourceOffset(offset: number): number | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n</details>\n\n<br>\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VirtualTextDocument-class\" id=\"-vuedx-vue-virtual-textdocument-VirtualTextDocument-class\"></a>\n\n### [VirtualTextDocument](#-vuedx-vue-virtual-textdocument-VirtualTextDocument-class)\n\n\n\n<details><summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare class VirtualTextDocument extends ProxyTextDocument {\n  protected constructor(container: VueTextDocument, selector: Selector, doc: TextDocument);\n  readonly container: VueTextDocument;\n  static create(options: CreateVirtualTextDocumentOptions): VirtualTextDocument;\n  protected isDirty: boolean;\n  markDirty(): void;\n  protected refresh(): void;\n  readonly selector: Selector;\n}\n```\n\n**Members:**\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VirtualTextDocument-create-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VirtualTextDocument-create-member-1-\"></a>\n\n#### [create](#-vuedx-vue-virtual-textdocument-VirtualTextDocument-create-member-1-)\n\n\n\n**Signature:**\n```ts\nstatic create(options: CreateVirtualTextDocumentOptions): VirtualTextDocument;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| options | <code><a href=\"#-vuedx-vue-virtual-textdocument--CreateVirtualTextDocumentOptions-interface\">CreateVirtualTextDocumentOptions</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VirtualTextDocument-markDirty-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VirtualTextDocument-markDirty-member-1-\"></a>\n\n#### [markDirty](#-vuedx-vue-virtual-textdocument-VirtualTextDocument-markDirty-member-1-)\n\n\n\n**Signature:**\n```ts\nmarkDirty(): void;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VirtualTextDocument-refresh-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VirtualTextDocument-refresh-member-1-\"></a>\n\n#### [refresh](#-vuedx-vue-virtual-textdocument-VirtualTextDocument-refresh-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected refresh(): void;\n```\n\n\n<br>\n</details>\n\n<br>\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-class\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-class\"></a>\n\n### [VueTextDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-class)\n\n\n\n<details><summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare class VueTextDocument extends ProxyTextDocument {\n  constructor(doc: TextDocument, options?: VueTextDocumentOptions, parseOptions?: SFCParseOptions);\n  all(): VirtualTextDocument[];\n  blockAt(position: Position | number): SFCBlock | null | undefined;\n  static create(uri: string, languageId: string, version: number, content: string, options?: VueTextDocumentOptions, parseOptions?: SFCParseOptions): VueTextDocument;\n  protected createBlockDocument(selector: BlockSelector): VirtualTextDocument | undefined;\n  protected createInternalModuleDocument(): TransformedBlockTextDocument;\n  protected createModuleDocument(): TransformedBlockTextDocument;\n  protected createRenderDocument(): RenderFunctionTextDocument;\n  protected createTemplateASTDocument(): TransformedBlockTextDocument;\n  get descriptor(): SFCDescriptor;\n  documentAt(position: Position | number): VirtualTextDocument | undefined;\n  getBlock(selector: BlockSelector): SFCBlock | null | undefined;\n  getBlockSelector(block: SFCBlock): BlockSelector | undefined;\n  getDocument(selector: typeof RENDER_SELECTOR): RenderFunctionTextDocument;\n  getDocument(selector: SelectorLike): VirtualTextDocument;\n  getDocument(selector: string): VirtualTextDocument | undefined;\n  getDocumentFileName(selectorLike: SelectorLike): string;\n  protected getDocumentId(selector: Selector): string;\n  protected getDocumentLanguage(selector: Selector): string;\n  markDirty(): void;\n  readonly options: VueTextDocumentOptions;\n  protected parse(): void;\n  static update(document: VueTextDocument, changes: TextDocumentContentChangeEvent[], version: number): VueTextDocument;\n}\n```\n\n**Members:**\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-all-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-all-member-1-\"></a>\n\n#### [all](#-vuedx-vue-virtual-textdocument-VueTextDocument-all-member-1-)\n\n\n\n**Signature:**\n```ts\nall(): VirtualTextDocument[];\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-blockAt-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-blockAt-member-1-\"></a>\n\n#### [blockAt](#-vuedx-vue-virtual-textdocument-VueTextDocument-blockAt-member-1-)\n\n\n\n**Signature:**\n```ts\nblockAt(position: Position | number): SFCBlock | null | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| position | <code><a href=\"#vscode-languageserver-textdocument-Position-interface\">Position</a> &#124; number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-create-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-create-member-1-\"></a>\n\n#### [create](#-vuedx-vue-virtual-textdocument-VueTextDocument-create-member-1-)\n\n\n\n**Signature:**\n```ts\nstatic create(uri: string, languageId: string, version: number, content: string, options?: VueTextDocumentOptions, parseOptions?: SFCParseOptions): VueTextDocument;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n| languageId | <code>string</code> | - |\n| version | <code>number</code> | - |\n| content | <code>string</code> | - |\n| options | <code><a href=\"#-vuedx-vue-virtual-textdocument--VueTextDocumentOptions-interface\">VueTextDocumentOptions</a></code> | - |\n| parseOptions | <code><a href=\"#-vue-compiler-sfc-SFCParseOptions-interface\">SFCParseOptions</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-createBlockDocument-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-createBlockDocument-member-1-\"></a>\n\n#### [createBlockDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-createBlockDocument-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected createBlockDocument(selector: BlockSelector): VirtualTextDocument | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selector | <code><a href=\"#-vuedx-vue-virtual-textdocument--BlockSelector-type\">BlockSelector</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-createInternalModuleDocument-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-createInternalModuleDocument-member-1-\"></a>\n\n#### [createInternalModuleDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-createInternalModuleDocument-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected createInternalModuleDocument(): TransformedBlockTextDocument;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-createModuleDocument-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-createModuleDocument-member-1-\"></a>\n\n#### [createModuleDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-createModuleDocument-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected createModuleDocument(): TransformedBlockTextDocument;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-createRenderDocument-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-createRenderDocument-member-1-\"></a>\n\n#### [createRenderDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-createRenderDocument-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected createRenderDocument(): RenderFunctionTextDocument;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-createTemplateASTDocument-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-createTemplateASTDocument-member-1-\"></a>\n\n#### [createTemplateASTDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-createTemplateASTDocument-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected createTemplateASTDocument(): TransformedBlockTextDocument;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-documentAt-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-documentAt-member-1-\"></a>\n\n#### [documentAt](#-vuedx-vue-virtual-textdocument-VueTextDocument-documentAt-member-1-)\n\n\n\n**Signature:**\n```ts\ndocumentAt(position: Position | number): VirtualTextDocument | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| position | <code><a href=\"#vscode-languageserver-textdocument-Position-interface\">Position</a> &#124; number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getBlock-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getBlock-member-1-\"></a>\n\n#### [getBlock](#-vuedx-vue-virtual-textdocument-VueTextDocument-getBlock-member-1-)\n\n\n\n**Signature:**\n```ts\ngetBlock(selector: BlockSelector): SFCBlock | null | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selector | <code><a href=\"#-vuedx-vue-virtual-textdocument--BlockSelector-type\">BlockSelector</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getBlockSelector-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getBlockSelector-member-1-\"></a>\n\n#### [getBlockSelector](#-vuedx-vue-virtual-textdocument-VueTextDocument-getBlockSelector-member-1-)\n\n\n\n**Signature:**\n```ts\ngetBlockSelector(block: SFCBlock): BlockSelector | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| block | <code><a href=\"#-vue-compiler-sfc-SFCBlock-interface\">SFCBlock</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-1-\"></a>\n\n#### [getDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-1-)\n\n\n\n**Signature:**\n```ts\ngetDocument(selector: typeof RENDER_SELECTOR): RenderFunctionTextDocument;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selector | <code>typeof <a href=\"#-vuedx-vue-virtual-textdocument--RENDER-SELECTOR-var\">RENDER_SELECTOR</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-2-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-2-\"></a>\n\n#### [getDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-2-)\n\n\n\n**Signature:**\n```ts\ngetDocument(selector: SelectorLike): VirtualTextDocument;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selector | <code><a href=\"#-vuedx-vue-virtual-textdocument--SelectorLike-type\">SelectorLike</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-3-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-3-\"></a>\n\n#### [getDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-3-)\n\n\n\n**Signature:**\n```ts\ngetDocument(selector: string): VirtualTextDocument | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selector | <code>string</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentFileName-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentFileName-member-1-\"></a>\n\n#### [getDocumentFileName](#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentFileName-member-1-)\n\n\n\n**Signature:**\n```ts\ngetDocumentFileName(selectorLike: SelectorLike): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selectorLike | <code><a href=\"#-vuedx-vue-virtual-textdocument--SelectorLike-type\">SelectorLike</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentId-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentId-member-1-\"></a>\n\n#### [getDocumentId](#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentId-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected getDocumentId(selector: Selector): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selector | <code><a href=\"#-vuedx-vue-virtual-textdocument--Selector-type\">Selector</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentLanguage-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentLanguage-member-1-\"></a>\n\n#### [getDocumentLanguage](#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentLanguage-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected getDocumentLanguage(selector: Selector): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selector | <code><a href=\"#-vuedx-vue-virtual-textdocument--Selector-type\">Selector</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-markDirty-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-markDirty-member-1-\"></a>\n\n#### [markDirty](#-vuedx-vue-virtual-textdocument-VueTextDocument-markDirty-member-1-)\n\n\n\n**Signature:**\n```ts\nmarkDirty(): void;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-parse-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-parse-member-1-\"></a>\n\n#### [parse](#-vuedx-vue-virtual-textdocument-VueTextDocument-parse-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected parse(): void;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-update-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-update-member-1-\"></a>\n\n#### [update](#-vuedx-vue-virtual-textdocument-VueTextDocument-update-member-1-)\n\n\n\n**Signature:**\n```ts\nstatic update(document: VueTextDocument, changes: TextDocumentContentChangeEvent[], version: number): VueTextDocument;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| document | <code><a href=\"#-vuedx-vue-virtual-textdocument--VueTextDocument-class\">VueTextDocument</a></code> | - |\n| changes | <code><a href=\"#vscode-languageserver-textdocument-TextDocumentContentChangeEvent-type\">TextDocumentContentChangeEvent</a>[]</code> | - |\n| version | <code>number</code> | - |\n\n<br>\n</details>\n\n<br>\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-asFsPath-function-1-\" id=\"-vuedx-vue-virtual-textdocument-asFsPath-function-1-\"></a>\n\n### [asFsPath](#-vuedx-vue-virtual-textdocument-asFsPath-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function asFsPath(uri: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-asFsUri-function-1-\" id=\"-vuedx-vue-virtual-textdocument-asFsUri-function-1-\"></a>\n\n### [asFsUri](#-vuedx-vue-virtual-textdocument-asFsUri-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function asFsUri(fileName: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-asUri-function-1-\" id=\"-vuedx-vue-virtual-textdocument-asUri-function-1-\"></a>\n\n### [asUri](#-vuedx-vue-virtual-textdocument-asUri-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function asUri(fileNameOrUri: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileNameOrUri | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-basename-function-1-\" id=\"-vuedx-vue-virtual-textdocument-basename-function-1-\"></a>\n\n### [basename](#-vuedx-vue-virtual-textdocument-basename-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function basename(fileName: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-binarySearch-function-1-\" id=\"-vuedx-vue-virtual-textdocument-binarySearch-function-1-\"></a>\n\n### [binarySearch](#-vuedx-vue-virtual-textdocument-binarySearch-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function binarySearch<T>(array: T[], isMatch: (a: T) => number, returnMin?: boolean): T | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| array | <code>T[]</code> | - |\n| isMatch | <code>(a: T) => number</code> | - |\n| returnMin | <code>boolean</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-getBlockLanguage-function-1-\" id=\"-vuedx-vue-virtual-textdocument-getBlockLanguage-function-1-\"></a>\n\n### [getBlockLanguage](#-vuedx-vue-virtual-textdocument-getBlockLanguage-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function getBlockLanguage(block?: SFCBlock | null): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| block | <code><a href=\"#-vue-compiler-sfc-SFCBlock-interface\">SFCBlock</a> &#124; null</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-getContainingFile-function-1-\" id=\"-vuedx-vue-virtual-textdocument-getContainingFile-function-1-\"></a>\n\n### [getContainingFile](#-vuedx-vue-virtual-textdocument-getContainingFile-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function getContainingFile(fileName: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-getLanguageExtension-function-1-\" id=\"-vuedx-vue-virtual-textdocument-getLanguageExtension-function-1-\"></a>\n\n### [getLanguageExtension](#-vuedx-vue-virtual-textdocument-getLanguageExtension-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function getLanguageExtension(lang: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| lang | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-getLanguageIdFromExtension-function-1-\" id=\"-vuedx-vue-virtual-textdocument-getLanguageIdFromExtension-function-1-\"></a>\n\n### [getLanguageIdFromExtension](#-vuedx-vue-virtual-textdocument-getLanguageIdFromExtension-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function getLanguageIdFromExtension(ext: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| ext | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-isOffsetInBlock-function-1-\" id=\"-vuedx-vue-virtual-textdocument-isOffsetInBlock-function-1-\"></a>\n\n### [isOffsetInBlock](#-vuedx-vue-virtual-textdocument-isOffsetInBlock-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function isOffsetInBlock(offset: number, block?: SFCBlock | null): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n| block | <code><a href=\"#-vue-compiler-sfc-SFCBlock-interface\">SFCBlock</a> &#124; null</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-isVirtualFile-function-1-\" id=\"-vuedx-vue-virtual-textdocument-isVirtualFile-function-1-\"></a>\n\n### [isVirtualFile](#-vuedx-vue-virtual-textdocument-isVirtualFile-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function isVirtualFile(fileName: string): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-isVirtualFileOfType-function-1-\" id=\"-vuedx-vue-virtual-textdocument-isVirtualFileOfType-function-1-\"></a>\n\n### [isVirtualFileOfType](#-vuedx-vue-virtual-textdocument-isVirtualFileOfType-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function isVirtualFileOfType(fileName: string, type: '_render' | '_module' | '_internal' | 'script' | 'scriptSetup'): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n| type | <code>'_render' &#124; '_module' &#124; '_internal' &#124; 'script' &#124; 'scriptSetup'</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-isVueFile-function-1-\" id=\"-vuedx-vue-virtual-textdocument-isVueFile-function-1-\"></a>\n\n### [isVueFile](#-vuedx-vue-virtual-textdocument-isVueFile-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function isVueFile(fileName: string): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-parseVirtualFileName-function-1-\" id=\"-vuedx-vue-virtual-textdocument-parseVirtualFileName-function-1-\"></a>\n\n### [parseVirtualFileName](#-vuedx-vue-virtual-textdocument-parseVirtualFileName-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function parseVirtualFileName(fileName: string): {\n    uri: string;\n    selector: Selector;\n} | null;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-relativeVirtualImportPath-function-1-\" id=\"-vuedx-vue-virtual-textdocument-relativeVirtualImportPath-function-1-\"></a>\n\n### [relativeVirtualImportPath](#-vuedx-vue-virtual-textdocument-relativeVirtualImportPath-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function relativeVirtualImportPath(fileName: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-replaceSlashes-function-1-\" id=\"-vuedx-vue-virtual-textdocument-replaceSlashes-function-1-\"></a>\n\n### [replaceSlashes](#-vuedx-vue-virtual-textdocument-replaceSlashes-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function replaceSlashes(fileName: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n<!-- #region API-DOCS -->\n","readmeFilename":"readme.md","gitHead":"89c2a70e2cf0352dda64152459bcb0f37130281f","_id":"@vuedx/vue-virtual-textdocument@0.7.5-next-1648400394.0","_nodeVersion":"16.14.0","_npmVersion":"8.3.1","dist":{"integrity":"sha512-24z0EvrPXbA22uCZ0VZbyEucdrFVXwNjzIaB61WN74iFveSXWoXpEgU49CzpWiO7qZg1nm5gDqnBTOARrQymOw==","shasum":"b1c0cc7b725018208045d359b92bf29f28d8f0dd","tarball":"https://registry.npmjs.org/@vuedx/vue-virtual-textdocument/-/vue-virtual-textdocument-0.7.5-next-1648400394.0.tgz","fileCount":8,"unpackedSize":224278,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiQJggACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqoDRAAg4dli25vmwpvwwFHNchqBuvBlOW2jbh/Wa1aczNaXsW6fvg9\r\ngLQ0H+gOvQqOUacPcdkxo+9i0gc32pRtNrVN7Vs4KwsCwNRowkGDnbtFSL5R\r\nrq2vZl/ckvH1Wz8jH1fWywWh5PwYOZZkXVkWpRA0BqkzKmjwpr27w9vmVeFJ\r\nn4dFPfwqDX5BUiTAsGHP8y1Bt6bMRO3XZ7N9SNKHyzM20dyAZuxAiLy6Lo21\r\nzNaP2ozY3mD3InSqjKg96ljuPblB0bFcT0hJKGrzt4CvBulw111PXkrZbkCI\r\n/bmvNwFo7sYF8fYh9lKWgCcESI9Ra1XMl5Jg94BuNzzvUGcRUpVwNABuW9ry\r\nX0ls2WiTlq0dRnerN6ZuUeFjAtRN5M4PhJR3BHLQXd6rBuM0F2TsQLALc0yj\r\n8A0RzZXVwAkgeUeid4P3kkMfnZBDTGvAB8cRljyxZMT2rIOG87Yv61YA2CVr\r\nxAirjR5QMLHDHZRbM6fV4nQVlAKd/u7RAlPxOrxnYzTLDNfTebHgMhfgrvtK\r\nYYZFSpCiM+gas7vUoKcs3zREUGcjV+cebNIqMThJToKNGfcCW2dkXFg9gQkx\r\nCPo61LtUVLaBN3uvloY2H1Q5//pBiOuRf3N6cKz7ODPmklelu9O+frrcu1Yb\r\n/gEcv/vUTwEBSmo0S8VhvgMn4iO3SzWHgyE=\r\n=tPXr\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIDmkhjgc3KP/eBwtmAzjnhaQVkfipVaH4PugVFpG6yPZAiBs+NGaRDS7y/+VwgzPPnQpzhTpZG03noiQ6d1pK2rrwA=="}]},"_npmUser":{"name":"znck","email":"rahulkdn@gmail.com"},"directories":{},"maintainers":[{"name":"znck","email":"rahulkdn@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/vue-virtual-textdocument_0.7.5-next-1648400394.0_1648400416007_0.38736427606683765"},"_hasShrinkwrap":false},"0.7.5-next-1648409815.0":{"name":"@vuedx/vue-virtual-textdocument","version":"0.7.5-next-1648409815.0","description":"A virtual filesystem to access blocks in SFC as files","main":"lib/index.js","module":"lib/index.mjs","types":"lib/index.d.ts","publishConfig":{"types":"lib/index.d.ts"},"private":false,"keywords":["vue","vue sfc","sfc","vue virtual files"],"repository":{"type":"git","url":"git+https://github.com/znck/vue-developer-experience.git"},"author":{"name":"Rahul Kadyan","email":"rahulkdn@gmail.com","url":"https://znck.me/"},"funding":{"type":"individual","url":"https://github.com/sponsors/znck"},"license":"MIT","bugs":{"url":"https://github.com/znck/vue-developer-experience/issues"},"homepage":"https://github.com/znck/vue-developer-experience#readme","dependencies":{"@vuedx/compiler-sfc":"0.7.2-next-1648409815.0","@vuedx/compiler-tsx":"0.7.5-next-1648409815.0","@vuedx/shared":"0.7.4-next-1648409815.0","@vuedx/template-ast-types":"0.7.3-next-1648409815.0","@vuedx/transforms":"0.7.5-next-1648409815.0","source-map":"^0.6.1","vscode-languageserver-textdocument":"^1.0.1","vscode-uri":"^2.1.2"},"devDependencies":{"typescript":"^4.0.3"},"scripts":{},"readme":"# Vue Virtual TextDocument\n\nAn implementation of virtual filesystem for accessing blocks in a `.vue` file as independent files.\n\n## Support\n\nThis package is part of [VueDX project](https://github.com/znck/vue-developer-experience), maintained by [Rahul Kadyan](https://github.com/znck). You can [💖 sponsor him](https://github.com/sponsors/znck) for continued development of this package and other VueDX tools.\n\n```\nnpm add @vuedx/vue-virtual-textdocument\n```\n<!-- #region API-DOCS -->\n<!-- Do not edit this file. It is a report generated by [scripts/docgen.js](https://github.com/znck/vue-developer-experience/tree/main/scripts/docgen.js). -->\n\n## API\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-AsyncDocumentStore-class\" id=\"-vuedx-vue-virtual-textdocument-AsyncDocumentStore-class\"></a>\n\n### [AsyncDocumentStore](#-vuedx-vue-virtual-textdocument-AsyncDocumentStore-class)\n\n\n\n<details><summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare class AsyncDocumentStore<T> extends DocumentStore<T> {\n  constructor(resolve: (uri: string) => T | Promise<T | null> | null, normalize?: (uri: string) => string);\n  get(uri: string): T | null;\n  get(uri: string): Promise<T | null>;\n}\n```\n\n**Members:**\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-AsyncDocumentStore-get-member-1-\" id=\"-vuedx-vue-virtual-textdocument-AsyncDocumentStore-get-member-1-\"></a>\n\n#### [get](#-vuedx-vue-virtual-textdocument-AsyncDocumentStore-get-member-1-)\n\n\n\n**Signature:**\n```ts\nget(uri: string): T | null;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-AsyncDocumentStore-get-member-2-\" id=\"-vuedx-vue-virtual-textdocument-AsyncDocumentStore-get-member-2-\"></a>\n\n#### [get](#-vuedx-vue-virtual-textdocument-AsyncDocumentStore-get-member-2-)\n\n\n\n**Signature:**\n```ts\nget(uri: string): Promise<T | null>;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n\n<br>\n</details>\n\n<br>\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-class\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-class\"></a>\n\n### [DocumentStore](#-vuedx-vue-virtual-textdocument-DocumentStore-class)\n\n\n\n<details><summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare class DocumentStore<T> {\n  constructor(resolve: (uri: string) => T | null, normalize?: (uri: string) => string);\n  all(): string[];\n  delete(uri: string): boolean;\n  dispose(): void;\n  get(uri: string): T | null;\n  protected getNormalizedUri(uri: string): string;\n  has(uri: string): boolean;\n  protected map: Map<string, T>;\n  normalize: (uri: string) => string;\n  protected resolve: (uri: string) => T | null;\n  protected reverseUriMap: Map<string, string>;\n  set(uri: string, document: T): void;\n}\n```\n\n**Members:**\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-all-member-1-\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-all-member-1-\"></a>\n\n#### [all](#-vuedx-vue-virtual-textdocument-DocumentStore-all-member-1-)\n\n\n\n**Signature:**\n```ts\nall(): string[];\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-delete-member-1-\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-delete-member-1-\"></a>\n\n#### [delete](#-vuedx-vue-virtual-textdocument-DocumentStore-delete-member-1-)\n\n\n\n**Signature:**\n```ts\ndelete(uri: string): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-dispose-member-1-\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-dispose-member-1-\"></a>\n\n#### [dispose](#-vuedx-vue-virtual-textdocument-DocumentStore-dispose-member-1-)\n\n\n\n**Signature:**\n```ts\ndispose(): void;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-get-member-1-\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-get-member-1-\"></a>\n\n#### [get](#-vuedx-vue-virtual-textdocument-DocumentStore-get-member-1-)\n\n\n\n**Signature:**\n```ts\nget(uri: string): T | null;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-getNormalizedUri-member-1-\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-getNormalizedUri-member-1-\"></a>\n\n#### [getNormalizedUri](#-vuedx-vue-virtual-textdocument-DocumentStore-getNormalizedUri-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected getNormalizedUri(uri: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-has-member-1-\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-has-member-1-\"></a>\n\n#### [has](#-vuedx-vue-virtual-textdocument-DocumentStore-has-member-1-)\n\n\n\n**Signature:**\n```ts\nhas(uri: string): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-set-member-1-\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-set-member-1-\"></a>\n\n#### [set](#-vuedx-vue-virtual-textdocument-DocumentStore-set-member-1-)\n\n\n\n**Signature:**\n```ts\nset(uri: string, document: T): void;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n| document | <code>T</code> | - |\n\n<br>\n</details>\n\n<br>\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-class\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-class\"></a>\n\n### [RenderFunctionTextDocument](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-class)\n\n\n\n<details><summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare class RenderFunctionTextDocument extends TransformedBlockTextDocument {\n  constructor(container: VueTextDocument, selector: Selector, transformed: TextDocument, source: TextDocument);\n  get ast(): CodegenResult['ast'] | undefined;\n  get contextCompletionsTriggerOffset(): number;\n  static create(options: CreateVirtualTextDocumentOptions): RenderFunctionTextDocument;\n  findExpression(offset: number, length: number): undefined | {\n        offset: number;\n        length: number;\n    };\n  protected generate(): string;\n  getAllGeneratedOffsetsAt(offset: number): undefined | Array<{\n        length: number;\n        offset: number;\n    }>;\n  getGeneratedOffsetAt(offset: number): undefined | {\n        length: number;\n        offset: number;\n    };\n  protected getKnownComponents(): Record<string, ComponentImport>;\n  getOriginalOffsetAt(offset: number): undefined | {\n        offset: number;\n        length: number;\n    };\n  isInGeneratedRange(offset: number): boolean;\n  isInTemplateIdentifierRange(offset: number): boolean;\n  get parserErrors(): CodegenResult['errors'];\n  get tagCompletionsTriggerOffset(): number;\n  toDisplayMappings(): string;\n  protected tryGenerate(): string;\n}\n```\n\n**Members:**\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-create-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-create-member-1-\"></a>\n\n#### [create](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-create-member-1-)\n\n\n\n**Signature:**\n```ts\nstatic create(options: CreateVirtualTextDocumentOptions): RenderFunctionTextDocument;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| options | <code><a href=\"#-vuedx-vue-virtual-textdocument--CreateVirtualTextDocumentOptions-interface\">CreateVirtualTextDocumentOptions</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-findExpression-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-findExpression-member-1-\"></a>\n\n#### [findExpression](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-findExpression-member-1-)\n\n\n\n**Signature:**\n```ts\nfindExpression(offset: number, length: number): undefined | {\n        offset: number;\n        length: number;\n    };\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n| length | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-generate-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-generate-member-1-\"></a>\n\n#### [generate](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-generate-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected generate(): string;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getAllGeneratedOffsetsAt-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getAllGeneratedOffsetsAt-member-1-\"></a>\n\n#### [getAllGeneratedOffsetsAt](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getAllGeneratedOffsetsAt-member-1-)\n\n\n\n**Signature:**\n```ts\ngetAllGeneratedOffsetsAt(offset: number): undefined | Array<{\n        length: number;\n        offset: number;\n    }>;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getGeneratedOffsetAt-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getGeneratedOffsetAt-member-1-\"></a>\n\n#### [getGeneratedOffsetAt](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getGeneratedOffsetAt-member-1-)\n\n\n\n**Signature:**\n```ts\ngetGeneratedOffsetAt(offset: number): undefined | {\n        length: number;\n        offset: number;\n    };\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getKnownComponents-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getKnownComponents-member-1-\"></a>\n\n#### [getKnownComponents](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getKnownComponents-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected getKnownComponents(): Record<string, ComponentImport>;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getOriginalOffsetAt-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getOriginalOffsetAt-member-1-\"></a>\n\n#### [getOriginalOffsetAt](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getOriginalOffsetAt-member-1-)\n\n\n\n**Signature:**\n```ts\ngetOriginalOffsetAt(offset: number): undefined | {\n        offset: number;\n        length: number;\n    };\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-isInGeneratedRange-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-isInGeneratedRange-member-1-\"></a>\n\n#### [isInGeneratedRange](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-isInGeneratedRange-member-1-)\n\n\n\n**Signature:**\n```ts\nisInGeneratedRange(offset: number): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-isInTemplateIdentifierRange-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-isInTemplateIdentifierRange-member-1-\"></a>\n\n#### [isInTemplateIdentifierRange](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-isInTemplateIdentifierRange-member-1-)\n\n\n\n**Signature:**\n```ts\nisInTemplateIdentifierRange(offset: number): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-toDisplayMappings-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-toDisplayMappings-member-1-\"></a>\n\n#### [toDisplayMappings](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-toDisplayMappings-member-1-)\n\n\n\n**Signature:**\n```ts\ntoDisplayMappings(): string;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-tryGenerate-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-tryGenerate-member-1-\"></a>\n\n#### [tryGenerate](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-tryGenerate-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected tryGenerate(): string;\n```\n\n\n<br>\n</details>\n\n<br>\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-class\" id=\"-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-class\"></a>\n\n### [TransformedBlockTextDocument](#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-class)\n\n\n\n<details><summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare class TransformedBlockTextDocument extends VirtualTextDocument {\n  protected constructor(container: VueTextDocument, selector: Selector, transformed: TextDocument, source: TextDocument | VirtualTextDocument, _transform: (document: TransformedBlockTextDocument) => BlockTransformResult);\n  static create(options: CreateTransformedBlockTextDocumentOptions): TransformedBlockTextDocument;\n  protected refresh(): void;\n  transform(): BlockTransformResult;\n  tryGetGeneratedOffset(offset: number): number | undefined;\n  tryGetSourceOffset(offset: number): number | undefined;\n}\n```\n\n**Members:**\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-create-member-1-\" id=\"-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-create-member-1-\"></a>\n\n#### [create](#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-create-member-1-)\n\n\n\n**Signature:**\n```ts\nstatic create(options: CreateTransformedBlockTextDocumentOptions): TransformedBlockTextDocument;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| options | <code><a href=\"#-vuedx-vue-virtual-textdocument--CreateTransformedBlockTextDocumentOptions-interface\">CreateTransformedBlockTextDocumentOptions</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-refresh-member-1-\" id=\"-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-refresh-member-1-\"></a>\n\n#### [refresh](#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-refresh-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected refresh(): void;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-transform-member-1-\" id=\"-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-transform-member-1-\"></a>\n\n#### [transform](#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-transform-member-1-)\n\n\n\n**Signature:**\n```ts\ntransform(): BlockTransformResult;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-tryGetGeneratedOffset-member-1-\" id=\"-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-tryGetGeneratedOffset-member-1-\"></a>\n\n#### [tryGetGeneratedOffset](#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-tryGetGeneratedOffset-member-1-)\n\n\n\n**Signature:**\n```ts\ntryGetGeneratedOffset(offset: number): number | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-tryGetSourceOffset-member-1-\" id=\"-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-tryGetSourceOffset-member-1-\"></a>\n\n#### [tryGetSourceOffset](#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-tryGetSourceOffset-member-1-)\n\n\n\n**Signature:**\n```ts\ntryGetSourceOffset(offset: number): number | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n</details>\n\n<br>\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VirtualTextDocument-class\" id=\"-vuedx-vue-virtual-textdocument-VirtualTextDocument-class\"></a>\n\n### [VirtualTextDocument](#-vuedx-vue-virtual-textdocument-VirtualTextDocument-class)\n\n\n\n<details><summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare class VirtualTextDocument extends ProxyTextDocument {\n  protected constructor(container: VueTextDocument, selector: Selector, doc: TextDocument);\n  readonly container: VueTextDocument;\n  static create(options: CreateVirtualTextDocumentOptions): VirtualTextDocument;\n  protected isDirty: boolean;\n  markDirty(): void;\n  protected refresh(): void;\n  readonly selector: Selector;\n}\n```\n\n**Members:**\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VirtualTextDocument-create-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VirtualTextDocument-create-member-1-\"></a>\n\n#### [create](#-vuedx-vue-virtual-textdocument-VirtualTextDocument-create-member-1-)\n\n\n\n**Signature:**\n```ts\nstatic create(options: CreateVirtualTextDocumentOptions): VirtualTextDocument;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| options | <code><a href=\"#-vuedx-vue-virtual-textdocument--CreateVirtualTextDocumentOptions-interface\">CreateVirtualTextDocumentOptions</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VirtualTextDocument-markDirty-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VirtualTextDocument-markDirty-member-1-\"></a>\n\n#### [markDirty](#-vuedx-vue-virtual-textdocument-VirtualTextDocument-markDirty-member-1-)\n\n\n\n**Signature:**\n```ts\nmarkDirty(): void;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VirtualTextDocument-refresh-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VirtualTextDocument-refresh-member-1-\"></a>\n\n#### [refresh](#-vuedx-vue-virtual-textdocument-VirtualTextDocument-refresh-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected refresh(): void;\n```\n\n\n<br>\n</details>\n\n<br>\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-class\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-class\"></a>\n\n### [VueTextDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-class)\n\n\n\n<details><summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare class VueTextDocument extends ProxyTextDocument {\n  constructor(doc: TextDocument, options?: VueTextDocumentOptions, parseOptions?: SFCParseOptions);\n  all(): VirtualTextDocument[];\n  blockAt(position: Position | number): SFCBlock | null | undefined;\n  static create(uri: string, languageId: string, version: number, content: string, options?: VueTextDocumentOptions, parseOptions?: SFCParseOptions): VueTextDocument;\n  protected createBlockDocument(selector: BlockSelector): VirtualTextDocument | undefined;\n  protected createInternalModuleDocument(): TransformedBlockTextDocument;\n  protected createModuleDocument(): TransformedBlockTextDocument;\n  protected createRenderDocument(): RenderFunctionTextDocument;\n  protected createTemplateASTDocument(): TransformedBlockTextDocument;\n  get descriptor(): SFCDescriptor;\n  documentAt(position: Position | number): VirtualTextDocument | undefined;\n  getBlock(selector: BlockSelector): SFCBlock | null | undefined;\n  getBlockSelector(block: SFCBlock): BlockSelector | undefined;\n  getDocument(selector: typeof RENDER_SELECTOR): RenderFunctionTextDocument;\n  getDocument(selector: SelectorLike): VirtualTextDocument;\n  getDocument(selector: string): VirtualTextDocument | undefined;\n  getDocumentFileName(selectorLike: SelectorLike): string;\n  protected getDocumentId(selector: Selector): string;\n  protected getDocumentLanguage(selector: Selector): string;\n  markDirty(): void;\n  readonly options: VueTextDocumentOptions;\n  protected parse(): void;\n  static update(document: VueTextDocument, changes: TextDocumentContentChangeEvent[], version: number): VueTextDocument;\n}\n```\n\n**Members:**\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-all-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-all-member-1-\"></a>\n\n#### [all](#-vuedx-vue-virtual-textdocument-VueTextDocument-all-member-1-)\n\n\n\n**Signature:**\n```ts\nall(): VirtualTextDocument[];\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-blockAt-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-blockAt-member-1-\"></a>\n\n#### [blockAt](#-vuedx-vue-virtual-textdocument-VueTextDocument-blockAt-member-1-)\n\n\n\n**Signature:**\n```ts\nblockAt(position: Position | number): SFCBlock | null | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| position | <code><a href=\"#vscode-languageserver-textdocument-Position-interface\">Position</a> &#124; number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-create-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-create-member-1-\"></a>\n\n#### [create](#-vuedx-vue-virtual-textdocument-VueTextDocument-create-member-1-)\n\n\n\n**Signature:**\n```ts\nstatic create(uri: string, languageId: string, version: number, content: string, options?: VueTextDocumentOptions, parseOptions?: SFCParseOptions): VueTextDocument;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n| languageId | <code>string</code> | - |\n| version | <code>number</code> | - |\n| content | <code>string</code> | - |\n| options | <code><a href=\"#-vuedx-vue-virtual-textdocument--VueTextDocumentOptions-interface\">VueTextDocumentOptions</a></code> | - |\n| parseOptions | <code><a href=\"#-vue-compiler-sfc-SFCParseOptions-interface\">SFCParseOptions</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-createBlockDocument-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-createBlockDocument-member-1-\"></a>\n\n#### [createBlockDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-createBlockDocument-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected createBlockDocument(selector: BlockSelector): VirtualTextDocument | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selector | <code><a href=\"#-vuedx-vue-virtual-textdocument--BlockSelector-type\">BlockSelector</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-createInternalModuleDocument-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-createInternalModuleDocument-member-1-\"></a>\n\n#### [createInternalModuleDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-createInternalModuleDocument-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected createInternalModuleDocument(): TransformedBlockTextDocument;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-createModuleDocument-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-createModuleDocument-member-1-\"></a>\n\n#### [createModuleDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-createModuleDocument-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected createModuleDocument(): TransformedBlockTextDocument;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-createRenderDocument-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-createRenderDocument-member-1-\"></a>\n\n#### [createRenderDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-createRenderDocument-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected createRenderDocument(): RenderFunctionTextDocument;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-createTemplateASTDocument-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-createTemplateASTDocument-member-1-\"></a>\n\n#### [createTemplateASTDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-createTemplateASTDocument-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected createTemplateASTDocument(): TransformedBlockTextDocument;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-documentAt-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-documentAt-member-1-\"></a>\n\n#### [documentAt](#-vuedx-vue-virtual-textdocument-VueTextDocument-documentAt-member-1-)\n\n\n\n**Signature:**\n```ts\ndocumentAt(position: Position | number): VirtualTextDocument | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| position | <code><a href=\"#vscode-languageserver-textdocument-Position-interface\">Position</a> &#124; number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getBlock-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getBlock-member-1-\"></a>\n\n#### [getBlock](#-vuedx-vue-virtual-textdocument-VueTextDocument-getBlock-member-1-)\n\n\n\n**Signature:**\n```ts\ngetBlock(selector: BlockSelector): SFCBlock | null | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selector | <code><a href=\"#-vuedx-vue-virtual-textdocument--BlockSelector-type\">BlockSelector</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getBlockSelector-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getBlockSelector-member-1-\"></a>\n\n#### [getBlockSelector](#-vuedx-vue-virtual-textdocument-VueTextDocument-getBlockSelector-member-1-)\n\n\n\n**Signature:**\n```ts\ngetBlockSelector(block: SFCBlock): BlockSelector | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| block | <code><a href=\"#-vue-compiler-sfc-SFCBlock-interface\">SFCBlock</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-1-\"></a>\n\n#### [getDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-1-)\n\n\n\n**Signature:**\n```ts\ngetDocument(selector: typeof RENDER_SELECTOR): RenderFunctionTextDocument;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selector | <code>typeof <a href=\"#-vuedx-vue-virtual-textdocument--RENDER-SELECTOR-var\">RENDER_SELECTOR</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-2-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-2-\"></a>\n\n#### [getDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-2-)\n\n\n\n**Signature:**\n```ts\ngetDocument(selector: SelectorLike): VirtualTextDocument;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selector | <code><a href=\"#-vuedx-vue-virtual-textdocument--SelectorLike-type\">SelectorLike</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-3-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-3-\"></a>\n\n#### [getDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-3-)\n\n\n\n**Signature:**\n```ts\ngetDocument(selector: string): VirtualTextDocument | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selector | <code>string</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentFileName-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentFileName-member-1-\"></a>\n\n#### [getDocumentFileName](#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentFileName-member-1-)\n\n\n\n**Signature:**\n```ts\ngetDocumentFileName(selectorLike: SelectorLike): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selectorLike | <code><a href=\"#-vuedx-vue-virtual-textdocument--SelectorLike-type\">SelectorLike</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentId-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentId-member-1-\"></a>\n\n#### [getDocumentId](#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentId-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected getDocumentId(selector: Selector): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selector | <code><a href=\"#-vuedx-vue-virtual-textdocument--Selector-type\">Selector</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentLanguage-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentLanguage-member-1-\"></a>\n\n#### [getDocumentLanguage](#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentLanguage-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected getDocumentLanguage(selector: Selector): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selector | <code><a href=\"#-vuedx-vue-virtual-textdocument--Selector-type\">Selector</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-markDirty-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-markDirty-member-1-\"></a>\n\n#### [markDirty](#-vuedx-vue-virtual-textdocument-VueTextDocument-markDirty-member-1-)\n\n\n\n**Signature:**\n```ts\nmarkDirty(): void;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-parse-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-parse-member-1-\"></a>\n\n#### [parse](#-vuedx-vue-virtual-textdocument-VueTextDocument-parse-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected parse(): void;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-update-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-update-member-1-\"></a>\n\n#### [update](#-vuedx-vue-virtual-textdocument-VueTextDocument-update-member-1-)\n\n\n\n**Signature:**\n```ts\nstatic update(document: VueTextDocument, changes: TextDocumentContentChangeEvent[], version: number): VueTextDocument;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| document | <code><a href=\"#-vuedx-vue-virtual-textdocument--VueTextDocument-class\">VueTextDocument</a></code> | - |\n| changes | <code><a href=\"#vscode-languageserver-textdocument-TextDocumentContentChangeEvent-type\">TextDocumentContentChangeEvent</a>[]</code> | - |\n| version | <code>number</code> | - |\n\n<br>\n</details>\n\n<br>\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-asFsPath-function-1-\" id=\"-vuedx-vue-virtual-textdocument-asFsPath-function-1-\"></a>\n\n### [asFsPath](#-vuedx-vue-virtual-textdocument-asFsPath-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function asFsPath(uri: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-asFsUri-function-1-\" id=\"-vuedx-vue-virtual-textdocument-asFsUri-function-1-\"></a>\n\n### [asFsUri](#-vuedx-vue-virtual-textdocument-asFsUri-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function asFsUri(fileName: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-asUri-function-1-\" id=\"-vuedx-vue-virtual-textdocument-asUri-function-1-\"></a>\n\n### [asUri](#-vuedx-vue-virtual-textdocument-asUri-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function asUri(fileNameOrUri: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileNameOrUri | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-basename-function-1-\" id=\"-vuedx-vue-virtual-textdocument-basename-function-1-\"></a>\n\n### [basename](#-vuedx-vue-virtual-textdocument-basename-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function basename(fileName: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-binarySearch-function-1-\" id=\"-vuedx-vue-virtual-textdocument-binarySearch-function-1-\"></a>\n\n### [binarySearch](#-vuedx-vue-virtual-textdocument-binarySearch-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function binarySearch<T>(array: T[], isMatch: (a: T) => number, returnMin?: boolean): T | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| array | <code>T[]</code> | - |\n| isMatch | <code>(a: T) => number</code> | - |\n| returnMin | <code>boolean</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-getBlockLanguage-function-1-\" id=\"-vuedx-vue-virtual-textdocument-getBlockLanguage-function-1-\"></a>\n\n### [getBlockLanguage](#-vuedx-vue-virtual-textdocument-getBlockLanguage-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function getBlockLanguage(block?: SFCBlock | null): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| block | <code><a href=\"#-vue-compiler-sfc-SFCBlock-interface\">SFCBlock</a> &#124; null</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-getContainingFile-function-1-\" id=\"-vuedx-vue-virtual-textdocument-getContainingFile-function-1-\"></a>\n\n### [getContainingFile](#-vuedx-vue-virtual-textdocument-getContainingFile-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function getContainingFile(fileName: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-getLanguageExtension-function-1-\" id=\"-vuedx-vue-virtual-textdocument-getLanguageExtension-function-1-\"></a>\n\n### [getLanguageExtension](#-vuedx-vue-virtual-textdocument-getLanguageExtension-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function getLanguageExtension(lang: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| lang | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-getLanguageIdFromExtension-function-1-\" id=\"-vuedx-vue-virtual-textdocument-getLanguageIdFromExtension-function-1-\"></a>\n\n### [getLanguageIdFromExtension](#-vuedx-vue-virtual-textdocument-getLanguageIdFromExtension-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function getLanguageIdFromExtension(ext: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| ext | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-isOffsetInBlock-function-1-\" id=\"-vuedx-vue-virtual-textdocument-isOffsetInBlock-function-1-\"></a>\n\n### [isOffsetInBlock](#-vuedx-vue-virtual-textdocument-isOffsetInBlock-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function isOffsetInBlock(offset: number, block?: SFCBlock | null): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n| block | <code><a href=\"#-vue-compiler-sfc-SFCBlock-interface\">SFCBlock</a> &#124; null</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-isVirtualFile-function-1-\" id=\"-vuedx-vue-virtual-textdocument-isVirtualFile-function-1-\"></a>\n\n### [isVirtualFile](#-vuedx-vue-virtual-textdocument-isVirtualFile-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function isVirtualFile(fileName: string): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-isVirtualFileOfType-function-1-\" id=\"-vuedx-vue-virtual-textdocument-isVirtualFileOfType-function-1-\"></a>\n\n### [isVirtualFileOfType](#-vuedx-vue-virtual-textdocument-isVirtualFileOfType-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function isVirtualFileOfType(fileName: string, type: '_render' | '_module' | '_internal' | 'script' | 'scriptSetup'): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n| type | <code>'_render' &#124; '_module' &#124; '_internal' &#124; 'script' &#124; 'scriptSetup'</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-isVueFile-function-1-\" id=\"-vuedx-vue-virtual-textdocument-isVueFile-function-1-\"></a>\n\n### [isVueFile](#-vuedx-vue-virtual-textdocument-isVueFile-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function isVueFile(fileName: string): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-parseVirtualFileName-function-1-\" id=\"-vuedx-vue-virtual-textdocument-parseVirtualFileName-function-1-\"></a>\n\n### [parseVirtualFileName](#-vuedx-vue-virtual-textdocument-parseVirtualFileName-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function parseVirtualFileName(fileName: string): {\n    uri: string;\n    selector: Selector;\n} | null;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-relativeVirtualImportPath-function-1-\" id=\"-vuedx-vue-virtual-textdocument-relativeVirtualImportPath-function-1-\"></a>\n\n### [relativeVirtualImportPath](#-vuedx-vue-virtual-textdocument-relativeVirtualImportPath-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function relativeVirtualImportPath(fileName: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-replaceSlashes-function-1-\" id=\"-vuedx-vue-virtual-textdocument-replaceSlashes-function-1-\"></a>\n\n### [replaceSlashes](#-vuedx-vue-virtual-textdocument-replaceSlashes-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function replaceSlashes(fileName: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n<!-- #region API-DOCS -->\n","readmeFilename":"readme.md","gitHead":"a7e5c298089ba553cb4804e4b9c5606a57dd4708","_id":"@vuedx/vue-virtual-textdocument@0.7.5-next-1648409815.0","_nodeVersion":"16.14.0","_npmVersion":"8.3.1","dist":{"integrity":"sha512-dvQwiDYDoc4x6s8ry0McQf5RwSt7y5nGHO7MC96TCmTDsqubcPLSoHbtl9UZ+DBFZangfwyvHbPIvuZ6YBGS8A==","shasum":"d7c7d70ce97b7380850882278083cb21b4188f71","tarball":"https://registry.npmjs.org/@vuedx/vue-virtual-textdocument/-/vue-virtual-textdocument-0.7.5-next-1648409815.0.tgz","fileCount":8,"unpackedSize":224278,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiQLzqACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmptPQ//dJJ6+TzVooEy2yBrfFOVfVGTvanlwbnRo3+GUG/AXRncmARr\r\nvCM5ZEmUZ1haobZcB5oiHJnh5g08ROCF/RB/ngva+AmFjeQxC5R65Ega1qHG\r\nGwUumBXGoTtsbH0MU/9zanluWTAx0EFj1IhPBiu1Nx2V0qVoS4lRH4/wfRTf\r\n1LBPy23+KvaQFLynjZ2FnsG+g8Dz76qmjEXpRYzKtpVlLpoJltzVNOP3hPle\r\npw9JseGPKeL4y4jaeDH4jDi9M6gKs1fWzfYTR0xdL40lJ8oAVXUFD3Qa2LfU\r\ngEtIpQKr79zDmrhI87cNbMliMiIu89KDdOFEpHDpq34DpmjQwojsi7BnOixb\r\nA94ZAxzDQJ27adIY7dyaAWkovz2uG/eCG0t8QV8Nc/H9/X9EgNj6bLH/7ZCp\r\nG60x3eIbFGXthlAC0wK3Pgx/+c6kC8ZgnU9iOWJcNRPh7exRQByZtZ/U7Fzz\r\n2jalb0CFMEUXDtsr0SxHkpfwbhhG4KfntziZX76t/FbYnidYDccxfkazqWIi\r\nP23MJYxH01B9JMOrdnMT30TFqtNJBfHVFm4TcyfDHAAL3tOv9BCCcbjya3Mk\r\nAeIOVKpuAVmQAPfusoWHQsptDVwfG5r3CIQGwIoo+gSX90M2waNMnlmRCMUv\r\nmtkgk0lSGiDhlXU/Z7mr76CzSZTZvXGMplo=\r\n=YDYj\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIB6YI1Ca5UUjgR+iswk3l9QqhkyuTeX8JaNsfdECDzBAAiAY0UaD4DhrXDNOxWx0pl/dz84TMkUmiyO/xY0w9zI/ZQ=="}]},"_npmUser":{"name":"znck","email":"rahulkdn@gmail.com"},"directories":{},"maintainers":[{"name":"znck","email":"rahulkdn@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/vue-virtual-textdocument_0.7.5-next-1648409815.0_1648409834163_0.4648393770543575"},"_hasShrinkwrap":false},"0.7.5-next-1648411566.0":{"name":"@vuedx/vue-virtual-textdocument","version":"0.7.5-next-1648411566.0","description":"A virtual filesystem to access blocks in SFC as files","main":"lib/index.js","module":"lib/index.mjs","types":"lib/index.d.ts","publishConfig":{"types":"lib/index.d.ts"},"private":false,"keywords":["vue","vue sfc","sfc","vue virtual files"],"repository":{"type":"git","url":"git+https://github.com/znck/vue-developer-experience.git"},"author":{"name":"Rahul Kadyan","email":"rahulkdn@gmail.com","url":"https://znck.me/"},"funding":{"type":"individual","url":"https://github.com/sponsors/znck"},"license":"MIT","bugs":{"url":"https://github.com/znck/vue-developer-experience/issues"},"homepage":"https://github.com/znck/vue-developer-experience#readme","dependencies":{"@vuedx/compiler-sfc":"0.7.2-next-1648411566.0","@vuedx/compiler-tsx":"0.7.5-next-1648411566.0","@vuedx/shared":"0.7.4-next-1648411566.0","@vuedx/template-ast-types":"0.7.3-next-1648411566.0","@vuedx/transforms":"0.7.5-next-1648411566.0","source-map":"^0.6.1","vscode-languageserver-textdocument":"^1.0.1","vscode-uri":"^2.1.2"},"devDependencies":{"typescript":"^4.0.3"},"scripts":{},"readme":"# Vue Virtual TextDocument\n\nAn implementation of virtual filesystem for accessing blocks in a `.vue` file as independent files.\n\n## Support\n\nThis package is part of [VueDX project](https://github.com/znck/vue-developer-experience), maintained by [Rahul Kadyan](https://github.com/znck). You can [💖 sponsor him](https://github.com/sponsors/znck) for continued development of this package and other VueDX tools.\n\n```\nnpm add @vuedx/vue-virtual-textdocument\n```\n<!-- #region API-DOCS -->\n<!-- Do not edit this file. It is a report generated by [scripts/docgen.js](https://github.com/znck/vue-developer-experience/tree/main/scripts/docgen.js). -->\n\n## API\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-AsyncDocumentStore-class\" id=\"-vuedx-vue-virtual-textdocument-AsyncDocumentStore-class\"></a>\n\n### [AsyncDocumentStore](#-vuedx-vue-virtual-textdocument-AsyncDocumentStore-class)\n\n\n\n<details><summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare class AsyncDocumentStore<T> extends DocumentStore<T> {\n  constructor(resolve: (uri: string) => T | Promise<T | null> | null, normalize?: (uri: string) => string);\n  get(uri: string): T | null;\n  get(uri: string): Promise<T | null>;\n}\n```\n\n**Members:**\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-AsyncDocumentStore-get-member-1-\" id=\"-vuedx-vue-virtual-textdocument-AsyncDocumentStore-get-member-1-\"></a>\n\n#### [get](#-vuedx-vue-virtual-textdocument-AsyncDocumentStore-get-member-1-)\n\n\n\n**Signature:**\n```ts\nget(uri: string): T | null;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-AsyncDocumentStore-get-member-2-\" id=\"-vuedx-vue-virtual-textdocument-AsyncDocumentStore-get-member-2-\"></a>\n\n#### [get](#-vuedx-vue-virtual-textdocument-AsyncDocumentStore-get-member-2-)\n\n\n\n**Signature:**\n```ts\nget(uri: string): Promise<T | null>;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n\n<br>\n</details>\n\n<br>\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-class\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-class\"></a>\n\n### [DocumentStore](#-vuedx-vue-virtual-textdocument-DocumentStore-class)\n\n\n\n<details><summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare class DocumentStore<T> {\n  constructor(resolve: (uri: string) => T | null, normalize?: (uri: string) => string);\n  all(): string[];\n  delete(uri: string): boolean;\n  dispose(): void;\n  get(uri: string): T | null;\n  protected getNormalizedUri(uri: string): string;\n  has(uri: string): boolean;\n  protected map: Map<string, T>;\n  normalize: (uri: string) => string;\n  protected resolve: (uri: string) => T | null;\n  protected reverseUriMap: Map<string, string>;\n  set(uri: string, document: T): void;\n}\n```\n\n**Members:**\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-all-member-1-\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-all-member-1-\"></a>\n\n#### [all](#-vuedx-vue-virtual-textdocument-DocumentStore-all-member-1-)\n\n\n\n**Signature:**\n```ts\nall(): string[];\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-delete-member-1-\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-delete-member-1-\"></a>\n\n#### [delete](#-vuedx-vue-virtual-textdocument-DocumentStore-delete-member-1-)\n\n\n\n**Signature:**\n```ts\ndelete(uri: string): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-dispose-member-1-\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-dispose-member-1-\"></a>\n\n#### [dispose](#-vuedx-vue-virtual-textdocument-DocumentStore-dispose-member-1-)\n\n\n\n**Signature:**\n```ts\ndispose(): void;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-get-member-1-\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-get-member-1-\"></a>\n\n#### [get](#-vuedx-vue-virtual-textdocument-DocumentStore-get-member-1-)\n\n\n\n**Signature:**\n```ts\nget(uri: string): T | null;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-getNormalizedUri-member-1-\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-getNormalizedUri-member-1-\"></a>\n\n#### [getNormalizedUri](#-vuedx-vue-virtual-textdocument-DocumentStore-getNormalizedUri-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected getNormalizedUri(uri: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-has-member-1-\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-has-member-1-\"></a>\n\n#### [has](#-vuedx-vue-virtual-textdocument-DocumentStore-has-member-1-)\n\n\n\n**Signature:**\n```ts\nhas(uri: string): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-set-member-1-\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-set-member-1-\"></a>\n\n#### [set](#-vuedx-vue-virtual-textdocument-DocumentStore-set-member-1-)\n\n\n\n**Signature:**\n```ts\nset(uri: string, document: T): void;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n| document | <code>T</code> | - |\n\n<br>\n</details>\n\n<br>\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-class\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-class\"></a>\n\n### [RenderFunctionTextDocument](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-class)\n\n\n\n<details><summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare class RenderFunctionTextDocument extends TransformedBlockTextDocument {\n  constructor(container: VueTextDocument, selector: Selector, transformed: TextDocument, source: TextDocument);\n  get ast(): CodegenResult['ast'] | undefined;\n  get contextCompletionsTriggerOffset(): number;\n  static create(options: CreateVirtualTextDocumentOptions): RenderFunctionTextDocument;\n  findExpression(offset: number, length: number): undefined | {\n        offset: number;\n        length: number;\n    };\n  protected generate(): string;\n  getAllGeneratedOffsetsAt(offset: number): undefined | Array<{\n        length: number;\n        offset: number;\n    }>;\n  getGeneratedOffsetAt(offset: number): undefined | {\n        length: number;\n        offset: number;\n    };\n  protected getKnownComponents(): Record<string, ComponentImport>;\n  getOriginalOffsetAt(offset: number): undefined | {\n        offset: number;\n        length: number;\n    };\n  isInGeneratedRange(offset: number): boolean;\n  isInTemplateIdentifierRange(offset: number): boolean;\n  get parserErrors(): CodegenResult['errors'];\n  get tagCompletionsTriggerOffset(): number;\n  toDisplayMappings(): string;\n  protected tryGenerate(): string;\n}\n```\n\n**Members:**\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-create-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-create-member-1-\"></a>\n\n#### [create](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-create-member-1-)\n\n\n\n**Signature:**\n```ts\nstatic create(options: CreateVirtualTextDocumentOptions): RenderFunctionTextDocument;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| options | <code><a href=\"#-vuedx-vue-virtual-textdocument--CreateVirtualTextDocumentOptions-interface\">CreateVirtualTextDocumentOptions</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-findExpression-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-findExpression-member-1-\"></a>\n\n#### [findExpression](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-findExpression-member-1-)\n\n\n\n**Signature:**\n```ts\nfindExpression(offset: number, length: number): undefined | {\n        offset: number;\n        length: number;\n    };\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n| length | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-generate-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-generate-member-1-\"></a>\n\n#### [generate](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-generate-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected generate(): string;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getAllGeneratedOffsetsAt-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getAllGeneratedOffsetsAt-member-1-\"></a>\n\n#### [getAllGeneratedOffsetsAt](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getAllGeneratedOffsetsAt-member-1-)\n\n\n\n**Signature:**\n```ts\ngetAllGeneratedOffsetsAt(offset: number): undefined | Array<{\n        length: number;\n        offset: number;\n    }>;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getGeneratedOffsetAt-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getGeneratedOffsetAt-member-1-\"></a>\n\n#### [getGeneratedOffsetAt](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getGeneratedOffsetAt-member-1-)\n\n\n\n**Signature:**\n```ts\ngetGeneratedOffsetAt(offset: number): undefined | {\n        length: number;\n        offset: number;\n    };\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getKnownComponents-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getKnownComponents-member-1-\"></a>\n\n#### [getKnownComponents](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getKnownComponents-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected getKnownComponents(): Record<string, ComponentImport>;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getOriginalOffsetAt-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getOriginalOffsetAt-member-1-\"></a>\n\n#### [getOriginalOffsetAt](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getOriginalOffsetAt-member-1-)\n\n\n\n**Signature:**\n```ts\ngetOriginalOffsetAt(offset: number): undefined | {\n        offset: number;\n        length: number;\n    };\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-isInGeneratedRange-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-isInGeneratedRange-member-1-\"></a>\n\n#### [isInGeneratedRange](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-isInGeneratedRange-member-1-)\n\n\n\n**Signature:**\n```ts\nisInGeneratedRange(offset: number): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-isInTemplateIdentifierRange-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-isInTemplateIdentifierRange-member-1-\"></a>\n\n#### [isInTemplateIdentifierRange](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-isInTemplateIdentifierRange-member-1-)\n\n\n\n**Signature:**\n```ts\nisInTemplateIdentifierRange(offset: number): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-toDisplayMappings-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-toDisplayMappings-member-1-\"></a>\n\n#### [toDisplayMappings](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-toDisplayMappings-member-1-)\n\n\n\n**Signature:**\n```ts\ntoDisplayMappings(): string;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-tryGenerate-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-tryGenerate-member-1-\"></a>\n\n#### [tryGenerate](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-tryGenerate-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected tryGenerate(): string;\n```\n\n\n<br>\n</details>\n\n<br>\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-class\" id=\"-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-class\"></a>\n\n### [TransformedBlockTextDocument](#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-class)\n\n\n\n<details><summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare class TransformedBlockTextDocument extends VirtualTextDocument {\n  protected constructor(container: VueTextDocument, selector: Selector, transformed: TextDocument, source: TextDocument | VirtualTextDocument, _transform: (document: TransformedBlockTextDocument) => BlockTransformResult);\n  static create(options: CreateTransformedBlockTextDocumentOptions): TransformedBlockTextDocument;\n  protected refresh(): void;\n  transform(): BlockTransformResult;\n  tryGetGeneratedOffset(offset: number): number | undefined;\n  tryGetSourceOffset(offset: number): number | undefined;\n}\n```\n\n**Members:**\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-create-member-1-\" id=\"-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-create-member-1-\"></a>\n\n#### [create](#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-create-member-1-)\n\n\n\n**Signature:**\n```ts\nstatic create(options: CreateTransformedBlockTextDocumentOptions): TransformedBlockTextDocument;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| options | <code><a href=\"#-vuedx-vue-virtual-textdocument--CreateTransformedBlockTextDocumentOptions-interface\">CreateTransformedBlockTextDocumentOptions</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-refresh-member-1-\" id=\"-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-refresh-member-1-\"></a>\n\n#### [refresh](#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-refresh-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected refresh(): void;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-transform-member-1-\" id=\"-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-transform-member-1-\"></a>\n\n#### [transform](#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-transform-member-1-)\n\n\n\n**Signature:**\n```ts\ntransform(): BlockTransformResult;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-tryGetGeneratedOffset-member-1-\" id=\"-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-tryGetGeneratedOffset-member-1-\"></a>\n\n#### [tryGetGeneratedOffset](#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-tryGetGeneratedOffset-member-1-)\n\n\n\n**Signature:**\n```ts\ntryGetGeneratedOffset(offset: number): number | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-tryGetSourceOffset-member-1-\" id=\"-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-tryGetSourceOffset-member-1-\"></a>\n\n#### [tryGetSourceOffset](#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-tryGetSourceOffset-member-1-)\n\n\n\n**Signature:**\n```ts\ntryGetSourceOffset(offset: number): number | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n</details>\n\n<br>\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VirtualTextDocument-class\" id=\"-vuedx-vue-virtual-textdocument-VirtualTextDocument-class\"></a>\n\n### [VirtualTextDocument](#-vuedx-vue-virtual-textdocument-VirtualTextDocument-class)\n\n\n\n<details><summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare class VirtualTextDocument extends ProxyTextDocument {\n  protected constructor(container: VueTextDocument, selector: Selector, doc: TextDocument);\n  readonly container: VueTextDocument;\n  static create(options: CreateVirtualTextDocumentOptions): VirtualTextDocument;\n  protected isDirty: boolean;\n  markDirty(): void;\n  protected refresh(): void;\n  readonly selector: Selector;\n}\n```\n\n**Members:**\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VirtualTextDocument-create-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VirtualTextDocument-create-member-1-\"></a>\n\n#### [create](#-vuedx-vue-virtual-textdocument-VirtualTextDocument-create-member-1-)\n\n\n\n**Signature:**\n```ts\nstatic create(options: CreateVirtualTextDocumentOptions): VirtualTextDocument;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| options | <code><a href=\"#-vuedx-vue-virtual-textdocument--CreateVirtualTextDocumentOptions-interface\">CreateVirtualTextDocumentOptions</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VirtualTextDocument-markDirty-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VirtualTextDocument-markDirty-member-1-\"></a>\n\n#### [markDirty](#-vuedx-vue-virtual-textdocument-VirtualTextDocument-markDirty-member-1-)\n\n\n\n**Signature:**\n```ts\nmarkDirty(): void;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VirtualTextDocument-refresh-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VirtualTextDocument-refresh-member-1-\"></a>\n\n#### [refresh](#-vuedx-vue-virtual-textdocument-VirtualTextDocument-refresh-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected refresh(): void;\n```\n\n\n<br>\n</details>\n\n<br>\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-class\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-class\"></a>\n\n### [VueTextDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-class)\n\n\n\n<details><summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare class VueTextDocument extends ProxyTextDocument {\n  constructor(doc: TextDocument, options?: VueTextDocumentOptions, parseOptions?: SFCParseOptions);\n  all(): VirtualTextDocument[];\n  blockAt(position: Position | number): SFCBlock | null | undefined;\n  static create(uri: string, languageId: string, version: number, content: string, options?: VueTextDocumentOptions, parseOptions?: SFCParseOptions): VueTextDocument;\n  protected createBlockDocument(selector: BlockSelector): VirtualTextDocument | undefined;\n  protected createInternalModuleDocument(): TransformedBlockTextDocument;\n  protected createModuleDocument(): TransformedBlockTextDocument;\n  protected createRenderDocument(): RenderFunctionTextDocument;\n  protected createTemplateASTDocument(): TransformedBlockTextDocument;\n  get descriptor(): SFCDescriptor;\n  documentAt(position: Position | number): VirtualTextDocument | undefined;\n  getBlock(selector: BlockSelector): SFCBlock | null | undefined;\n  getBlockSelector(block: SFCBlock): BlockSelector | undefined;\n  getDocument(selector: typeof RENDER_SELECTOR): RenderFunctionTextDocument;\n  getDocument(selector: SelectorLike): VirtualTextDocument;\n  getDocument(selector: string): VirtualTextDocument | undefined;\n  getDocumentFileName(selectorLike: SelectorLike): string;\n  protected getDocumentId(selector: Selector): string;\n  protected getDocumentLanguage(selector: Selector): string;\n  markDirty(): void;\n  readonly options: VueTextDocumentOptions;\n  protected parse(): void;\n  static update(document: VueTextDocument, changes: TextDocumentContentChangeEvent[], version: number): VueTextDocument;\n}\n```\n\n**Members:**\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-all-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-all-member-1-\"></a>\n\n#### [all](#-vuedx-vue-virtual-textdocument-VueTextDocument-all-member-1-)\n\n\n\n**Signature:**\n```ts\nall(): VirtualTextDocument[];\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-blockAt-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-blockAt-member-1-\"></a>\n\n#### [blockAt](#-vuedx-vue-virtual-textdocument-VueTextDocument-blockAt-member-1-)\n\n\n\n**Signature:**\n```ts\nblockAt(position: Position | number): SFCBlock | null | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| position | <code><a href=\"#vscode-languageserver-textdocument-Position-interface\">Position</a> &#124; number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-create-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-create-member-1-\"></a>\n\n#### [create](#-vuedx-vue-virtual-textdocument-VueTextDocument-create-member-1-)\n\n\n\n**Signature:**\n```ts\nstatic create(uri: string, languageId: string, version: number, content: string, options?: VueTextDocumentOptions, parseOptions?: SFCParseOptions): VueTextDocument;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n| languageId | <code>string</code> | - |\n| version | <code>number</code> | - |\n| content | <code>string</code> | - |\n| options | <code><a href=\"#-vuedx-vue-virtual-textdocument--VueTextDocumentOptions-interface\">VueTextDocumentOptions</a></code> | - |\n| parseOptions | <code><a href=\"#-vue-compiler-sfc-SFCParseOptions-interface\">SFCParseOptions</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-createBlockDocument-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-createBlockDocument-member-1-\"></a>\n\n#### [createBlockDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-createBlockDocument-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected createBlockDocument(selector: BlockSelector): VirtualTextDocument | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selector | <code><a href=\"#-vuedx-vue-virtual-textdocument--BlockSelector-type\">BlockSelector</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-createInternalModuleDocument-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-createInternalModuleDocument-member-1-\"></a>\n\n#### [createInternalModuleDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-createInternalModuleDocument-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected createInternalModuleDocument(): TransformedBlockTextDocument;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-createModuleDocument-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-createModuleDocument-member-1-\"></a>\n\n#### [createModuleDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-createModuleDocument-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected createModuleDocument(): TransformedBlockTextDocument;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-createRenderDocument-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-createRenderDocument-member-1-\"></a>\n\n#### [createRenderDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-createRenderDocument-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected createRenderDocument(): RenderFunctionTextDocument;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-createTemplateASTDocument-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-createTemplateASTDocument-member-1-\"></a>\n\n#### [createTemplateASTDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-createTemplateASTDocument-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected createTemplateASTDocument(): TransformedBlockTextDocument;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-documentAt-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-documentAt-member-1-\"></a>\n\n#### [documentAt](#-vuedx-vue-virtual-textdocument-VueTextDocument-documentAt-member-1-)\n\n\n\n**Signature:**\n```ts\ndocumentAt(position: Position | number): VirtualTextDocument | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| position | <code><a href=\"#vscode-languageserver-textdocument-Position-interface\">Position</a> &#124; number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getBlock-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getBlock-member-1-\"></a>\n\n#### [getBlock](#-vuedx-vue-virtual-textdocument-VueTextDocument-getBlock-member-1-)\n\n\n\n**Signature:**\n```ts\ngetBlock(selector: BlockSelector): SFCBlock | null | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selector | <code><a href=\"#-vuedx-vue-virtual-textdocument--BlockSelector-type\">BlockSelector</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getBlockSelector-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getBlockSelector-member-1-\"></a>\n\n#### [getBlockSelector](#-vuedx-vue-virtual-textdocument-VueTextDocument-getBlockSelector-member-1-)\n\n\n\n**Signature:**\n```ts\ngetBlockSelector(block: SFCBlock): BlockSelector | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| block | <code><a href=\"#-vue-compiler-sfc-SFCBlock-interface\">SFCBlock</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-1-\"></a>\n\n#### [getDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-1-)\n\n\n\n**Signature:**\n```ts\ngetDocument(selector: typeof RENDER_SELECTOR): RenderFunctionTextDocument;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selector | <code>typeof <a href=\"#-vuedx-vue-virtual-textdocument--RENDER-SELECTOR-var\">RENDER_SELECTOR</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-2-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-2-\"></a>\n\n#### [getDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-2-)\n\n\n\n**Signature:**\n```ts\ngetDocument(selector: SelectorLike): VirtualTextDocument;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selector | <code><a href=\"#-vuedx-vue-virtual-textdocument--SelectorLike-type\">SelectorLike</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-3-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-3-\"></a>\n\n#### [getDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-3-)\n\n\n\n**Signature:**\n```ts\ngetDocument(selector: string): VirtualTextDocument | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selector | <code>string</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentFileName-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentFileName-member-1-\"></a>\n\n#### [getDocumentFileName](#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentFileName-member-1-)\n\n\n\n**Signature:**\n```ts\ngetDocumentFileName(selectorLike: SelectorLike): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selectorLike | <code><a href=\"#-vuedx-vue-virtual-textdocument--SelectorLike-type\">SelectorLike</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentId-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentId-member-1-\"></a>\n\n#### [getDocumentId](#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentId-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected getDocumentId(selector: Selector): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selector | <code><a href=\"#-vuedx-vue-virtual-textdocument--Selector-type\">Selector</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentLanguage-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentLanguage-member-1-\"></a>\n\n#### [getDocumentLanguage](#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentLanguage-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected getDocumentLanguage(selector: Selector): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selector | <code><a href=\"#-vuedx-vue-virtual-textdocument--Selector-type\">Selector</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-markDirty-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-markDirty-member-1-\"></a>\n\n#### [markDirty](#-vuedx-vue-virtual-textdocument-VueTextDocument-markDirty-member-1-)\n\n\n\n**Signature:**\n```ts\nmarkDirty(): void;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-parse-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-parse-member-1-\"></a>\n\n#### [parse](#-vuedx-vue-virtual-textdocument-VueTextDocument-parse-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected parse(): void;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-update-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-update-member-1-\"></a>\n\n#### [update](#-vuedx-vue-virtual-textdocument-VueTextDocument-update-member-1-)\n\n\n\n**Signature:**\n```ts\nstatic update(document: VueTextDocument, changes: TextDocumentContentChangeEvent[], version: number): VueTextDocument;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| document | <code><a href=\"#-vuedx-vue-virtual-textdocument--VueTextDocument-class\">VueTextDocument</a></code> | - |\n| changes | <code><a href=\"#vscode-languageserver-textdocument-TextDocumentContentChangeEvent-type\">TextDocumentContentChangeEvent</a>[]</code> | - |\n| version | <code>number</code> | - |\n\n<br>\n</details>\n\n<br>\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-asFsPath-function-1-\" id=\"-vuedx-vue-virtual-textdocument-asFsPath-function-1-\"></a>\n\n### [asFsPath](#-vuedx-vue-virtual-textdocument-asFsPath-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function asFsPath(uri: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-asFsUri-function-1-\" id=\"-vuedx-vue-virtual-textdocument-asFsUri-function-1-\"></a>\n\n### [asFsUri](#-vuedx-vue-virtual-textdocument-asFsUri-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function asFsUri(fileName: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-asUri-function-1-\" id=\"-vuedx-vue-virtual-textdocument-asUri-function-1-\"></a>\n\n### [asUri](#-vuedx-vue-virtual-textdocument-asUri-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function asUri(fileNameOrUri: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileNameOrUri | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-basename-function-1-\" id=\"-vuedx-vue-virtual-textdocument-basename-function-1-\"></a>\n\n### [basename](#-vuedx-vue-virtual-textdocument-basename-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function basename(fileName: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-binarySearch-function-1-\" id=\"-vuedx-vue-virtual-textdocument-binarySearch-function-1-\"></a>\n\n### [binarySearch](#-vuedx-vue-virtual-textdocument-binarySearch-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function binarySearch<T>(array: T[], isMatch: (a: T) => number, returnMin?: boolean): T | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| array | <code>T[]</code> | - |\n| isMatch | <code>(a: T) => number</code> | - |\n| returnMin | <code>boolean</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-getBlockLanguage-function-1-\" id=\"-vuedx-vue-virtual-textdocument-getBlockLanguage-function-1-\"></a>\n\n### [getBlockLanguage](#-vuedx-vue-virtual-textdocument-getBlockLanguage-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function getBlockLanguage(block?: SFCBlock | null): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| block | <code><a href=\"#-vue-compiler-sfc-SFCBlock-interface\">SFCBlock</a> &#124; null</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-getContainingFile-function-1-\" id=\"-vuedx-vue-virtual-textdocument-getContainingFile-function-1-\"></a>\n\n### [getContainingFile](#-vuedx-vue-virtual-textdocument-getContainingFile-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function getContainingFile(fileName: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-getLanguageExtension-function-1-\" id=\"-vuedx-vue-virtual-textdocument-getLanguageExtension-function-1-\"></a>\n\n### [getLanguageExtension](#-vuedx-vue-virtual-textdocument-getLanguageExtension-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function getLanguageExtension(lang: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| lang | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-getLanguageIdFromExtension-function-1-\" id=\"-vuedx-vue-virtual-textdocument-getLanguageIdFromExtension-function-1-\"></a>\n\n### [getLanguageIdFromExtension](#-vuedx-vue-virtual-textdocument-getLanguageIdFromExtension-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function getLanguageIdFromExtension(ext: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| ext | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-isOffsetInBlock-function-1-\" id=\"-vuedx-vue-virtual-textdocument-isOffsetInBlock-function-1-\"></a>\n\n### [isOffsetInBlock](#-vuedx-vue-virtual-textdocument-isOffsetInBlock-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function isOffsetInBlock(offset: number, block?: SFCBlock | null): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n| block | <code><a href=\"#-vue-compiler-sfc-SFCBlock-interface\">SFCBlock</a> &#124; null</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-isVirtualFile-function-1-\" id=\"-vuedx-vue-virtual-textdocument-isVirtualFile-function-1-\"></a>\n\n### [isVirtualFile](#-vuedx-vue-virtual-textdocument-isVirtualFile-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function isVirtualFile(fileName: string): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-isVirtualFileOfType-function-1-\" id=\"-vuedx-vue-virtual-textdocument-isVirtualFileOfType-function-1-\"></a>\n\n### [isVirtualFileOfType](#-vuedx-vue-virtual-textdocument-isVirtualFileOfType-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function isVirtualFileOfType(fileName: string, type: '_render' | '_module' | '_internal' | 'script' | 'scriptSetup'): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n| type | <code>'_render' &#124; '_module' &#124; '_internal' &#124; 'script' &#124; 'scriptSetup'</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-isVueFile-function-1-\" id=\"-vuedx-vue-virtual-textdocument-isVueFile-function-1-\"></a>\n\n### [isVueFile](#-vuedx-vue-virtual-textdocument-isVueFile-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function isVueFile(fileName: string): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-parseVirtualFileName-function-1-\" id=\"-vuedx-vue-virtual-textdocument-parseVirtualFileName-function-1-\"></a>\n\n### [parseVirtualFileName](#-vuedx-vue-virtual-textdocument-parseVirtualFileName-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function parseVirtualFileName(fileName: string): {\n    uri: string;\n    selector: Selector;\n} | null;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-relativeVirtualImportPath-function-1-\" id=\"-vuedx-vue-virtual-textdocument-relativeVirtualImportPath-function-1-\"></a>\n\n### [relativeVirtualImportPath](#-vuedx-vue-virtual-textdocument-relativeVirtualImportPath-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function relativeVirtualImportPath(fileName: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-replaceSlashes-function-1-\" id=\"-vuedx-vue-virtual-textdocument-replaceSlashes-function-1-\"></a>\n\n### [replaceSlashes](#-vuedx-vue-virtual-textdocument-replaceSlashes-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function replaceSlashes(fileName: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n<!-- #region API-DOCS -->\n","readmeFilename":"readme.md","gitHead":"f2aefd5bd4cfcf3f762c47f2132a81d75901f77c","_id":"@vuedx/vue-virtual-textdocument@0.7.5-next-1648411566.0","_nodeVersion":"16.14.0","_npmVersion":"8.3.1","dist":{"integrity":"sha512-6jfMUtj8ACe/HrODl7fbkGNEfCNnW4+erXi3rXXiyvMKbdG3pe4DW7yGxTaxXdsbt34WXpj77zVbtNTkk47waA==","shasum":"2cf59a4b080dcdd50e7a7330ab2dfae8f6ac811b","tarball":"https://registry.npmjs.org/@vuedx/vue-virtual-textdocument/-/vue-virtual-textdocument-0.7.5-next-1648411566.0.tgz","fileCount":8,"unpackedSize":224278,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiQMPCACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmoJvw//bydsyAB8dq6d4Ac9rgQsv7Z9QUJKK2f+9+EBLo2wRh6S5kJz\r\nv01vWt36Sps7UhpH4/8OhjhGHgwGUMgI2FyadLhhUloE5cQSMqEhVxzYl5tJ\r\nS0OWhoKAD7tBVwVRyzsBCLE1JhAI6Sc0Iy0rtPoLWEcMT1ev471qMl8s7Zxa\r\nWti3TG/VyZrEJONaYZ5WtBwsxTbEafu1f8Feduti9zUGQrcpGWI4ISg7iyc2\r\nZc7kXSB/LuuLNYboE9WYkKoDUctWMxNlSlVdNOVB1lClFIZgn2WaJYamdNdF\r\n3sBfISpo0pgG6Jg0PwvOBsutqXJr9Q6VBhNyUHWIaZIoZztx1a1BPUFHnNjx\r\nW3P/fXF5Epdusuh3s/bXeVgLlVANSmUorun4PL5aI8R7ALX9VnRPLlWgPt+q\r\ntH0vHDuRbhWeVDP+REjPYn+kqMNF/Gg7diA4KvH0aVF7CVlmZh3zIyXDwQLr\r\n6NZ/+t/Nd3IIte3Npxfyg9I2Uh4lCKnlUQ4hiY+WXisMtc0oEovdzVcWOz1y\r\nLTXIz8n1XDZ0QH4opKcX0HajLJKM6xR/ZcKgv4IARYUdj4DixR5awjzEMhmD\r\nOfAOVBGe04Ci1b1sEQih+KoNjXdkckaVL2QMDf5/0StumEKsx5U6ySHVsUeQ\r\nE163tYsxOMc2KaYVumMUPtEEGg3RdYa4F5M=\r\n=Gwwg\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDT7560LJkQCH2vYEZMqcUM+e9jxHR1XjDqPXJd3P+7wwIgH3gokvYmDFVhgkMmpnrs3AVbIhMvQ1dfhgvgaZxz1N0="}]},"_npmUser":{"name":"znck","email":"rahulkdn@gmail.com"},"directories":{},"maintainers":[{"name":"znck","email":"rahulkdn@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/vue-virtual-textdocument_0.7.5-next-1648411566.0_1648411586487_0.5389068202462262"},"_hasShrinkwrap":false},"0.7.5-next-1648440991.0":{"name":"@vuedx/vue-virtual-textdocument","version":"0.7.5-next-1648440991.0","description":"A virtual filesystem to access blocks in SFC as files","main":"lib/index.js","module":"lib/index.mjs","types":"lib/index.d.ts","publishConfig":{"types":"lib/index.d.ts"},"private":false,"keywords":["vue","vue sfc","sfc","vue virtual files"],"repository":{"type":"git","url":"git+https://github.com/znck/vue-developer-experience.git"},"author":{"name":"Rahul Kadyan","email":"rahulkdn@gmail.com","url":"https://znck.me/"},"funding":{"type":"individual","url":"https://github.com/sponsors/znck"},"license":"MIT","bugs":{"url":"https://github.com/znck/vue-developer-experience/issues"},"homepage":"https://github.com/znck/vue-developer-experience#readme","dependencies":{"@vuedx/compiler-sfc":"0.7.2-next-1648440991.0","@vuedx/compiler-tsx":"0.7.5-next-1648440991.0","@vuedx/shared":"0.7.4-next-1648440991.0","@vuedx/template-ast-types":"0.7.3-next-1648440991.0","@vuedx/transforms":"0.7.5-next-1648440991.0","source-map":"^0.6.1","vscode-languageserver-textdocument":"^1.0.1","vscode-uri":"^2.1.2"},"devDependencies":{"typescript":"^4.0.3"},"scripts":{},"readme":"# Vue Virtual TextDocument\n\nAn implementation of virtual filesystem for accessing blocks in a `.vue` file as independent files.\n\n## Support\n\nThis package is part of [VueDX project](https://github.com/znck/vue-developer-experience), maintained by [Rahul Kadyan](https://github.com/znck). You can [💖 sponsor him](https://github.com/sponsors/znck) for continued development of this package and other VueDX tools.\n\n```\nnpm add @vuedx/vue-virtual-textdocument\n```\n<!-- #region API-DOCS -->\n<!-- Do not edit this file. It is a report generated by [scripts/docgen.js](https://github.com/znck/vue-developer-experience/tree/main/scripts/docgen.js). -->\n\n## API\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-AsyncDocumentStore-class\" id=\"-vuedx-vue-virtual-textdocument-AsyncDocumentStore-class\"></a>\n\n### [AsyncDocumentStore](#-vuedx-vue-virtual-textdocument-AsyncDocumentStore-class)\n\n\n\n<details><summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare class AsyncDocumentStore<T> extends DocumentStore<T> {\n  constructor(resolve: (uri: string) => T | Promise<T | null> | null, normalize?: (uri: string) => string);\n  get(uri: string): T | null;\n  get(uri: string): Promise<T | null>;\n}\n```\n\n**Members:**\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-AsyncDocumentStore-get-member-1-\" id=\"-vuedx-vue-virtual-textdocument-AsyncDocumentStore-get-member-1-\"></a>\n\n#### [get](#-vuedx-vue-virtual-textdocument-AsyncDocumentStore-get-member-1-)\n\n\n\n**Signature:**\n```ts\nget(uri: string): T | null;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-AsyncDocumentStore-get-member-2-\" id=\"-vuedx-vue-virtual-textdocument-AsyncDocumentStore-get-member-2-\"></a>\n\n#### [get](#-vuedx-vue-virtual-textdocument-AsyncDocumentStore-get-member-2-)\n\n\n\n**Signature:**\n```ts\nget(uri: string): Promise<T | null>;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n\n<br>\n</details>\n\n<br>\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-class\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-class\"></a>\n\n### [DocumentStore](#-vuedx-vue-virtual-textdocument-DocumentStore-class)\n\n\n\n<details><summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare class DocumentStore<T> {\n  constructor(resolve: (uri: string) => T | null, normalize?: (uri: string) => string);\n  all(): string[];\n  delete(uri: string): boolean;\n  dispose(): void;\n  get(uri: string): T | null;\n  protected getNormalizedUri(uri: string): string;\n  has(uri: string): boolean;\n  protected map: Map<string, T>;\n  normalize: (uri: string) => string;\n  protected resolve: (uri: string) => T | null;\n  protected reverseUriMap: Map<string, string>;\n  set(uri: string, document: T): void;\n}\n```\n\n**Members:**\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-all-member-1-\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-all-member-1-\"></a>\n\n#### [all](#-vuedx-vue-virtual-textdocument-DocumentStore-all-member-1-)\n\n\n\n**Signature:**\n```ts\nall(): string[];\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-delete-member-1-\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-delete-member-1-\"></a>\n\n#### [delete](#-vuedx-vue-virtual-textdocument-DocumentStore-delete-member-1-)\n\n\n\n**Signature:**\n```ts\ndelete(uri: string): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-dispose-member-1-\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-dispose-member-1-\"></a>\n\n#### [dispose](#-vuedx-vue-virtual-textdocument-DocumentStore-dispose-member-1-)\n\n\n\n**Signature:**\n```ts\ndispose(): void;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-get-member-1-\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-get-member-1-\"></a>\n\n#### [get](#-vuedx-vue-virtual-textdocument-DocumentStore-get-member-1-)\n\n\n\n**Signature:**\n```ts\nget(uri: string): T | null;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-getNormalizedUri-member-1-\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-getNormalizedUri-member-1-\"></a>\n\n#### [getNormalizedUri](#-vuedx-vue-virtual-textdocument-DocumentStore-getNormalizedUri-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected getNormalizedUri(uri: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-has-member-1-\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-has-member-1-\"></a>\n\n#### [has](#-vuedx-vue-virtual-textdocument-DocumentStore-has-member-1-)\n\n\n\n**Signature:**\n```ts\nhas(uri: string): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-set-member-1-\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-set-member-1-\"></a>\n\n#### [set](#-vuedx-vue-virtual-textdocument-DocumentStore-set-member-1-)\n\n\n\n**Signature:**\n```ts\nset(uri: string, document: T): void;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n| document | <code>T</code> | - |\n\n<br>\n</details>\n\n<br>\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-class\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-class\"></a>\n\n### [RenderFunctionTextDocument](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-class)\n\n\n\n<details><summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare class RenderFunctionTextDocument extends TransformedBlockTextDocument {\n  constructor(container: VueTextDocument, selector: Selector, transformed: TextDocument, source: TextDocument);\n  get ast(): CodegenResult['ast'] | undefined;\n  get contextCompletionsTriggerOffset(): number;\n  static create(options: CreateVirtualTextDocumentOptions): RenderFunctionTextDocument;\n  findExpression(offset: number, length: number): undefined | {\n        offset: number;\n        length: number;\n    };\n  protected generate(): string;\n  getAllGeneratedOffsetsAt(offset: number): undefined | Array<{\n        length: number;\n        offset: number;\n    }>;\n  getGeneratedOffsetAt(offset: number): undefined | {\n        length: number;\n        offset: number;\n    };\n  protected getKnownComponents(): Record<string, ComponentImport>;\n  getOriginalOffsetAt(offset: number): undefined | {\n        offset: number;\n        length: number;\n    };\n  isInGeneratedRange(offset: number): boolean;\n  isInTemplateIdentifierRange(offset: number): boolean;\n  get parserErrors(): CodegenResult['errors'];\n  get tagCompletionsTriggerOffset(): number;\n  toDisplayMappings(): string;\n  protected tryGenerate(): string;\n}\n```\n\n**Members:**\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-create-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-create-member-1-\"></a>\n\n#### [create](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-create-member-1-)\n\n\n\n**Signature:**\n```ts\nstatic create(options: CreateVirtualTextDocumentOptions): RenderFunctionTextDocument;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| options | <code><a href=\"#-vuedx-vue-virtual-textdocument--CreateVirtualTextDocumentOptions-interface\">CreateVirtualTextDocumentOptions</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-findExpression-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-findExpression-member-1-\"></a>\n\n#### [findExpression](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-findExpression-member-1-)\n\n\n\n**Signature:**\n```ts\nfindExpression(offset: number, length: number): undefined | {\n        offset: number;\n        length: number;\n    };\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n| length | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-generate-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-generate-member-1-\"></a>\n\n#### [generate](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-generate-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected generate(): string;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getAllGeneratedOffsetsAt-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getAllGeneratedOffsetsAt-member-1-\"></a>\n\n#### [getAllGeneratedOffsetsAt](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getAllGeneratedOffsetsAt-member-1-)\n\n\n\n**Signature:**\n```ts\ngetAllGeneratedOffsetsAt(offset: number): undefined | Array<{\n        length: number;\n        offset: number;\n    }>;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getGeneratedOffsetAt-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getGeneratedOffsetAt-member-1-\"></a>\n\n#### [getGeneratedOffsetAt](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getGeneratedOffsetAt-member-1-)\n\n\n\n**Signature:**\n```ts\ngetGeneratedOffsetAt(offset: number): undefined | {\n        length: number;\n        offset: number;\n    };\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getKnownComponents-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getKnownComponents-member-1-\"></a>\n\n#### [getKnownComponents](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getKnownComponents-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected getKnownComponents(): Record<string, ComponentImport>;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getOriginalOffsetAt-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getOriginalOffsetAt-member-1-\"></a>\n\n#### [getOriginalOffsetAt](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getOriginalOffsetAt-member-1-)\n\n\n\n**Signature:**\n```ts\ngetOriginalOffsetAt(offset: number): undefined | {\n        offset: number;\n        length: number;\n    };\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-isInGeneratedRange-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-isInGeneratedRange-member-1-\"></a>\n\n#### [isInGeneratedRange](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-isInGeneratedRange-member-1-)\n\n\n\n**Signature:**\n```ts\nisInGeneratedRange(offset: number): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-isInTemplateIdentifierRange-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-isInTemplateIdentifierRange-member-1-\"></a>\n\n#### [isInTemplateIdentifierRange](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-isInTemplateIdentifierRange-member-1-)\n\n\n\n**Signature:**\n```ts\nisInTemplateIdentifierRange(offset: number): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-toDisplayMappings-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-toDisplayMappings-member-1-\"></a>\n\n#### [toDisplayMappings](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-toDisplayMappings-member-1-)\n\n\n\n**Signature:**\n```ts\ntoDisplayMappings(): string;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-tryGenerate-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-tryGenerate-member-1-\"></a>\n\n#### [tryGenerate](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-tryGenerate-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected tryGenerate(): string;\n```\n\n\n<br>\n</details>\n\n<br>\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-class\" id=\"-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-class\"></a>\n\n### [TransformedBlockTextDocument](#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-class)\n\n\n\n<details><summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare class TransformedBlockTextDocument extends VirtualTextDocument {\n  protected constructor(container: VueTextDocument, selector: Selector, transformed: TextDocument, source: TextDocument | VirtualTextDocument, _transform: (document: TransformedBlockTextDocument) => BlockTransformResult);\n  static create(options: CreateTransformedBlockTextDocumentOptions): TransformedBlockTextDocument;\n  protected refresh(): void;\n  transform(): BlockTransformResult;\n  tryGetGeneratedOffset(offset: number): number | undefined;\n  tryGetSourceOffset(offset: number): number | undefined;\n}\n```\n\n**Members:**\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-create-member-1-\" id=\"-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-create-member-1-\"></a>\n\n#### [create](#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-create-member-1-)\n\n\n\n**Signature:**\n```ts\nstatic create(options: CreateTransformedBlockTextDocumentOptions): TransformedBlockTextDocument;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| options | <code><a href=\"#-vuedx-vue-virtual-textdocument--CreateTransformedBlockTextDocumentOptions-interface\">CreateTransformedBlockTextDocumentOptions</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-refresh-member-1-\" id=\"-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-refresh-member-1-\"></a>\n\n#### [refresh](#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-refresh-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected refresh(): void;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-transform-member-1-\" id=\"-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-transform-member-1-\"></a>\n\n#### [transform](#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-transform-member-1-)\n\n\n\n**Signature:**\n```ts\ntransform(): BlockTransformResult;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-tryGetGeneratedOffset-member-1-\" id=\"-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-tryGetGeneratedOffset-member-1-\"></a>\n\n#### [tryGetGeneratedOffset](#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-tryGetGeneratedOffset-member-1-)\n\n\n\n**Signature:**\n```ts\ntryGetGeneratedOffset(offset: number): number | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-tryGetSourceOffset-member-1-\" id=\"-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-tryGetSourceOffset-member-1-\"></a>\n\n#### [tryGetSourceOffset](#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-tryGetSourceOffset-member-1-)\n\n\n\n**Signature:**\n```ts\ntryGetSourceOffset(offset: number): number | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n</details>\n\n<br>\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VirtualTextDocument-class\" id=\"-vuedx-vue-virtual-textdocument-VirtualTextDocument-class\"></a>\n\n### [VirtualTextDocument](#-vuedx-vue-virtual-textdocument-VirtualTextDocument-class)\n\n\n\n<details><summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare class VirtualTextDocument extends ProxyTextDocument {\n  protected constructor(container: VueTextDocument, selector: Selector, doc: TextDocument);\n  readonly container: VueTextDocument;\n  static create(options: CreateVirtualTextDocumentOptions): VirtualTextDocument;\n  protected isDirty: boolean;\n  markDirty(): void;\n  protected refresh(): void;\n  readonly selector: Selector;\n}\n```\n\n**Members:**\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VirtualTextDocument-create-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VirtualTextDocument-create-member-1-\"></a>\n\n#### [create](#-vuedx-vue-virtual-textdocument-VirtualTextDocument-create-member-1-)\n\n\n\n**Signature:**\n```ts\nstatic create(options: CreateVirtualTextDocumentOptions): VirtualTextDocument;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| options | <code><a href=\"#-vuedx-vue-virtual-textdocument--CreateVirtualTextDocumentOptions-interface\">CreateVirtualTextDocumentOptions</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VirtualTextDocument-markDirty-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VirtualTextDocument-markDirty-member-1-\"></a>\n\n#### [markDirty](#-vuedx-vue-virtual-textdocument-VirtualTextDocument-markDirty-member-1-)\n\n\n\n**Signature:**\n```ts\nmarkDirty(): void;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VirtualTextDocument-refresh-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VirtualTextDocument-refresh-member-1-\"></a>\n\n#### [refresh](#-vuedx-vue-virtual-textdocument-VirtualTextDocument-refresh-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected refresh(): void;\n```\n\n\n<br>\n</details>\n\n<br>\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-class\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-class\"></a>\n\n### [VueTextDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-class)\n\n\n\n<details><summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare class VueTextDocument extends ProxyTextDocument {\n  constructor(doc: TextDocument, options?: VueTextDocumentOptions, parseOptions?: SFCParseOptions);\n  all(): VirtualTextDocument[];\n  blockAt(position: Position | number): SFCBlock | null | undefined;\n  static create(uri: string, languageId: string, version: number, content: string, options?: VueTextDocumentOptions, parseOptions?: SFCParseOptions): VueTextDocument;\n  protected createBlockDocument(selector: BlockSelector): VirtualTextDocument | undefined;\n  protected createInternalModuleDocument(): TransformedBlockTextDocument;\n  protected createModuleDocument(): TransformedBlockTextDocument;\n  protected createRenderDocument(): RenderFunctionTextDocument;\n  protected createTemplateASTDocument(): TransformedBlockTextDocument;\n  get descriptor(): SFCDescriptor;\n  documentAt(position: Position | number): VirtualTextDocument | undefined;\n  getBlock(selector: BlockSelector): SFCBlock | null | undefined;\n  getBlockSelector(block: SFCBlock): BlockSelector | undefined;\n  getDocument(selector: typeof RENDER_SELECTOR): RenderFunctionTextDocument;\n  getDocument(selector: SelectorLike): VirtualTextDocument;\n  getDocument(selector: string): VirtualTextDocument | undefined;\n  getDocumentFileName(selectorLike: SelectorLike): string;\n  protected getDocumentId(selector: Selector): string;\n  protected getDocumentLanguage(selector: Selector): string;\n  markDirty(): void;\n  readonly options: VueTextDocumentOptions;\n  protected parse(): void;\n  static update(document: VueTextDocument, changes: TextDocumentContentChangeEvent[], version: number): VueTextDocument;\n}\n```\n\n**Members:**\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-all-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-all-member-1-\"></a>\n\n#### [all](#-vuedx-vue-virtual-textdocument-VueTextDocument-all-member-1-)\n\n\n\n**Signature:**\n```ts\nall(): VirtualTextDocument[];\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-blockAt-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-blockAt-member-1-\"></a>\n\n#### [blockAt](#-vuedx-vue-virtual-textdocument-VueTextDocument-blockAt-member-1-)\n\n\n\n**Signature:**\n```ts\nblockAt(position: Position | number): SFCBlock | null | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| position | <code><a href=\"#vscode-languageserver-textdocument-Position-interface\">Position</a> &#124; number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-create-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-create-member-1-\"></a>\n\n#### [create](#-vuedx-vue-virtual-textdocument-VueTextDocument-create-member-1-)\n\n\n\n**Signature:**\n```ts\nstatic create(uri: string, languageId: string, version: number, content: string, options?: VueTextDocumentOptions, parseOptions?: SFCParseOptions): VueTextDocument;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n| languageId | <code>string</code> | - |\n| version | <code>number</code> | - |\n| content | <code>string</code> | - |\n| options | <code><a href=\"#-vuedx-vue-virtual-textdocument--VueTextDocumentOptions-interface\">VueTextDocumentOptions</a></code> | - |\n| parseOptions | <code><a href=\"#-vue-compiler-sfc-SFCParseOptions-interface\">SFCParseOptions</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-createBlockDocument-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-createBlockDocument-member-1-\"></a>\n\n#### [createBlockDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-createBlockDocument-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected createBlockDocument(selector: BlockSelector): VirtualTextDocument | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selector | <code><a href=\"#-vuedx-vue-virtual-textdocument--BlockSelector-type\">BlockSelector</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-createInternalModuleDocument-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-createInternalModuleDocument-member-1-\"></a>\n\n#### [createInternalModuleDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-createInternalModuleDocument-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected createInternalModuleDocument(): TransformedBlockTextDocument;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-createModuleDocument-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-createModuleDocument-member-1-\"></a>\n\n#### [createModuleDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-createModuleDocument-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected createModuleDocument(): TransformedBlockTextDocument;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-createRenderDocument-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-createRenderDocument-member-1-\"></a>\n\n#### [createRenderDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-createRenderDocument-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected createRenderDocument(): RenderFunctionTextDocument;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-createTemplateASTDocument-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-createTemplateASTDocument-member-1-\"></a>\n\n#### [createTemplateASTDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-createTemplateASTDocument-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected createTemplateASTDocument(): TransformedBlockTextDocument;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-documentAt-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-documentAt-member-1-\"></a>\n\n#### [documentAt](#-vuedx-vue-virtual-textdocument-VueTextDocument-documentAt-member-1-)\n\n\n\n**Signature:**\n```ts\ndocumentAt(position: Position | number): VirtualTextDocument | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| position | <code><a href=\"#vscode-languageserver-textdocument-Position-interface\">Position</a> &#124; number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getBlock-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getBlock-member-1-\"></a>\n\n#### [getBlock](#-vuedx-vue-virtual-textdocument-VueTextDocument-getBlock-member-1-)\n\n\n\n**Signature:**\n```ts\ngetBlock(selector: BlockSelector): SFCBlock | null | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selector | <code><a href=\"#-vuedx-vue-virtual-textdocument--BlockSelector-type\">BlockSelector</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getBlockSelector-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getBlockSelector-member-1-\"></a>\n\n#### [getBlockSelector](#-vuedx-vue-virtual-textdocument-VueTextDocument-getBlockSelector-member-1-)\n\n\n\n**Signature:**\n```ts\ngetBlockSelector(block: SFCBlock): BlockSelector | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| block | <code><a href=\"#-vue-compiler-sfc-SFCBlock-interface\">SFCBlock</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-1-\"></a>\n\n#### [getDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-1-)\n\n\n\n**Signature:**\n```ts\ngetDocument(selector: typeof RENDER_SELECTOR): RenderFunctionTextDocument;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selector | <code>typeof <a href=\"#-vuedx-vue-virtual-textdocument--RENDER-SELECTOR-var\">RENDER_SELECTOR</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-2-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-2-\"></a>\n\n#### [getDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-2-)\n\n\n\n**Signature:**\n```ts\ngetDocument(selector: SelectorLike): VirtualTextDocument;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selector | <code><a href=\"#-vuedx-vue-virtual-textdocument--SelectorLike-type\">SelectorLike</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-3-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-3-\"></a>\n\n#### [getDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-3-)\n\n\n\n**Signature:**\n```ts\ngetDocument(selector: string): VirtualTextDocument | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selector | <code>string</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentFileName-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentFileName-member-1-\"></a>\n\n#### [getDocumentFileName](#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentFileName-member-1-)\n\n\n\n**Signature:**\n```ts\ngetDocumentFileName(selectorLike: SelectorLike): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selectorLike | <code><a href=\"#-vuedx-vue-virtual-textdocument--SelectorLike-type\">SelectorLike</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentId-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentId-member-1-\"></a>\n\n#### [getDocumentId](#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentId-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected getDocumentId(selector: Selector): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selector | <code><a href=\"#-vuedx-vue-virtual-textdocument--Selector-type\">Selector</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentLanguage-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentLanguage-member-1-\"></a>\n\n#### [getDocumentLanguage](#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentLanguage-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected getDocumentLanguage(selector: Selector): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selector | <code><a href=\"#-vuedx-vue-virtual-textdocument--Selector-type\">Selector</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-markDirty-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-markDirty-member-1-\"></a>\n\n#### [markDirty](#-vuedx-vue-virtual-textdocument-VueTextDocument-markDirty-member-1-)\n\n\n\n**Signature:**\n```ts\nmarkDirty(): void;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-parse-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-parse-member-1-\"></a>\n\n#### [parse](#-vuedx-vue-virtual-textdocument-VueTextDocument-parse-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected parse(): void;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-update-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-update-member-1-\"></a>\n\n#### [update](#-vuedx-vue-virtual-textdocument-VueTextDocument-update-member-1-)\n\n\n\n**Signature:**\n```ts\nstatic update(document: VueTextDocument, changes: TextDocumentContentChangeEvent[], version: number): VueTextDocument;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| document | <code><a href=\"#-vuedx-vue-virtual-textdocument--VueTextDocument-class\">VueTextDocument</a></code> | - |\n| changes | <code><a href=\"#vscode-languageserver-textdocument-TextDocumentContentChangeEvent-type\">TextDocumentContentChangeEvent</a>[]</code> | - |\n| version | <code>number</code> | - |\n\n<br>\n</details>\n\n<br>\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-asFsPath-function-1-\" id=\"-vuedx-vue-virtual-textdocument-asFsPath-function-1-\"></a>\n\n### [asFsPath](#-vuedx-vue-virtual-textdocument-asFsPath-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function asFsPath(uri: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-asFsUri-function-1-\" id=\"-vuedx-vue-virtual-textdocument-asFsUri-function-1-\"></a>\n\n### [asFsUri](#-vuedx-vue-virtual-textdocument-asFsUri-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function asFsUri(fileName: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-asUri-function-1-\" id=\"-vuedx-vue-virtual-textdocument-asUri-function-1-\"></a>\n\n### [asUri](#-vuedx-vue-virtual-textdocument-asUri-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function asUri(fileNameOrUri: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileNameOrUri | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-basename-function-1-\" id=\"-vuedx-vue-virtual-textdocument-basename-function-1-\"></a>\n\n### [basename](#-vuedx-vue-virtual-textdocument-basename-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function basename(fileName: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-binarySearch-function-1-\" id=\"-vuedx-vue-virtual-textdocument-binarySearch-function-1-\"></a>\n\n### [binarySearch](#-vuedx-vue-virtual-textdocument-binarySearch-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function binarySearch<T>(array: T[], isMatch: (a: T) => number, returnMin?: boolean): T | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| array | <code>T[]</code> | - |\n| isMatch | <code>(a: T) => number</code> | - |\n| returnMin | <code>boolean</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-getBlockLanguage-function-1-\" id=\"-vuedx-vue-virtual-textdocument-getBlockLanguage-function-1-\"></a>\n\n### [getBlockLanguage](#-vuedx-vue-virtual-textdocument-getBlockLanguage-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function getBlockLanguage(block?: SFCBlock | null): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| block | <code><a href=\"#-vue-compiler-sfc-SFCBlock-interface\">SFCBlock</a> &#124; null</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-getContainingFile-function-1-\" id=\"-vuedx-vue-virtual-textdocument-getContainingFile-function-1-\"></a>\n\n### [getContainingFile](#-vuedx-vue-virtual-textdocument-getContainingFile-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function getContainingFile(fileName: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-getLanguageExtension-function-1-\" id=\"-vuedx-vue-virtual-textdocument-getLanguageExtension-function-1-\"></a>\n\n### [getLanguageExtension](#-vuedx-vue-virtual-textdocument-getLanguageExtension-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function getLanguageExtension(lang: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| lang | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-getLanguageIdFromExtension-function-1-\" id=\"-vuedx-vue-virtual-textdocument-getLanguageIdFromExtension-function-1-\"></a>\n\n### [getLanguageIdFromExtension](#-vuedx-vue-virtual-textdocument-getLanguageIdFromExtension-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function getLanguageIdFromExtension(ext: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| ext | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-isOffsetInBlock-function-1-\" id=\"-vuedx-vue-virtual-textdocument-isOffsetInBlock-function-1-\"></a>\n\n### [isOffsetInBlock](#-vuedx-vue-virtual-textdocument-isOffsetInBlock-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function isOffsetInBlock(offset: number, block?: SFCBlock | null): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n| block | <code><a href=\"#-vue-compiler-sfc-SFCBlock-interface\">SFCBlock</a> &#124; null</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-isVirtualFile-function-1-\" id=\"-vuedx-vue-virtual-textdocument-isVirtualFile-function-1-\"></a>\n\n### [isVirtualFile](#-vuedx-vue-virtual-textdocument-isVirtualFile-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function isVirtualFile(fileName: string): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-isVirtualFileOfType-function-1-\" id=\"-vuedx-vue-virtual-textdocument-isVirtualFileOfType-function-1-\"></a>\n\n### [isVirtualFileOfType](#-vuedx-vue-virtual-textdocument-isVirtualFileOfType-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function isVirtualFileOfType(fileName: string, type: '_render' | '_module' | '_internal' | 'script' | 'scriptSetup'): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n| type | <code>'_render' &#124; '_module' &#124; '_internal' &#124; 'script' &#124; 'scriptSetup'</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-isVueFile-function-1-\" id=\"-vuedx-vue-virtual-textdocument-isVueFile-function-1-\"></a>\n\n### [isVueFile](#-vuedx-vue-virtual-textdocument-isVueFile-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function isVueFile(fileName: string): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-parseVirtualFileName-function-1-\" id=\"-vuedx-vue-virtual-textdocument-parseVirtualFileName-function-1-\"></a>\n\n### [parseVirtualFileName](#-vuedx-vue-virtual-textdocument-parseVirtualFileName-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function parseVirtualFileName(fileName: string): {\n    uri: string;\n    selector: Selector;\n} | null;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-relativeVirtualImportPath-function-1-\" id=\"-vuedx-vue-virtual-textdocument-relativeVirtualImportPath-function-1-\"></a>\n\n### [relativeVirtualImportPath](#-vuedx-vue-virtual-textdocument-relativeVirtualImportPath-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function relativeVirtualImportPath(fileName: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-replaceSlashes-function-1-\" id=\"-vuedx-vue-virtual-textdocument-replaceSlashes-function-1-\"></a>\n\n### [replaceSlashes](#-vuedx-vue-virtual-textdocument-replaceSlashes-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function replaceSlashes(fileName: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n<!-- #region API-DOCS -->\n","readmeFilename":"readme.md","gitHead":"382f9718890a2480b517f459be68da34d46aec77","_id":"@vuedx/vue-virtual-textdocument@0.7.5-next-1648440991.0","_nodeVersion":"16.14.0","_npmVersion":"8.3.1","dist":{"integrity":"sha512-kldxEJYFSbyE061sSAgkHD2wbmXk+EsOw3VSuDJ2SEBq1si3aH6JwMyarG+AbUIL1WI9W75sw5NXdXbG7ZENdg==","shasum":"467da8135bb5967000f0c044d4f83b57a84539d8","tarball":"https://registry.npmjs.org/@vuedx/vue-virtual-textdocument/-/vue-virtual-textdocument-0.7.5-next-1648440991.0.tgz","fileCount":8,"unpackedSize":224278,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiQTa+ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpU4A//dkxLenSd13FS5lsIqh0EqYFT5u/HNwPiOtwk3s2AesSoUVDI\r\nnFYbgoRlRp9+xYjlacSsAjjjzKkxQWMQAKzpeU3ITuh4pxtG/LyszY5ejtbH\r\nayNNAKil6A+b9TZGqcsYQ79jKaor1ttq1FqAzqccZH5OD1RwSMftH64eGVPk\r\n/nn2ME0T5y9YN0isnKD6zE+zh4RWzL2jSoccNEce0V0/FDMdTdT/K7fmSoKm\r\nEqj3J/MYY2iTEklVR19OS9OCxe36JDR32Juelf+ZEG37DBPmaAyn2KhYiy2E\r\nKIB/oo393VO0Rjc4m3Aw6/tjs2i2wGVtTrOd7CsE6XWyyZr8Fq+P6FQOyYiC\r\n/zWS77zlNga/G/fs/aD8T7z+6xDzpkRFGklEb/xBsvHFQgztlAO4XQ6N3R6T\r\nW8DZXF9bbtAzlSxz+u5qBh7dhDre4LBeaw1H9bs8KIthVNzvj1jZeSYT0RmW\r\nPtgwOI6DWQmYv1/QTB4M1TynLaW7mGXcbA47Z203ly7K4X6sWDe4JBdD391+\r\ndrFPtEec+I/3+bnWz0n+0Hgj09BYf3snrzmNOFEKTCdA1QHx8tGMmsmru/BK\r\nY7iMSzqasn2XVljGKh/TypKXU4IAnYUQYblwF0xXBOCfdyg20Zcxzrt7Q0PU\r\nVINiL9qWFyvPOfX54n/Ms3zSrMBE16U36QA=\r\n=5ihc\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIE5nR1zvK38FIgjmqYHYYBj0Vl0T1FPN1Ec38PO2hJF+AiEA+RCJbvRfPcVnceD3dekz5vQRVNMbTE1YpXdc2QgGAvU="}]},"_npmUser":{"name":"znck","email":"rahulkdn@gmail.com"},"directories":{},"maintainers":[{"name":"znck","email":"rahulkdn@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/vue-virtual-textdocument_0.7.5-next-1648440991.0_1648441022015_0.13311811314975497"},"_hasShrinkwrap":false},"0.7.5-next-1648822539.0":{"name":"@vuedx/vue-virtual-textdocument","version":"0.7.5-next-1648822539.0","description":"A virtual filesystem to access blocks in SFC as files","main":"lib/index.js","module":"lib/index.mjs","types":"lib/index.d.ts","publishConfig":{"types":"lib/index.d.ts"},"private":false,"keywords":["vue","vue sfc","sfc","vue virtual files"],"repository":{"type":"git","url":"git+https://github.com/znck/vue-developer-experience.git"},"author":{"name":"Rahul Kadyan","email":"rahulkdn@gmail.com","url":"https://znck.me/"},"funding":{"type":"individual","url":"https://github.com/sponsors/znck"},"license":"MIT","bugs":{"url":"https://github.com/znck/vue-developer-experience/issues"},"homepage":"https://github.com/znck/vue-developer-experience#readme","dependencies":{"@vuedx/compiler-sfc":"0.7.2-next-1648822539.0","@vuedx/compiler-tsx":"0.7.5-next-1648822539.0","@vuedx/shared":"0.7.4-next-1648822539.0","@vuedx/template-ast-types":"0.7.3-next-1648822539.0","@vuedx/transforms":"0.7.5-next-1648822539.0","source-map":"^0.6.1","vscode-languageserver-textdocument":"^1.0.1","vscode-uri":"^2.1.2"},"devDependencies":{"typescript":"^4.0.3"},"scripts":{},"readme":"# Vue Virtual TextDocument\n\nAn implementation of virtual filesystem for accessing blocks in a `.vue` file as independent files.\n\n## Support\n\nThis package is part of [VueDX project](https://github.com/znck/vue-developer-experience), maintained by [Rahul Kadyan](https://github.com/znck). You can [💖 sponsor him](https://github.com/sponsors/znck) for continued development of this package and other VueDX tools.\n\n```\nnpm add @vuedx/vue-virtual-textdocument\n```\n<!-- #region API-DOCS -->\n<!-- Do not edit this file. It is a report generated by [scripts/docgen.js](https://github.com/znck/vue-developer-experience/tree/main/scripts/docgen.js). -->\n\n## API\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-AsyncDocumentStore-class\" id=\"-vuedx-vue-virtual-textdocument-AsyncDocumentStore-class\"></a>\n\n### [AsyncDocumentStore](#-vuedx-vue-virtual-textdocument-AsyncDocumentStore-class)\n\n\n\n<details><summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare class AsyncDocumentStore<T> extends DocumentStore<T> {\n  constructor(resolve: (uri: string) => T | Promise<T | null> | null, normalize?: (uri: string) => string);\n  get(uri: string): T | null;\n  get(uri: string): Promise<T | null>;\n}\n```\n\n**Members:**\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-AsyncDocumentStore-get-member-1-\" id=\"-vuedx-vue-virtual-textdocument-AsyncDocumentStore-get-member-1-\"></a>\n\n#### [get](#-vuedx-vue-virtual-textdocument-AsyncDocumentStore-get-member-1-)\n\n\n\n**Signature:**\n```ts\nget(uri: string): T | null;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-AsyncDocumentStore-get-member-2-\" id=\"-vuedx-vue-virtual-textdocument-AsyncDocumentStore-get-member-2-\"></a>\n\n#### [get](#-vuedx-vue-virtual-textdocument-AsyncDocumentStore-get-member-2-)\n\n\n\n**Signature:**\n```ts\nget(uri: string): Promise<T | null>;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n\n<br>\n</details>\n\n<br>\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-class\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-class\"></a>\n\n### [DocumentStore](#-vuedx-vue-virtual-textdocument-DocumentStore-class)\n\n\n\n<details><summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare class DocumentStore<T> {\n  constructor(resolve: (uri: string) => T | null, normalize?: (uri: string) => string);\n  all(): string[];\n  delete(uri: string): boolean;\n  dispose(): void;\n  get(uri: string): T | null;\n  protected getNormalizedUri(uri: string): string;\n  has(uri: string): boolean;\n  protected map: Map<string, T>;\n  normalize: (uri: string) => string;\n  protected resolve: (uri: string) => T | null;\n  protected reverseUriMap: Map<string, string>;\n  set(uri: string, document: T): void;\n}\n```\n\n**Members:**\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-all-member-1-\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-all-member-1-\"></a>\n\n#### [all](#-vuedx-vue-virtual-textdocument-DocumentStore-all-member-1-)\n\n\n\n**Signature:**\n```ts\nall(): string[];\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-delete-member-1-\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-delete-member-1-\"></a>\n\n#### [delete](#-vuedx-vue-virtual-textdocument-DocumentStore-delete-member-1-)\n\n\n\n**Signature:**\n```ts\ndelete(uri: string): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-dispose-member-1-\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-dispose-member-1-\"></a>\n\n#### [dispose](#-vuedx-vue-virtual-textdocument-DocumentStore-dispose-member-1-)\n\n\n\n**Signature:**\n```ts\ndispose(): void;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-get-member-1-\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-get-member-1-\"></a>\n\n#### [get](#-vuedx-vue-virtual-textdocument-DocumentStore-get-member-1-)\n\n\n\n**Signature:**\n```ts\nget(uri: string): T | null;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-getNormalizedUri-member-1-\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-getNormalizedUri-member-1-\"></a>\n\n#### [getNormalizedUri](#-vuedx-vue-virtual-textdocument-DocumentStore-getNormalizedUri-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected getNormalizedUri(uri: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-has-member-1-\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-has-member-1-\"></a>\n\n#### [has](#-vuedx-vue-virtual-textdocument-DocumentStore-has-member-1-)\n\n\n\n**Signature:**\n```ts\nhas(uri: string): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-set-member-1-\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-set-member-1-\"></a>\n\n#### [set](#-vuedx-vue-virtual-textdocument-DocumentStore-set-member-1-)\n\n\n\n**Signature:**\n```ts\nset(uri: string, document: T): void;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n| document | <code>T</code> | - |\n\n<br>\n</details>\n\n<br>\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-class\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-class\"></a>\n\n### [RenderFunctionTextDocument](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-class)\n\n\n\n<details><summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare class RenderFunctionTextDocument extends TransformedBlockTextDocument {\n  constructor(container: VueTextDocument, selector: Selector, transformed: TextDocument, source: TextDocument);\n  get ast(): CodegenResult['ast'] | undefined;\n  get contextCompletionsTriggerOffset(): number;\n  static create(options: CreateVirtualTextDocumentOptions): RenderFunctionTextDocument;\n  findExpression(offset: number, length: number): undefined | {\n        offset: number;\n        length: number;\n    };\n  protected generate(): string;\n  getAllGeneratedOffsetsAt(offset: number): undefined | Array<{\n        length: number;\n        offset: number;\n    }>;\n  getGeneratedOffsetAt(offset: number): undefined | {\n        length: number;\n        offset: number;\n    };\n  protected getKnownComponents(): Record<string, ComponentImport>;\n  getOriginalOffsetAt(offset: number): undefined | {\n        offset: number;\n        length: number;\n    };\n  isInGeneratedRange(offset: number): boolean;\n  isInTemplateIdentifierRange(offset: number): boolean;\n  get parserErrors(): CodegenResult['errors'];\n  get tagCompletionsTriggerOffset(): number;\n  toDisplayMappings(): string;\n  protected tryGenerate(): string;\n}\n```\n\n**Members:**\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-create-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-create-member-1-\"></a>\n\n#### [create](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-create-member-1-)\n\n\n\n**Signature:**\n```ts\nstatic create(options: CreateVirtualTextDocumentOptions): RenderFunctionTextDocument;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| options | <code><a href=\"#-vuedx-vue-virtual-textdocument--CreateVirtualTextDocumentOptions-interface\">CreateVirtualTextDocumentOptions</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-findExpression-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-findExpression-member-1-\"></a>\n\n#### [findExpression](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-findExpression-member-1-)\n\n\n\n**Signature:**\n```ts\nfindExpression(offset: number, length: number): undefined | {\n        offset: number;\n        length: number;\n    };\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n| length | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-generate-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-generate-member-1-\"></a>\n\n#### [generate](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-generate-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected generate(): string;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getAllGeneratedOffsetsAt-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getAllGeneratedOffsetsAt-member-1-\"></a>\n\n#### [getAllGeneratedOffsetsAt](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getAllGeneratedOffsetsAt-member-1-)\n\n\n\n**Signature:**\n```ts\ngetAllGeneratedOffsetsAt(offset: number): undefined | Array<{\n        length: number;\n        offset: number;\n    }>;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getGeneratedOffsetAt-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getGeneratedOffsetAt-member-1-\"></a>\n\n#### [getGeneratedOffsetAt](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getGeneratedOffsetAt-member-1-)\n\n\n\n**Signature:**\n```ts\ngetGeneratedOffsetAt(offset: number): undefined | {\n        length: number;\n        offset: number;\n    };\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getKnownComponents-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getKnownComponents-member-1-\"></a>\n\n#### [getKnownComponents](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getKnownComponents-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected getKnownComponents(): Record<string, ComponentImport>;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getOriginalOffsetAt-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getOriginalOffsetAt-member-1-\"></a>\n\n#### [getOriginalOffsetAt](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getOriginalOffsetAt-member-1-)\n\n\n\n**Signature:**\n```ts\ngetOriginalOffsetAt(offset: number): undefined | {\n        offset: number;\n        length: number;\n    };\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-isInGeneratedRange-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-isInGeneratedRange-member-1-\"></a>\n\n#### [isInGeneratedRange](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-isInGeneratedRange-member-1-)\n\n\n\n**Signature:**\n```ts\nisInGeneratedRange(offset: number): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-isInTemplateIdentifierRange-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-isInTemplateIdentifierRange-member-1-\"></a>\n\n#### [isInTemplateIdentifierRange](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-isInTemplateIdentifierRange-member-1-)\n\n\n\n**Signature:**\n```ts\nisInTemplateIdentifierRange(offset: number): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-toDisplayMappings-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-toDisplayMappings-member-1-\"></a>\n\n#### [toDisplayMappings](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-toDisplayMappings-member-1-)\n\n\n\n**Signature:**\n```ts\ntoDisplayMappings(): string;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-tryGenerate-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-tryGenerate-member-1-\"></a>\n\n#### [tryGenerate](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-tryGenerate-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected tryGenerate(): string;\n```\n\n\n<br>\n</details>\n\n<br>\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-class\" id=\"-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-class\"></a>\n\n### [TransformedBlockTextDocument](#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-class)\n\n\n\n<details><summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare class TransformedBlockTextDocument extends VirtualTextDocument {\n  protected constructor(container: VueTextDocument, selector: Selector, transformed: TextDocument, source: TextDocument | VirtualTextDocument, _transform: (document: TransformedBlockTextDocument) => BlockTransformResult);\n  static create(options: CreateTransformedBlockTextDocumentOptions): TransformedBlockTextDocument;\n  protected refresh(): void;\n  transform(): BlockTransformResult;\n  tryGetGeneratedOffset(offset: number): number | undefined;\n  tryGetSourceOffset(offset: number): number | undefined;\n}\n```\n\n**Members:**\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-create-member-1-\" id=\"-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-create-member-1-\"></a>\n\n#### [create](#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-create-member-1-)\n\n\n\n**Signature:**\n```ts\nstatic create(options: CreateTransformedBlockTextDocumentOptions): TransformedBlockTextDocument;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| options | <code><a href=\"#-vuedx-vue-virtual-textdocument--CreateTransformedBlockTextDocumentOptions-interface\">CreateTransformedBlockTextDocumentOptions</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-refresh-member-1-\" id=\"-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-refresh-member-1-\"></a>\n\n#### [refresh](#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-refresh-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected refresh(): void;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-transform-member-1-\" id=\"-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-transform-member-1-\"></a>\n\n#### [transform](#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-transform-member-1-)\n\n\n\n**Signature:**\n```ts\ntransform(): BlockTransformResult;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-tryGetGeneratedOffset-member-1-\" id=\"-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-tryGetGeneratedOffset-member-1-\"></a>\n\n#### [tryGetGeneratedOffset](#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-tryGetGeneratedOffset-member-1-)\n\n\n\n**Signature:**\n```ts\ntryGetGeneratedOffset(offset: number): number | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-tryGetSourceOffset-member-1-\" id=\"-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-tryGetSourceOffset-member-1-\"></a>\n\n#### [tryGetSourceOffset](#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-tryGetSourceOffset-member-1-)\n\n\n\n**Signature:**\n```ts\ntryGetSourceOffset(offset: number): number | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n</details>\n\n<br>\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VirtualTextDocument-class\" id=\"-vuedx-vue-virtual-textdocument-VirtualTextDocument-class\"></a>\n\n### [VirtualTextDocument](#-vuedx-vue-virtual-textdocument-VirtualTextDocument-class)\n\n\n\n<details><summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare class VirtualTextDocument extends ProxyTextDocument {\n  protected constructor(container: VueTextDocument, selector: Selector, doc: TextDocument);\n  readonly container: VueTextDocument;\n  static create(options: CreateVirtualTextDocumentOptions): VirtualTextDocument;\n  protected isDirty: boolean;\n  markDirty(): void;\n  protected refresh(): void;\n  readonly selector: Selector;\n}\n```\n\n**Members:**\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VirtualTextDocument-create-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VirtualTextDocument-create-member-1-\"></a>\n\n#### [create](#-vuedx-vue-virtual-textdocument-VirtualTextDocument-create-member-1-)\n\n\n\n**Signature:**\n```ts\nstatic create(options: CreateVirtualTextDocumentOptions): VirtualTextDocument;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| options | <code><a href=\"#-vuedx-vue-virtual-textdocument--CreateVirtualTextDocumentOptions-interface\">CreateVirtualTextDocumentOptions</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VirtualTextDocument-markDirty-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VirtualTextDocument-markDirty-member-1-\"></a>\n\n#### [markDirty](#-vuedx-vue-virtual-textdocument-VirtualTextDocument-markDirty-member-1-)\n\n\n\n**Signature:**\n```ts\nmarkDirty(): void;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VirtualTextDocument-refresh-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VirtualTextDocument-refresh-member-1-\"></a>\n\n#### [refresh](#-vuedx-vue-virtual-textdocument-VirtualTextDocument-refresh-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected refresh(): void;\n```\n\n\n<br>\n</details>\n\n<br>\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-class\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-class\"></a>\n\n### [VueTextDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-class)\n\n\n\n<details><summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare class VueTextDocument extends ProxyTextDocument {\n  constructor(doc: TextDocument, options?: VueTextDocumentOptions, parseOptions?: SFCParseOptions);\n  all(): VirtualTextDocument[];\n  blockAt(position: Position | number): SFCBlock | null | undefined;\n  static create(uri: string, languageId: string, version: number, content: string, options?: VueTextDocumentOptions, parseOptions?: SFCParseOptions): VueTextDocument;\n  protected createBlockDocument(selector: BlockSelector): VirtualTextDocument | undefined;\n  protected createInternalModuleDocument(): TransformedBlockTextDocument;\n  protected createModuleDocument(): TransformedBlockTextDocument;\n  protected createRenderDocument(): RenderFunctionTextDocument;\n  protected createTemplateASTDocument(): TransformedBlockTextDocument;\n  get descriptor(): SFCDescriptor;\n  documentAt(position: Position | number): VirtualTextDocument | undefined;\n  getBlock(selector: BlockSelector): SFCBlock | null | undefined;\n  getBlockSelector(block: SFCBlock): BlockSelector | undefined;\n  getDocument(selector: typeof RENDER_SELECTOR): RenderFunctionTextDocument;\n  getDocument(selector: SelectorLike): VirtualTextDocument;\n  getDocument(selector: string): VirtualTextDocument | undefined;\n  getDocumentFileName(selectorLike: SelectorLike): string;\n  protected getDocumentId(selector: Selector): string;\n  protected getDocumentLanguage(selector: Selector): string;\n  markDirty(): void;\n  readonly options: VueTextDocumentOptions;\n  protected parse(): void;\n  static update(document: VueTextDocument, changes: TextDocumentContentChangeEvent[], version: number): VueTextDocument;\n}\n```\n\n**Members:**\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-all-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-all-member-1-\"></a>\n\n#### [all](#-vuedx-vue-virtual-textdocument-VueTextDocument-all-member-1-)\n\n\n\n**Signature:**\n```ts\nall(): VirtualTextDocument[];\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-blockAt-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-blockAt-member-1-\"></a>\n\n#### [blockAt](#-vuedx-vue-virtual-textdocument-VueTextDocument-blockAt-member-1-)\n\n\n\n**Signature:**\n```ts\nblockAt(position: Position | number): SFCBlock | null | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| position | <code><a href=\"#vscode-languageserver-textdocument-Position-interface\">Position</a> &#124; number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-create-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-create-member-1-\"></a>\n\n#### [create](#-vuedx-vue-virtual-textdocument-VueTextDocument-create-member-1-)\n\n\n\n**Signature:**\n```ts\nstatic create(uri: string, languageId: string, version: number, content: string, options?: VueTextDocumentOptions, parseOptions?: SFCParseOptions): VueTextDocument;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n| languageId | <code>string</code> | - |\n| version | <code>number</code> | - |\n| content | <code>string</code> | - |\n| options | <code><a href=\"#-vuedx-vue-virtual-textdocument--VueTextDocumentOptions-interface\">VueTextDocumentOptions</a></code> | - |\n| parseOptions | <code><a href=\"#-vue-compiler-sfc-SFCParseOptions-interface\">SFCParseOptions</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-createBlockDocument-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-createBlockDocument-member-1-\"></a>\n\n#### [createBlockDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-createBlockDocument-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected createBlockDocument(selector: BlockSelector): VirtualTextDocument | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selector | <code><a href=\"#-vuedx-vue-virtual-textdocument--BlockSelector-type\">BlockSelector</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-createInternalModuleDocument-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-createInternalModuleDocument-member-1-\"></a>\n\n#### [createInternalModuleDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-createInternalModuleDocument-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected createInternalModuleDocument(): TransformedBlockTextDocument;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-createModuleDocument-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-createModuleDocument-member-1-\"></a>\n\n#### [createModuleDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-createModuleDocument-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected createModuleDocument(): TransformedBlockTextDocument;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-createRenderDocument-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-createRenderDocument-member-1-\"></a>\n\n#### [createRenderDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-createRenderDocument-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected createRenderDocument(): RenderFunctionTextDocument;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-createTemplateASTDocument-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-createTemplateASTDocument-member-1-\"></a>\n\n#### [createTemplateASTDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-createTemplateASTDocument-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected createTemplateASTDocument(): TransformedBlockTextDocument;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-documentAt-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-documentAt-member-1-\"></a>\n\n#### [documentAt](#-vuedx-vue-virtual-textdocument-VueTextDocument-documentAt-member-1-)\n\n\n\n**Signature:**\n```ts\ndocumentAt(position: Position | number): VirtualTextDocument | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| position | <code><a href=\"#vscode-languageserver-textdocument-Position-interface\">Position</a> &#124; number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getBlock-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getBlock-member-1-\"></a>\n\n#### [getBlock](#-vuedx-vue-virtual-textdocument-VueTextDocument-getBlock-member-1-)\n\n\n\n**Signature:**\n```ts\ngetBlock(selector: BlockSelector): SFCBlock | null | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selector | <code><a href=\"#-vuedx-vue-virtual-textdocument--BlockSelector-type\">BlockSelector</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getBlockSelector-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getBlockSelector-member-1-\"></a>\n\n#### [getBlockSelector](#-vuedx-vue-virtual-textdocument-VueTextDocument-getBlockSelector-member-1-)\n\n\n\n**Signature:**\n```ts\ngetBlockSelector(block: SFCBlock): BlockSelector | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| block | <code><a href=\"#-vue-compiler-sfc-SFCBlock-interface\">SFCBlock</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-1-\"></a>\n\n#### [getDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-1-)\n\n\n\n**Signature:**\n```ts\ngetDocument(selector: typeof RENDER_SELECTOR): RenderFunctionTextDocument;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selector | <code>typeof <a href=\"#-vuedx-vue-virtual-textdocument--RENDER-SELECTOR-var\">RENDER_SELECTOR</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-2-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-2-\"></a>\n\n#### [getDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-2-)\n\n\n\n**Signature:**\n```ts\ngetDocument(selector: SelectorLike): VirtualTextDocument;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selector | <code><a href=\"#-vuedx-vue-virtual-textdocument--SelectorLike-type\">SelectorLike</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-3-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-3-\"></a>\n\n#### [getDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-3-)\n\n\n\n**Signature:**\n```ts\ngetDocument(selector: string): VirtualTextDocument | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selector | <code>string</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentFileName-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentFileName-member-1-\"></a>\n\n#### [getDocumentFileName](#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentFileName-member-1-)\n\n\n\n**Signature:**\n```ts\ngetDocumentFileName(selectorLike: SelectorLike): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selectorLike | <code><a href=\"#-vuedx-vue-virtual-textdocument--SelectorLike-type\">SelectorLike</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentId-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentId-member-1-\"></a>\n\n#### [getDocumentId](#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentId-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected getDocumentId(selector: Selector): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selector | <code><a href=\"#-vuedx-vue-virtual-textdocument--Selector-type\">Selector</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentLanguage-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentLanguage-member-1-\"></a>\n\n#### [getDocumentLanguage](#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentLanguage-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected getDocumentLanguage(selector: Selector): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selector | <code><a href=\"#-vuedx-vue-virtual-textdocument--Selector-type\">Selector</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-markDirty-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-markDirty-member-1-\"></a>\n\n#### [markDirty](#-vuedx-vue-virtual-textdocument-VueTextDocument-markDirty-member-1-)\n\n\n\n**Signature:**\n```ts\nmarkDirty(): void;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-parse-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-parse-member-1-\"></a>\n\n#### [parse](#-vuedx-vue-virtual-textdocument-VueTextDocument-parse-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected parse(): void;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-update-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-update-member-1-\"></a>\n\n#### [update](#-vuedx-vue-virtual-textdocument-VueTextDocument-update-member-1-)\n\n\n\n**Signature:**\n```ts\nstatic update(document: VueTextDocument, changes: TextDocumentContentChangeEvent[], version: number): VueTextDocument;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| document | <code><a href=\"#-vuedx-vue-virtual-textdocument--VueTextDocument-class\">VueTextDocument</a></code> | - |\n| changes | <code><a href=\"#vscode-languageserver-textdocument-TextDocumentContentChangeEvent-type\">TextDocumentContentChangeEvent</a>[]</code> | - |\n| version | <code>number</code> | - |\n\n<br>\n</details>\n\n<br>\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-asFsPath-function-1-\" id=\"-vuedx-vue-virtual-textdocument-asFsPath-function-1-\"></a>\n\n### [asFsPath](#-vuedx-vue-virtual-textdocument-asFsPath-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function asFsPath(uri: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-asFsUri-function-1-\" id=\"-vuedx-vue-virtual-textdocument-asFsUri-function-1-\"></a>\n\n### [asFsUri](#-vuedx-vue-virtual-textdocument-asFsUri-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function asFsUri(fileName: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-asUri-function-1-\" id=\"-vuedx-vue-virtual-textdocument-asUri-function-1-\"></a>\n\n### [asUri](#-vuedx-vue-virtual-textdocument-asUri-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function asUri(fileNameOrUri: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileNameOrUri | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-basename-function-1-\" id=\"-vuedx-vue-virtual-textdocument-basename-function-1-\"></a>\n\n### [basename](#-vuedx-vue-virtual-textdocument-basename-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function basename(fileName: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-binarySearch-function-1-\" id=\"-vuedx-vue-virtual-textdocument-binarySearch-function-1-\"></a>\n\n### [binarySearch](#-vuedx-vue-virtual-textdocument-binarySearch-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function binarySearch<T>(array: T[], isMatch: (a: T) => number, returnMin?: boolean): T | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| array | <code>T[]</code> | - |\n| isMatch | <code>(a: T) => number</code> | - |\n| returnMin | <code>boolean</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-getBlockLanguage-function-1-\" id=\"-vuedx-vue-virtual-textdocument-getBlockLanguage-function-1-\"></a>\n\n### [getBlockLanguage](#-vuedx-vue-virtual-textdocument-getBlockLanguage-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function getBlockLanguage(block?: SFCBlock | null): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| block | <code><a href=\"#-vue-compiler-sfc-SFCBlock-interface\">SFCBlock</a> &#124; null</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-getContainingFile-function-1-\" id=\"-vuedx-vue-virtual-textdocument-getContainingFile-function-1-\"></a>\n\n### [getContainingFile](#-vuedx-vue-virtual-textdocument-getContainingFile-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function getContainingFile(fileName: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-getLanguageExtension-function-1-\" id=\"-vuedx-vue-virtual-textdocument-getLanguageExtension-function-1-\"></a>\n\n### [getLanguageExtension](#-vuedx-vue-virtual-textdocument-getLanguageExtension-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function getLanguageExtension(lang: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| lang | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-getLanguageIdFromExtension-function-1-\" id=\"-vuedx-vue-virtual-textdocument-getLanguageIdFromExtension-function-1-\"></a>\n\n### [getLanguageIdFromExtension](#-vuedx-vue-virtual-textdocument-getLanguageIdFromExtension-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function getLanguageIdFromExtension(ext: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| ext | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-isOffsetInBlock-function-1-\" id=\"-vuedx-vue-virtual-textdocument-isOffsetInBlock-function-1-\"></a>\n\n### [isOffsetInBlock](#-vuedx-vue-virtual-textdocument-isOffsetInBlock-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function isOffsetInBlock(offset: number, block?: SFCBlock | null): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n| block | <code><a href=\"#-vue-compiler-sfc-SFCBlock-interface\">SFCBlock</a> &#124; null</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-isVirtualFile-function-1-\" id=\"-vuedx-vue-virtual-textdocument-isVirtualFile-function-1-\"></a>\n\n### [isVirtualFile](#-vuedx-vue-virtual-textdocument-isVirtualFile-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function isVirtualFile(fileName: string): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-isVirtualFileOfType-function-1-\" id=\"-vuedx-vue-virtual-textdocument-isVirtualFileOfType-function-1-\"></a>\n\n### [isVirtualFileOfType](#-vuedx-vue-virtual-textdocument-isVirtualFileOfType-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function isVirtualFileOfType(fileName: string, type: '_render' | '_module' | '_internal' | 'script' | 'scriptSetup'): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n| type | <code>'_render' &#124; '_module' &#124; '_internal' &#124; 'script' &#124; 'scriptSetup'</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-isVueFile-function-1-\" id=\"-vuedx-vue-virtual-textdocument-isVueFile-function-1-\"></a>\n\n### [isVueFile](#-vuedx-vue-virtual-textdocument-isVueFile-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function isVueFile(fileName: string): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-parseVirtualFileName-function-1-\" id=\"-vuedx-vue-virtual-textdocument-parseVirtualFileName-function-1-\"></a>\n\n### [parseVirtualFileName](#-vuedx-vue-virtual-textdocument-parseVirtualFileName-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function parseVirtualFileName(fileName: string): {\n    uri: string;\n    selector: Selector;\n} | null;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-relativeVirtualImportPath-function-1-\" id=\"-vuedx-vue-virtual-textdocument-relativeVirtualImportPath-function-1-\"></a>\n\n### [relativeVirtualImportPath](#-vuedx-vue-virtual-textdocument-relativeVirtualImportPath-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function relativeVirtualImportPath(fileName: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-replaceSlashes-function-1-\" id=\"-vuedx-vue-virtual-textdocument-replaceSlashes-function-1-\"></a>\n\n### [replaceSlashes](#-vuedx-vue-virtual-textdocument-replaceSlashes-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function replaceSlashes(fileName: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n<!-- #region API-DOCS -->\n","readmeFilename":"readme.md","gitHead":"7c910a66ee0f71f9899409cb746434e75b4061c1","_id":"@vuedx/vue-virtual-textdocument@0.7.5-next-1648822539.0","_nodeVersion":"16.14.0","_npmVersion":"8.3.1","dist":{"integrity":"sha512-TWn2kIIvUYsXoTZK5l6TBYEiQF2LhPbdXhd4cmAFQbsk40/tG+4ka86wyonCIlhgd+9Ep6iNquPd/P2bwKNGQA==","shasum":"9b2a202d36dd395295b84131ac6ac45f76bd8dee","tarball":"https://registry.npmjs.org/@vuedx/vue-virtual-textdocument/-/vue-virtual-textdocument-0.7.5-next-1648822539.0.tgz","fileCount":8,"unpackedSize":224278,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIDH/jTa8Ge+X5Vm1o6NzBExb84mPjUKlkiPNvde46/RCAiAIPpE5hO9Hc5GZeA1s8ZLYgcCzDp2Kc1WYyniwt+ZuPw=="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiRwkiACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpxUQ//c/EE7wObUOAlvbg24IxnuRyxMNnTK+6GAV8+TJdIzcb6J4XT\r\nFVeru8iEL/u2WeHHK6H9pvtedZczePUOYPddn/9E8dFu7t+D8FsiID2Ppc5B\r\nFpA4TzApO901re1MlTyMqmiEj2Rsu5gSOe4M9+FmjK2vjwph2NvibemnTiV0\r\ncEnBHHOtrLm5/GM/0a8uFz53qR7vYgrZXBcZA0IeiRCpttDhETyv0vXs6TOp\r\nf+Uh916mDxoC9kKJK9RkT9bVeGdSRBvK5jO+1mkjxqlyb26u+IbxmLJeAK7g\r\ngeFCXFs76iKsXtFKEzIg1aKTIizl/u6QxrIGrSBnZB55l0eopJ5WcGUApBln\r\n5LsYgrPd/v5VCJuTJm/mb80AxqmtXCqWdBtq85nb4WF75uj/Sv3g5+K5k6lJ\r\nq4S7JK9wLvRb0bHLFRVYxi/37l+KBF2hSwhXOAA5dpuHCJEynMEHDTy5MEP9\r\nC9zELX0yC7Gsanrb4EKrqdm8LqV2jLCy5ECgN4KGr+P4xanvrgv0K+sMnuvU\r\no9qYVdigsADMh2FY7TTsduyn2RuEcxWTqg/b2kLWHxXc1fGgYJPnBFseXAGq\r\nNaw7CNv7Gc8LM6MSDIrCvNcvsbyT8+RgEtDTg/8zEBR6mf3jPhiiEeags54k\r\nLl/kGWwwZyPPV0iaA7/McUYRC0/pXMqsruo=\r\n=EdJy\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"znck","email":"rahulkdn@gmail.com"},"directories":{},"maintainers":[{"name":"znck","email":"rahulkdn@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/vue-virtual-textdocument_0.7.5-next-1648822539.0_1648822561834_0.305173252513002"},"_hasShrinkwrap":false},"0.7.5-next-1648824950.0":{"name":"@vuedx/vue-virtual-textdocument","version":"0.7.5-next-1648824950.0","description":"A virtual filesystem to access blocks in SFC as files","main":"lib/index.js","module":"lib/index.mjs","types":"lib/index.d.ts","publishConfig":{"types":"lib/index.d.ts"},"private":false,"keywords":["vue","vue sfc","sfc","vue virtual files"],"repository":{"type":"git","url":"git+https://github.com/znck/vue-developer-experience.git"},"author":{"name":"Rahul Kadyan","email":"rahulkdn@gmail.com","url":"https://znck.me/"},"funding":{"type":"individual","url":"https://github.com/sponsors/znck"},"license":"MIT","bugs":{"url":"https://github.com/znck/vue-developer-experience/issues"},"homepage":"https://github.com/znck/vue-developer-experience#readme","dependencies":{"@vuedx/compiler-sfc":"0.7.2-next-1648824950.0","@vuedx/compiler-tsx":"0.7.5-next-1648824950.0","@vuedx/shared":"0.7.4-next-1648824950.0","@vuedx/template-ast-types":"0.7.3-next-1648824950.0","@vuedx/transforms":"0.7.5-next-1648824950.0","source-map":"^0.6.1","vscode-languageserver-textdocument":"^1.0.1","vscode-uri":"^2.1.2"},"devDependencies":{"typescript":"^4.0.3"},"scripts":{},"readme":"# Vue Virtual TextDocument\n\nAn implementation of virtual filesystem for accessing blocks in a `.vue` file as independent files.\n\n## Support\n\nThis package is part of [VueDX project](https://github.com/znck/vue-developer-experience), maintained by [Rahul Kadyan](https://github.com/znck). You can [💖 sponsor him](https://github.com/sponsors/znck) for continued development of this package and other VueDX tools.\n\n```\nnpm add @vuedx/vue-virtual-textdocument\n```\n<!-- #region API-DOCS -->\n<!-- Do not edit this file. It is a report generated by [scripts/docgen.js](https://github.com/znck/vue-developer-experience/tree/main/scripts/docgen.js). -->\n\n## API\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-AsyncDocumentStore-class\" id=\"-vuedx-vue-virtual-textdocument-AsyncDocumentStore-class\"></a>\n\n### [AsyncDocumentStore](#-vuedx-vue-virtual-textdocument-AsyncDocumentStore-class)\n\n\n\n<details><summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare class AsyncDocumentStore<T> extends DocumentStore<T> {\n  constructor(resolve: (uri: string) => T | Promise<T | null> | null, normalize?: (uri: string) => string);\n  get(uri: string): T | null;\n  get(uri: string): Promise<T | null>;\n}\n```\n\n**Members:**\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-AsyncDocumentStore-get-member-1-\" id=\"-vuedx-vue-virtual-textdocument-AsyncDocumentStore-get-member-1-\"></a>\n\n#### [get](#-vuedx-vue-virtual-textdocument-AsyncDocumentStore-get-member-1-)\n\n\n\n**Signature:**\n```ts\nget(uri: string): T | null;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-AsyncDocumentStore-get-member-2-\" id=\"-vuedx-vue-virtual-textdocument-AsyncDocumentStore-get-member-2-\"></a>\n\n#### [get](#-vuedx-vue-virtual-textdocument-AsyncDocumentStore-get-member-2-)\n\n\n\n**Signature:**\n```ts\nget(uri: string): Promise<T | null>;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n\n<br>\n</details>\n\n<br>\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-class\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-class\"></a>\n\n### [DocumentStore](#-vuedx-vue-virtual-textdocument-DocumentStore-class)\n\n\n\n<details><summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare class DocumentStore<T> {\n  constructor(resolve: (uri: string) => T | null, normalize?: (uri: string) => string);\n  all(): string[];\n  delete(uri: string): boolean;\n  dispose(): void;\n  get(uri: string): T | null;\n  protected getNormalizedUri(uri: string): string;\n  has(uri: string): boolean;\n  protected map: Map<string, T>;\n  normalize: (uri: string) => string;\n  protected resolve: (uri: string) => T | null;\n  protected reverseUriMap: Map<string, string>;\n  set(uri: string, document: T): void;\n}\n```\n\n**Members:**\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-all-member-1-\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-all-member-1-\"></a>\n\n#### [all](#-vuedx-vue-virtual-textdocument-DocumentStore-all-member-1-)\n\n\n\n**Signature:**\n```ts\nall(): string[];\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-delete-member-1-\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-delete-member-1-\"></a>\n\n#### [delete](#-vuedx-vue-virtual-textdocument-DocumentStore-delete-member-1-)\n\n\n\n**Signature:**\n```ts\ndelete(uri: string): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-dispose-member-1-\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-dispose-member-1-\"></a>\n\n#### [dispose](#-vuedx-vue-virtual-textdocument-DocumentStore-dispose-member-1-)\n\n\n\n**Signature:**\n```ts\ndispose(): void;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-get-member-1-\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-get-member-1-\"></a>\n\n#### [get](#-vuedx-vue-virtual-textdocument-DocumentStore-get-member-1-)\n\n\n\n**Signature:**\n```ts\nget(uri: string): T | null;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-getNormalizedUri-member-1-\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-getNormalizedUri-member-1-\"></a>\n\n#### [getNormalizedUri](#-vuedx-vue-virtual-textdocument-DocumentStore-getNormalizedUri-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected getNormalizedUri(uri: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-has-member-1-\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-has-member-1-\"></a>\n\n#### [has](#-vuedx-vue-virtual-textdocument-DocumentStore-has-member-1-)\n\n\n\n**Signature:**\n```ts\nhas(uri: string): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-set-member-1-\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-set-member-1-\"></a>\n\n#### [set](#-vuedx-vue-virtual-textdocument-DocumentStore-set-member-1-)\n\n\n\n**Signature:**\n```ts\nset(uri: string, document: T): void;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n| document | <code>T</code> | - |\n\n<br>\n</details>\n\n<br>\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-class\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-class\"></a>\n\n### [RenderFunctionTextDocument](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-class)\n\n\n\n<details><summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare class RenderFunctionTextDocument extends TransformedBlockTextDocument {\n  constructor(container: VueTextDocument, selector: Selector, transformed: TextDocument, source: TextDocument);\n  get ast(): CodegenResult['ast'] | undefined;\n  get contextCompletionsTriggerOffset(): number;\n  static create(options: CreateVirtualTextDocumentOptions): RenderFunctionTextDocument;\n  findExpression(offset: number, length: number): undefined | {\n        offset: number;\n        length: number;\n    };\n  protected generate(): string;\n  getAllGeneratedOffsetsAt(offset: number): undefined | Array<{\n        length: number;\n        offset: number;\n    }>;\n  getGeneratedOffsetAt(offset: number): undefined | {\n        length: number;\n        offset: number;\n    };\n  protected getKnownComponents(): Record<string, ComponentImport>;\n  getOriginalOffsetAt(offset: number): undefined | {\n        offset: number;\n        length: number;\n    };\n  isInGeneratedRange(offset: number): boolean;\n  isInTemplateIdentifierRange(offset: number): boolean;\n  get parserErrors(): CodegenResult['errors'];\n  get tagCompletionsTriggerOffset(): number;\n  toDisplayMappings(): string;\n  protected tryGenerate(): string;\n}\n```\n\n**Members:**\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-create-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-create-member-1-\"></a>\n\n#### [create](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-create-member-1-)\n\n\n\n**Signature:**\n```ts\nstatic create(options: CreateVirtualTextDocumentOptions): RenderFunctionTextDocument;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| options | <code><a href=\"#-vuedx-vue-virtual-textdocument--CreateVirtualTextDocumentOptions-interface\">CreateVirtualTextDocumentOptions</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-findExpression-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-findExpression-member-1-\"></a>\n\n#### [findExpression](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-findExpression-member-1-)\n\n\n\n**Signature:**\n```ts\nfindExpression(offset: number, length: number): undefined | {\n        offset: number;\n        length: number;\n    };\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n| length | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-generate-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-generate-member-1-\"></a>\n\n#### [generate](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-generate-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected generate(): string;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getAllGeneratedOffsetsAt-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getAllGeneratedOffsetsAt-member-1-\"></a>\n\n#### [getAllGeneratedOffsetsAt](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getAllGeneratedOffsetsAt-member-1-)\n\n\n\n**Signature:**\n```ts\ngetAllGeneratedOffsetsAt(offset: number): undefined | Array<{\n        length: number;\n        offset: number;\n    }>;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getGeneratedOffsetAt-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getGeneratedOffsetAt-member-1-\"></a>\n\n#### [getGeneratedOffsetAt](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getGeneratedOffsetAt-member-1-)\n\n\n\n**Signature:**\n```ts\ngetGeneratedOffsetAt(offset: number): undefined | {\n        length: number;\n        offset: number;\n    };\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getKnownComponents-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getKnownComponents-member-1-\"></a>\n\n#### [getKnownComponents](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getKnownComponents-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected getKnownComponents(): Record<string, ComponentImport>;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getOriginalOffsetAt-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getOriginalOffsetAt-member-1-\"></a>\n\n#### [getOriginalOffsetAt](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getOriginalOffsetAt-member-1-)\n\n\n\n**Signature:**\n```ts\ngetOriginalOffsetAt(offset: number): undefined | {\n        offset: number;\n        length: number;\n    };\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-isInGeneratedRange-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-isInGeneratedRange-member-1-\"></a>\n\n#### [isInGeneratedRange](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-isInGeneratedRange-member-1-)\n\n\n\n**Signature:**\n```ts\nisInGeneratedRange(offset: number): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-isInTemplateIdentifierRange-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-isInTemplateIdentifierRange-member-1-\"></a>\n\n#### [isInTemplateIdentifierRange](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-isInTemplateIdentifierRange-member-1-)\n\n\n\n**Signature:**\n```ts\nisInTemplateIdentifierRange(offset: number): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-toDisplayMappings-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-toDisplayMappings-member-1-\"></a>\n\n#### [toDisplayMappings](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-toDisplayMappings-member-1-)\n\n\n\n**Signature:**\n```ts\ntoDisplayMappings(): string;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-tryGenerate-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-tryGenerate-member-1-\"></a>\n\n#### [tryGenerate](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-tryGenerate-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected tryGenerate(): string;\n```\n\n\n<br>\n</details>\n\n<br>\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-class\" id=\"-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-class\"></a>\n\n### [TransformedBlockTextDocument](#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-class)\n\n\n\n<details><summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare class TransformedBlockTextDocument extends VirtualTextDocument {\n  protected constructor(container: VueTextDocument, selector: Selector, transformed: TextDocument, source: TextDocument | VirtualTextDocument, _transform: (document: TransformedBlockTextDocument) => BlockTransformResult);\n  static create(options: CreateTransformedBlockTextDocumentOptions): TransformedBlockTextDocument;\n  protected refresh(): void;\n  transform(): BlockTransformResult;\n  tryGetGeneratedOffset(offset: number): number | undefined;\n  tryGetSourceOffset(offset: number): number | undefined;\n}\n```\n\n**Members:**\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-create-member-1-\" id=\"-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-create-member-1-\"></a>\n\n#### [create](#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-create-member-1-)\n\n\n\n**Signature:**\n```ts\nstatic create(options: CreateTransformedBlockTextDocumentOptions): TransformedBlockTextDocument;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| options | <code><a href=\"#-vuedx-vue-virtual-textdocument--CreateTransformedBlockTextDocumentOptions-interface\">CreateTransformedBlockTextDocumentOptions</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-refresh-member-1-\" id=\"-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-refresh-member-1-\"></a>\n\n#### [refresh](#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-refresh-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected refresh(): void;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-transform-member-1-\" id=\"-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-transform-member-1-\"></a>\n\n#### [transform](#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-transform-member-1-)\n\n\n\n**Signature:**\n```ts\ntransform(): BlockTransformResult;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-tryGetGeneratedOffset-member-1-\" id=\"-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-tryGetGeneratedOffset-member-1-\"></a>\n\n#### [tryGetGeneratedOffset](#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-tryGetGeneratedOffset-member-1-)\n\n\n\n**Signature:**\n```ts\ntryGetGeneratedOffset(offset: number): number | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-tryGetSourceOffset-member-1-\" id=\"-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-tryGetSourceOffset-member-1-\"></a>\n\n#### [tryGetSourceOffset](#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-tryGetSourceOffset-member-1-)\n\n\n\n**Signature:**\n```ts\ntryGetSourceOffset(offset: number): number | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n</details>\n\n<br>\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VirtualTextDocument-class\" id=\"-vuedx-vue-virtual-textdocument-VirtualTextDocument-class\"></a>\n\n### [VirtualTextDocument](#-vuedx-vue-virtual-textdocument-VirtualTextDocument-class)\n\n\n\n<details><summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare class VirtualTextDocument extends ProxyTextDocument {\n  protected constructor(container: VueTextDocument, selector: Selector, doc: TextDocument);\n  readonly container: VueTextDocument;\n  static create(options: CreateVirtualTextDocumentOptions): VirtualTextDocument;\n  protected isDirty: boolean;\n  markDirty(): void;\n  protected refresh(): void;\n  readonly selector: Selector;\n}\n```\n\n**Members:**\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VirtualTextDocument-create-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VirtualTextDocument-create-member-1-\"></a>\n\n#### [create](#-vuedx-vue-virtual-textdocument-VirtualTextDocument-create-member-1-)\n\n\n\n**Signature:**\n```ts\nstatic create(options: CreateVirtualTextDocumentOptions): VirtualTextDocument;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| options | <code><a href=\"#-vuedx-vue-virtual-textdocument--CreateVirtualTextDocumentOptions-interface\">CreateVirtualTextDocumentOptions</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VirtualTextDocument-markDirty-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VirtualTextDocument-markDirty-member-1-\"></a>\n\n#### [markDirty](#-vuedx-vue-virtual-textdocument-VirtualTextDocument-markDirty-member-1-)\n\n\n\n**Signature:**\n```ts\nmarkDirty(): void;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VirtualTextDocument-refresh-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VirtualTextDocument-refresh-member-1-\"></a>\n\n#### [refresh](#-vuedx-vue-virtual-textdocument-VirtualTextDocument-refresh-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected refresh(): void;\n```\n\n\n<br>\n</details>\n\n<br>\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-class\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-class\"></a>\n\n### [VueTextDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-class)\n\n\n\n<details><summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare class VueTextDocument extends ProxyTextDocument {\n  constructor(doc: TextDocument, options?: VueTextDocumentOptions, parseOptions?: SFCParseOptions);\n  all(): VirtualTextDocument[];\n  blockAt(position: Position | number): SFCBlock | null | undefined;\n  static create(uri: string, languageId: string, version: number, content: string, options?: VueTextDocumentOptions, parseOptions?: SFCParseOptions): VueTextDocument;\n  protected createBlockDocument(selector: BlockSelector): VirtualTextDocument | undefined;\n  protected createInternalModuleDocument(): TransformedBlockTextDocument;\n  protected createModuleDocument(): TransformedBlockTextDocument;\n  protected createRenderDocument(): RenderFunctionTextDocument;\n  protected createTemplateASTDocument(): TransformedBlockTextDocument;\n  get descriptor(): SFCDescriptor;\n  documentAt(position: Position | number): VirtualTextDocument | undefined;\n  getBlock(selector: BlockSelector): SFCBlock | null | undefined;\n  getBlockSelector(block: SFCBlock): BlockSelector | undefined;\n  getDocument(selector: typeof RENDER_SELECTOR): RenderFunctionTextDocument;\n  getDocument(selector: SelectorLike): VirtualTextDocument;\n  getDocument(selector: string): VirtualTextDocument | undefined;\n  getDocumentFileName(selectorLike: SelectorLike): string;\n  protected getDocumentId(selector: Selector): string;\n  protected getDocumentLanguage(selector: Selector): string;\n  markDirty(): void;\n  readonly options: VueTextDocumentOptions;\n  protected parse(): void;\n  static update(document: VueTextDocument, changes: TextDocumentContentChangeEvent[], version: number): VueTextDocument;\n}\n```\n\n**Members:**\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-all-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-all-member-1-\"></a>\n\n#### [all](#-vuedx-vue-virtual-textdocument-VueTextDocument-all-member-1-)\n\n\n\n**Signature:**\n```ts\nall(): VirtualTextDocument[];\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-blockAt-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-blockAt-member-1-\"></a>\n\n#### [blockAt](#-vuedx-vue-virtual-textdocument-VueTextDocument-blockAt-member-1-)\n\n\n\n**Signature:**\n```ts\nblockAt(position: Position | number): SFCBlock | null | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| position | <code><a href=\"#vscode-languageserver-textdocument-Position-interface\">Position</a> &#124; number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-create-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-create-member-1-\"></a>\n\n#### [create](#-vuedx-vue-virtual-textdocument-VueTextDocument-create-member-1-)\n\n\n\n**Signature:**\n```ts\nstatic create(uri: string, languageId: string, version: number, content: string, options?: VueTextDocumentOptions, parseOptions?: SFCParseOptions): VueTextDocument;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n| languageId | <code>string</code> | - |\n| version | <code>number</code> | - |\n| content | <code>string</code> | - |\n| options | <code><a href=\"#-vuedx-vue-virtual-textdocument--VueTextDocumentOptions-interface\">VueTextDocumentOptions</a></code> | - |\n| parseOptions | <code><a href=\"#-vue-compiler-sfc-SFCParseOptions-interface\">SFCParseOptions</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-createBlockDocument-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-createBlockDocument-member-1-\"></a>\n\n#### [createBlockDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-createBlockDocument-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected createBlockDocument(selector: BlockSelector): VirtualTextDocument | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selector | <code><a href=\"#-vuedx-vue-virtual-textdocument--BlockSelector-type\">BlockSelector</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-createInternalModuleDocument-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-createInternalModuleDocument-member-1-\"></a>\n\n#### [createInternalModuleDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-createInternalModuleDocument-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected createInternalModuleDocument(): TransformedBlockTextDocument;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-createModuleDocument-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-createModuleDocument-member-1-\"></a>\n\n#### [createModuleDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-createModuleDocument-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected createModuleDocument(): TransformedBlockTextDocument;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-createRenderDocument-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-createRenderDocument-member-1-\"></a>\n\n#### [createRenderDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-createRenderDocument-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected createRenderDocument(): RenderFunctionTextDocument;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-createTemplateASTDocument-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-createTemplateASTDocument-member-1-\"></a>\n\n#### [createTemplateASTDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-createTemplateASTDocument-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected createTemplateASTDocument(): TransformedBlockTextDocument;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-documentAt-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-documentAt-member-1-\"></a>\n\n#### [documentAt](#-vuedx-vue-virtual-textdocument-VueTextDocument-documentAt-member-1-)\n\n\n\n**Signature:**\n```ts\ndocumentAt(position: Position | number): VirtualTextDocument | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| position | <code><a href=\"#vscode-languageserver-textdocument-Position-interface\">Position</a> &#124; number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getBlock-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getBlock-member-1-\"></a>\n\n#### [getBlock](#-vuedx-vue-virtual-textdocument-VueTextDocument-getBlock-member-1-)\n\n\n\n**Signature:**\n```ts\ngetBlock(selector: BlockSelector): SFCBlock | null | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selector | <code><a href=\"#-vuedx-vue-virtual-textdocument--BlockSelector-type\">BlockSelector</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getBlockSelector-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getBlockSelector-member-1-\"></a>\n\n#### [getBlockSelector](#-vuedx-vue-virtual-textdocument-VueTextDocument-getBlockSelector-member-1-)\n\n\n\n**Signature:**\n```ts\ngetBlockSelector(block: SFCBlock): BlockSelector | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| block | <code><a href=\"#-vue-compiler-sfc-SFCBlock-interface\">SFCBlock</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-1-\"></a>\n\n#### [getDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-1-)\n\n\n\n**Signature:**\n```ts\ngetDocument(selector: typeof RENDER_SELECTOR): RenderFunctionTextDocument;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selector | <code>typeof <a href=\"#-vuedx-vue-virtual-textdocument--RENDER-SELECTOR-var\">RENDER_SELECTOR</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-2-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-2-\"></a>\n\n#### [getDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-2-)\n\n\n\n**Signature:**\n```ts\ngetDocument(selector: SelectorLike): VirtualTextDocument;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selector | <code><a href=\"#-vuedx-vue-virtual-textdocument--SelectorLike-type\">SelectorLike</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-3-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-3-\"></a>\n\n#### [getDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-3-)\n\n\n\n**Signature:**\n```ts\ngetDocument(selector: string): VirtualTextDocument | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selector | <code>string</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentFileName-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentFileName-member-1-\"></a>\n\n#### [getDocumentFileName](#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentFileName-member-1-)\n\n\n\n**Signature:**\n```ts\ngetDocumentFileName(selectorLike: SelectorLike): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selectorLike | <code><a href=\"#-vuedx-vue-virtual-textdocument--SelectorLike-type\">SelectorLike</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentId-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentId-member-1-\"></a>\n\n#### [getDocumentId](#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentId-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected getDocumentId(selector: Selector): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selector | <code><a href=\"#-vuedx-vue-virtual-textdocument--Selector-type\">Selector</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentLanguage-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentLanguage-member-1-\"></a>\n\n#### [getDocumentLanguage](#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentLanguage-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected getDocumentLanguage(selector: Selector): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selector | <code><a href=\"#-vuedx-vue-virtual-textdocument--Selector-type\">Selector</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-markDirty-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-markDirty-member-1-\"></a>\n\n#### [markDirty](#-vuedx-vue-virtual-textdocument-VueTextDocument-markDirty-member-1-)\n\n\n\n**Signature:**\n```ts\nmarkDirty(): void;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-parse-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-parse-member-1-\"></a>\n\n#### [parse](#-vuedx-vue-virtual-textdocument-VueTextDocument-parse-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected parse(): void;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-update-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-update-member-1-\"></a>\n\n#### [update](#-vuedx-vue-virtual-textdocument-VueTextDocument-update-member-1-)\n\n\n\n**Signature:**\n```ts\nstatic update(document: VueTextDocument, changes: TextDocumentContentChangeEvent[], version: number): VueTextDocument;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| document | <code><a href=\"#-vuedx-vue-virtual-textdocument--VueTextDocument-class\">VueTextDocument</a></code> | - |\n| changes | <code><a href=\"#vscode-languageserver-textdocument-TextDocumentContentChangeEvent-type\">TextDocumentContentChangeEvent</a>[]</code> | - |\n| version | <code>number</code> | - |\n\n<br>\n</details>\n\n<br>\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-asFsPath-function-1-\" id=\"-vuedx-vue-virtual-textdocument-asFsPath-function-1-\"></a>\n\n### [asFsPath](#-vuedx-vue-virtual-textdocument-asFsPath-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function asFsPath(uri: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-asFsUri-function-1-\" id=\"-vuedx-vue-virtual-textdocument-asFsUri-function-1-\"></a>\n\n### [asFsUri](#-vuedx-vue-virtual-textdocument-asFsUri-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function asFsUri(fileName: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-asUri-function-1-\" id=\"-vuedx-vue-virtual-textdocument-asUri-function-1-\"></a>\n\n### [asUri](#-vuedx-vue-virtual-textdocument-asUri-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function asUri(fileNameOrUri: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileNameOrUri | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-basename-function-1-\" id=\"-vuedx-vue-virtual-textdocument-basename-function-1-\"></a>\n\n### [basename](#-vuedx-vue-virtual-textdocument-basename-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function basename(fileName: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-binarySearch-function-1-\" id=\"-vuedx-vue-virtual-textdocument-binarySearch-function-1-\"></a>\n\n### [binarySearch](#-vuedx-vue-virtual-textdocument-binarySearch-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function binarySearch<T>(array: T[], isMatch: (a: T) => number, returnMin?: boolean): T | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| array | <code>T[]</code> | - |\n| isMatch | <code>(a: T) => number</code> | - |\n| returnMin | <code>boolean</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-getBlockLanguage-function-1-\" id=\"-vuedx-vue-virtual-textdocument-getBlockLanguage-function-1-\"></a>\n\n### [getBlockLanguage](#-vuedx-vue-virtual-textdocument-getBlockLanguage-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function getBlockLanguage(block?: SFCBlock | null): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| block | <code><a href=\"#-vue-compiler-sfc-SFCBlock-interface\">SFCBlock</a> &#124; null</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-getContainingFile-function-1-\" id=\"-vuedx-vue-virtual-textdocument-getContainingFile-function-1-\"></a>\n\n### [getContainingFile](#-vuedx-vue-virtual-textdocument-getContainingFile-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function getContainingFile(fileName: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-getLanguageExtension-function-1-\" id=\"-vuedx-vue-virtual-textdocument-getLanguageExtension-function-1-\"></a>\n\n### [getLanguageExtension](#-vuedx-vue-virtual-textdocument-getLanguageExtension-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function getLanguageExtension(lang: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| lang | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-getLanguageIdFromExtension-function-1-\" id=\"-vuedx-vue-virtual-textdocument-getLanguageIdFromExtension-function-1-\"></a>\n\n### [getLanguageIdFromExtension](#-vuedx-vue-virtual-textdocument-getLanguageIdFromExtension-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function getLanguageIdFromExtension(ext: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| ext | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-isOffsetInBlock-function-1-\" id=\"-vuedx-vue-virtual-textdocument-isOffsetInBlock-function-1-\"></a>\n\n### [isOffsetInBlock](#-vuedx-vue-virtual-textdocument-isOffsetInBlock-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function isOffsetInBlock(offset: number, block?: SFCBlock | null): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n| block | <code><a href=\"#-vue-compiler-sfc-SFCBlock-interface\">SFCBlock</a> &#124; null</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-isVirtualFile-function-1-\" id=\"-vuedx-vue-virtual-textdocument-isVirtualFile-function-1-\"></a>\n\n### [isVirtualFile](#-vuedx-vue-virtual-textdocument-isVirtualFile-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function isVirtualFile(fileName: string): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-isVirtualFileOfType-function-1-\" id=\"-vuedx-vue-virtual-textdocument-isVirtualFileOfType-function-1-\"></a>\n\n### [isVirtualFileOfType](#-vuedx-vue-virtual-textdocument-isVirtualFileOfType-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function isVirtualFileOfType(fileName: string, type: '_render' | '_module' | '_internal' | 'script' | 'scriptSetup'): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n| type | <code>'_render' &#124; '_module' &#124; '_internal' &#124; 'script' &#124; 'scriptSetup'</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-isVueFile-function-1-\" id=\"-vuedx-vue-virtual-textdocument-isVueFile-function-1-\"></a>\n\n### [isVueFile](#-vuedx-vue-virtual-textdocument-isVueFile-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function isVueFile(fileName: string): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-parseVirtualFileName-function-1-\" id=\"-vuedx-vue-virtual-textdocument-parseVirtualFileName-function-1-\"></a>\n\n### [parseVirtualFileName](#-vuedx-vue-virtual-textdocument-parseVirtualFileName-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function parseVirtualFileName(fileName: string): {\n    uri: string;\n    selector: Selector;\n} | null;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-relativeVirtualImportPath-function-1-\" id=\"-vuedx-vue-virtual-textdocument-relativeVirtualImportPath-function-1-\"></a>\n\n### [relativeVirtualImportPath](#-vuedx-vue-virtual-textdocument-relativeVirtualImportPath-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function relativeVirtualImportPath(fileName: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-replaceSlashes-function-1-\" id=\"-vuedx-vue-virtual-textdocument-replaceSlashes-function-1-\"></a>\n\n### [replaceSlashes](#-vuedx-vue-virtual-textdocument-replaceSlashes-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function replaceSlashes(fileName: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n<!-- #region API-DOCS -->\n","readmeFilename":"readme.md","gitHead":"8c90abe2d190f9248f41af6385f0238b2ad73fe7","_id":"@vuedx/vue-virtual-textdocument@0.7.5-next-1648824950.0","_nodeVersion":"16.14.0","_npmVersion":"8.3.1","dist":{"integrity":"sha512-U9xc2qpOtILdvitRJPwynG1dUBvE5werPTynMKON1JUJndU5IWvj7UQh+DvbTtxZRIfrkKRaV1kaqIRPABOL2A==","shasum":"9c5d82e02155aaf858b85bd9bf4e803a1b1a27a5","tarball":"https://registry.npmjs.org/@vuedx/vue-virtual-textdocument/-/vue-virtual-textdocument-0.7.5-next-1648824950.0.tgz","fileCount":8,"unpackedSize":224278,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDss2PujbPqWkrxjZlcmmEWnXBV5HYzjLvdLuhG+3nFhAIgJN0ZhQxlvlQKqGZm+4xDgIfFBlvYdA6+JfJadcrOgAQ="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiRxKMACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmquKhAAoYXV/OpL6U5UAJvblqqC63FA4WLfEev4k2NvyLdlo41Pcoo5\r\nll9I0FY8eaXtH708slM/uAZjiaF7ZSPPsVl7pYk3p5pVxmzmTZylfYDeO39v\r\nVtZuNSH7qqMo9hfFjFCbaYrWQOfUWWCG64c27GbnCv1WBFkxGqxA/z+f1gv2\r\nPdZD0HkQkPdQo3jTcT5l9MCIWZ74xpLkjVOsQ42Mt4lVqpunrKKXFBu3vr2E\r\nOp7SvjhtYZd0LXBkFnQBTQSXkEugZkIZGHOcD7NxIbTN6zYaoAzacSOQlsvD\r\nUkS+boavKFTquMgcYHqetrRGtM6lK6ob3kredOxorj2quAcK9tOOZ33cjAW7\r\nyPV+g2DDp5/nOUicH7+gEuk3KuD+wc+iCi+yc2WSMaMy5T8CwxxB9aSZtz+g\r\nvUMJYBziFR1GJRnKLk2SwBLKh3A1+yUwSeTzIp3ivXfUhIVNZPuuB0nWdrdh\r\noQ9Vo1uexm73lmooRZbkt2Ces+aof2QnHjh7HBK8JIr8cqTy00bPqkUiC18o\r\n/lK1Jw+IpEGpN0dTqB7sWGTJHMc1hKqI0oVPZG0p7TLj/hxvYUYdRmcIcQ2c\r\ncZdNbNHzSTBzHHr/WL31W9c8wVzxBoJObCEPaF5ZkIQHUx19hrCmSJSLq8U4\r\n2TzH2BKN/Dp/0XM+D2W7a2TNz+dTCFw+1Jk=\r\n=mP/N\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"znck","email":"rahulkdn@gmail.com"},"directories":{},"maintainers":[{"name":"znck","email":"rahulkdn@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/vue-virtual-textdocument_0.7.5-next-1648824950.0_1648824972711_0.059305309605677925"},"_hasShrinkwrap":false},"0.7.5-next-1649087720.0":{"name":"@vuedx/vue-virtual-textdocument","version":"0.7.5-next-1649087720.0","description":"A virtual filesystem to access blocks in SFC as files","main":"lib/index.js","module":"lib/index.mjs","types":"lib/index.d.ts","publishConfig":{"types":"lib/index.d.ts"},"private":false,"keywords":["vue","vue sfc","sfc","vue virtual files"],"repository":{"type":"git","url":"git+https://github.com/znck/vue-developer-experience.git"},"author":{"name":"Rahul Kadyan","email":"rahulkdn@gmail.com","url":"https://znck.me/"},"funding":{"type":"individual","url":"https://github.com/sponsors/znck"},"license":"MIT","bugs":{"url":"https://github.com/znck/vue-developer-experience/issues"},"homepage":"https://github.com/znck/vue-developer-experience#readme","dependencies":{"@vuedx/compiler-sfc":"0.7.2-next-1649087720.0","@vuedx/compiler-tsx":"0.7.5-next-1649087720.0","@vuedx/shared":"0.7.4-next-1649087720.0","@vuedx/template-ast-types":"0.7.3-next-1649087720.0","@vuedx/transforms":"0.7.5-next-1649087720.0","source-map":"^0.6.1","vscode-languageserver-textdocument":"^1.0.1","vscode-uri":"^2.1.2"},"devDependencies":{"typescript":"^4.0.3"},"scripts":{},"readme":"# Vue Virtual TextDocument\n\nAn implementation of virtual filesystem for accessing blocks in a `.vue` file as independent files.\n\n## Support\n\nThis package is part of [VueDX project](https://github.com/znck/vue-developer-experience), maintained by [Rahul Kadyan](https://github.com/znck). You can [💖 sponsor him](https://github.com/sponsors/znck) for continued development of this package and other VueDX tools.\n\n```\nnpm add @vuedx/vue-virtual-textdocument\n```\n<!-- #region API-DOCS -->\n<!-- Do not edit this file. It is a report generated by [scripts/docgen.js](https://github.com/znck/vue-developer-experience/tree/main/scripts/docgen.js). -->\n\n## API\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-AsyncDocumentStore-class\" id=\"-vuedx-vue-virtual-textdocument-AsyncDocumentStore-class\"></a>\n\n### [AsyncDocumentStore](#-vuedx-vue-virtual-textdocument-AsyncDocumentStore-class)\n\n\n\n<details><summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare class AsyncDocumentStore<T> extends DocumentStore<T> {\n  constructor(resolve: (uri: string) => T | Promise<T | null> | null, normalize?: (uri: string) => string);\n  get(uri: string): T | null;\n  get(uri: string): Promise<T | null>;\n}\n```\n\n**Members:**\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-AsyncDocumentStore-get-member-1-\" id=\"-vuedx-vue-virtual-textdocument-AsyncDocumentStore-get-member-1-\"></a>\n\n#### [get](#-vuedx-vue-virtual-textdocument-AsyncDocumentStore-get-member-1-)\n\n\n\n**Signature:**\n```ts\nget(uri: string): T | null;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-AsyncDocumentStore-get-member-2-\" id=\"-vuedx-vue-virtual-textdocument-AsyncDocumentStore-get-member-2-\"></a>\n\n#### [get](#-vuedx-vue-virtual-textdocument-AsyncDocumentStore-get-member-2-)\n\n\n\n**Signature:**\n```ts\nget(uri: string): Promise<T | null>;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n\n<br>\n</details>\n\n<br>\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-class\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-class\"></a>\n\n### [DocumentStore](#-vuedx-vue-virtual-textdocument-DocumentStore-class)\n\n\n\n<details><summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare class DocumentStore<T> {\n  constructor(resolve: (uri: string) => T | null, normalize?: (uri: string) => string);\n  all(): string[];\n  delete(uri: string): boolean;\n  dispose(): void;\n  get(uri: string): T | null;\n  protected getNormalizedUri(uri: string): string;\n  has(uri: string): boolean;\n  protected map: Map<string, T>;\n  normalize: (uri: string) => string;\n  protected resolve: (uri: string) => T | null;\n  protected reverseUriMap: Map<string, string>;\n  set(uri: string, document: T): void;\n}\n```\n\n**Members:**\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-all-member-1-\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-all-member-1-\"></a>\n\n#### [all](#-vuedx-vue-virtual-textdocument-DocumentStore-all-member-1-)\n\n\n\n**Signature:**\n```ts\nall(): string[];\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-delete-member-1-\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-delete-member-1-\"></a>\n\n#### [delete](#-vuedx-vue-virtual-textdocument-DocumentStore-delete-member-1-)\n\n\n\n**Signature:**\n```ts\ndelete(uri: string): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-dispose-member-1-\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-dispose-member-1-\"></a>\n\n#### [dispose](#-vuedx-vue-virtual-textdocument-DocumentStore-dispose-member-1-)\n\n\n\n**Signature:**\n```ts\ndispose(): void;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-get-member-1-\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-get-member-1-\"></a>\n\n#### [get](#-vuedx-vue-virtual-textdocument-DocumentStore-get-member-1-)\n\n\n\n**Signature:**\n```ts\nget(uri: string): T | null;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-getNormalizedUri-member-1-\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-getNormalizedUri-member-1-\"></a>\n\n#### [getNormalizedUri](#-vuedx-vue-virtual-textdocument-DocumentStore-getNormalizedUri-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected getNormalizedUri(uri: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-has-member-1-\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-has-member-1-\"></a>\n\n#### [has](#-vuedx-vue-virtual-textdocument-DocumentStore-has-member-1-)\n\n\n\n**Signature:**\n```ts\nhas(uri: string): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-set-member-1-\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-set-member-1-\"></a>\n\n#### [set](#-vuedx-vue-virtual-textdocument-DocumentStore-set-member-1-)\n\n\n\n**Signature:**\n```ts\nset(uri: string, document: T): void;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n| document | <code>T</code> | - |\n\n<br>\n</details>\n\n<br>\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-class\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-class\"></a>\n\n### [RenderFunctionTextDocument](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-class)\n\n\n\n<details><summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare class RenderFunctionTextDocument extends TransformedBlockTextDocument {\n  constructor(container: VueTextDocument, selector: Selector, transformed: TextDocument, source: TextDocument);\n  get ast(): CodegenResult['ast'] | undefined;\n  get contextCompletionsTriggerOffset(): number;\n  static create(options: CreateVirtualTextDocumentOptions): RenderFunctionTextDocument;\n  findExpression(offset: number, length: number): undefined | {\n        offset: number;\n        length: number;\n    };\n  protected generate(): string;\n  getAllGeneratedOffsetsAt(offset: number): undefined | Array<{\n        length: number;\n        offset: number;\n    }>;\n  getGeneratedOffsetAt(offset: number): undefined | {\n        length: number;\n        offset: number;\n    };\n  protected getKnownComponents(): Record<string, ComponentImport>;\n  getOriginalOffsetAt(offset: number): undefined | {\n        offset: number;\n        length: number;\n    };\n  isInGeneratedRange(offset: number): boolean;\n  isInTemplateIdentifierRange(offset: number): boolean;\n  get parserErrors(): CodegenResult['errors'];\n  get tagCompletionsTriggerOffset(): number;\n  toDisplayMappings(): string;\n  protected tryGenerate(): string;\n}\n```\n\n**Members:**\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-create-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-create-member-1-\"></a>\n\n#### [create](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-create-member-1-)\n\n\n\n**Signature:**\n```ts\nstatic create(options: CreateVirtualTextDocumentOptions): RenderFunctionTextDocument;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| options | <code><a href=\"#-vuedx-vue-virtual-textdocument--CreateVirtualTextDocumentOptions-interface\">CreateVirtualTextDocumentOptions</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-findExpression-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-findExpression-member-1-\"></a>\n\n#### [findExpression](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-findExpression-member-1-)\n\n\n\n**Signature:**\n```ts\nfindExpression(offset: number, length: number): undefined | {\n        offset: number;\n        length: number;\n    };\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n| length | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-generate-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-generate-member-1-\"></a>\n\n#### [generate](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-generate-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected generate(): string;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getAllGeneratedOffsetsAt-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getAllGeneratedOffsetsAt-member-1-\"></a>\n\n#### [getAllGeneratedOffsetsAt](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getAllGeneratedOffsetsAt-member-1-)\n\n\n\n**Signature:**\n```ts\ngetAllGeneratedOffsetsAt(offset: number): undefined | Array<{\n        length: number;\n        offset: number;\n    }>;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getGeneratedOffsetAt-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getGeneratedOffsetAt-member-1-\"></a>\n\n#### [getGeneratedOffsetAt](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getGeneratedOffsetAt-member-1-)\n\n\n\n**Signature:**\n```ts\ngetGeneratedOffsetAt(offset: number): undefined | {\n        length: number;\n        offset: number;\n    };\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getKnownComponents-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getKnownComponents-member-1-\"></a>\n\n#### [getKnownComponents](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getKnownComponents-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected getKnownComponents(): Record<string, ComponentImport>;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getOriginalOffsetAt-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getOriginalOffsetAt-member-1-\"></a>\n\n#### [getOriginalOffsetAt](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getOriginalOffsetAt-member-1-)\n\n\n\n**Signature:**\n```ts\ngetOriginalOffsetAt(offset: number): undefined | {\n        offset: number;\n        length: number;\n    };\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-isInGeneratedRange-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-isInGeneratedRange-member-1-\"></a>\n\n#### [isInGeneratedRange](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-isInGeneratedRange-member-1-)\n\n\n\n**Signature:**\n```ts\nisInGeneratedRange(offset: number): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-isInTemplateIdentifierRange-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-isInTemplateIdentifierRange-member-1-\"></a>\n\n#### [isInTemplateIdentifierRange](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-isInTemplateIdentifierRange-member-1-)\n\n\n\n**Signature:**\n```ts\nisInTemplateIdentifierRange(offset: number): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-toDisplayMappings-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-toDisplayMappings-member-1-\"></a>\n\n#### [toDisplayMappings](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-toDisplayMappings-member-1-)\n\n\n\n**Signature:**\n```ts\ntoDisplayMappings(): string;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-tryGenerate-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-tryGenerate-member-1-\"></a>\n\n#### [tryGenerate](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-tryGenerate-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected tryGenerate(): string;\n```\n\n\n<br>\n</details>\n\n<br>\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-class\" id=\"-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-class\"></a>\n\n### [TransformedBlockTextDocument](#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-class)\n\n\n\n<details><summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare class TransformedBlockTextDocument extends VirtualTextDocument {\n  protected constructor(container: VueTextDocument, selector: Selector, transformed: TextDocument, source: TextDocument | VirtualTextDocument, _transform: (document: TransformedBlockTextDocument) => BlockTransformResult);\n  static create(options: CreateTransformedBlockTextDocumentOptions): TransformedBlockTextDocument;\n  protected refresh(): void;\n  transform(): BlockTransformResult;\n  tryGetGeneratedOffset(offset: number): number | undefined;\n  tryGetSourceOffset(offset: number): number | undefined;\n}\n```\n\n**Members:**\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-create-member-1-\" id=\"-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-create-member-1-\"></a>\n\n#### [create](#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-create-member-1-)\n\n\n\n**Signature:**\n```ts\nstatic create(options: CreateTransformedBlockTextDocumentOptions): TransformedBlockTextDocument;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| options | <code><a href=\"#-vuedx-vue-virtual-textdocument--CreateTransformedBlockTextDocumentOptions-interface\">CreateTransformedBlockTextDocumentOptions</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-refresh-member-1-\" id=\"-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-refresh-member-1-\"></a>\n\n#### [refresh](#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-refresh-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected refresh(): void;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-transform-member-1-\" id=\"-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-transform-member-1-\"></a>\n\n#### [transform](#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-transform-member-1-)\n\n\n\n**Signature:**\n```ts\ntransform(): BlockTransformResult;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-tryGetGeneratedOffset-member-1-\" id=\"-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-tryGetGeneratedOffset-member-1-\"></a>\n\n#### [tryGetGeneratedOffset](#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-tryGetGeneratedOffset-member-1-)\n\n\n\n**Signature:**\n```ts\ntryGetGeneratedOffset(offset: number): number | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-tryGetSourceOffset-member-1-\" id=\"-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-tryGetSourceOffset-member-1-\"></a>\n\n#### [tryGetSourceOffset](#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-tryGetSourceOffset-member-1-)\n\n\n\n**Signature:**\n```ts\ntryGetSourceOffset(offset: number): number | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n</details>\n\n<br>\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VirtualTextDocument-class\" id=\"-vuedx-vue-virtual-textdocument-VirtualTextDocument-class\"></a>\n\n### [VirtualTextDocument](#-vuedx-vue-virtual-textdocument-VirtualTextDocument-class)\n\n\n\n<details><summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare class VirtualTextDocument extends ProxyTextDocument {\n  protected constructor(container: VueTextDocument, selector: Selector, doc: TextDocument);\n  readonly container: VueTextDocument;\n  static create(options: CreateVirtualTextDocumentOptions): VirtualTextDocument;\n  protected isDirty: boolean;\n  markDirty(): void;\n  protected refresh(): void;\n  readonly selector: Selector;\n}\n```\n\n**Members:**\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VirtualTextDocument-create-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VirtualTextDocument-create-member-1-\"></a>\n\n#### [create](#-vuedx-vue-virtual-textdocument-VirtualTextDocument-create-member-1-)\n\n\n\n**Signature:**\n```ts\nstatic create(options: CreateVirtualTextDocumentOptions): VirtualTextDocument;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| options | <code><a href=\"#-vuedx-vue-virtual-textdocument--CreateVirtualTextDocumentOptions-interface\">CreateVirtualTextDocumentOptions</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VirtualTextDocument-markDirty-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VirtualTextDocument-markDirty-member-1-\"></a>\n\n#### [markDirty](#-vuedx-vue-virtual-textdocument-VirtualTextDocument-markDirty-member-1-)\n\n\n\n**Signature:**\n```ts\nmarkDirty(): void;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VirtualTextDocument-refresh-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VirtualTextDocument-refresh-member-1-\"></a>\n\n#### [refresh](#-vuedx-vue-virtual-textdocument-VirtualTextDocument-refresh-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected refresh(): void;\n```\n\n\n<br>\n</details>\n\n<br>\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-class\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-class\"></a>\n\n### [VueTextDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-class)\n\n\n\n<details><summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare class VueTextDocument extends ProxyTextDocument {\n  constructor(doc: TextDocument, options?: VueTextDocumentOptions, parseOptions?: SFCParseOptions);\n  all(): VirtualTextDocument[];\n  blockAt(position: Position | number): SFCBlock | null | undefined;\n  static create(uri: string, languageId: string, version: number, content: string, options?: VueTextDocumentOptions, parseOptions?: SFCParseOptions): VueTextDocument;\n  protected createBlockDocument(selector: BlockSelector): VirtualTextDocument | undefined;\n  protected createInternalModuleDocument(): TransformedBlockTextDocument;\n  protected createModuleDocument(): TransformedBlockTextDocument;\n  protected createRenderDocument(): RenderFunctionTextDocument;\n  protected createTemplateASTDocument(): TransformedBlockTextDocument;\n  get descriptor(): SFCDescriptor;\n  documentAt(position: Position | number): VirtualTextDocument | undefined;\n  getBlock(selector: BlockSelector): SFCBlock | null | undefined;\n  getBlockSelector(block: SFCBlock): BlockSelector | undefined;\n  getDocument(selector: typeof RENDER_SELECTOR): RenderFunctionTextDocument;\n  getDocument(selector: SelectorLike): VirtualTextDocument;\n  getDocument(selector: string): VirtualTextDocument | undefined;\n  getDocumentFileName(selectorLike: SelectorLike): string;\n  protected getDocumentId(selector: Selector): string;\n  protected getDocumentLanguage(selector: Selector): string;\n  markDirty(): void;\n  readonly options: VueTextDocumentOptions;\n  protected parse(): void;\n  static update(document: VueTextDocument, changes: TextDocumentContentChangeEvent[], version: number): VueTextDocument;\n}\n```\n\n**Members:**\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-all-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-all-member-1-\"></a>\n\n#### [all](#-vuedx-vue-virtual-textdocument-VueTextDocument-all-member-1-)\n\n\n\n**Signature:**\n```ts\nall(): VirtualTextDocument[];\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-blockAt-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-blockAt-member-1-\"></a>\n\n#### [blockAt](#-vuedx-vue-virtual-textdocument-VueTextDocument-blockAt-member-1-)\n\n\n\n**Signature:**\n```ts\nblockAt(position: Position | number): SFCBlock | null | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| position | <code><a href=\"#vscode-languageserver-textdocument-Position-interface\">Position</a> &#124; number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-create-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-create-member-1-\"></a>\n\n#### [create](#-vuedx-vue-virtual-textdocument-VueTextDocument-create-member-1-)\n\n\n\n**Signature:**\n```ts\nstatic create(uri: string, languageId: string, version: number, content: string, options?: VueTextDocumentOptions, parseOptions?: SFCParseOptions): VueTextDocument;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n| languageId | <code>string</code> | - |\n| version | <code>number</code> | - |\n| content | <code>string</code> | - |\n| options | <code><a href=\"#-vuedx-vue-virtual-textdocument--VueTextDocumentOptions-interface\">VueTextDocumentOptions</a></code> | - |\n| parseOptions | <code><a href=\"#-vue-compiler-sfc-SFCParseOptions-interface\">SFCParseOptions</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-createBlockDocument-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-createBlockDocument-member-1-\"></a>\n\n#### [createBlockDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-createBlockDocument-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected createBlockDocument(selector: BlockSelector): VirtualTextDocument | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selector | <code><a href=\"#-vuedx-vue-virtual-textdocument--BlockSelector-type\">BlockSelector</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-createInternalModuleDocument-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-createInternalModuleDocument-member-1-\"></a>\n\n#### [createInternalModuleDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-createInternalModuleDocument-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected createInternalModuleDocument(): TransformedBlockTextDocument;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-createModuleDocument-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-createModuleDocument-member-1-\"></a>\n\n#### [createModuleDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-createModuleDocument-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected createModuleDocument(): TransformedBlockTextDocument;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-createRenderDocument-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-createRenderDocument-member-1-\"></a>\n\n#### [createRenderDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-createRenderDocument-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected createRenderDocument(): RenderFunctionTextDocument;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-createTemplateASTDocument-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-createTemplateASTDocument-member-1-\"></a>\n\n#### [createTemplateASTDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-createTemplateASTDocument-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected createTemplateASTDocument(): TransformedBlockTextDocument;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-documentAt-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-documentAt-member-1-\"></a>\n\n#### [documentAt](#-vuedx-vue-virtual-textdocument-VueTextDocument-documentAt-member-1-)\n\n\n\n**Signature:**\n```ts\ndocumentAt(position: Position | number): VirtualTextDocument | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| position | <code><a href=\"#vscode-languageserver-textdocument-Position-interface\">Position</a> &#124; number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getBlock-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getBlock-member-1-\"></a>\n\n#### [getBlock](#-vuedx-vue-virtual-textdocument-VueTextDocument-getBlock-member-1-)\n\n\n\n**Signature:**\n```ts\ngetBlock(selector: BlockSelector): SFCBlock | null | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selector | <code><a href=\"#-vuedx-vue-virtual-textdocument--BlockSelector-type\">BlockSelector</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getBlockSelector-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getBlockSelector-member-1-\"></a>\n\n#### [getBlockSelector](#-vuedx-vue-virtual-textdocument-VueTextDocument-getBlockSelector-member-1-)\n\n\n\n**Signature:**\n```ts\ngetBlockSelector(block: SFCBlock): BlockSelector | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| block | <code><a href=\"#-vue-compiler-sfc-SFCBlock-interface\">SFCBlock</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-1-\"></a>\n\n#### [getDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-1-)\n\n\n\n**Signature:**\n```ts\ngetDocument(selector: typeof RENDER_SELECTOR): RenderFunctionTextDocument;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selector | <code>typeof <a href=\"#-vuedx-vue-virtual-textdocument--RENDER-SELECTOR-var\">RENDER_SELECTOR</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-2-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-2-\"></a>\n\n#### [getDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-2-)\n\n\n\n**Signature:**\n```ts\ngetDocument(selector: SelectorLike): VirtualTextDocument;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selector | <code><a href=\"#-vuedx-vue-virtual-textdocument--SelectorLike-type\">SelectorLike</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-3-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-3-\"></a>\n\n#### [getDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-3-)\n\n\n\n**Signature:**\n```ts\ngetDocument(selector: string): VirtualTextDocument | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selector | <code>string</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentFileName-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentFileName-member-1-\"></a>\n\n#### [getDocumentFileName](#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentFileName-member-1-)\n\n\n\n**Signature:**\n```ts\ngetDocumentFileName(selectorLike: SelectorLike): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selectorLike | <code><a href=\"#-vuedx-vue-virtual-textdocument--SelectorLike-type\">SelectorLike</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentId-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentId-member-1-\"></a>\n\n#### [getDocumentId](#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentId-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected getDocumentId(selector: Selector): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selector | <code><a href=\"#-vuedx-vue-virtual-textdocument--Selector-type\">Selector</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentLanguage-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentLanguage-member-1-\"></a>\n\n#### [getDocumentLanguage](#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentLanguage-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected getDocumentLanguage(selector: Selector): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selector | <code><a href=\"#-vuedx-vue-virtual-textdocument--Selector-type\">Selector</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-markDirty-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-markDirty-member-1-\"></a>\n\n#### [markDirty](#-vuedx-vue-virtual-textdocument-VueTextDocument-markDirty-member-1-)\n\n\n\n**Signature:**\n```ts\nmarkDirty(): void;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-parse-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-parse-member-1-\"></a>\n\n#### [parse](#-vuedx-vue-virtual-textdocument-VueTextDocument-parse-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected parse(): void;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-update-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-update-member-1-\"></a>\n\n#### [update](#-vuedx-vue-virtual-textdocument-VueTextDocument-update-member-1-)\n\n\n\n**Signature:**\n```ts\nstatic update(document: VueTextDocument, changes: TextDocumentContentChangeEvent[], version: number): VueTextDocument;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| document | <code><a href=\"#-vuedx-vue-virtual-textdocument--VueTextDocument-class\">VueTextDocument</a></code> | - |\n| changes | <code><a href=\"#vscode-languageserver-textdocument-TextDocumentContentChangeEvent-type\">TextDocumentContentChangeEvent</a>[]</code> | - |\n| version | <code>number</code> | - |\n\n<br>\n</details>\n\n<br>\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-asFsPath-function-1-\" id=\"-vuedx-vue-virtual-textdocument-asFsPath-function-1-\"></a>\n\n### [asFsPath](#-vuedx-vue-virtual-textdocument-asFsPath-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function asFsPath(uri: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-asFsUri-function-1-\" id=\"-vuedx-vue-virtual-textdocument-asFsUri-function-1-\"></a>\n\n### [asFsUri](#-vuedx-vue-virtual-textdocument-asFsUri-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function asFsUri(fileName: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-asUri-function-1-\" id=\"-vuedx-vue-virtual-textdocument-asUri-function-1-\"></a>\n\n### [asUri](#-vuedx-vue-virtual-textdocument-asUri-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function asUri(fileNameOrUri: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileNameOrUri | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-basename-function-1-\" id=\"-vuedx-vue-virtual-textdocument-basename-function-1-\"></a>\n\n### [basename](#-vuedx-vue-virtual-textdocument-basename-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function basename(fileName: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-binarySearch-function-1-\" id=\"-vuedx-vue-virtual-textdocument-binarySearch-function-1-\"></a>\n\n### [binarySearch](#-vuedx-vue-virtual-textdocument-binarySearch-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function binarySearch<T>(array: T[], isMatch: (a: T) => number, returnMin?: boolean): T | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| array | <code>T[]</code> | - |\n| isMatch | <code>(a: T) => number</code> | - |\n| returnMin | <code>boolean</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-getBlockLanguage-function-1-\" id=\"-vuedx-vue-virtual-textdocument-getBlockLanguage-function-1-\"></a>\n\n### [getBlockLanguage](#-vuedx-vue-virtual-textdocument-getBlockLanguage-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function getBlockLanguage(block?: SFCBlock | null): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| block | <code><a href=\"#-vue-compiler-sfc-SFCBlock-interface\">SFCBlock</a> &#124; null</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-getContainingFile-function-1-\" id=\"-vuedx-vue-virtual-textdocument-getContainingFile-function-1-\"></a>\n\n### [getContainingFile](#-vuedx-vue-virtual-textdocument-getContainingFile-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function getContainingFile(fileName: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-getLanguageExtension-function-1-\" id=\"-vuedx-vue-virtual-textdocument-getLanguageExtension-function-1-\"></a>\n\n### [getLanguageExtension](#-vuedx-vue-virtual-textdocument-getLanguageExtension-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function getLanguageExtension(lang: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| lang | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-getLanguageIdFromExtension-function-1-\" id=\"-vuedx-vue-virtual-textdocument-getLanguageIdFromExtension-function-1-\"></a>\n\n### [getLanguageIdFromExtension](#-vuedx-vue-virtual-textdocument-getLanguageIdFromExtension-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function getLanguageIdFromExtension(ext: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| ext | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-isOffsetInBlock-function-1-\" id=\"-vuedx-vue-virtual-textdocument-isOffsetInBlock-function-1-\"></a>\n\n### [isOffsetInBlock](#-vuedx-vue-virtual-textdocument-isOffsetInBlock-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function isOffsetInBlock(offset: number, block?: SFCBlock | null): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n| block | <code><a href=\"#-vue-compiler-sfc-SFCBlock-interface\">SFCBlock</a> &#124; null</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-isVirtualFile-function-1-\" id=\"-vuedx-vue-virtual-textdocument-isVirtualFile-function-1-\"></a>\n\n### [isVirtualFile](#-vuedx-vue-virtual-textdocument-isVirtualFile-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function isVirtualFile(fileName: string): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-isVirtualFileOfType-function-1-\" id=\"-vuedx-vue-virtual-textdocument-isVirtualFileOfType-function-1-\"></a>\n\n### [isVirtualFileOfType](#-vuedx-vue-virtual-textdocument-isVirtualFileOfType-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function isVirtualFileOfType(fileName: string, type: '_render' | '_module' | '_internal' | 'script' | 'scriptSetup'): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n| type | <code>'_render' &#124; '_module' &#124; '_internal' &#124; 'script' &#124; 'scriptSetup'</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-isVueFile-function-1-\" id=\"-vuedx-vue-virtual-textdocument-isVueFile-function-1-\"></a>\n\n### [isVueFile](#-vuedx-vue-virtual-textdocument-isVueFile-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function isVueFile(fileName: string): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-parseVirtualFileName-function-1-\" id=\"-vuedx-vue-virtual-textdocument-parseVirtualFileName-function-1-\"></a>\n\n### [parseVirtualFileName](#-vuedx-vue-virtual-textdocument-parseVirtualFileName-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function parseVirtualFileName(fileName: string): {\n    uri: string;\n    selector: Selector;\n} | null;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-relativeVirtualImportPath-function-1-\" id=\"-vuedx-vue-virtual-textdocument-relativeVirtualImportPath-function-1-\"></a>\n\n### [relativeVirtualImportPath](#-vuedx-vue-virtual-textdocument-relativeVirtualImportPath-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function relativeVirtualImportPath(fileName: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-replaceSlashes-function-1-\" id=\"-vuedx-vue-virtual-textdocument-replaceSlashes-function-1-\"></a>\n\n### [replaceSlashes](#-vuedx-vue-virtual-textdocument-replaceSlashes-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function replaceSlashes(fileName: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n<!-- #region API-DOCS -->\n","readmeFilename":"readme.md","gitHead":"90bf7b89074817f7edc22b2e6734627d3a4c9d13","_id":"@vuedx/vue-virtual-textdocument@0.7.5-next-1649087720.0","_nodeVersion":"16.14.2","_npmVersion":"8.5.0","dist":{"integrity":"sha512-WnLxgyqGBUYxYcvfbxbaD2ztGXV92zEFqbRX1M3ubvCEWvIm+fNvfvIfG8n76SaZAqcD6xwh3k2e6pk0M7dOHw==","shasum":"6cab22f6ae75db492d17ee83d7e48fadab4925d8","tarball":"https://registry.npmjs.org/@vuedx/vue-virtual-textdocument/-/vue-virtual-textdocument-0.7.5-next-1649087720.0.tgz","fileCount":8,"unpackedSize":224278,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCXlE8LjCqtwB2Cdc1EyPl5KElcYUcg4G56UngNWSp/VQIgdikTmLeROYvwywCvJixKHHVTDfLK9jQdZbJrSOUlUqk="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiSxUAACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmq+xw//fVFae2EZ5I4W9Y3kGciI2LdrW9OHozrApQkT+3szR1sW61Q3\r\nB4EfPMLVXm09iOU7atWzMKigVP2FxW6Jr4ppt85xkde6Ne1hZ6nG8D9FzgEc\r\nkoU8C43uQT+u/YkuAfWkSa8DHHuv2b63+BXfi57eiNZs/Og1QnuMD7iKNlTx\r\nBLG+EDcyE4TLcu6S8C0NXOwmI/ZyCpI1+uj1esFglblshlnf5MZXX5hu6ShS\r\no2l2+kbPOY9nGM6VdvJ+zV6+WdW2Q695xIs5LI9B2/rp2LWm8BIpnynO+0Pe\r\nvChuNDw0JQlRO9XfJyBi1C6Q88y5pAmlGmu/4pJLKUnRd5wxrobXh1NZm/ql\r\nc/vmIUH4jBORXeusCM++LamY8raWcFUGQkiIyLAaGHDnoSRDXEaKtYmLeOwl\r\nz9LlXntuHqvO5jH7tUTXMJ3oJGty2LvdgAFV9kJ+pqa+ueyeSMOPq12AitfT\r\n+ma3WfHnZxXg3MaDB1ZbMlMZ0RZ6cvDTGa/JtNqvRMCxssENHKO7tXNtKve9\r\nC3k6dcOg+jdiOVxtAxm3WlBiN45kII1FZmBr0HJAU2sy0r/H8KjRKWUcR/Sx\r\nciM6cXoxzSR9T0Zyyn2cYQafhXdWYWYOy+HRR4fRPtMY/00L/t7CgElTyB21\r\niUksT6ZmTbASPAuc7o016vrz/E5d36u+yY4=\r\n=4B+1\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"znck","email":"rahulkdn@gmail.com"},"directories":{},"maintainers":[{"name":"znck","email":"rahulkdn@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/vue-virtual-textdocument_0.7.5-next-1649087720.0_1649087744103_0.36215412546635917"},"_hasShrinkwrap":false},"0.7.5-next-1649225489.0":{"name":"@vuedx/vue-virtual-textdocument","version":"0.7.5-next-1649225489.0","description":"A virtual filesystem to access blocks in SFC as files","main":"lib/index.js","module":"lib/index.mjs","types":"lib/index.d.ts","publishConfig":{"types":"lib/index.d.ts"},"private":false,"keywords":["vue","vue sfc","sfc","vue virtual files"],"repository":{"type":"git","url":"git+https://github.com/znck/vue-developer-experience.git"},"author":{"name":"Rahul Kadyan","email":"rahulkdn@gmail.com","url":"https://znck.me/"},"funding":{"type":"individual","url":"https://github.com/sponsors/znck"},"license":"MIT","bugs":{"url":"https://github.com/znck/vue-developer-experience/issues"},"homepage":"https://github.com/znck/vue-developer-experience#readme","dependencies":{"@vuedx/compiler-sfc":"0.7.2-next-1649225489.0","@vuedx/compiler-tsx":"0.7.5-next-1649225489.0","@vuedx/shared":"0.7.4-next-1649225489.0","@vuedx/template-ast-types":"0.7.3-next-1649225489.0","@vuedx/transforms":"0.7.5-next-1649225489.0","source-map":"^0.6.1","vscode-languageserver-textdocument":"^1.0.1","vscode-uri":"^2.1.2"},"devDependencies":{"typescript":"^4.0.3"},"scripts":{},"readme":"# Vue Virtual TextDocument\n\nAn implementation of virtual filesystem for accessing blocks in a `.vue` file as independent files.\n\n## Support\n\nThis package is part of [VueDX project](https://github.com/znck/vue-developer-experience), maintained by [Rahul Kadyan](https://github.com/znck). You can [💖 sponsor him](https://github.com/sponsors/znck) for continued development of this package and other VueDX tools.\n\n```\nnpm add @vuedx/vue-virtual-textdocument\n```\n<!-- #region API-DOCS -->\n<!-- Do not edit this file. It is a report generated by [scripts/docgen.js](https://github.com/znck/vue-developer-experience/tree/main/scripts/docgen.js). -->\n\n## API\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-AsyncDocumentStore-class\" id=\"-vuedx-vue-virtual-textdocument-AsyncDocumentStore-class\"></a>\n\n### [AsyncDocumentStore](#-vuedx-vue-virtual-textdocument-AsyncDocumentStore-class)\n\n\n\n<details><summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare class AsyncDocumentStore<T> extends DocumentStore<T> {\n  constructor(resolve: (uri: string) => T | Promise<T | null> | null, normalize?: (uri: string) => string);\n  get(uri: string): T | null;\n  get(uri: string): Promise<T | null>;\n}\n```\n\n**Members:**\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-AsyncDocumentStore-get-member-1-\" id=\"-vuedx-vue-virtual-textdocument-AsyncDocumentStore-get-member-1-\"></a>\n\n#### [get](#-vuedx-vue-virtual-textdocument-AsyncDocumentStore-get-member-1-)\n\n\n\n**Signature:**\n```ts\nget(uri: string): T | null;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-AsyncDocumentStore-get-member-2-\" id=\"-vuedx-vue-virtual-textdocument-AsyncDocumentStore-get-member-2-\"></a>\n\n#### [get](#-vuedx-vue-virtual-textdocument-AsyncDocumentStore-get-member-2-)\n\n\n\n**Signature:**\n```ts\nget(uri: string): Promise<T | null>;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n\n<br>\n</details>\n\n<br>\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-class\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-class\"></a>\n\n### [DocumentStore](#-vuedx-vue-virtual-textdocument-DocumentStore-class)\n\n\n\n<details><summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare class DocumentStore<T> {\n  constructor(resolve: (uri: string) => T | null, normalize?: (uri: string) => string);\n  all(): string[];\n  delete(uri: string): boolean;\n  dispose(): void;\n  get(uri: string): T | null;\n  protected getNormalizedUri(uri: string): string;\n  has(uri: string): boolean;\n  protected map: Map<string, T>;\n  normalize: (uri: string) => string;\n  protected resolve: (uri: string) => T | null;\n  protected reverseUriMap: Map<string, string>;\n  set(uri: string, document: T): void;\n}\n```\n\n**Members:**\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-all-member-1-\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-all-member-1-\"></a>\n\n#### [all](#-vuedx-vue-virtual-textdocument-DocumentStore-all-member-1-)\n\n\n\n**Signature:**\n```ts\nall(): string[];\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-delete-member-1-\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-delete-member-1-\"></a>\n\n#### [delete](#-vuedx-vue-virtual-textdocument-DocumentStore-delete-member-1-)\n\n\n\n**Signature:**\n```ts\ndelete(uri: string): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-dispose-member-1-\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-dispose-member-1-\"></a>\n\n#### [dispose](#-vuedx-vue-virtual-textdocument-DocumentStore-dispose-member-1-)\n\n\n\n**Signature:**\n```ts\ndispose(): void;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-get-member-1-\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-get-member-1-\"></a>\n\n#### [get](#-vuedx-vue-virtual-textdocument-DocumentStore-get-member-1-)\n\n\n\n**Signature:**\n```ts\nget(uri: string): T | null;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-getNormalizedUri-member-1-\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-getNormalizedUri-member-1-\"></a>\n\n#### [getNormalizedUri](#-vuedx-vue-virtual-textdocument-DocumentStore-getNormalizedUri-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected getNormalizedUri(uri: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-has-member-1-\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-has-member-1-\"></a>\n\n#### [has](#-vuedx-vue-virtual-textdocument-DocumentStore-has-member-1-)\n\n\n\n**Signature:**\n```ts\nhas(uri: string): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-set-member-1-\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-set-member-1-\"></a>\n\n#### [set](#-vuedx-vue-virtual-textdocument-DocumentStore-set-member-1-)\n\n\n\n**Signature:**\n```ts\nset(uri: string, document: T): void;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n| document | <code>T</code> | - |\n\n<br>\n</details>\n\n<br>\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-class\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-class\"></a>\n\n### [RenderFunctionTextDocument](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-class)\n\n\n\n<details><summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare class RenderFunctionTextDocument extends TransformedBlockTextDocument {\n  constructor(container: VueTextDocument, selector: Selector, transformed: TextDocument, source: TextDocument);\n  get ast(): CodegenResult['ast'] | undefined;\n  get contextCompletionsTriggerOffset(): number;\n  static create(options: CreateVirtualTextDocumentOptions): RenderFunctionTextDocument;\n  findExpression(offset: number, length: number): undefined | {\n        offset: number;\n        length: number;\n    };\n  protected generate(): string;\n  getAllGeneratedOffsetsAt(offset: number): undefined | Array<{\n        length: number;\n        offset: number;\n    }>;\n  getGeneratedOffsetAt(offset: number): undefined | {\n        length: number;\n        offset: number;\n    };\n  protected getKnownComponents(): Record<string, ComponentImport>;\n  getOriginalOffsetAt(offset: number): undefined | {\n        offset: number;\n        length: number;\n    };\n  isInGeneratedRange(offset: number): boolean;\n  isInTemplateIdentifierRange(offset: number): boolean;\n  get parserErrors(): CodegenResult['errors'];\n  get tagCompletionsTriggerOffset(): number;\n  toDisplayMappings(): string;\n  protected tryGenerate(): string;\n}\n```\n\n**Members:**\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-create-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-create-member-1-\"></a>\n\n#### [create](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-create-member-1-)\n\n\n\n**Signature:**\n```ts\nstatic create(options: CreateVirtualTextDocumentOptions): RenderFunctionTextDocument;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| options | <code><a href=\"#-vuedx-vue-virtual-textdocument--CreateVirtualTextDocumentOptions-interface\">CreateVirtualTextDocumentOptions</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-findExpression-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-findExpression-member-1-\"></a>\n\n#### [findExpression](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-findExpression-member-1-)\n\n\n\n**Signature:**\n```ts\nfindExpression(offset: number, length: number): undefined | {\n        offset: number;\n        length: number;\n    };\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n| length | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-generate-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-generate-member-1-\"></a>\n\n#### [generate](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-generate-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected generate(): string;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getAllGeneratedOffsetsAt-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getAllGeneratedOffsetsAt-member-1-\"></a>\n\n#### [getAllGeneratedOffsetsAt](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getAllGeneratedOffsetsAt-member-1-)\n\n\n\n**Signature:**\n```ts\ngetAllGeneratedOffsetsAt(offset: number): undefined | Array<{\n        length: number;\n        offset: number;\n    }>;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getGeneratedOffsetAt-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getGeneratedOffsetAt-member-1-\"></a>\n\n#### [getGeneratedOffsetAt](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getGeneratedOffsetAt-member-1-)\n\n\n\n**Signature:**\n```ts\ngetGeneratedOffsetAt(offset: number): undefined | {\n        length: number;\n        offset: number;\n    };\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getKnownComponents-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getKnownComponents-member-1-\"></a>\n\n#### [getKnownComponents](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getKnownComponents-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected getKnownComponents(): Record<string, ComponentImport>;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getOriginalOffsetAt-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getOriginalOffsetAt-member-1-\"></a>\n\n#### [getOriginalOffsetAt](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getOriginalOffsetAt-member-1-)\n\n\n\n**Signature:**\n```ts\ngetOriginalOffsetAt(offset: number): undefined | {\n        offset: number;\n        length: number;\n    };\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-isInGeneratedRange-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-isInGeneratedRange-member-1-\"></a>\n\n#### [isInGeneratedRange](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-isInGeneratedRange-member-1-)\n\n\n\n**Signature:**\n```ts\nisInGeneratedRange(offset: number): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-isInTemplateIdentifierRange-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-isInTemplateIdentifierRange-member-1-\"></a>\n\n#### [isInTemplateIdentifierRange](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-isInTemplateIdentifierRange-member-1-)\n\n\n\n**Signature:**\n```ts\nisInTemplateIdentifierRange(offset: number): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-toDisplayMappings-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-toDisplayMappings-member-1-\"></a>\n\n#### [toDisplayMappings](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-toDisplayMappings-member-1-)\n\n\n\n**Signature:**\n```ts\ntoDisplayMappings(): string;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-tryGenerate-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-tryGenerate-member-1-\"></a>\n\n#### [tryGenerate](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-tryGenerate-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected tryGenerate(): string;\n```\n\n\n<br>\n</details>\n\n<br>\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-class\" id=\"-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-class\"></a>\n\n### [TransformedBlockTextDocument](#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-class)\n\n\n\n<details><summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare class TransformedBlockTextDocument extends VirtualTextDocument {\n  protected constructor(container: VueTextDocument, selector: Selector, transformed: TextDocument, source: TextDocument | VirtualTextDocument, _transform: (document: TransformedBlockTextDocument) => BlockTransformResult);\n  static create(options: CreateTransformedBlockTextDocumentOptions): TransformedBlockTextDocument;\n  protected refresh(): void;\n  transform(): BlockTransformResult;\n  tryGetGeneratedOffset(offset: number): number | undefined;\n  tryGetSourceOffset(offset: number): number | undefined;\n}\n```\n\n**Members:**\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-create-member-1-\" id=\"-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-create-member-1-\"></a>\n\n#### [create](#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-create-member-1-)\n\n\n\n**Signature:**\n```ts\nstatic create(options: CreateTransformedBlockTextDocumentOptions): TransformedBlockTextDocument;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| options | <code><a href=\"#-vuedx-vue-virtual-textdocument--CreateTransformedBlockTextDocumentOptions-interface\">CreateTransformedBlockTextDocumentOptions</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-refresh-member-1-\" id=\"-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-refresh-member-1-\"></a>\n\n#### [refresh](#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-refresh-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected refresh(): void;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-transform-member-1-\" id=\"-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-transform-member-1-\"></a>\n\n#### [transform](#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-transform-member-1-)\n\n\n\n**Signature:**\n```ts\ntransform(): BlockTransformResult;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-tryGetGeneratedOffset-member-1-\" id=\"-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-tryGetGeneratedOffset-member-1-\"></a>\n\n#### [tryGetGeneratedOffset](#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-tryGetGeneratedOffset-member-1-)\n\n\n\n**Signature:**\n```ts\ntryGetGeneratedOffset(offset: number): number | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-tryGetSourceOffset-member-1-\" id=\"-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-tryGetSourceOffset-member-1-\"></a>\n\n#### [tryGetSourceOffset](#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-tryGetSourceOffset-member-1-)\n\n\n\n**Signature:**\n```ts\ntryGetSourceOffset(offset: number): number | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n</details>\n\n<br>\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VirtualTextDocument-class\" id=\"-vuedx-vue-virtual-textdocument-VirtualTextDocument-class\"></a>\n\n### [VirtualTextDocument](#-vuedx-vue-virtual-textdocument-VirtualTextDocument-class)\n\n\n\n<details><summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare class VirtualTextDocument extends ProxyTextDocument {\n  protected constructor(container: VueTextDocument, selector: Selector, doc: TextDocument);\n  readonly container: VueTextDocument;\n  static create(options: CreateVirtualTextDocumentOptions): VirtualTextDocument;\n  protected isDirty: boolean;\n  markDirty(): void;\n  protected refresh(): void;\n  readonly selector: Selector;\n}\n```\n\n**Members:**\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VirtualTextDocument-create-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VirtualTextDocument-create-member-1-\"></a>\n\n#### [create](#-vuedx-vue-virtual-textdocument-VirtualTextDocument-create-member-1-)\n\n\n\n**Signature:**\n```ts\nstatic create(options: CreateVirtualTextDocumentOptions): VirtualTextDocument;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| options | <code><a href=\"#-vuedx-vue-virtual-textdocument--CreateVirtualTextDocumentOptions-interface\">CreateVirtualTextDocumentOptions</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VirtualTextDocument-markDirty-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VirtualTextDocument-markDirty-member-1-\"></a>\n\n#### [markDirty](#-vuedx-vue-virtual-textdocument-VirtualTextDocument-markDirty-member-1-)\n\n\n\n**Signature:**\n```ts\nmarkDirty(): void;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VirtualTextDocument-refresh-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VirtualTextDocument-refresh-member-1-\"></a>\n\n#### [refresh](#-vuedx-vue-virtual-textdocument-VirtualTextDocument-refresh-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected refresh(): void;\n```\n\n\n<br>\n</details>\n\n<br>\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-class\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-class\"></a>\n\n### [VueTextDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-class)\n\n\n\n<details><summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare class VueTextDocument extends ProxyTextDocument {\n  constructor(doc: TextDocument, options?: VueTextDocumentOptions, parseOptions?: SFCParseOptions);\n  all(): VirtualTextDocument[];\n  blockAt(position: Position | number): SFCBlock | null | undefined;\n  static create(uri: string, languageId: string, version: number, content: string, options?: VueTextDocumentOptions, parseOptions?: SFCParseOptions): VueTextDocument;\n  protected createBlockDocument(selector: BlockSelector): VirtualTextDocument | undefined;\n  protected createInternalModuleDocument(): TransformedBlockTextDocument;\n  protected createModuleDocument(): TransformedBlockTextDocument;\n  protected createRenderDocument(): RenderFunctionTextDocument;\n  protected createTemplateASTDocument(): TransformedBlockTextDocument;\n  get descriptor(): SFCDescriptor;\n  documentAt(position: Position | number): VirtualTextDocument | undefined;\n  getBlock(selector: BlockSelector): SFCBlock | null | undefined;\n  getBlockSelector(block: SFCBlock): BlockSelector | undefined;\n  getDocument(selector: typeof RENDER_SELECTOR): RenderFunctionTextDocument;\n  getDocument(selector: SelectorLike): VirtualTextDocument;\n  getDocument(selector: string): VirtualTextDocument | undefined;\n  getDocumentFileName(selectorLike: SelectorLike): string;\n  protected getDocumentId(selector: Selector): string;\n  protected getDocumentLanguage(selector: Selector): string;\n  markDirty(): void;\n  readonly options: VueTextDocumentOptions;\n  protected parse(): void;\n  static update(document: VueTextDocument, changes: TextDocumentContentChangeEvent[], version: number): VueTextDocument;\n}\n```\n\n**Members:**\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-all-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-all-member-1-\"></a>\n\n#### [all](#-vuedx-vue-virtual-textdocument-VueTextDocument-all-member-1-)\n\n\n\n**Signature:**\n```ts\nall(): VirtualTextDocument[];\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-blockAt-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-blockAt-member-1-\"></a>\n\n#### [blockAt](#-vuedx-vue-virtual-textdocument-VueTextDocument-blockAt-member-1-)\n\n\n\n**Signature:**\n```ts\nblockAt(position: Position | number): SFCBlock | null | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| position | <code><a href=\"#vscode-languageserver-textdocument-Position-interface\">Position</a> &#124; number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-create-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-create-member-1-\"></a>\n\n#### [create](#-vuedx-vue-virtual-textdocument-VueTextDocument-create-member-1-)\n\n\n\n**Signature:**\n```ts\nstatic create(uri: string, languageId: string, version: number, content: string, options?: VueTextDocumentOptions, parseOptions?: SFCParseOptions): VueTextDocument;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n| languageId | <code>string</code> | - |\n| version | <code>number</code> | - |\n| content | <code>string</code> | - |\n| options | <code><a href=\"#-vuedx-vue-virtual-textdocument--VueTextDocumentOptions-interface\">VueTextDocumentOptions</a></code> | - |\n| parseOptions | <code><a href=\"#-vue-compiler-sfc-SFCParseOptions-interface\">SFCParseOptions</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-createBlockDocument-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-createBlockDocument-member-1-\"></a>\n\n#### [createBlockDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-createBlockDocument-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected createBlockDocument(selector: BlockSelector): VirtualTextDocument | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selector | <code><a href=\"#-vuedx-vue-virtual-textdocument--BlockSelector-type\">BlockSelector</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-createInternalModuleDocument-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-createInternalModuleDocument-member-1-\"></a>\n\n#### [createInternalModuleDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-createInternalModuleDocument-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected createInternalModuleDocument(): TransformedBlockTextDocument;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-createModuleDocument-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-createModuleDocument-member-1-\"></a>\n\n#### [createModuleDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-createModuleDocument-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected createModuleDocument(): TransformedBlockTextDocument;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-createRenderDocument-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-createRenderDocument-member-1-\"></a>\n\n#### [createRenderDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-createRenderDocument-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected createRenderDocument(): RenderFunctionTextDocument;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-createTemplateASTDocument-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-createTemplateASTDocument-member-1-\"></a>\n\n#### [createTemplateASTDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-createTemplateASTDocument-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected createTemplateASTDocument(): TransformedBlockTextDocument;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-documentAt-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-documentAt-member-1-\"></a>\n\n#### [documentAt](#-vuedx-vue-virtual-textdocument-VueTextDocument-documentAt-member-1-)\n\n\n\n**Signature:**\n```ts\ndocumentAt(position: Position | number): VirtualTextDocument | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| position | <code><a href=\"#vscode-languageserver-textdocument-Position-interface\">Position</a> &#124; number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getBlock-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getBlock-member-1-\"></a>\n\n#### [getBlock](#-vuedx-vue-virtual-textdocument-VueTextDocument-getBlock-member-1-)\n\n\n\n**Signature:**\n```ts\ngetBlock(selector: BlockSelector): SFCBlock | null | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selector | <code><a href=\"#-vuedx-vue-virtual-textdocument--BlockSelector-type\">BlockSelector</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getBlockSelector-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getBlockSelector-member-1-\"></a>\n\n#### [getBlockSelector](#-vuedx-vue-virtual-textdocument-VueTextDocument-getBlockSelector-member-1-)\n\n\n\n**Signature:**\n```ts\ngetBlockSelector(block: SFCBlock): BlockSelector | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| block | <code><a href=\"#-vue-compiler-sfc-SFCBlock-interface\">SFCBlock</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-1-\"></a>\n\n#### [getDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-1-)\n\n\n\n**Signature:**\n```ts\ngetDocument(selector: typeof RENDER_SELECTOR): RenderFunctionTextDocument;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selector | <code>typeof <a href=\"#-vuedx-vue-virtual-textdocument--RENDER-SELECTOR-var\">RENDER_SELECTOR</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-2-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-2-\"></a>\n\n#### [getDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-2-)\n\n\n\n**Signature:**\n```ts\ngetDocument(selector: SelectorLike): VirtualTextDocument;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selector | <code><a href=\"#-vuedx-vue-virtual-textdocument--SelectorLike-type\">SelectorLike</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-3-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-3-\"></a>\n\n#### [getDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-3-)\n\n\n\n**Signature:**\n```ts\ngetDocument(selector: string): VirtualTextDocument | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selector | <code>string</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentFileName-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentFileName-member-1-\"></a>\n\n#### [getDocumentFileName](#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentFileName-member-1-)\n\n\n\n**Signature:**\n```ts\ngetDocumentFileName(selectorLike: SelectorLike): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selectorLike | <code><a href=\"#-vuedx-vue-virtual-textdocument--SelectorLike-type\">SelectorLike</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentId-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentId-member-1-\"></a>\n\n#### [getDocumentId](#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentId-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected getDocumentId(selector: Selector): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selector | <code><a href=\"#-vuedx-vue-virtual-textdocument--Selector-type\">Selector</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentLanguage-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentLanguage-member-1-\"></a>\n\n#### [getDocumentLanguage](#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentLanguage-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected getDocumentLanguage(selector: Selector): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selector | <code><a href=\"#-vuedx-vue-virtual-textdocument--Selector-type\">Selector</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-markDirty-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-markDirty-member-1-\"></a>\n\n#### [markDirty](#-vuedx-vue-virtual-textdocument-VueTextDocument-markDirty-member-1-)\n\n\n\n**Signature:**\n```ts\nmarkDirty(): void;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-parse-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-parse-member-1-\"></a>\n\n#### [parse](#-vuedx-vue-virtual-textdocument-VueTextDocument-parse-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected parse(): void;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-update-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-update-member-1-\"></a>\n\n#### [update](#-vuedx-vue-virtual-textdocument-VueTextDocument-update-member-1-)\n\n\n\n**Signature:**\n```ts\nstatic update(document: VueTextDocument, changes: TextDocumentContentChangeEvent[], version: number): VueTextDocument;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| document | <code><a href=\"#-vuedx-vue-virtual-textdocument--VueTextDocument-class\">VueTextDocument</a></code> | - |\n| changes | <code><a href=\"#vscode-languageserver-textdocument-TextDocumentContentChangeEvent-type\">TextDocumentContentChangeEvent</a>[]</code> | - |\n| version | <code>number</code> | - |\n\n<br>\n</details>\n\n<br>\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-asFsPath-function-1-\" id=\"-vuedx-vue-virtual-textdocument-asFsPath-function-1-\"></a>\n\n### [asFsPath](#-vuedx-vue-virtual-textdocument-asFsPath-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function asFsPath(uri: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-asFsUri-function-1-\" id=\"-vuedx-vue-virtual-textdocument-asFsUri-function-1-\"></a>\n\n### [asFsUri](#-vuedx-vue-virtual-textdocument-asFsUri-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function asFsUri(fileName: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-asUri-function-1-\" id=\"-vuedx-vue-virtual-textdocument-asUri-function-1-\"></a>\n\n### [asUri](#-vuedx-vue-virtual-textdocument-asUri-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function asUri(fileNameOrUri: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileNameOrUri | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-basename-function-1-\" id=\"-vuedx-vue-virtual-textdocument-basename-function-1-\"></a>\n\n### [basename](#-vuedx-vue-virtual-textdocument-basename-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function basename(fileName: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-binarySearch-function-1-\" id=\"-vuedx-vue-virtual-textdocument-binarySearch-function-1-\"></a>\n\n### [binarySearch](#-vuedx-vue-virtual-textdocument-binarySearch-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function binarySearch<T>(array: T[], isMatch: (a: T) => number, returnMin?: boolean): T | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| array | <code>T[]</code> | - |\n| isMatch | <code>(a: T) => number</code> | - |\n| returnMin | <code>boolean</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-getBlockLanguage-function-1-\" id=\"-vuedx-vue-virtual-textdocument-getBlockLanguage-function-1-\"></a>\n\n### [getBlockLanguage](#-vuedx-vue-virtual-textdocument-getBlockLanguage-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function getBlockLanguage(block?: SFCBlock | null): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| block | <code><a href=\"#-vue-compiler-sfc-SFCBlock-interface\">SFCBlock</a> &#124; null</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-getContainingFile-function-1-\" id=\"-vuedx-vue-virtual-textdocument-getContainingFile-function-1-\"></a>\n\n### [getContainingFile](#-vuedx-vue-virtual-textdocument-getContainingFile-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function getContainingFile(fileName: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-getLanguageExtension-function-1-\" id=\"-vuedx-vue-virtual-textdocument-getLanguageExtension-function-1-\"></a>\n\n### [getLanguageExtension](#-vuedx-vue-virtual-textdocument-getLanguageExtension-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function getLanguageExtension(lang: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| lang | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-getLanguageIdFromExtension-function-1-\" id=\"-vuedx-vue-virtual-textdocument-getLanguageIdFromExtension-function-1-\"></a>\n\n### [getLanguageIdFromExtension](#-vuedx-vue-virtual-textdocument-getLanguageIdFromExtension-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function getLanguageIdFromExtension(ext: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| ext | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-isOffsetInBlock-function-1-\" id=\"-vuedx-vue-virtual-textdocument-isOffsetInBlock-function-1-\"></a>\n\n### [isOffsetInBlock](#-vuedx-vue-virtual-textdocument-isOffsetInBlock-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function isOffsetInBlock(offset: number, block?: SFCBlock | null): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n| block | <code><a href=\"#-vue-compiler-sfc-SFCBlock-interface\">SFCBlock</a> &#124; null</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-isVirtualFile-function-1-\" id=\"-vuedx-vue-virtual-textdocument-isVirtualFile-function-1-\"></a>\n\n### [isVirtualFile](#-vuedx-vue-virtual-textdocument-isVirtualFile-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function isVirtualFile(fileName: string): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-isVirtualFileOfType-function-1-\" id=\"-vuedx-vue-virtual-textdocument-isVirtualFileOfType-function-1-\"></a>\n\n### [isVirtualFileOfType](#-vuedx-vue-virtual-textdocument-isVirtualFileOfType-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function isVirtualFileOfType(fileName: string, type: '_render' | '_module' | '_internal' | 'script' | 'scriptSetup'): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n| type | <code>'_render' &#124; '_module' &#124; '_internal' &#124; 'script' &#124; 'scriptSetup'</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-isVueFile-function-1-\" id=\"-vuedx-vue-virtual-textdocument-isVueFile-function-1-\"></a>\n\n### [isVueFile](#-vuedx-vue-virtual-textdocument-isVueFile-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function isVueFile(fileName: string): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-parseVirtualFileName-function-1-\" id=\"-vuedx-vue-virtual-textdocument-parseVirtualFileName-function-1-\"></a>\n\n### [parseVirtualFileName](#-vuedx-vue-virtual-textdocument-parseVirtualFileName-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function parseVirtualFileName(fileName: string): {\n    uri: string;\n    selector: Selector;\n} | null;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-relativeVirtualImportPath-function-1-\" id=\"-vuedx-vue-virtual-textdocument-relativeVirtualImportPath-function-1-\"></a>\n\n### [relativeVirtualImportPath](#-vuedx-vue-virtual-textdocument-relativeVirtualImportPath-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function relativeVirtualImportPath(fileName: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-replaceSlashes-function-1-\" id=\"-vuedx-vue-virtual-textdocument-replaceSlashes-function-1-\"></a>\n\n### [replaceSlashes](#-vuedx-vue-virtual-textdocument-replaceSlashes-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function replaceSlashes(fileName: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n<!-- #region API-DOCS -->\n","readmeFilename":"readme.md","gitHead":"1fc6c58009b1593eade1c94397751d176dab4d19","_id":"@vuedx/vue-virtual-textdocument@0.7.5-next-1649225489.0","_nodeVersion":"16.14.2","_npmVersion":"8.5.0","dist":{"integrity":"sha512-GUjXXX+6SDk09RU5q3vTua5+Hc+c2/8hsZPsN/4pNms7hDR+YWo4UKq/7x8F1Act8sGfcLEsKuTYQmW4Tdrtug==","shasum":"fece5ec7be8e32235c82a0108bb8b56478112482","tarball":"https://registry.npmjs.org/@vuedx/vue-virtual-textdocument/-/vue-virtual-textdocument-0.7.5-next-1649225489.0.tgz","fileCount":8,"unpackedSize":224278,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIHPDnkMeXhRcJfMa/AVmccMKi8nZdPyMI1bYrAiWlTSAAiEA5P5k8aUXwf8LTFG3V8iVFtYb9p2V2mYtABFO8KwjJEw="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiTS8nACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpGVw/+PzwxRxcPWGllxMymgqgRr4weZcGgvQ81bzTuwBNuBTEgQM2h\r\ni9EEjhte1qyshSdqPa3d9PZMFivObjj5EbbWJQ+TaEI/0lE3PpbP3GVyS50D\r\n0Bj0RcMGocvxoBgSgoEtTY9JKOCoym6RMqknEMTkmzkeuG8+mg7B5as+R8Cw\r\nFoHJtzYzVMsX9mWSKWgtMjTjPtDqNTMRd8vYFzfJ79pnhRhEFTbrTmdY/3Yx\r\nRuKJv7RfOhP+2rMJ4knEyN89VBuQ4AvEnNE+8QCqORHRelfOsMkpDULwIWXo\r\n3TttszeFeY6SrtlFbSzOx06nPCaoW6fzFjl/koNQAo8tzVyFPDsM51gFaF4F\r\nmz39obvB8GfHaH8VOUJaHs5w76zw/HAMmzhFwAe9YwHuZ371eQ6QG/F+NElU\r\n/AkpTJ/NXlzyADg9w3GqFz16ssLJaqHNuYbICDq8MrKSVpg++wq3LTJ7oQfF\r\nFtk9EkzyXwjB0Hp28rlb8YSdI1QsrbZEu5GrVnQ0zLcgwE2Qx/S4R31t4E7U\r\nEWpZ6cI2PKz7Z/uehxAS02/NvRVLY5LgO8huT9UkO1eX51tFiGBbnMoFUvmD\r\nhEjBqUQrvk7Ov3ib9AtUC/pedNyTPhI/eGOA1vjIUvVy9d/SJByYWo+sPUZz\r\nadWlkKrcPSkVtRVxoJorHsWerhWqZpLm8xQ=\r\n=XKWK\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"znck","email":"rahulkdn@gmail.com"},"directories":{},"maintainers":[{"name":"znck","email":"rahulkdn@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/vue-virtual-textdocument_0.7.5-next-1649225489.0_1649225511232_0.9323551814680766"},"_hasShrinkwrap":false},"0.7.5-next-1649228283.0":{"name":"@vuedx/vue-virtual-textdocument","version":"0.7.5-next-1649228283.0","description":"A virtual filesystem to access blocks in SFC as files","main":"lib/index.js","module":"lib/index.mjs","types":"lib/index.d.ts","publishConfig":{"types":"lib/index.d.ts"},"private":false,"keywords":["vue","vue sfc","sfc","vue virtual files"],"repository":{"type":"git","url":"git+https://github.com/znck/vue-developer-experience.git"},"author":{"name":"Rahul Kadyan","email":"rahulkdn@gmail.com","url":"https://znck.me/"},"funding":{"type":"individual","url":"https://github.com/sponsors/znck"},"license":"MIT","bugs":{"url":"https://github.com/znck/vue-developer-experience/issues"},"homepage":"https://github.com/znck/vue-developer-experience#readme","dependencies":{"@vuedx/compiler-sfc":"0.7.2-next-1649228283.0","@vuedx/compiler-tsx":"0.7.5-next-1649228283.0","@vuedx/shared":"0.7.4-next-1649228283.0","@vuedx/template-ast-types":"0.7.3-next-1649228283.0","@vuedx/transforms":"0.7.5-next-1649228283.0","source-map":"^0.6.1","vscode-languageserver-textdocument":"^1.0.1","vscode-uri":"^2.1.2"},"devDependencies":{"typescript":"^4.0.3"},"scripts":{},"readme":"# Vue Virtual TextDocument\n\nAn implementation of virtual filesystem for accessing blocks in a `.vue` file as independent files.\n\n## Support\n\nThis package is part of [VueDX project](https://github.com/znck/vue-developer-experience), maintained by [Rahul Kadyan](https://github.com/znck). You can [💖 sponsor him](https://github.com/sponsors/znck) for continued development of this package and other VueDX tools.\n\n```\nnpm add @vuedx/vue-virtual-textdocument\n```\n<!-- #region API-DOCS -->\n<!-- Do not edit this file. It is a report generated by [scripts/docgen.js](https://github.com/znck/vue-developer-experience/tree/main/scripts/docgen.js). -->\n\n## API\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-AsyncDocumentStore-class\" id=\"-vuedx-vue-virtual-textdocument-AsyncDocumentStore-class\"></a>\n\n### [AsyncDocumentStore](#-vuedx-vue-virtual-textdocument-AsyncDocumentStore-class)\n\n\n\n<details><summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare class AsyncDocumentStore<T> extends DocumentStore<T> {\n  constructor(resolve: (uri: string) => T | Promise<T | null> | null, normalize?: (uri: string) => string);\n  get(uri: string): T | null;\n  get(uri: string): Promise<T | null>;\n}\n```\n\n**Members:**\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-AsyncDocumentStore-get-member-1-\" id=\"-vuedx-vue-virtual-textdocument-AsyncDocumentStore-get-member-1-\"></a>\n\n#### [get](#-vuedx-vue-virtual-textdocument-AsyncDocumentStore-get-member-1-)\n\n\n\n**Signature:**\n```ts\nget(uri: string): T | null;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-AsyncDocumentStore-get-member-2-\" id=\"-vuedx-vue-virtual-textdocument-AsyncDocumentStore-get-member-2-\"></a>\n\n#### [get](#-vuedx-vue-virtual-textdocument-AsyncDocumentStore-get-member-2-)\n\n\n\n**Signature:**\n```ts\nget(uri: string): Promise<T | null>;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n\n<br>\n</details>\n\n<br>\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-class\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-class\"></a>\n\n### [DocumentStore](#-vuedx-vue-virtual-textdocument-DocumentStore-class)\n\n\n\n<details><summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare class DocumentStore<T> {\n  constructor(resolve: (uri: string) => T | null, normalize?: (uri: string) => string);\n  all(): string[];\n  delete(uri: string): boolean;\n  dispose(): void;\n  get(uri: string): T | null;\n  protected getNormalizedUri(uri: string): string;\n  has(uri: string): boolean;\n  protected map: Map<string, T>;\n  normalize: (uri: string) => string;\n  protected resolve: (uri: string) => T | null;\n  protected reverseUriMap: Map<string, string>;\n  set(uri: string, document: T): void;\n}\n```\n\n**Members:**\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-all-member-1-\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-all-member-1-\"></a>\n\n#### [all](#-vuedx-vue-virtual-textdocument-DocumentStore-all-member-1-)\n\n\n\n**Signature:**\n```ts\nall(): string[];\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-delete-member-1-\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-delete-member-1-\"></a>\n\n#### [delete](#-vuedx-vue-virtual-textdocument-DocumentStore-delete-member-1-)\n\n\n\n**Signature:**\n```ts\ndelete(uri: string): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-dispose-member-1-\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-dispose-member-1-\"></a>\n\n#### [dispose](#-vuedx-vue-virtual-textdocument-DocumentStore-dispose-member-1-)\n\n\n\n**Signature:**\n```ts\ndispose(): void;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-get-member-1-\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-get-member-1-\"></a>\n\n#### [get](#-vuedx-vue-virtual-textdocument-DocumentStore-get-member-1-)\n\n\n\n**Signature:**\n```ts\nget(uri: string): T | null;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-getNormalizedUri-member-1-\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-getNormalizedUri-member-1-\"></a>\n\n#### [getNormalizedUri](#-vuedx-vue-virtual-textdocument-DocumentStore-getNormalizedUri-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected getNormalizedUri(uri: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-has-member-1-\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-has-member-1-\"></a>\n\n#### [has](#-vuedx-vue-virtual-textdocument-DocumentStore-has-member-1-)\n\n\n\n**Signature:**\n```ts\nhas(uri: string): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-set-member-1-\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-set-member-1-\"></a>\n\n#### [set](#-vuedx-vue-virtual-textdocument-DocumentStore-set-member-1-)\n\n\n\n**Signature:**\n```ts\nset(uri: string, document: T): void;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n| document | <code>T</code> | - |\n\n<br>\n</details>\n\n<br>\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-class\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-class\"></a>\n\n### [RenderFunctionTextDocument](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-class)\n\n\n\n<details><summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare class RenderFunctionTextDocument extends TransformedBlockTextDocument {\n  constructor(container: VueTextDocument, selector: Selector, transformed: TextDocument, source: TextDocument);\n  get ast(): CodegenResult['ast'] | undefined;\n  get contextCompletionsTriggerOffset(): number;\n  static create(options: CreateVirtualTextDocumentOptions): RenderFunctionTextDocument;\n  findExpression(offset: number, length: number): undefined | {\n        offset: number;\n        length: number;\n    };\n  protected generate(): string;\n  getAllGeneratedOffsetsAt(offset: number): undefined | Array<{\n        length: number;\n        offset: number;\n    }>;\n  getGeneratedOffsetAt(offset: number): undefined | {\n        length: number;\n        offset: number;\n    };\n  protected getKnownComponents(): Record<string, ComponentImport>;\n  getOriginalOffsetAt(offset: number): undefined | {\n        offset: number;\n        length: number;\n    };\n  isInGeneratedRange(offset: number): boolean;\n  isInTemplateIdentifierRange(offset: number): boolean;\n  get parserErrors(): CodegenResult['errors'];\n  get tagCompletionsTriggerOffset(): number;\n  toDisplayMappings(): string;\n  protected tryGenerate(): string;\n}\n```\n\n**Members:**\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-create-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-create-member-1-\"></a>\n\n#### [create](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-create-member-1-)\n\n\n\n**Signature:**\n```ts\nstatic create(options: CreateVirtualTextDocumentOptions): RenderFunctionTextDocument;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| options | <code><a href=\"#-vuedx-vue-virtual-textdocument--CreateVirtualTextDocumentOptions-interface\">CreateVirtualTextDocumentOptions</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-findExpression-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-findExpression-member-1-\"></a>\n\n#### [findExpression](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-findExpression-member-1-)\n\n\n\n**Signature:**\n```ts\nfindExpression(offset: number, length: number): undefined | {\n        offset: number;\n        length: number;\n    };\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n| length | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-generate-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-generate-member-1-\"></a>\n\n#### [generate](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-generate-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected generate(): string;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getAllGeneratedOffsetsAt-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getAllGeneratedOffsetsAt-member-1-\"></a>\n\n#### [getAllGeneratedOffsetsAt](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getAllGeneratedOffsetsAt-member-1-)\n\n\n\n**Signature:**\n```ts\ngetAllGeneratedOffsetsAt(offset: number): undefined | Array<{\n        length: number;\n        offset: number;\n    }>;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getGeneratedOffsetAt-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getGeneratedOffsetAt-member-1-\"></a>\n\n#### [getGeneratedOffsetAt](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getGeneratedOffsetAt-member-1-)\n\n\n\n**Signature:**\n```ts\ngetGeneratedOffsetAt(offset: number): undefined | {\n        length: number;\n        offset: number;\n    };\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getKnownComponents-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getKnownComponents-member-1-\"></a>\n\n#### [getKnownComponents](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getKnownComponents-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected getKnownComponents(): Record<string, ComponentImport>;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getOriginalOffsetAt-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getOriginalOffsetAt-member-1-\"></a>\n\n#### [getOriginalOffsetAt](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getOriginalOffsetAt-member-1-)\n\n\n\n**Signature:**\n```ts\ngetOriginalOffsetAt(offset: number): undefined | {\n        offset: number;\n        length: number;\n    };\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-isInGeneratedRange-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-isInGeneratedRange-member-1-\"></a>\n\n#### [isInGeneratedRange](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-isInGeneratedRange-member-1-)\n\n\n\n**Signature:**\n```ts\nisInGeneratedRange(offset: number): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-isInTemplateIdentifierRange-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-isInTemplateIdentifierRange-member-1-\"></a>\n\n#### [isInTemplateIdentifierRange](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-isInTemplateIdentifierRange-member-1-)\n\n\n\n**Signature:**\n```ts\nisInTemplateIdentifierRange(offset: number): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-toDisplayMappings-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-toDisplayMappings-member-1-\"></a>\n\n#### [toDisplayMappings](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-toDisplayMappings-member-1-)\n\n\n\n**Signature:**\n```ts\ntoDisplayMappings(): string;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-tryGenerate-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-tryGenerate-member-1-\"></a>\n\n#### [tryGenerate](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-tryGenerate-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected tryGenerate(): string;\n```\n\n\n<br>\n</details>\n\n<br>\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-class\" id=\"-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-class\"></a>\n\n### [TransformedBlockTextDocument](#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-class)\n\n\n\n<details><summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare class TransformedBlockTextDocument extends VirtualTextDocument {\n  protected constructor(container: VueTextDocument, selector: Selector, transformed: TextDocument, source: TextDocument | VirtualTextDocument, _transform: (document: TransformedBlockTextDocument) => BlockTransformResult);\n  static create(options: CreateTransformedBlockTextDocumentOptions): TransformedBlockTextDocument;\n  protected refresh(): void;\n  transform(): BlockTransformResult;\n  tryGetGeneratedOffset(offset: number): number | undefined;\n  tryGetSourceOffset(offset: number): number | undefined;\n}\n```\n\n**Members:**\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-create-member-1-\" id=\"-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-create-member-1-\"></a>\n\n#### [create](#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-create-member-1-)\n\n\n\n**Signature:**\n```ts\nstatic create(options: CreateTransformedBlockTextDocumentOptions): TransformedBlockTextDocument;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| options | <code><a href=\"#-vuedx-vue-virtual-textdocument--CreateTransformedBlockTextDocumentOptions-interface\">CreateTransformedBlockTextDocumentOptions</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-refresh-member-1-\" id=\"-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-refresh-member-1-\"></a>\n\n#### [refresh](#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-refresh-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected refresh(): void;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-transform-member-1-\" id=\"-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-transform-member-1-\"></a>\n\n#### [transform](#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-transform-member-1-)\n\n\n\n**Signature:**\n```ts\ntransform(): BlockTransformResult;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-tryGetGeneratedOffset-member-1-\" id=\"-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-tryGetGeneratedOffset-member-1-\"></a>\n\n#### [tryGetGeneratedOffset](#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-tryGetGeneratedOffset-member-1-)\n\n\n\n**Signature:**\n```ts\ntryGetGeneratedOffset(offset: number): number | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-tryGetSourceOffset-member-1-\" id=\"-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-tryGetSourceOffset-member-1-\"></a>\n\n#### [tryGetSourceOffset](#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-tryGetSourceOffset-member-1-)\n\n\n\n**Signature:**\n```ts\ntryGetSourceOffset(offset: number): number | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n</details>\n\n<br>\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VirtualTextDocument-class\" id=\"-vuedx-vue-virtual-textdocument-VirtualTextDocument-class\"></a>\n\n### [VirtualTextDocument](#-vuedx-vue-virtual-textdocument-VirtualTextDocument-class)\n\n\n\n<details><summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare class VirtualTextDocument extends ProxyTextDocument {\n  protected constructor(container: VueTextDocument, selector: Selector, doc: TextDocument);\n  readonly container: VueTextDocument;\n  static create(options: CreateVirtualTextDocumentOptions): VirtualTextDocument;\n  protected isDirty: boolean;\n  markDirty(): void;\n  protected refresh(): void;\n  readonly selector: Selector;\n}\n```\n\n**Members:**\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VirtualTextDocument-create-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VirtualTextDocument-create-member-1-\"></a>\n\n#### [create](#-vuedx-vue-virtual-textdocument-VirtualTextDocument-create-member-1-)\n\n\n\n**Signature:**\n```ts\nstatic create(options: CreateVirtualTextDocumentOptions): VirtualTextDocument;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| options | <code><a href=\"#-vuedx-vue-virtual-textdocument--CreateVirtualTextDocumentOptions-interface\">CreateVirtualTextDocumentOptions</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VirtualTextDocument-markDirty-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VirtualTextDocument-markDirty-member-1-\"></a>\n\n#### [markDirty](#-vuedx-vue-virtual-textdocument-VirtualTextDocument-markDirty-member-1-)\n\n\n\n**Signature:**\n```ts\nmarkDirty(): void;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VirtualTextDocument-refresh-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VirtualTextDocument-refresh-member-1-\"></a>\n\n#### [refresh](#-vuedx-vue-virtual-textdocument-VirtualTextDocument-refresh-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected refresh(): void;\n```\n\n\n<br>\n</details>\n\n<br>\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-class\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-class\"></a>\n\n### [VueTextDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-class)\n\n\n\n<details><summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare class VueTextDocument extends ProxyTextDocument {\n  constructor(doc: TextDocument, options?: VueTextDocumentOptions, parseOptions?: SFCParseOptions);\n  all(): VirtualTextDocument[];\n  blockAt(position: Position | number): SFCBlock | null | undefined;\n  static create(uri: string, languageId: string, version: number, content: string, options?: VueTextDocumentOptions, parseOptions?: SFCParseOptions): VueTextDocument;\n  protected createBlockDocument(selector: BlockSelector): VirtualTextDocument | undefined;\n  protected createInternalModuleDocument(): TransformedBlockTextDocument;\n  protected createModuleDocument(): TransformedBlockTextDocument;\n  protected createRenderDocument(): RenderFunctionTextDocument;\n  protected createTemplateASTDocument(): TransformedBlockTextDocument;\n  get descriptor(): SFCDescriptor;\n  documentAt(position: Position | number): VirtualTextDocument | undefined;\n  getBlock(selector: BlockSelector): SFCBlock | null | undefined;\n  getBlockSelector(block: SFCBlock): BlockSelector | undefined;\n  getDocument(selector: typeof RENDER_SELECTOR): RenderFunctionTextDocument;\n  getDocument(selector: SelectorLike): VirtualTextDocument;\n  getDocument(selector: string): VirtualTextDocument | undefined;\n  getDocumentFileName(selectorLike: SelectorLike): string;\n  protected getDocumentId(selector: Selector): string;\n  protected getDocumentLanguage(selector: Selector): string;\n  markDirty(): void;\n  readonly options: VueTextDocumentOptions;\n  protected parse(): void;\n  static update(document: VueTextDocument, changes: TextDocumentContentChangeEvent[], version: number): VueTextDocument;\n}\n```\n\n**Members:**\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-all-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-all-member-1-\"></a>\n\n#### [all](#-vuedx-vue-virtual-textdocument-VueTextDocument-all-member-1-)\n\n\n\n**Signature:**\n```ts\nall(): VirtualTextDocument[];\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-blockAt-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-blockAt-member-1-\"></a>\n\n#### [blockAt](#-vuedx-vue-virtual-textdocument-VueTextDocument-blockAt-member-1-)\n\n\n\n**Signature:**\n```ts\nblockAt(position: Position | number): SFCBlock | null | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| position | <code><a href=\"#vscode-languageserver-textdocument-Position-interface\">Position</a> &#124; number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-create-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-create-member-1-\"></a>\n\n#### [create](#-vuedx-vue-virtual-textdocument-VueTextDocument-create-member-1-)\n\n\n\n**Signature:**\n```ts\nstatic create(uri: string, languageId: string, version: number, content: string, options?: VueTextDocumentOptions, parseOptions?: SFCParseOptions): VueTextDocument;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n| languageId | <code>string</code> | - |\n| version | <code>number</code> | - |\n| content | <code>string</code> | - |\n| options | <code><a href=\"#-vuedx-vue-virtual-textdocument--VueTextDocumentOptions-interface\">VueTextDocumentOptions</a></code> | - |\n| parseOptions | <code><a href=\"#-vue-compiler-sfc-SFCParseOptions-interface\">SFCParseOptions</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-createBlockDocument-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-createBlockDocument-member-1-\"></a>\n\n#### [createBlockDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-createBlockDocument-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected createBlockDocument(selector: BlockSelector): VirtualTextDocument | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selector | <code><a href=\"#-vuedx-vue-virtual-textdocument--BlockSelector-type\">BlockSelector</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-createInternalModuleDocument-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-createInternalModuleDocument-member-1-\"></a>\n\n#### [createInternalModuleDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-createInternalModuleDocument-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected createInternalModuleDocument(): TransformedBlockTextDocument;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-createModuleDocument-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-createModuleDocument-member-1-\"></a>\n\n#### [createModuleDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-createModuleDocument-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected createModuleDocument(): TransformedBlockTextDocument;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-createRenderDocument-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-createRenderDocument-member-1-\"></a>\n\n#### [createRenderDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-createRenderDocument-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected createRenderDocument(): RenderFunctionTextDocument;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-createTemplateASTDocument-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-createTemplateASTDocument-member-1-\"></a>\n\n#### [createTemplateASTDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-createTemplateASTDocument-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected createTemplateASTDocument(): TransformedBlockTextDocument;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-documentAt-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-documentAt-member-1-\"></a>\n\n#### [documentAt](#-vuedx-vue-virtual-textdocument-VueTextDocument-documentAt-member-1-)\n\n\n\n**Signature:**\n```ts\ndocumentAt(position: Position | number): VirtualTextDocument | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| position | <code><a href=\"#vscode-languageserver-textdocument-Position-interface\">Position</a> &#124; number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getBlock-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getBlock-member-1-\"></a>\n\n#### [getBlock](#-vuedx-vue-virtual-textdocument-VueTextDocument-getBlock-member-1-)\n\n\n\n**Signature:**\n```ts\ngetBlock(selector: BlockSelector): SFCBlock | null | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selector | <code><a href=\"#-vuedx-vue-virtual-textdocument--BlockSelector-type\">BlockSelector</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getBlockSelector-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getBlockSelector-member-1-\"></a>\n\n#### [getBlockSelector](#-vuedx-vue-virtual-textdocument-VueTextDocument-getBlockSelector-member-1-)\n\n\n\n**Signature:**\n```ts\ngetBlockSelector(block: SFCBlock): BlockSelector | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| block | <code><a href=\"#-vue-compiler-sfc-SFCBlock-interface\">SFCBlock</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-1-\"></a>\n\n#### [getDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-1-)\n\n\n\n**Signature:**\n```ts\ngetDocument(selector: typeof RENDER_SELECTOR): RenderFunctionTextDocument;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selector | <code>typeof <a href=\"#-vuedx-vue-virtual-textdocument--RENDER-SELECTOR-var\">RENDER_SELECTOR</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-2-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-2-\"></a>\n\n#### [getDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-2-)\n\n\n\n**Signature:**\n```ts\ngetDocument(selector: SelectorLike): VirtualTextDocument;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selector | <code><a href=\"#-vuedx-vue-virtual-textdocument--SelectorLike-type\">SelectorLike</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-3-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-3-\"></a>\n\n#### [getDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-3-)\n\n\n\n**Signature:**\n```ts\ngetDocument(selector: string): VirtualTextDocument | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selector | <code>string</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentFileName-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentFileName-member-1-\"></a>\n\n#### [getDocumentFileName](#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentFileName-member-1-)\n\n\n\n**Signature:**\n```ts\ngetDocumentFileName(selectorLike: SelectorLike): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selectorLike | <code><a href=\"#-vuedx-vue-virtual-textdocument--SelectorLike-type\">SelectorLike</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentId-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentId-member-1-\"></a>\n\n#### [getDocumentId](#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentId-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected getDocumentId(selector: Selector): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selector | <code><a href=\"#-vuedx-vue-virtual-textdocument--Selector-type\">Selector</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentLanguage-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentLanguage-member-1-\"></a>\n\n#### [getDocumentLanguage](#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentLanguage-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected getDocumentLanguage(selector: Selector): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selector | <code><a href=\"#-vuedx-vue-virtual-textdocument--Selector-type\">Selector</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-markDirty-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-markDirty-member-1-\"></a>\n\n#### [markDirty](#-vuedx-vue-virtual-textdocument-VueTextDocument-markDirty-member-1-)\n\n\n\n**Signature:**\n```ts\nmarkDirty(): void;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-parse-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-parse-member-1-\"></a>\n\n#### [parse](#-vuedx-vue-virtual-textdocument-VueTextDocument-parse-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected parse(): void;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-update-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-update-member-1-\"></a>\n\n#### [update](#-vuedx-vue-virtual-textdocument-VueTextDocument-update-member-1-)\n\n\n\n**Signature:**\n```ts\nstatic update(document: VueTextDocument, changes: TextDocumentContentChangeEvent[], version: number): VueTextDocument;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| document | <code><a href=\"#-vuedx-vue-virtual-textdocument--VueTextDocument-class\">VueTextDocument</a></code> | - |\n| changes | <code><a href=\"#vscode-languageserver-textdocument-TextDocumentContentChangeEvent-type\">TextDocumentContentChangeEvent</a>[]</code> | - |\n| version | <code>number</code> | - |\n\n<br>\n</details>\n\n<br>\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-asFsPath-function-1-\" id=\"-vuedx-vue-virtual-textdocument-asFsPath-function-1-\"></a>\n\n### [asFsPath](#-vuedx-vue-virtual-textdocument-asFsPath-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function asFsPath(uri: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-asFsUri-function-1-\" id=\"-vuedx-vue-virtual-textdocument-asFsUri-function-1-\"></a>\n\n### [asFsUri](#-vuedx-vue-virtual-textdocument-asFsUri-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function asFsUri(fileName: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-asUri-function-1-\" id=\"-vuedx-vue-virtual-textdocument-asUri-function-1-\"></a>\n\n### [asUri](#-vuedx-vue-virtual-textdocument-asUri-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function asUri(fileNameOrUri: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileNameOrUri | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-basename-function-1-\" id=\"-vuedx-vue-virtual-textdocument-basename-function-1-\"></a>\n\n### [basename](#-vuedx-vue-virtual-textdocument-basename-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function basename(fileName: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-binarySearch-function-1-\" id=\"-vuedx-vue-virtual-textdocument-binarySearch-function-1-\"></a>\n\n### [binarySearch](#-vuedx-vue-virtual-textdocument-binarySearch-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function binarySearch<T>(array: T[], isMatch: (a: T) => number, returnMin?: boolean): T | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| array | <code>T[]</code> | - |\n| isMatch | <code>(a: T) => number</code> | - |\n| returnMin | <code>boolean</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-getBlockLanguage-function-1-\" id=\"-vuedx-vue-virtual-textdocument-getBlockLanguage-function-1-\"></a>\n\n### [getBlockLanguage](#-vuedx-vue-virtual-textdocument-getBlockLanguage-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function getBlockLanguage(block?: SFCBlock | null): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| block | <code><a href=\"#-vue-compiler-sfc-SFCBlock-interface\">SFCBlock</a> &#124; null</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-getContainingFile-function-1-\" id=\"-vuedx-vue-virtual-textdocument-getContainingFile-function-1-\"></a>\n\n### [getContainingFile](#-vuedx-vue-virtual-textdocument-getContainingFile-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function getContainingFile(fileName: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-getLanguageExtension-function-1-\" id=\"-vuedx-vue-virtual-textdocument-getLanguageExtension-function-1-\"></a>\n\n### [getLanguageExtension](#-vuedx-vue-virtual-textdocument-getLanguageExtension-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function getLanguageExtension(lang: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| lang | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-getLanguageIdFromExtension-function-1-\" id=\"-vuedx-vue-virtual-textdocument-getLanguageIdFromExtension-function-1-\"></a>\n\n### [getLanguageIdFromExtension](#-vuedx-vue-virtual-textdocument-getLanguageIdFromExtension-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function getLanguageIdFromExtension(ext: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| ext | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-isOffsetInBlock-function-1-\" id=\"-vuedx-vue-virtual-textdocument-isOffsetInBlock-function-1-\"></a>\n\n### [isOffsetInBlock](#-vuedx-vue-virtual-textdocument-isOffsetInBlock-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function isOffsetInBlock(offset: number, block?: SFCBlock | null): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n| block | <code><a href=\"#-vue-compiler-sfc-SFCBlock-interface\">SFCBlock</a> &#124; null</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-isVirtualFile-function-1-\" id=\"-vuedx-vue-virtual-textdocument-isVirtualFile-function-1-\"></a>\n\n### [isVirtualFile](#-vuedx-vue-virtual-textdocument-isVirtualFile-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function isVirtualFile(fileName: string): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-isVirtualFileOfType-function-1-\" id=\"-vuedx-vue-virtual-textdocument-isVirtualFileOfType-function-1-\"></a>\n\n### [isVirtualFileOfType](#-vuedx-vue-virtual-textdocument-isVirtualFileOfType-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function isVirtualFileOfType(fileName: string, type: '_render' | '_module' | '_internal' | 'script' | 'scriptSetup'): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n| type | <code>'_render' &#124; '_module' &#124; '_internal' &#124; 'script' &#124; 'scriptSetup'</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-isVueFile-function-1-\" id=\"-vuedx-vue-virtual-textdocument-isVueFile-function-1-\"></a>\n\n### [isVueFile](#-vuedx-vue-virtual-textdocument-isVueFile-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function isVueFile(fileName: string): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-parseVirtualFileName-function-1-\" id=\"-vuedx-vue-virtual-textdocument-parseVirtualFileName-function-1-\"></a>\n\n### [parseVirtualFileName](#-vuedx-vue-virtual-textdocument-parseVirtualFileName-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function parseVirtualFileName(fileName: string): {\n    uri: string;\n    selector: Selector;\n} | null;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-relativeVirtualImportPath-function-1-\" id=\"-vuedx-vue-virtual-textdocument-relativeVirtualImportPath-function-1-\"></a>\n\n### [relativeVirtualImportPath](#-vuedx-vue-virtual-textdocument-relativeVirtualImportPath-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function relativeVirtualImportPath(fileName: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-replaceSlashes-function-1-\" id=\"-vuedx-vue-virtual-textdocument-replaceSlashes-function-1-\"></a>\n\n### [replaceSlashes](#-vuedx-vue-virtual-textdocument-replaceSlashes-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function replaceSlashes(fileName: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n<!-- #region API-DOCS -->\n","readmeFilename":"readme.md","gitHead":"28b63998dca864cfc36df19115885521f6918162","_id":"@vuedx/vue-virtual-textdocument@0.7.5-next-1649228283.0","_nodeVersion":"16.14.2","_npmVersion":"8.5.0","dist":{"integrity":"sha512-HDLnoVlwr0+GFcmVU/dBt6UkWrai119qUF++jagK6kjOuIikbO7gPkTqD03mqMm5sl5w4XtTMnZKvPlzx4sejw==","shasum":"8efe4dc83818e0d7b7faa847d893459f2aa071f7","tarball":"https://registry.npmjs.org/@vuedx/vue-virtual-textdocument/-/vue-virtual-textdocument-0.7.5-next-1649228283.0.tgz","fileCount":8,"unpackedSize":224278,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDqzzRNu3mcbXDGKM4OdxRI73v+en6VafWBxlyeEXZUCQIgYb4i+jGZeHxNjf8yMCy9k2d+o2NKp8dAHoh4jwpXB0w="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiTToRACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpNqw/8CkVJBkTjuxpjBr5C+5wLpe0H9/MKyYgNQpMkvazsJjmUAraP\r\nREdzNff7pdRoDC+LivS11PMVQ1sXoFoCRLKwsVVgWX2MQLnn/c815IfsnFYG\r\nRQ60duh2j5TN/ApjLhtcomrojq6IwgQIpCLoX048i//gD+mtQ8nOVhSl1HoO\r\nt7bjnVfW24yR0iAzEHgaQ5qHBRHwgMY6q5VEBiDoD5JvBcOWtSNGWP/xcZiB\r\nvkfhlyKHud2mUHyi68/Jt/p5Djqbfehwt4QCBqxfKRnNjPyUuvX68tGUONvu\r\nIO/NDGWWS/0s3KRloDSoGar2hDpIn4W6sDvh11sgnc1TSWheCJHq0WIa0yIG\r\naTUJ072xG9sYxWjkL4pjxZSfp0r6/3+Ihk6DHN709vsvMxY6Ed4dhiYen7rp\r\naCXtdS+tMiSeO45iOHEA48e9hSMCNw4EIZ60f+lpifxgzC2E+Bqjxc03xNCk\r\ngpC1rgqP3ovWOeBNzdgNQfa0B/ZZ7Zh88krLYkZSDFv0+QnQm3xTnPI7N6CZ\r\nz3aEEJBDAy+ILEPduUUmNKOwhSX5apyJew5UqATlklmSJFdqNdq2RhjBjyds\r\nkFYkUuRw0zqS3wLmOD/h2LXA1qzxNM6Zs1GiuLGpm6ml9/+9qHtt6jB3hqmA\r\n4k+l8gBNTNAtQE/DPnDWofk7y4pMK90/qlE=\r\n=U9MJ\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"znck","email":"rahulkdn@gmail.com"},"directories":{},"maintainers":[{"name":"znck","email":"rahulkdn@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/vue-virtual-textdocument_0.7.5-next-1649228283.0_1649228305650_0.7387758411847738"},"_hasShrinkwrap":false},"0.7.5-next-1649315434.0":{"name":"@vuedx/vue-virtual-textdocument","version":"0.7.5-next-1649315434.0","description":"A virtual filesystem to access blocks in SFC as files","main":"lib/index.js","module":"lib/index.mjs","types":"lib/index.d.ts","publishConfig":{"types":"lib/index.d.ts"},"private":false,"keywords":["vue","vue sfc","sfc","vue virtual files"],"repository":{"type":"git","url":"git+https://github.com/znck/vue-developer-experience.git"},"author":{"name":"Rahul Kadyan","email":"rahulkdn@gmail.com","url":"https://znck.me/"},"funding":{"type":"individual","url":"https://github.com/sponsors/znck"},"license":"MIT","bugs":{"url":"https://github.com/znck/vue-developer-experience/issues"},"homepage":"https://github.com/znck/vue-developer-experience#readme","dependencies":{"@vuedx/compiler-sfc":"0.7.2-next-1649315434.0","@vuedx/compiler-tsx":"0.7.5-next-1649315434.0","@vuedx/shared":"0.7.4-next-1649315434.0","@vuedx/template-ast-types":"0.7.3-next-1649315434.0","@vuedx/transforms":"0.7.5-next-1649315434.0","source-map":"^0.6.1","vscode-languageserver-textdocument":"^1.0.1","vscode-uri":"^2.1.2"},"devDependencies":{"typescript":"^4.0.3"},"scripts":{},"readme":"# Vue Virtual TextDocument\n\nAn implementation of virtual filesystem for accessing blocks in a `.vue` file as independent files.\n\n## Support\n\nThis package is part of [VueDX project](https://github.com/znck/vue-developer-experience), maintained by [Rahul Kadyan](https://github.com/znck). You can [💖 sponsor him](https://github.com/sponsors/znck) for continued development of this package and other VueDX tools.\n\n```\nnpm add @vuedx/vue-virtual-textdocument\n```\n<!-- #region API-DOCS -->\n<!-- Do not edit this file. It is a report generated by [scripts/docgen.js](https://github.com/znck/vue-developer-experience/tree/main/scripts/docgen.js). -->\n\n## API\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-AsyncDocumentStore-class\" id=\"-vuedx-vue-virtual-textdocument-AsyncDocumentStore-class\"></a>\n\n### [AsyncDocumentStore](#-vuedx-vue-virtual-textdocument-AsyncDocumentStore-class)\n\n\n\n<details><summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare class AsyncDocumentStore<T> extends DocumentStore<T> {\n  constructor(resolve: (uri: string) => T | Promise<T | null> | null, normalize?: (uri: string) => string);\n  get(uri: string): T | null;\n  get(uri: string): Promise<T | null>;\n}\n```\n\n**Members:**\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-AsyncDocumentStore-get-member-1-\" id=\"-vuedx-vue-virtual-textdocument-AsyncDocumentStore-get-member-1-\"></a>\n\n#### [get](#-vuedx-vue-virtual-textdocument-AsyncDocumentStore-get-member-1-)\n\n\n\n**Signature:**\n```ts\nget(uri: string): T | null;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-AsyncDocumentStore-get-member-2-\" id=\"-vuedx-vue-virtual-textdocument-AsyncDocumentStore-get-member-2-\"></a>\n\n#### [get](#-vuedx-vue-virtual-textdocument-AsyncDocumentStore-get-member-2-)\n\n\n\n**Signature:**\n```ts\nget(uri: string): Promise<T | null>;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n\n<br>\n</details>\n\n<br>\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-class\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-class\"></a>\n\n### [DocumentStore](#-vuedx-vue-virtual-textdocument-DocumentStore-class)\n\n\n\n<details><summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare class DocumentStore<T> {\n  constructor(resolve: (uri: string) => T | null, normalize?: (uri: string) => string);\n  all(): string[];\n  delete(uri: string): boolean;\n  dispose(): void;\n  get(uri: string): T | null;\n  protected getNormalizedUri(uri: string): string;\n  has(uri: string): boolean;\n  protected map: Map<string, T>;\n  normalize: (uri: string) => string;\n  protected resolve: (uri: string) => T | null;\n  protected reverseUriMap: Map<string, string>;\n  set(uri: string, document: T): void;\n}\n```\n\n**Members:**\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-all-member-1-\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-all-member-1-\"></a>\n\n#### [all](#-vuedx-vue-virtual-textdocument-DocumentStore-all-member-1-)\n\n\n\n**Signature:**\n```ts\nall(): string[];\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-delete-member-1-\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-delete-member-1-\"></a>\n\n#### [delete](#-vuedx-vue-virtual-textdocument-DocumentStore-delete-member-1-)\n\n\n\n**Signature:**\n```ts\ndelete(uri: string): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-dispose-member-1-\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-dispose-member-1-\"></a>\n\n#### [dispose](#-vuedx-vue-virtual-textdocument-DocumentStore-dispose-member-1-)\n\n\n\n**Signature:**\n```ts\ndispose(): void;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-get-member-1-\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-get-member-1-\"></a>\n\n#### [get](#-vuedx-vue-virtual-textdocument-DocumentStore-get-member-1-)\n\n\n\n**Signature:**\n```ts\nget(uri: string): T | null;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-getNormalizedUri-member-1-\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-getNormalizedUri-member-1-\"></a>\n\n#### [getNormalizedUri](#-vuedx-vue-virtual-textdocument-DocumentStore-getNormalizedUri-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected getNormalizedUri(uri: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-has-member-1-\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-has-member-1-\"></a>\n\n#### [has](#-vuedx-vue-virtual-textdocument-DocumentStore-has-member-1-)\n\n\n\n**Signature:**\n```ts\nhas(uri: string): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-set-member-1-\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-set-member-1-\"></a>\n\n#### [set](#-vuedx-vue-virtual-textdocument-DocumentStore-set-member-1-)\n\n\n\n**Signature:**\n```ts\nset(uri: string, document: T): void;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n| document | <code>T</code> | - |\n\n<br>\n</details>\n\n<br>\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-class\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-class\"></a>\n\n### [RenderFunctionTextDocument](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-class)\n\n\n\n<details><summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare class RenderFunctionTextDocument extends TransformedBlockTextDocument {\n  constructor(container: VueTextDocument, selector: Selector, transformed: TextDocument, source: TextDocument);\n  get ast(): CodegenResult['ast'] | undefined;\n  get contextCompletionsTriggerOffset(): number;\n  static create(options: CreateVirtualTextDocumentOptions): RenderFunctionTextDocument;\n  findExpression(offset: number, length: number): undefined | {\n        offset: number;\n        length: number;\n    };\n  protected generate(): string;\n  getAllGeneratedOffsetsAt(offset: number): undefined | Array<{\n        length: number;\n        offset: number;\n    }>;\n  getGeneratedOffsetAt(offset: number): undefined | {\n        length: number;\n        offset: number;\n    };\n  protected getKnownComponents(): Record<string, ComponentImport>;\n  getOriginalOffsetAt(offset: number): undefined | {\n        offset: number;\n        length: number;\n    };\n  isInGeneratedRange(offset: number): boolean;\n  isInTemplateIdentifierRange(offset: number): boolean;\n  get parserErrors(): CodegenResult['errors'];\n  get tagCompletionsTriggerOffset(): number;\n  toDisplayMappings(): string;\n  protected tryGenerate(): string;\n}\n```\n\n**Members:**\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-create-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-create-member-1-\"></a>\n\n#### [create](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-create-member-1-)\n\n\n\n**Signature:**\n```ts\nstatic create(options: CreateVirtualTextDocumentOptions): RenderFunctionTextDocument;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| options | <code><a href=\"#-vuedx-vue-virtual-textdocument--CreateVirtualTextDocumentOptions-interface\">CreateVirtualTextDocumentOptions</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-findExpression-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-findExpression-member-1-\"></a>\n\n#### [findExpression](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-findExpression-member-1-)\n\n\n\n**Signature:**\n```ts\nfindExpression(offset: number, length: number): undefined | {\n        offset: number;\n        length: number;\n    };\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n| length | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-generate-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-generate-member-1-\"></a>\n\n#### [generate](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-generate-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected generate(): string;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getAllGeneratedOffsetsAt-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getAllGeneratedOffsetsAt-member-1-\"></a>\n\n#### [getAllGeneratedOffsetsAt](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getAllGeneratedOffsetsAt-member-1-)\n\n\n\n**Signature:**\n```ts\ngetAllGeneratedOffsetsAt(offset: number): undefined | Array<{\n        length: number;\n        offset: number;\n    }>;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getGeneratedOffsetAt-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getGeneratedOffsetAt-member-1-\"></a>\n\n#### [getGeneratedOffsetAt](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getGeneratedOffsetAt-member-1-)\n\n\n\n**Signature:**\n```ts\ngetGeneratedOffsetAt(offset: number): undefined | {\n        length: number;\n        offset: number;\n    };\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getKnownComponents-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getKnownComponents-member-1-\"></a>\n\n#### [getKnownComponents](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getKnownComponents-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected getKnownComponents(): Record<string, ComponentImport>;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getOriginalOffsetAt-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getOriginalOffsetAt-member-1-\"></a>\n\n#### [getOriginalOffsetAt](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getOriginalOffsetAt-member-1-)\n\n\n\n**Signature:**\n```ts\ngetOriginalOffsetAt(offset: number): undefined | {\n        offset: number;\n        length: number;\n    };\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-isInGeneratedRange-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-isInGeneratedRange-member-1-\"></a>\n\n#### [isInGeneratedRange](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-isInGeneratedRange-member-1-)\n\n\n\n**Signature:**\n```ts\nisInGeneratedRange(offset: number): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-isInTemplateIdentifierRange-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-isInTemplateIdentifierRange-member-1-\"></a>\n\n#### [isInTemplateIdentifierRange](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-isInTemplateIdentifierRange-member-1-)\n\n\n\n**Signature:**\n```ts\nisInTemplateIdentifierRange(offset: number): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-toDisplayMappings-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-toDisplayMappings-member-1-\"></a>\n\n#### [toDisplayMappings](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-toDisplayMappings-member-1-)\n\n\n\n**Signature:**\n```ts\ntoDisplayMappings(): string;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-tryGenerate-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-tryGenerate-member-1-\"></a>\n\n#### [tryGenerate](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-tryGenerate-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected tryGenerate(): string;\n```\n\n\n<br>\n</details>\n\n<br>\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-class\" id=\"-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-class\"></a>\n\n### [TransformedBlockTextDocument](#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-class)\n\n\n\n<details><summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare class TransformedBlockTextDocument extends VirtualTextDocument {\n  protected constructor(container: VueTextDocument, selector: Selector, transformed: TextDocument, source: TextDocument | VirtualTextDocument, _transform: (document: TransformedBlockTextDocument) => BlockTransformResult);\n  static create(options: CreateTransformedBlockTextDocumentOptions): TransformedBlockTextDocument;\n  protected refresh(): void;\n  transform(): BlockTransformResult;\n  tryGetGeneratedOffset(offset: number): number | undefined;\n  tryGetSourceOffset(offset: number): number | undefined;\n}\n```\n\n**Members:**\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-create-member-1-\" id=\"-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-create-member-1-\"></a>\n\n#### [create](#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-create-member-1-)\n\n\n\n**Signature:**\n```ts\nstatic create(options: CreateTransformedBlockTextDocumentOptions): TransformedBlockTextDocument;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| options | <code><a href=\"#-vuedx-vue-virtual-textdocument--CreateTransformedBlockTextDocumentOptions-interface\">CreateTransformedBlockTextDocumentOptions</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-refresh-member-1-\" id=\"-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-refresh-member-1-\"></a>\n\n#### [refresh](#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-refresh-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected refresh(): void;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-transform-member-1-\" id=\"-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-transform-member-1-\"></a>\n\n#### [transform](#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-transform-member-1-)\n\n\n\n**Signature:**\n```ts\ntransform(): BlockTransformResult;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-tryGetGeneratedOffset-member-1-\" id=\"-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-tryGetGeneratedOffset-member-1-\"></a>\n\n#### [tryGetGeneratedOffset](#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-tryGetGeneratedOffset-member-1-)\n\n\n\n**Signature:**\n```ts\ntryGetGeneratedOffset(offset: number): number | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-tryGetSourceOffset-member-1-\" id=\"-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-tryGetSourceOffset-member-1-\"></a>\n\n#### [tryGetSourceOffset](#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-tryGetSourceOffset-member-1-)\n\n\n\n**Signature:**\n```ts\ntryGetSourceOffset(offset: number): number | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n</details>\n\n<br>\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VirtualTextDocument-class\" id=\"-vuedx-vue-virtual-textdocument-VirtualTextDocument-class\"></a>\n\n### [VirtualTextDocument](#-vuedx-vue-virtual-textdocument-VirtualTextDocument-class)\n\n\n\n<details><summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare class VirtualTextDocument extends ProxyTextDocument {\n  protected constructor(container: VueTextDocument, selector: Selector, doc: TextDocument);\n  readonly container: VueTextDocument;\n  static create(options: CreateVirtualTextDocumentOptions): VirtualTextDocument;\n  protected isDirty: boolean;\n  markDirty(): void;\n  protected refresh(): void;\n  readonly selector: Selector;\n}\n```\n\n**Members:**\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VirtualTextDocument-create-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VirtualTextDocument-create-member-1-\"></a>\n\n#### [create](#-vuedx-vue-virtual-textdocument-VirtualTextDocument-create-member-1-)\n\n\n\n**Signature:**\n```ts\nstatic create(options: CreateVirtualTextDocumentOptions): VirtualTextDocument;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| options | <code><a href=\"#-vuedx-vue-virtual-textdocument--CreateVirtualTextDocumentOptions-interface\">CreateVirtualTextDocumentOptions</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VirtualTextDocument-markDirty-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VirtualTextDocument-markDirty-member-1-\"></a>\n\n#### [markDirty](#-vuedx-vue-virtual-textdocument-VirtualTextDocument-markDirty-member-1-)\n\n\n\n**Signature:**\n```ts\nmarkDirty(): void;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VirtualTextDocument-refresh-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VirtualTextDocument-refresh-member-1-\"></a>\n\n#### [refresh](#-vuedx-vue-virtual-textdocument-VirtualTextDocument-refresh-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected refresh(): void;\n```\n\n\n<br>\n</details>\n\n<br>\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-class\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-class\"></a>\n\n### [VueTextDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-class)\n\n\n\n<details><summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare class VueTextDocument extends ProxyTextDocument {\n  constructor(doc: TextDocument, options?: VueTextDocumentOptions, parseOptions?: SFCParseOptions);\n  all(): VirtualTextDocument[];\n  blockAt(position: Position | number): SFCBlock | null | undefined;\n  static create(uri: string, languageId: string, version: number, content: string, options?: VueTextDocumentOptions, parseOptions?: SFCParseOptions): VueTextDocument;\n  protected createBlockDocument(selector: BlockSelector): VirtualTextDocument | undefined;\n  protected createInternalModuleDocument(): TransformedBlockTextDocument;\n  protected createModuleDocument(): TransformedBlockTextDocument;\n  protected createRenderDocument(): RenderFunctionTextDocument;\n  protected createTemplateASTDocument(): TransformedBlockTextDocument;\n  get descriptor(): SFCDescriptor;\n  documentAt(position: Position | number): VirtualTextDocument | undefined;\n  getBlock(selector: BlockSelector): SFCBlock | null | undefined;\n  getBlockSelector(block: SFCBlock): BlockSelector | undefined;\n  getDocument(selector: typeof RENDER_SELECTOR): RenderFunctionTextDocument;\n  getDocument(selector: SelectorLike): VirtualTextDocument;\n  getDocument(selector: string): VirtualTextDocument | undefined;\n  getDocumentFileName(selectorLike: SelectorLike): string;\n  protected getDocumentId(selector: Selector): string;\n  protected getDocumentLanguage(selector: Selector): string;\n  markDirty(): void;\n  readonly options: VueTextDocumentOptions;\n  protected parse(): void;\n  static update(document: VueTextDocument, changes: TextDocumentContentChangeEvent[], version: number): VueTextDocument;\n}\n```\n\n**Members:**\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-all-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-all-member-1-\"></a>\n\n#### [all](#-vuedx-vue-virtual-textdocument-VueTextDocument-all-member-1-)\n\n\n\n**Signature:**\n```ts\nall(): VirtualTextDocument[];\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-blockAt-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-blockAt-member-1-\"></a>\n\n#### [blockAt](#-vuedx-vue-virtual-textdocument-VueTextDocument-blockAt-member-1-)\n\n\n\n**Signature:**\n```ts\nblockAt(position: Position | number): SFCBlock | null | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| position | <code><a href=\"#vscode-languageserver-textdocument-Position-interface\">Position</a> &#124; number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-create-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-create-member-1-\"></a>\n\n#### [create](#-vuedx-vue-virtual-textdocument-VueTextDocument-create-member-1-)\n\n\n\n**Signature:**\n```ts\nstatic create(uri: string, languageId: string, version: number, content: string, options?: VueTextDocumentOptions, parseOptions?: SFCParseOptions): VueTextDocument;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n| languageId | <code>string</code> | - |\n| version | <code>number</code> | - |\n| content | <code>string</code> | - |\n| options | <code><a href=\"#-vuedx-vue-virtual-textdocument--VueTextDocumentOptions-interface\">VueTextDocumentOptions</a></code> | - |\n| parseOptions | <code><a href=\"#-vue-compiler-sfc-SFCParseOptions-interface\">SFCParseOptions</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-createBlockDocument-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-createBlockDocument-member-1-\"></a>\n\n#### [createBlockDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-createBlockDocument-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected createBlockDocument(selector: BlockSelector): VirtualTextDocument | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selector | <code><a href=\"#-vuedx-vue-virtual-textdocument--BlockSelector-type\">BlockSelector</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-createInternalModuleDocument-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-createInternalModuleDocument-member-1-\"></a>\n\n#### [createInternalModuleDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-createInternalModuleDocument-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected createInternalModuleDocument(): TransformedBlockTextDocument;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-createModuleDocument-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-createModuleDocument-member-1-\"></a>\n\n#### [createModuleDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-createModuleDocument-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected createModuleDocument(): TransformedBlockTextDocument;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-createRenderDocument-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-createRenderDocument-member-1-\"></a>\n\n#### [createRenderDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-createRenderDocument-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected createRenderDocument(): RenderFunctionTextDocument;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-createTemplateASTDocument-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-createTemplateASTDocument-member-1-\"></a>\n\n#### [createTemplateASTDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-createTemplateASTDocument-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected createTemplateASTDocument(): TransformedBlockTextDocument;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-documentAt-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-documentAt-member-1-\"></a>\n\n#### [documentAt](#-vuedx-vue-virtual-textdocument-VueTextDocument-documentAt-member-1-)\n\n\n\n**Signature:**\n```ts\ndocumentAt(position: Position | number): VirtualTextDocument | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| position | <code><a href=\"#vscode-languageserver-textdocument-Position-interface\">Position</a> &#124; number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getBlock-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getBlock-member-1-\"></a>\n\n#### [getBlock](#-vuedx-vue-virtual-textdocument-VueTextDocument-getBlock-member-1-)\n\n\n\n**Signature:**\n```ts\ngetBlock(selector: BlockSelector): SFCBlock | null | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selector | <code><a href=\"#-vuedx-vue-virtual-textdocument--BlockSelector-type\">BlockSelector</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getBlockSelector-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getBlockSelector-member-1-\"></a>\n\n#### [getBlockSelector](#-vuedx-vue-virtual-textdocument-VueTextDocument-getBlockSelector-member-1-)\n\n\n\n**Signature:**\n```ts\ngetBlockSelector(block: SFCBlock): BlockSelector | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| block | <code><a href=\"#-vue-compiler-sfc-SFCBlock-interface\">SFCBlock</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-1-\"></a>\n\n#### [getDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-1-)\n\n\n\n**Signature:**\n```ts\ngetDocument(selector: typeof RENDER_SELECTOR): RenderFunctionTextDocument;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selector | <code>typeof <a href=\"#-vuedx-vue-virtual-textdocument--RENDER-SELECTOR-var\">RENDER_SELECTOR</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-2-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-2-\"></a>\n\n#### [getDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-2-)\n\n\n\n**Signature:**\n```ts\ngetDocument(selector: SelectorLike): VirtualTextDocument;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selector | <code><a href=\"#-vuedx-vue-virtual-textdocument--SelectorLike-type\">SelectorLike</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-3-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-3-\"></a>\n\n#### [getDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-3-)\n\n\n\n**Signature:**\n```ts\ngetDocument(selector: string): VirtualTextDocument | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selector | <code>string</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentFileName-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentFileName-member-1-\"></a>\n\n#### [getDocumentFileName](#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentFileName-member-1-)\n\n\n\n**Signature:**\n```ts\ngetDocumentFileName(selectorLike: SelectorLike): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selectorLike | <code><a href=\"#-vuedx-vue-virtual-textdocument--SelectorLike-type\">SelectorLike</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentId-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentId-member-1-\"></a>\n\n#### [getDocumentId](#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentId-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected getDocumentId(selector: Selector): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selector | <code><a href=\"#-vuedx-vue-virtual-textdocument--Selector-type\">Selector</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentLanguage-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentLanguage-member-1-\"></a>\n\n#### [getDocumentLanguage](#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentLanguage-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected getDocumentLanguage(selector: Selector): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selector | <code><a href=\"#-vuedx-vue-virtual-textdocument--Selector-type\">Selector</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-markDirty-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-markDirty-member-1-\"></a>\n\n#### [markDirty](#-vuedx-vue-virtual-textdocument-VueTextDocument-markDirty-member-1-)\n\n\n\n**Signature:**\n```ts\nmarkDirty(): void;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-parse-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-parse-member-1-\"></a>\n\n#### [parse](#-vuedx-vue-virtual-textdocument-VueTextDocument-parse-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected parse(): void;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-update-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-update-member-1-\"></a>\n\n#### [update](#-vuedx-vue-virtual-textdocument-VueTextDocument-update-member-1-)\n\n\n\n**Signature:**\n```ts\nstatic update(document: VueTextDocument, changes: TextDocumentContentChangeEvent[], version: number): VueTextDocument;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| document | <code><a href=\"#-vuedx-vue-virtual-textdocument--VueTextDocument-class\">VueTextDocument</a></code> | - |\n| changes | <code><a href=\"#vscode-languageserver-textdocument-TextDocumentContentChangeEvent-type\">TextDocumentContentChangeEvent</a>[]</code> | - |\n| version | <code>number</code> | - |\n\n<br>\n</details>\n\n<br>\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-asFsPath-function-1-\" id=\"-vuedx-vue-virtual-textdocument-asFsPath-function-1-\"></a>\n\n### [asFsPath](#-vuedx-vue-virtual-textdocument-asFsPath-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function asFsPath(uri: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-asFsUri-function-1-\" id=\"-vuedx-vue-virtual-textdocument-asFsUri-function-1-\"></a>\n\n### [asFsUri](#-vuedx-vue-virtual-textdocument-asFsUri-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function asFsUri(fileName: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-asUri-function-1-\" id=\"-vuedx-vue-virtual-textdocument-asUri-function-1-\"></a>\n\n### [asUri](#-vuedx-vue-virtual-textdocument-asUri-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function asUri(fileNameOrUri: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileNameOrUri | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-basename-function-1-\" id=\"-vuedx-vue-virtual-textdocument-basename-function-1-\"></a>\n\n### [basename](#-vuedx-vue-virtual-textdocument-basename-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function basename(fileName: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-binarySearch-function-1-\" id=\"-vuedx-vue-virtual-textdocument-binarySearch-function-1-\"></a>\n\n### [binarySearch](#-vuedx-vue-virtual-textdocument-binarySearch-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function binarySearch<T>(array: T[], isMatch: (a: T) => number, returnMin?: boolean): T | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| array | <code>T[]</code> | - |\n| isMatch | <code>(a: T) => number</code> | - |\n| returnMin | <code>boolean</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-getBlockLanguage-function-1-\" id=\"-vuedx-vue-virtual-textdocument-getBlockLanguage-function-1-\"></a>\n\n### [getBlockLanguage](#-vuedx-vue-virtual-textdocument-getBlockLanguage-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function getBlockLanguage(block?: SFCBlock | null): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| block | <code><a href=\"#-vue-compiler-sfc-SFCBlock-interface\">SFCBlock</a> &#124; null</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-getContainingFile-function-1-\" id=\"-vuedx-vue-virtual-textdocument-getContainingFile-function-1-\"></a>\n\n### [getContainingFile](#-vuedx-vue-virtual-textdocument-getContainingFile-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function getContainingFile(fileName: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-getLanguageExtension-function-1-\" id=\"-vuedx-vue-virtual-textdocument-getLanguageExtension-function-1-\"></a>\n\n### [getLanguageExtension](#-vuedx-vue-virtual-textdocument-getLanguageExtension-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function getLanguageExtension(lang: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| lang | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-getLanguageIdFromExtension-function-1-\" id=\"-vuedx-vue-virtual-textdocument-getLanguageIdFromExtension-function-1-\"></a>\n\n### [getLanguageIdFromExtension](#-vuedx-vue-virtual-textdocument-getLanguageIdFromExtension-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function getLanguageIdFromExtension(ext: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| ext | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-isOffsetInBlock-function-1-\" id=\"-vuedx-vue-virtual-textdocument-isOffsetInBlock-function-1-\"></a>\n\n### [isOffsetInBlock](#-vuedx-vue-virtual-textdocument-isOffsetInBlock-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function isOffsetInBlock(offset: number, block?: SFCBlock | null): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n| block | <code><a href=\"#-vue-compiler-sfc-SFCBlock-interface\">SFCBlock</a> &#124; null</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-isVirtualFile-function-1-\" id=\"-vuedx-vue-virtual-textdocument-isVirtualFile-function-1-\"></a>\n\n### [isVirtualFile](#-vuedx-vue-virtual-textdocument-isVirtualFile-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function isVirtualFile(fileName: string): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-isVirtualFileOfType-function-1-\" id=\"-vuedx-vue-virtual-textdocument-isVirtualFileOfType-function-1-\"></a>\n\n### [isVirtualFileOfType](#-vuedx-vue-virtual-textdocument-isVirtualFileOfType-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function isVirtualFileOfType(fileName: string, type: '_render' | '_module' | '_internal' | 'script' | 'scriptSetup'): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n| type | <code>'_render' &#124; '_module' &#124; '_internal' &#124; 'script' &#124; 'scriptSetup'</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-isVueFile-function-1-\" id=\"-vuedx-vue-virtual-textdocument-isVueFile-function-1-\"></a>\n\n### [isVueFile](#-vuedx-vue-virtual-textdocument-isVueFile-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function isVueFile(fileName: string): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-parseVirtualFileName-function-1-\" id=\"-vuedx-vue-virtual-textdocument-parseVirtualFileName-function-1-\"></a>\n\n### [parseVirtualFileName](#-vuedx-vue-virtual-textdocument-parseVirtualFileName-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function parseVirtualFileName(fileName: string): {\n    uri: string;\n    selector: Selector;\n} | null;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-relativeVirtualImportPath-function-1-\" id=\"-vuedx-vue-virtual-textdocument-relativeVirtualImportPath-function-1-\"></a>\n\n### [relativeVirtualImportPath](#-vuedx-vue-virtual-textdocument-relativeVirtualImportPath-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function relativeVirtualImportPath(fileName: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-replaceSlashes-function-1-\" id=\"-vuedx-vue-virtual-textdocument-replaceSlashes-function-1-\"></a>\n\n### [replaceSlashes](#-vuedx-vue-virtual-textdocument-replaceSlashes-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function replaceSlashes(fileName: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n<!-- #region API-DOCS -->\n","readmeFilename":"readme.md","gitHead":"909d2074f730b03ba508050d27fa4d060383118b","_id":"@vuedx/vue-virtual-textdocument@0.7.5-next-1649315434.0","_nodeVersion":"16.14.2","_npmVersion":"8.5.0","dist":{"integrity":"sha512-MfQi3o8C95Gxg86uuBH4BeLaU6jCFI0dftqsDJdSjzNQ4OT0ejCoUbHIGVnIQvMghEhpUU5LSMv/5Td3+TAtfw==","shasum":"ab27f3d690d82c2c8add6555d52cb352b934df97","tarball":"https://registry.npmjs.org/@vuedx/vue-virtual-textdocument/-/vue-virtual-textdocument-0.7.5-next-1649315434.0.tgz","fileCount":8,"unpackedSize":224278,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIG/RQ375uEFSe19Q60oAA0oKmVNMfkUQoUrCflEBapUdAiEAsTBqbCGtha+VT7I7Q3o0dlDXxOOG5uBheDVq25yRDZk="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiTo5+ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrxcA//bB2XSYB7PlTvjdptpo3xwY9D6nkIf+3GybUWFOW5pFgTR8QV\r\ne3keGL0WbXRcYYMZpoOP/6qBvPS7ryfV3qW498XsgsoZAOkXzXTvzRAxqhmm\r\nS3H46aZSQnAalHhXkkgqhnm+RvMaKGkuy7uYqShdSvKiZo52vzihrcm2xsJN\r\n9WCzGZBUfLR97hnWhg5Qk+Q8+ppuSkQHBuu20G1oiaA5AGcythfziKWp1f0d\r\nSHnRVfHxe5/N6vf1j3GBAkHgS36N92WG3FicNsB6q9Vemn7jCAS4IXRIFH5W\r\nuL74Zz7dqREEFWzN6ni/xfOPYKiifv1enDEWeRBRPyEX2p3hJKLp3E7YrGP8\r\n3ku/hmyr+klOzL/KykIziS2urejO6AG15pLvfJKnVJLCKubLQxTJniRaXGCV\r\nRiS5zZ7/cLI1mQHFrYi52obp2rbTY48PNJeDxGUPTA1LKje+03VqjuBn3eB5\r\nk4kBVUU4tC5Zwwe8fsDojvK4bR2F4XWod9rQmVRba+NnxUPC9Y7b3Ef1PrGO\r\nkUrzny15KHIle885Z3ukHARVN7PRJKP0QvzEOu7ErWD+kKFD7nLO9aQqTXsJ\r\nRQ7krhKCLgvXG7Rz/K/bOA8qyEOTFbM9NxayII2xR7Hkl9R8D64v6fqU1eir\r\naYEidR2TLMVcWgQbjQWJtEfGxVqqk0OLVDQ=\r\n=PoTv\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"znck","email":"rahulkdn@gmail.com"},"directories":{},"maintainers":[{"name":"znck","email":"rahulkdn@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/vue-virtual-textdocument_0.7.5-next-1649315434.0_1649315454558_0.5244084251757748"},"_hasShrinkwrap":false},"0.7.5-next-1649381954.0":{"name":"@vuedx/vue-virtual-textdocument","version":"0.7.5-next-1649381954.0","description":"A virtual filesystem to access blocks in SFC as files","main":"lib/index.js","module":"lib/index.mjs","types":"lib/index.d.ts","publishConfig":{"types":"lib/index.d.ts"},"private":false,"keywords":["vue","vue sfc","sfc","vue virtual files"],"repository":{"type":"git","url":"git+https://github.com/znck/vue-developer-experience.git"},"author":{"name":"Rahul Kadyan","email":"rahulkdn@gmail.com","url":"https://znck.me/"},"funding":{"type":"individual","url":"https://github.com/sponsors/znck"},"license":"MIT","bugs":{"url":"https://github.com/znck/vue-developer-experience/issues"},"homepage":"https://github.com/znck/vue-developer-experience#readme","dependencies":{"@vuedx/compiler-sfc":"0.7.2-next-1649381954.0","@vuedx/compiler-tsx":"0.7.5-next-1649381954.0","@vuedx/shared":"0.7.4-next-1649381954.0","@vuedx/template-ast-types":"0.7.3-next-1649381954.0","@vuedx/transforms":"0.7.5-next-1649381954.0","source-map":"^0.6.1","vscode-languageserver-textdocument":"^1.0.1","vscode-uri":"^2.1.2"},"devDependencies":{"typescript":"^4.0.3"},"scripts":{},"readme":"# Vue Virtual TextDocument\n\nAn implementation of virtual filesystem for accessing blocks in a `.vue` file as independent files.\n\n## Support\n\nThis package is part of [VueDX project](https://github.com/znck/vue-developer-experience), maintained by [Rahul Kadyan](https://github.com/znck). You can [💖 sponsor him](https://github.com/sponsors/znck) for continued development of this package and other VueDX tools.\n\n```\nnpm add @vuedx/vue-virtual-textdocument\n```\n<!-- #region API-DOCS -->\n<!-- Do not edit this file. It is a report generated by [scripts/docgen.js](https://github.com/znck/vue-developer-experience/tree/main/scripts/docgen.js). -->\n\n## API\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-AsyncDocumentStore-class\" id=\"-vuedx-vue-virtual-textdocument-AsyncDocumentStore-class\"></a>\n\n### [AsyncDocumentStore](#-vuedx-vue-virtual-textdocument-AsyncDocumentStore-class)\n\n\n\n<details><summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare class AsyncDocumentStore<T> extends DocumentStore<T> {\n  constructor(resolve: (uri: string) => T | Promise<T | null> | null, normalize?: (uri: string) => string);\n  get(uri: string): T | null;\n  get(uri: string): Promise<T | null>;\n}\n```\n\n**Members:**\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-AsyncDocumentStore-get-member-1-\" id=\"-vuedx-vue-virtual-textdocument-AsyncDocumentStore-get-member-1-\"></a>\n\n#### [get](#-vuedx-vue-virtual-textdocument-AsyncDocumentStore-get-member-1-)\n\n\n\n**Signature:**\n```ts\nget(uri: string): T | null;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-AsyncDocumentStore-get-member-2-\" id=\"-vuedx-vue-virtual-textdocument-AsyncDocumentStore-get-member-2-\"></a>\n\n#### [get](#-vuedx-vue-virtual-textdocument-AsyncDocumentStore-get-member-2-)\n\n\n\n**Signature:**\n```ts\nget(uri: string): Promise<T | null>;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n\n<br>\n</details>\n\n<br>\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-class\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-class\"></a>\n\n### [DocumentStore](#-vuedx-vue-virtual-textdocument-DocumentStore-class)\n\n\n\n<details><summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare class DocumentStore<T> {\n  constructor(resolve: (uri: string) => T | null, normalize?: (uri: string) => string);\n  all(): string[];\n  delete(uri: string): boolean;\n  dispose(): void;\n  get(uri: string): T | null;\n  protected getNormalizedUri(uri: string): string;\n  has(uri: string): boolean;\n  protected map: Map<string, T>;\n  normalize: (uri: string) => string;\n  protected resolve: (uri: string) => T | null;\n  protected reverseUriMap: Map<string, string>;\n  set(uri: string, document: T): void;\n}\n```\n\n**Members:**\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-all-member-1-\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-all-member-1-\"></a>\n\n#### [all](#-vuedx-vue-virtual-textdocument-DocumentStore-all-member-1-)\n\n\n\n**Signature:**\n```ts\nall(): string[];\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-delete-member-1-\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-delete-member-1-\"></a>\n\n#### [delete](#-vuedx-vue-virtual-textdocument-DocumentStore-delete-member-1-)\n\n\n\n**Signature:**\n```ts\ndelete(uri: string): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-dispose-member-1-\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-dispose-member-1-\"></a>\n\n#### [dispose](#-vuedx-vue-virtual-textdocument-DocumentStore-dispose-member-1-)\n\n\n\n**Signature:**\n```ts\ndispose(): void;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-get-member-1-\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-get-member-1-\"></a>\n\n#### [get](#-vuedx-vue-virtual-textdocument-DocumentStore-get-member-1-)\n\n\n\n**Signature:**\n```ts\nget(uri: string): T | null;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-getNormalizedUri-member-1-\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-getNormalizedUri-member-1-\"></a>\n\n#### [getNormalizedUri](#-vuedx-vue-virtual-textdocument-DocumentStore-getNormalizedUri-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected getNormalizedUri(uri: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-has-member-1-\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-has-member-1-\"></a>\n\n#### [has](#-vuedx-vue-virtual-textdocument-DocumentStore-has-member-1-)\n\n\n\n**Signature:**\n```ts\nhas(uri: string): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-set-member-1-\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-set-member-1-\"></a>\n\n#### [set](#-vuedx-vue-virtual-textdocument-DocumentStore-set-member-1-)\n\n\n\n**Signature:**\n```ts\nset(uri: string, document: T): void;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n| document | <code>T</code> | - |\n\n<br>\n</details>\n\n<br>\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-class\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-class\"></a>\n\n### [RenderFunctionTextDocument](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-class)\n\n\n\n<details><summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare class RenderFunctionTextDocument extends TransformedBlockTextDocument {\n  constructor(container: VueTextDocument, selector: Selector, transformed: TextDocument, source: TextDocument);\n  get ast(): CodegenResult['ast'] | undefined;\n  get contextCompletionsTriggerOffset(): number;\n  static create(options: CreateVirtualTextDocumentOptions): RenderFunctionTextDocument;\n  findExpression(offset: number, length: number): undefined | {\n        offset: number;\n        length: number;\n    };\n  protected generate(): string;\n  getAllGeneratedOffsetsAt(offset: number): undefined | Array<{\n        length: number;\n        offset: number;\n    }>;\n  getGeneratedOffsetAt(offset: number): undefined | {\n        length: number;\n        offset: number;\n    };\n  protected getKnownComponents(): Record<string, ComponentImport>;\n  getOriginalOffsetAt(offset: number): undefined | {\n        offset: number;\n        length: number;\n    };\n  isInGeneratedRange(offset: number): boolean;\n  isInTemplateIdentifierRange(offset: number): boolean;\n  get parserErrors(): CodegenResult['errors'];\n  get tagCompletionsTriggerOffset(): number;\n  toDisplayMappings(): string;\n  protected tryGenerate(): string;\n}\n```\n\n**Members:**\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-create-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-create-member-1-\"></a>\n\n#### [create](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-create-member-1-)\n\n\n\n**Signature:**\n```ts\nstatic create(options: CreateVirtualTextDocumentOptions): RenderFunctionTextDocument;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| options | <code><a href=\"#-vuedx-vue-virtual-textdocument--CreateVirtualTextDocumentOptions-interface\">CreateVirtualTextDocumentOptions</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-findExpression-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-findExpression-member-1-\"></a>\n\n#### [findExpression](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-findExpression-member-1-)\n\n\n\n**Signature:**\n```ts\nfindExpression(offset: number, length: number): undefined | {\n        offset: number;\n        length: number;\n    };\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n| length | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-generate-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-generate-member-1-\"></a>\n\n#### [generate](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-generate-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected generate(): string;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getAllGeneratedOffsetsAt-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getAllGeneratedOffsetsAt-member-1-\"></a>\n\n#### [getAllGeneratedOffsetsAt](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getAllGeneratedOffsetsAt-member-1-)\n\n\n\n**Signature:**\n```ts\ngetAllGeneratedOffsetsAt(offset: number): undefined | Array<{\n        length: number;\n        offset: number;\n    }>;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getGeneratedOffsetAt-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getGeneratedOffsetAt-member-1-\"></a>\n\n#### [getGeneratedOffsetAt](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getGeneratedOffsetAt-member-1-)\n\n\n\n**Signature:**\n```ts\ngetGeneratedOffsetAt(offset: number): undefined | {\n        length: number;\n        offset: number;\n    };\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getKnownComponents-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getKnownComponents-member-1-\"></a>\n\n#### [getKnownComponents](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getKnownComponents-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected getKnownComponents(): Record<string, ComponentImport>;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getOriginalOffsetAt-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getOriginalOffsetAt-member-1-\"></a>\n\n#### [getOriginalOffsetAt](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getOriginalOffsetAt-member-1-)\n\n\n\n**Signature:**\n```ts\ngetOriginalOffsetAt(offset: number): undefined | {\n        offset: number;\n        length: number;\n    };\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-isInGeneratedRange-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-isInGeneratedRange-member-1-\"></a>\n\n#### [isInGeneratedRange](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-isInGeneratedRange-member-1-)\n\n\n\n**Signature:**\n```ts\nisInGeneratedRange(offset: number): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-isInTemplateIdentifierRange-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-isInTemplateIdentifierRange-member-1-\"></a>\n\n#### [isInTemplateIdentifierRange](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-isInTemplateIdentifierRange-member-1-)\n\n\n\n**Signature:**\n```ts\nisInTemplateIdentifierRange(offset: number): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-toDisplayMappings-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-toDisplayMappings-member-1-\"></a>\n\n#### [toDisplayMappings](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-toDisplayMappings-member-1-)\n\n\n\n**Signature:**\n```ts\ntoDisplayMappings(): string;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-tryGenerate-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-tryGenerate-member-1-\"></a>\n\n#### [tryGenerate](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-tryGenerate-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected tryGenerate(): string;\n```\n\n\n<br>\n</details>\n\n<br>\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-class\" id=\"-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-class\"></a>\n\n### [TransformedBlockTextDocument](#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-class)\n\n\n\n<details><summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare class TransformedBlockTextDocument extends VirtualTextDocument {\n  protected constructor(container: VueTextDocument, selector: Selector, transformed: TextDocument, source: TextDocument | VirtualTextDocument, _transform: (document: TransformedBlockTextDocument) => BlockTransformResult);\n  static create(options: CreateTransformedBlockTextDocumentOptions): TransformedBlockTextDocument;\n  protected refresh(): void;\n  transform(): BlockTransformResult;\n  tryGetGeneratedOffset(offset: number): number | undefined;\n  tryGetSourceOffset(offset: number): number | undefined;\n}\n```\n\n**Members:**\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-create-member-1-\" id=\"-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-create-member-1-\"></a>\n\n#### [create](#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-create-member-1-)\n\n\n\n**Signature:**\n```ts\nstatic create(options: CreateTransformedBlockTextDocumentOptions): TransformedBlockTextDocument;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| options | <code><a href=\"#-vuedx-vue-virtual-textdocument--CreateTransformedBlockTextDocumentOptions-interface\">CreateTransformedBlockTextDocumentOptions</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-refresh-member-1-\" id=\"-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-refresh-member-1-\"></a>\n\n#### [refresh](#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-refresh-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected refresh(): void;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-transform-member-1-\" id=\"-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-transform-member-1-\"></a>\n\n#### [transform](#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-transform-member-1-)\n\n\n\n**Signature:**\n```ts\ntransform(): BlockTransformResult;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-tryGetGeneratedOffset-member-1-\" id=\"-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-tryGetGeneratedOffset-member-1-\"></a>\n\n#### [tryGetGeneratedOffset](#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-tryGetGeneratedOffset-member-1-)\n\n\n\n**Signature:**\n```ts\ntryGetGeneratedOffset(offset: number): number | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-tryGetSourceOffset-member-1-\" id=\"-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-tryGetSourceOffset-member-1-\"></a>\n\n#### [tryGetSourceOffset](#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-tryGetSourceOffset-member-1-)\n\n\n\n**Signature:**\n```ts\ntryGetSourceOffset(offset: number): number | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n</details>\n\n<br>\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VirtualTextDocument-class\" id=\"-vuedx-vue-virtual-textdocument-VirtualTextDocument-class\"></a>\n\n### [VirtualTextDocument](#-vuedx-vue-virtual-textdocument-VirtualTextDocument-class)\n\n\n\n<details><summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare class VirtualTextDocument extends ProxyTextDocument {\n  protected constructor(container: VueTextDocument, selector: Selector, doc: TextDocument);\n  readonly container: VueTextDocument;\n  static create(options: CreateVirtualTextDocumentOptions): VirtualTextDocument;\n  protected isDirty: boolean;\n  markDirty(): void;\n  protected refresh(): void;\n  readonly selector: Selector;\n}\n```\n\n**Members:**\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VirtualTextDocument-create-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VirtualTextDocument-create-member-1-\"></a>\n\n#### [create](#-vuedx-vue-virtual-textdocument-VirtualTextDocument-create-member-1-)\n\n\n\n**Signature:**\n```ts\nstatic create(options: CreateVirtualTextDocumentOptions): VirtualTextDocument;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| options | <code><a href=\"#-vuedx-vue-virtual-textdocument--CreateVirtualTextDocumentOptions-interface\">CreateVirtualTextDocumentOptions</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VirtualTextDocument-markDirty-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VirtualTextDocument-markDirty-member-1-\"></a>\n\n#### [markDirty](#-vuedx-vue-virtual-textdocument-VirtualTextDocument-markDirty-member-1-)\n\n\n\n**Signature:**\n```ts\nmarkDirty(): void;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VirtualTextDocument-refresh-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VirtualTextDocument-refresh-member-1-\"></a>\n\n#### [refresh](#-vuedx-vue-virtual-textdocument-VirtualTextDocument-refresh-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected refresh(): void;\n```\n\n\n<br>\n</details>\n\n<br>\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-class\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-class\"></a>\n\n### [VueTextDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-class)\n\n\n\n<details><summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare class VueTextDocument extends ProxyTextDocument {\n  constructor(doc: TextDocument, options?: VueTextDocumentOptions, parseOptions?: SFCParseOptions);\n  all(): VirtualTextDocument[];\n  blockAt(position: Position | number): SFCBlock | null | undefined;\n  static create(uri: string, languageId: string, version: number, content: string, options?: VueTextDocumentOptions, parseOptions?: SFCParseOptions): VueTextDocument;\n  protected createBlockDocument(selector: BlockSelector): VirtualTextDocument | undefined;\n  protected createInternalModuleDocument(): TransformedBlockTextDocument;\n  protected createModuleDocument(): TransformedBlockTextDocument;\n  protected createRenderDocument(): RenderFunctionTextDocument;\n  protected createTemplateASTDocument(): TransformedBlockTextDocument;\n  get descriptor(): SFCDescriptor;\n  documentAt(position: Position | number): VirtualTextDocument | undefined;\n  getBlock(selector: BlockSelector): SFCBlock | null | undefined;\n  getBlockSelector(block: SFCBlock): BlockSelector | undefined;\n  getDocument(selector: typeof RENDER_SELECTOR): RenderFunctionTextDocument;\n  getDocument(selector: SelectorLike): VirtualTextDocument;\n  getDocument(selector: string): VirtualTextDocument | undefined;\n  getDocumentFileName(selectorLike: SelectorLike): string;\n  protected getDocumentId(selector: Selector): string;\n  protected getDocumentLanguage(selector: Selector): string;\n  markDirty(): void;\n  readonly options: VueTextDocumentOptions;\n  protected parse(): void;\n  static update(document: VueTextDocument, changes: TextDocumentContentChangeEvent[], version: number): VueTextDocument;\n}\n```\n\n**Members:**\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-all-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-all-member-1-\"></a>\n\n#### [all](#-vuedx-vue-virtual-textdocument-VueTextDocument-all-member-1-)\n\n\n\n**Signature:**\n```ts\nall(): VirtualTextDocument[];\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-blockAt-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-blockAt-member-1-\"></a>\n\n#### [blockAt](#-vuedx-vue-virtual-textdocument-VueTextDocument-blockAt-member-1-)\n\n\n\n**Signature:**\n```ts\nblockAt(position: Position | number): SFCBlock | null | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| position | <code><a href=\"#vscode-languageserver-textdocument-Position-interface\">Position</a> &#124; number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-create-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-create-member-1-\"></a>\n\n#### [create](#-vuedx-vue-virtual-textdocument-VueTextDocument-create-member-1-)\n\n\n\n**Signature:**\n```ts\nstatic create(uri: string, languageId: string, version: number, content: string, options?: VueTextDocumentOptions, parseOptions?: SFCParseOptions): VueTextDocument;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n| languageId | <code>string</code> | - |\n| version | <code>number</code> | - |\n| content | <code>string</code> | - |\n| options | <code><a href=\"#-vuedx-vue-virtual-textdocument--VueTextDocumentOptions-interface\">VueTextDocumentOptions</a></code> | - |\n| parseOptions | <code><a href=\"#-vue-compiler-sfc-SFCParseOptions-interface\">SFCParseOptions</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-createBlockDocument-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-createBlockDocument-member-1-\"></a>\n\n#### [createBlockDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-createBlockDocument-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected createBlockDocument(selector: BlockSelector): VirtualTextDocument | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selector | <code><a href=\"#-vuedx-vue-virtual-textdocument--BlockSelector-type\">BlockSelector</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-createInternalModuleDocument-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-createInternalModuleDocument-member-1-\"></a>\n\n#### [createInternalModuleDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-createInternalModuleDocument-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected createInternalModuleDocument(): TransformedBlockTextDocument;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-createModuleDocument-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-createModuleDocument-member-1-\"></a>\n\n#### [createModuleDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-createModuleDocument-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected createModuleDocument(): TransformedBlockTextDocument;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-createRenderDocument-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-createRenderDocument-member-1-\"></a>\n\n#### [createRenderDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-createRenderDocument-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected createRenderDocument(): RenderFunctionTextDocument;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-createTemplateASTDocument-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-createTemplateASTDocument-member-1-\"></a>\n\n#### [createTemplateASTDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-createTemplateASTDocument-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected createTemplateASTDocument(): TransformedBlockTextDocument;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-documentAt-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-documentAt-member-1-\"></a>\n\n#### [documentAt](#-vuedx-vue-virtual-textdocument-VueTextDocument-documentAt-member-1-)\n\n\n\n**Signature:**\n```ts\ndocumentAt(position: Position | number): VirtualTextDocument | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| position | <code><a href=\"#vscode-languageserver-textdocument-Position-interface\">Position</a> &#124; number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getBlock-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getBlock-member-1-\"></a>\n\n#### [getBlock](#-vuedx-vue-virtual-textdocument-VueTextDocument-getBlock-member-1-)\n\n\n\n**Signature:**\n```ts\ngetBlock(selector: BlockSelector): SFCBlock | null | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selector | <code><a href=\"#-vuedx-vue-virtual-textdocument--BlockSelector-type\">BlockSelector</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getBlockSelector-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getBlockSelector-member-1-\"></a>\n\n#### [getBlockSelector](#-vuedx-vue-virtual-textdocument-VueTextDocument-getBlockSelector-member-1-)\n\n\n\n**Signature:**\n```ts\ngetBlockSelector(block: SFCBlock): BlockSelector | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| block | <code><a href=\"#-vue-compiler-sfc-SFCBlock-interface\">SFCBlock</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-1-\"></a>\n\n#### [getDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-1-)\n\n\n\n**Signature:**\n```ts\ngetDocument(selector: typeof RENDER_SELECTOR): RenderFunctionTextDocument;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selector | <code>typeof <a href=\"#-vuedx-vue-virtual-textdocument--RENDER-SELECTOR-var\">RENDER_SELECTOR</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-2-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-2-\"></a>\n\n#### [getDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-2-)\n\n\n\n**Signature:**\n```ts\ngetDocument(selector: SelectorLike): VirtualTextDocument;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selector | <code><a href=\"#-vuedx-vue-virtual-textdocument--SelectorLike-type\">SelectorLike</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-3-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-3-\"></a>\n\n#### [getDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-3-)\n\n\n\n**Signature:**\n```ts\ngetDocument(selector: string): VirtualTextDocument | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selector | <code>string</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentFileName-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentFileName-member-1-\"></a>\n\n#### [getDocumentFileName](#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentFileName-member-1-)\n\n\n\n**Signature:**\n```ts\ngetDocumentFileName(selectorLike: SelectorLike): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selectorLike | <code><a href=\"#-vuedx-vue-virtual-textdocument--SelectorLike-type\">SelectorLike</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentId-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentId-member-1-\"></a>\n\n#### [getDocumentId](#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentId-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected getDocumentId(selector: Selector): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selector | <code><a href=\"#-vuedx-vue-virtual-textdocument--Selector-type\">Selector</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentLanguage-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentLanguage-member-1-\"></a>\n\n#### [getDocumentLanguage](#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentLanguage-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected getDocumentLanguage(selector: Selector): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selector | <code><a href=\"#-vuedx-vue-virtual-textdocument--Selector-type\">Selector</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-markDirty-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-markDirty-member-1-\"></a>\n\n#### [markDirty](#-vuedx-vue-virtual-textdocument-VueTextDocument-markDirty-member-1-)\n\n\n\n**Signature:**\n```ts\nmarkDirty(): void;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-parse-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-parse-member-1-\"></a>\n\n#### [parse](#-vuedx-vue-virtual-textdocument-VueTextDocument-parse-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected parse(): void;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-update-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-update-member-1-\"></a>\n\n#### [update](#-vuedx-vue-virtual-textdocument-VueTextDocument-update-member-1-)\n\n\n\n**Signature:**\n```ts\nstatic update(document: VueTextDocument, changes: TextDocumentContentChangeEvent[], version: number): VueTextDocument;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| document | <code><a href=\"#-vuedx-vue-virtual-textdocument--VueTextDocument-class\">VueTextDocument</a></code> | - |\n| changes | <code><a href=\"#vscode-languageserver-textdocument-TextDocumentContentChangeEvent-type\">TextDocumentContentChangeEvent</a>[]</code> | - |\n| version | <code>number</code> | - |\n\n<br>\n</details>\n\n<br>\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-asFsPath-function-1-\" id=\"-vuedx-vue-virtual-textdocument-asFsPath-function-1-\"></a>\n\n### [asFsPath](#-vuedx-vue-virtual-textdocument-asFsPath-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function asFsPath(uri: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-asFsUri-function-1-\" id=\"-vuedx-vue-virtual-textdocument-asFsUri-function-1-\"></a>\n\n### [asFsUri](#-vuedx-vue-virtual-textdocument-asFsUri-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function asFsUri(fileName: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-asUri-function-1-\" id=\"-vuedx-vue-virtual-textdocument-asUri-function-1-\"></a>\n\n### [asUri](#-vuedx-vue-virtual-textdocument-asUri-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function asUri(fileNameOrUri: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileNameOrUri | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-basename-function-1-\" id=\"-vuedx-vue-virtual-textdocument-basename-function-1-\"></a>\n\n### [basename](#-vuedx-vue-virtual-textdocument-basename-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function basename(fileName: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-binarySearch-function-1-\" id=\"-vuedx-vue-virtual-textdocument-binarySearch-function-1-\"></a>\n\n### [binarySearch](#-vuedx-vue-virtual-textdocument-binarySearch-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function binarySearch<T>(array: T[], isMatch: (a: T) => number, returnMin?: boolean): T | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| array | <code>T[]</code> | - |\n| isMatch | <code>(a: T) => number</code> | - |\n| returnMin | <code>boolean</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-getBlockLanguage-function-1-\" id=\"-vuedx-vue-virtual-textdocument-getBlockLanguage-function-1-\"></a>\n\n### [getBlockLanguage](#-vuedx-vue-virtual-textdocument-getBlockLanguage-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function getBlockLanguage(block?: SFCBlock | null): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| block | <code><a href=\"#-vue-compiler-sfc-SFCBlock-interface\">SFCBlock</a> &#124; null</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-getContainingFile-function-1-\" id=\"-vuedx-vue-virtual-textdocument-getContainingFile-function-1-\"></a>\n\n### [getContainingFile](#-vuedx-vue-virtual-textdocument-getContainingFile-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function getContainingFile(fileName: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-getLanguageExtension-function-1-\" id=\"-vuedx-vue-virtual-textdocument-getLanguageExtension-function-1-\"></a>\n\n### [getLanguageExtension](#-vuedx-vue-virtual-textdocument-getLanguageExtension-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function getLanguageExtension(lang: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| lang | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-getLanguageIdFromExtension-function-1-\" id=\"-vuedx-vue-virtual-textdocument-getLanguageIdFromExtension-function-1-\"></a>\n\n### [getLanguageIdFromExtension](#-vuedx-vue-virtual-textdocument-getLanguageIdFromExtension-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function getLanguageIdFromExtension(ext: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| ext | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-isOffsetInBlock-function-1-\" id=\"-vuedx-vue-virtual-textdocument-isOffsetInBlock-function-1-\"></a>\n\n### [isOffsetInBlock](#-vuedx-vue-virtual-textdocument-isOffsetInBlock-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function isOffsetInBlock(offset: number, block?: SFCBlock | null): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n| block | <code><a href=\"#-vue-compiler-sfc-SFCBlock-interface\">SFCBlock</a> &#124; null</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-isVirtualFile-function-1-\" id=\"-vuedx-vue-virtual-textdocument-isVirtualFile-function-1-\"></a>\n\n### [isVirtualFile](#-vuedx-vue-virtual-textdocument-isVirtualFile-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function isVirtualFile(fileName: string): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-isVirtualFileOfType-function-1-\" id=\"-vuedx-vue-virtual-textdocument-isVirtualFileOfType-function-1-\"></a>\n\n### [isVirtualFileOfType](#-vuedx-vue-virtual-textdocument-isVirtualFileOfType-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function isVirtualFileOfType(fileName: string, type: '_render' | '_module' | '_internal' | 'script' | 'scriptSetup'): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n| type | <code>'_render' &#124; '_module' &#124; '_internal' &#124; 'script' &#124; 'scriptSetup'</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-isVueFile-function-1-\" id=\"-vuedx-vue-virtual-textdocument-isVueFile-function-1-\"></a>\n\n### [isVueFile](#-vuedx-vue-virtual-textdocument-isVueFile-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function isVueFile(fileName: string): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-parseVirtualFileName-function-1-\" id=\"-vuedx-vue-virtual-textdocument-parseVirtualFileName-function-1-\"></a>\n\n### [parseVirtualFileName](#-vuedx-vue-virtual-textdocument-parseVirtualFileName-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function parseVirtualFileName(fileName: string): {\n    uri: string;\n    selector: Selector;\n} | null;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-relativeVirtualImportPath-function-1-\" id=\"-vuedx-vue-virtual-textdocument-relativeVirtualImportPath-function-1-\"></a>\n\n### [relativeVirtualImportPath](#-vuedx-vue-virtual-textdocument-relativeVirtualImportPath-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function relativeVirtualImportPath(fileName: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-replaceSlashes-function-1-\" id=\"-vuedx-vue-virtual-textdocument-replaceSlashes-function-1-\"></a>\n\n### [replaceSlashes](#-vuedx-vue-virtual-textdocument-replaceSlashes-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function replaceSlashes(fileName: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n<!-- #region API-DOCS -->\n","readmeFilename":"readme.md","gitHead":"3035e141a59c7b5ef22335963cbd16e2d209c35f","_id":"@vuedx/vue-virtual-textdocument@0.7.5-next-1649381954.0","_nodeVersion":"16.14.2","_npmVersion":"8.5.0","dist":{"integrity":"sha512-ze5E+KKcWMvT6c2eI4x9hhYLbBzL99I0ycDoztdBQnVWD9Nrd5aLsQZmm/zGkJXLWhX5QbFoDHYRw1R0go/vOQ==","shasum":"aa1faf6b8fd4afe7b206a355fcfbba399fc84d30","tarball":"https://registry.npmjs.org/@vuedx/vue-virtual-textdocument/-/vue-virtual-textdocument-0.7.5-next-1649381954.0.tgz","fileCount":8,"unpackedSize":224278,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDwRErP2trlpsqRkELT6aZ9qlMjwt3Vh5IYy/BKWQ2kcAIgGFvBsQdrGmpjeUymWvxP1v72jsEed7B6kHpdrjp+JmI="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiT5JYACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmp6zQ//Xr4gh1ahyp5mVJ33PXLVn+j+UWSVIWf7f3j+KPwisJJ9gEtv\r\nujygEzhZzq72AARApM95FIadKFS5FiUW5I8EBQESy2IvMPE0+jiHC0GLlCPh\r\n0hoTnZc2SAsHVDQ2rsgZlVNn9yjR+tEo/DpEFsEChsiu+VHOF+SBv+ek96xn\r\niPV6aOUffwmZFM3c9snO0noyDTzSdzGIaYb49NW35Nz63F2Ubuqgc4abOeOO\r\nTP7A+DSB9GipHy7a7/bzWEFgU8+2+bWeKeonLyZMpEaVHt7XRx+zBRUG3Tt8\r\n+49OgafrJM4RmhaDlkvFHrr1TmsgP7Hrvn5JghhYxCCvb37/JpfV7/GgG4UN\r\nBd99qR8QYp4NyHjLeowhNvAo9has0Sis+dljnNZwj2MSu8xX9PzpAdx1MyMB\r\nF/QtRMisqWGjhr9rIqGcqwjJm7I3kBJjKT4c6RYqhtqXL01cKvcwNOaxQp5R\r\nlXShv5yut+T0s/WTfJgpC9pQALVrqfyiWKGjhcvm8BRj8wVJvz8CCMnXVitm\r\n7nyuQCt+ayWxp/MHEFTBtPsBqISsgXDBt/m1eQ8X+tGMqk1LVc6HMQthbrTn\r\nSUW3CFuzVyMDh6lRWCpjEREWVbsXoSY6c9xTzvss4TnBj5nOHUEtWLgDALlK\r\n/6bMjC3MMttCg1XpdxVzpNJrgooFjS1BgHQ=\r\n=O/CT\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"znck","email":"rahulkdn@gmail.com"},"directories":{},"maintainers":[{"name":"znck","email":"rahulkdn@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/vue-virtual-textdocument_0.7.5-next-1649381954.0_1649381976430_0.14953220744691498"},"_hasShrinkwrap":false},"0.7.5-next-1649388850.0":{"name":"@vuedx/vue-virtual-textdocument","version":"0.7.5-next-1649388850.0","description":"A virtual filesystem to access blocks in SFC as files","main":"lib/index.js","module":"lib/index.mjs","types":"lib/index.d.ts","publishConfig":{"types":"lib/index.d.ts"},"private":false,"keywords":["vue","vue sfc","sfc","vue virtual files"],"repository":{"type":"git","url":"git+https://github.com/znck/vue-developer-experience.git"},"author":{"name":"Rahul Kadyan","email":"rahulkdn@gmail.com","url":"https://znck.me/"},"funding":{"type":"individual","url":"https://github.com/sponsors/znck"},"license":"MIT","bugs":{"url":"https://github.com/znck/vue-developer-experience/issues"},"homepage":"https://github.com/znck/vue-developer-experience#readme","dependencies":{"@vuedx/compiler-sfc":"0.7.2-next-1649388850.0","@vuedx/compiler-tsx":"0.7.5-next-1649388850.0","@vuedx/shared":"0.7.4-next-1649388850.0","@vuedx/template-ast-types":"0.7.3-next-1649388850.0","@vuedx/transforms":"0.7.5-next-1649388850.0","source-map":"^0.6.1","vscode-languageserver-textdocument":"^1.0.1","vscode-uri":"^2.1.2"},"devDependencies":{"typescript":"^4.0.3"},"scripts":{},"readme":"# Vue Virtual TextDocument\n\nAn implementation of virtual filesystem for accessing blocks in a `.vue` file as independent files.\n\n## Support\n\nThis package is part of [VueDX project](https://github.com/znck/vue-developer-experience), maintained by [Rahul Kadyan](https://github.com/znck). You can [💖 sponsor him](https://github.com/sponsors/znck) for continued development of this package and other VueDX tools.\n\n```\nnpm add @vuedx/vue-virtual-textdocument\n```\n<!-- #region API-DOCS -->\n<!-- Do not edit this file. It is a report generated by [scripts/docgen.js](https://github.com/znck/vue-developer-experience/tree/main/scripts/docgen.js). -->\n\n## API\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-AsyncDocumentStore-class\" id=\"-vuedx-vue-virtual-textdocument-AsyncDocumentStore-class\"></a>\n\n### [AsyncDocumentStore](#-vuedx-vue-virtual-textdocument-AsyncDocumentStore-class)\n\n\n\n<details><summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare class AsyncDocumentStore<T> extends DocumentStore<T> {\n  constructor(resolve: (uri: string) => T | Promise<T | null> | null, normalize?: (uri: string) => string);\n  get(uri: string): T | null;\n  get(uri: string): Promise<T | null>;\n}\n```\n\n**Members:**\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-AsyncDocumentStore-get-member-1-\" id=\"-vuedx-vue-virtual-textdocument-AsyncDocumentStore-get-member-1-\"></a>\n\n#### [get](#-vuedx-vue-virtual-textdocument-AsyncDocumentStore-get-member-1-)\n\n\n\n**Signature:**\n```ts\nget(uri: string): T | null;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-AsyncDocumentStore-get-member-2-\" id=\"-vuedx-vue-virtual-textdocument-AsyncDocumentStore-get-member-2-\"></a>\n\n#### [get](#-vuedx-vue-virtual-textdocument-AsyncDocumentStore-get-member-2-)\n\n\n\n**Signature:**\n```ts\nget(uri: string): Promise<T | null>;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n\n<br>\n</details>\n\n<br>\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-class\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-class\"></a>\n\n### [DocumentStore](#-vuedx-vue-virtual-textdocument-DocumentStore-class)\n\n\n\n<details><summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare class DocumentStore<T> {\n  constructor(resolve: (uri: string) => T | null, normalize?: (uri: string) => string);\n  all(): string[];\n  delete(uri: string): boolean;\n  dispose(): void;\n  get(uri: string): T | null;\n  protected getNormalizedUri(uri: string): string;\n  has(uri: string): boolean;\n  protected map: Map<string, T>;\n  normalize: (uri: string) => string;\n  protected resolve: (uri: string) => T | null;\n  protected reverseUriMap: Map<string, string>;\n  set(uri: string, document: T): void;\n}\n```\n\n**Members:**\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-all-member-1-\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-all-member-1-\"></a>\n\n#### [all](#-vuedx-vue-virtual-textdocument-DocumentStore-all-member-1-)\n\n\n\n**Signature:**\n```ts\nall(): string[];\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-delete-member-1-\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-delete-member-1-\"></a>\n\n#### [delete](#-vuedx-vue-virtual-textdocument-DocumentStore-delete-member-1-)\n\n\n\n**Signature:**\n```ts\ndelete(uri: string): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-dispose-member-1-\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-dispose-member-1-\"></a>\n\n#### [dispose](#-vuedx-vue-virtual-textdocument-DocumentStore-dispose-member-1-)\n\n\n\n**Signature:**\n```ts\ndispose(): void;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-get-member-1-\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-get-member-1-\"></a>\n\n#### [get](#-vuedx-vue-virtual-textdocument-DocumentStore-get-member-1-)\n\n\n\n**Signature:**\n```ts\nget(uri: string): T | null;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-getNormalizedUri-member-1-\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-getNormalizedUri-member-1-\"></a>\n\n#### [getNormalizedUri](#-vuedx-vue-virtual-textdocument-DocumentStore-getNormalizedUri-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected getNormalizedUri(uri: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-has-member-1-\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-has-member-1-\"></a>\n\n#### [has](#-vuedx-vue-virtual-textdocument-DocumentStore-has-member-1-)\n\n\n\n**Signature:**\n```ts\nhas(uri: string): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-set-member-1-\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-set-member-1-\"></a>\n\n#### [set](#-vuedx-vue-virtual-textdocument-DocumentStore-set-member-1-)\n\n\n\n**Signature:**\n```ts\nset(uri: string, document: T): void;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n| document | <code>T</code> | - |\n\n<br>\n</details>\n\n<br>\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-class\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-class\"></a>\n\n### [RenderFunctionTextDocument](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-class)\n\n\n\n<details><summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare class RenderFunctionTextDocument extends TransformedBlockTextDocument {\n  constructor(container: VueTextDocument, selector: Selector, transformed: TextDocument, source: TextDocument);\n  get ast(): CodegenResult['ast'] | undefined;\n  get contextCompletionsTriggerOffset(): number;\n  static create(options: CreateVirtualTextDocumentOptions): RenderFunctionTextDocument;\n  findExpression(offset: number, length: number): undefined | {\n        offset: number;\n        length: number;\n    };\n  protected generate(): string;\n  getAllGeneratedOffsetsAt(offset: number): undefined | Array<{\n        length: number;\n        offset: number;\n    }>;\n  getGeneratedOffsetAt(offset: number): undefined | {\n        length: number;\n        offset: number;\n    };\n  protected getKnownComponents(): Record<string, ComponentImport>;\n  getOriginalOffsetAt(offset: number): undefined | {\n        offset: number;\n        length: number;\n    };\n  isInGeneratedRange(offset: number): boolean;\n  isInTemplateIdentifierRange(offset: number): boolean;\n  get parserErrors(): CodegenResult['errors'];\n  get tagCompletionsTriggerOffset(): number;\n  toDisplayMappings(): string;\n  protected tryGenerate(): string;\n}\n```\n\n**Members:**\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-create-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-create-member-1-\"></a>\n\n#### [create](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-create-member-1-)\n\n\n\n**Signature:**\n```ts\nstatic create(options: CreateVirtualTextDocumentOptions): RenderFunctionTextDocument;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| options | <code><a href=\"#-vuedx-vue-virtual-textdocument--CreateVirtualTextDocumentOptions-interface\">CreateVirtualTextDocumentOptions</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-findExpression-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-findExpression-member-1-\"></a>\n\n#### [findExpression](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-findExpression-member-1-)\n\n\n\n**Signature:**\n```ts\nfindExpression(offset: number, length: number): undefined | {\n        offset: number;\n        length: number;\n    };\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n| length | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-generate-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-generate-member-1-\"></a>\n\n#### [generate](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-generate-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected generate(): string;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getAllGeneratedOffsetsAt-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getAllGeneratedOffsetsAt-member-1-\"></a>\n\n#### [getAllGeneratedOffsetsAt](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getAllGeneratedOffsetsAt-member-1-)\n\n\n\n**Signature:**\n```ts\ngetAllGeneratedOffsetsAt(offset: number): undefined | Array<{\n        length: number;\n        offset: number;\n    }>;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getGeneratedOffsetAt-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getGeneratedOffsetAt-member-1-\"></a>\n\n#### [getGeneratedOffsetAt](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getGeneratedOffsetAt-member-1-)\n\n\n\n**Signature:**\n```ts\ngetGeneratedOffsetAt(offset: number): undefined | {\n        length: number;\n        offset: number;\n    };\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getKnownComponents-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getKnownComponents-member-1-\"></a>\n\n#### [getKnownComponents](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getKnownComponents-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected getKnownComponents(): Record<string, ComponentImport>;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getOriginalOffsetAt-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getOriginalOffsetAt-member-1-\"></a>\n\n#### [getOriginalOffsetAt](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getOriginalOffsetAt-member-1-)\n\n\n\n**Signature:**\n```ts\ngetOriginalOffsetAt(offset: number): undefined | {\n        offset: number;\n        length: number;\n    };\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-isInGeneratedRange-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-isInGeneratedRange-member-1-\"></a>\n\n#### [isInGeneratedRange](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-isInGeneratedRange-member-1-)\n\n\n\n**Signature:**\n```ts\nisInGeneratedRange(offset: number): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-isInTemplateIdentifierRange-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-isInTemplateIdentifierRange-member-1-\"></a>\n\n#### [isInTemplateIdentifierRange](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-isInTemplateIdentifierRange-member-1-)\n\n\n\n**Signature:**\n```ts\nisInTemplateIdentifierRange(offset: number): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-toDisplayMappings-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-toDisplayMappings-member-1-\"></a>\n\n#### [toDisplayMappings](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-toDisplayMappings-member-1-)\n\n\n\n**Signature:**\n```ts\ntoDisplayMappings(): string;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-tryGenerate-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-tryGenerate-member-1-\"></a>\n\n#### [tryGenerate](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-tryGenerate-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected tryGenerate(): string;\n```\n\n\n<br>\n</details>\n\n<br>\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-class\" id=\"-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-class\"></a>\n\n### [TransformedBlockTextDocument](#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-class)\n\n\n\n<details><summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare class TransformedBlockTextDocument extends VirtualTextDocument {\n  protected constructor(container: VueTextDocument, selector: Selector, transformed: TextDocument, source: TextDocument | VirtualTextDocument, _transform: (document: TransformedBlockTextDocument) => BlockTransformResult);\n  static create(options: CreateTransformedBlockTextDocumentOptions): TransformedBlockTextDocument;\n  protected refresh(): void;\n  transform(): BlockTransformResult;\n  tryGetGeneratedOffset(offset: number): number | undefined;\n  tryGetSourceOffset(offset: number): number | undefined;\n}\n```\n\n**Members:**\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-create-member-1-\" id=\"-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-create-member-1-\"></a>\n\n#### [create](#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-create-member-1-)\n\n\n\n**Signature:**\n```ts\nstatic create(options: CreateTransformedBlockTextDocumentOptions): TransformedBlockTextDocument;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| options | <code><a href=\"#-vuedx-vue-virtual-textdocument--CreateTransformedBlockTextDocumentOptions-interface\">CreateTransformedBlockTextDocumentOptions</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-refresh-member-1-\" id=\"-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-refresh-member-1-\"></a>\n\n#### [refresh](#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-refresh-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected refresh(): void;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-transform-member-1-\" id=\"-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-transform-member-1-\"></a>\n\n#### [transform](#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-transform-member-1-)\n\n\n\n**Signature:**\n```ts\ntransform(): BlockTransformResult;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-tryGetGeneratedOffset-member-1-\" id=\"-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-tryGetGeneratedOffset-member-1-\"></a>\n\n#### [tryGetGeneratedOffset](#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-tryGetGeneratedOffset-member-1-)\n\n\n\n**Signature:**\n```ts\ntryGetGeneratedOffset(offset: number): number | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-tryGetSourceOffset-member-1-\" id=\"-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-tryGetSourceOffset-member-1-\"></a>\n\n#### [tryGetSourceOffset](#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-tryGetSourceOffset-member-1-)\n\n\n\n**Signature:**\n```ts\ntryGetSourceOffset(offset: number): number | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n</details>\n\n<br>\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VirtualTextDocument-class\" id=\"-vuedx-vue-virtual-textdocument-VirtualTextDocument-class\"></a>\n\n### [VirtualTextDocument](#-vuedx-vue-virtual-textdocument-VirtualTextDocument-class)\n\n\n\n<details><summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare class VirtualTextDocument extends ProxyTextDocument {\n  protected constructor(container: VueTextDocument, selector: Selector, doc: TextDocument);\n  readonly container: VueTextDocument;\n  static create(options: CreateVirtualTextDocumentOptions): VirtualTextDocument;\n  protected isDirty: boolean;\n  markDirty(): void;\n  protected refresh(): void;\n  readonly selector: Selector;\n}\n```\n\n**Members:**\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VirtualTextDocument-create-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VirtualTextDocument-create-member-1-\"></a>\n\n#### [create](#-vuedx-vue-virtual-textdocument-VirtualTextDocument-create-member-1-)\n\n\n\n**Signature:**\n```ts\nstatic create(options: CreateVirtualTextDocumentOptions): VirtualTextDocument;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| options | <code><a href=\"#-vuedx-vue-virtual-textdocument--CreateVirtualTextDocumentOptions-interface\">CreateVirtualTextDocumentOptions</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VirtualTextDocument-markDirty-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VirtualTextDocument-markDirty-member-1-\"></a>\n\n#### [markDirty](#-vuedx-vue-virtual-textdocument-VirtualTextDocument-markDirty-member-1-)\n\n\n\n**Signature:**\n```ts\nmarkDirty(): void;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VirtualTextDocument-refresh-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VirtualTextDocument-refresh-member-1-\"></a>\n\n#### [refresh](#-vuedx-vue-virtual-textdocument-VirtualTextDocument-refresh-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected refresh(): void;\n```\n\n\n<br>\n</details>\n\n<br>\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-class\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-class\"></a>\n\n### [VueTextDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-class)\n\n\n\n<details><summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare class VueTextDocument extends ProxyTextDocument {\n  constructor(doc: TextDocument, options?: VueTextDocumentOptions, parseOptions?: SFCParseOptions);\n  all(): VirtualTextDocument[];\n  blockAt(position: Position | number): SFCBlock | null | undefined;\n  static create(uri: string, languageId: string, version: number, content: string, options?: VueTextDocumentOptions, parseOptions?: SFCParseOptions): VueTextDocument;\n  protected createBlockDocument(selector: BlockSelector): VirtualTextDocument | undefined;\n  protected createInternalModuleDocument(): TransformedBlockTextDocument;\n  protected createModuleDocument(): TransformedBlockTextDocument;\n  protected createRenderDocument(): RenderFunctionTextDocument;\n  protected createTemplateASTDocument(): TransformedBlockTextDocument;\n  get descriptor(): SFCDescriptor;\n  documentAt(position: Position | number): VirtualTextDocument | undefined;\n  getBlock(selector: BlockSelector): SFCBlock | null | undefined;\n  getBlockSelector(block: SFCBlock): BlockSelector | undefined;\n  getDocument(selector: typeof RENDER_SELECTOR): RenderFunctionTextDocument;\n  getDocument(selector: SelectorLike): VirtualTextDocument;\n  getDocument(selector: string): VirtualTextDocument | undefined;\n  getDocumentFileName(selectorLike: SelectorLike): string;\n  protected getDocumentId(selector: Selector): string;\n  protected getDocumentLanguage(selector: Selector): string;\n  markDirty(): void;\n  readonly options: VueTextDocumentOptions;\n  protected parse(): void;\n  static update(document: VueTextDocument, changes: TextDocumentContentChangeEvent[], version: number): VueTextDocument;\n}\n```\n\n**Members:**\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-all-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-all-member-1-\"></a>\n\n#### [all](#-vuedx-vue-virtual-textdocument-VueTextDocument-all-member-1-)\n\n\n\n**Signature:**\n```ts\nall(): VirtualTextDocument[];\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-blockAt-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-blockAt-member-1-\"></a>\n\n#### [blockAt](#-vuedx-vue-virtual-textdocument-VueTextDocument-blockAt-member-1-)\n\n\n\n**Signature:**\n```ts\nblockAt(position: Position | number): SFCBlock | null | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| position | <code><a href=\"#vscode-languageserver-textdocument-Position-interface\">Position</a> &#124; number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-create-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-create-member-1-\"></a>\n\n#### [create](#-vuedx-vue-virtual-textdocument-VueTextDocument-create-member-1-)\n\n\n\n**Signature:**\n```ts\nstatic create(uri: string, languageId: string, version: number, content: string, options?: VueTextDocumentOptions, parseOptions?: SFCParseOptions): VueTextDocument;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n| languageId | <code>string</code> | - |\n| version | <code>number</code> | - |\n| content | <code>string</code> | - |\n| options | <code><a href=\"#-vuedx-vue-virtual-textdocument--VueTextDocumentOptions-interface\">VueTextDocumentOptions</a></code> | - |\n| parseOptions | <code><a href=\"#-vue-compiler-sfc-SFCParseOptions-interface\">SFCParseOptions</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-createBlockDocument-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-createBlockDocument-member-1-\"></a>\n\n#### [createBlockDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-createBlockDocument-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected createBlockDocument(selector: BlockSelector): VirtualTextDocument | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selector | <code><a href=\"#-vuedx-vue-virtual-textdocument--BlockSelector-type\">BlockSelector</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-createInternalModuleDocument-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-createInternalModuleDocument-member-1-\"></a>\n\n#### [createInternalModuleDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-createInternalModuleDocument-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected createInternalModuleDocument(): TransformedBlockTextDocument;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-createModuleDocument-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-createModuleDocument-member-1-\"></a>\n\n#### [createModuleDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-createModuleDocument-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected createModuleDocument(): TransformedBlockTextDocument;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-createRenderDocument-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-createRenderDocument-member-1-\"></a>\n\n#### [createRenderDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-createRenderDocument-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected createRenderDocument(): RenderFunctionTextDocument;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-createTemplateASTDocument-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-createTemplateASTDocument-member-1-\"></a>\n\n#### [createTemplateASTDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-createTemplateASTDocument-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected createTemplateASTDocument(): TransformedBlockTextDocument;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-documentAt-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-documentAt-member-1-\"></a>\n\n#### [documentAt](#-vuedx-vue-virtual-textdocument-VueTextDocument-documentAt-member-1-)\n\n\n\n**Signature:**\n```ts\ndocumentAt(position: Position | number): VirtualTextDocument | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| position | <code><a href=\"#vscode-languageserver-textdocument-Position-interface\">Position</a> &#124; number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getBlock-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getBlock-member-1-\"></a>\n\n#### [getBlock](#-vuedx-vue-virtual-textdocument-VueTextDocument-getBlock-member-1-)\n\n\n\n**Signature:**\n```ts\ngetBlock(selector: BlockSelector): SFCBlock | null | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selector | <code><a href=\"#-vuedx-vue-virtual-textdocument--BlockSelector-type\">BlockSelector</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getBlockSelector-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getBlockSelector-member-1-\"></a>\n\n#### [getBlockSelector](#-vuedx-vue-virtual-textdocument-VueTextDocument-getBlockSelector-member-1-)\n\n\n\n**Signature:**\n```ts\ngetBlockSelector(block: SFCBlock): BlockSelector | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| block | <code><a href=\"#-vue-compiler-sfc-SFCBlock-interface\">SFCBlock</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-1-\"></a>\n\n#### [getDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-1-)\n\n\n\n**Signature:**\n```ts\ngetDocument(selector: typeof RENDER_SELECTOR): RenderFunctionTextDocument;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selector | <code>typeof <a href=\"#-vuedx-vue-virtual-textdocument--RENDER-SELECTOR-var\">RENDER_SELECTOR</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-2-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-2-\"></a>\n\n#### [getDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-2-)\n\n\n\n**Signature:**\n```ts\ngetDocument(selector: SelectorLike): VirtualTextDocument;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selector | <code><a href=\"#-vuedx-vue-virtual-textdocument--SelectorLike-type\">SelectorLike</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-3-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-3-\"></a>\n\n#### [getDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-3-)\n\n\n\n**Signature:**\n```ts\ngetDocument(selector: string): VirtualTextDocument | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selector | <code>string</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentFileName-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentFileName-member-1-\"></a>\n\n#### [getDocumentFileName](#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentFileName-member-1-)\n\n\n\n**Signature:**\n```ts\ngetDocumentFileName(selectorLike: SelectorLike): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selectorLike | <code><a href=\"#-vuedx-vue-virtual-textdocument--SelectorLike-type\">SelectorLike</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentId-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentId-member-1-\"></a>\n\n#### [getDocumentId](#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentId-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected getDocumentId(selector: Selector): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selector | <code><a href=\"#-vuedx-vue-virtual-textdocument--Selector-type\">Selector</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentLanguage-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentLanguage-member-1-\"></a>\n\n#### [getDocumentLanguage](#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentLanguage-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected getDocumentLanguage(selector: Selector): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selector | <code><a href=\"#-vuedx-vue-virtual-textdocument--Selector-type\">Selector</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-markDirty-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-markDirty-member-1-\"></a>\n\n#### [markDirty](#-vuedx-vue-virtual-textdocument-VueTextDocument-markDirty-member-1-)\n\n\n\n**Signature:**\n```ts\nmarkDirty(): void;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-parse-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-parse-member-1-\"></a>\n\n#### [parse](#-vuedx-vue-virtual-textdocument-VueTextDocument-parse-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected parse(): void;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-update-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-update-member-1-\"></a>\n\n#### [update](#-vuedx-vue-virtual-textdocument-VueTextDocument-update-member-1-)\n\n\n\n**Signature:**\n```ts\nstatic update(document: VueTextDocument, changes: TextDocumentContentChangeEvent[], version: number): VueTextDocument;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| document | <code><a href=\"#-vuedx-vue-virtual-textdocument--VueTextDocument-class\">VueTextDocument</a></code> | - |\n| changes | <code><a href=\"#vscode-languageserver-textdocument-TextDocumentContentChangeEvent-type\">TextDocumentContentChangeEvent</a>[]</code> | - |\n| version | <code>number</code> | - |\n\n<br>\n</details>\n\n<br>\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-asFsPath-function-1-\" id=\"-vuedx-vue-virtual-textdocument-asFsPath-function-1-\"></a>\n\n### [asFsPath](#-vuedx-vue-virtual-textdocument-asFsPath-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function asFsPath(uri: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-asFsUri-function-1-\" id=\"-vuedx-vue-virtual-textdocument-asFsUri-function-1-\"></a>\n\n### [asFsUri](#-vuedx-vue-virtual-textdocument-asFsUri-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function asFsUri(fileName: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-asUri-function-1-\" id=\"-vuedx-vue-virtual-textdocument-asUri-function-1-\"></a>\n\n### [asUri](#-vuedx-vue-virtual-textdocument-asUri-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function asUri(fileNameOrUri: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileNameOrUri | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-basename-function-1-\" id=\"-vuedx-vue-virtual-textdocument-basename-function-1-\"></a>\n\n### [basename](#-vuedx-vue-virtual-textdocument-basename-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function basename(fileName: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-binarySearch-function-1-\" id=\"-vuedx-vue-virtual-textdocument-binarySearch-function-1-\"></a>\n\n### [binarySearch](#-vuedx-vue-virtual-textdocument-binarySearch-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function binarySearch<T>(array: T[], isMatch: (a: T) => number, returnMin?: boolean): T | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| array | <code>T[]</code> | - |\n| isMatch | <code>(a: T) => number</code> | - |\n| returnMin | <code>boolean</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-getBlockLanguage-function-1-\" id=\"-vuedx-vue-virtual-textdocument-getBlockLanguage-function-1-\"></a>\n\n### [getBlockLanguage](#-vuedx-vue-virtual-textdocument-getBlockLanguage-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function getBlockLanguage(block?: SFCBlock | null): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| block | <code><a href=\"#-vue-compiler-sfc-SFCBlock-interface\">SFCBlock</a> &#124; null</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-getContainingFile-function-1-\" id=\"-vuedx-vue-virtual-textdocument-getContainingFile-function-1-\"></a>\n\n### [getContainingFile](#-vuedx-vue-virtual-textdocument-getContainingFile-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function getContainingFile(fileName: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-getLanguageExtension-function-1-\" id=\"-vuedx-vue-virtual-textdocument-getLanguageExtension-function-1-\"></a>\n\n### [getLanguageExtension](#-vuedx-vue-virtual-textdocument-getLanguageExtension-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function getLanguageExtension(lang: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| lang | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-getLanguageIdFromExtension-function-1-\" id=\"-vuedx-vue-virtual-textdocument-getLanguageIdFromExtension-function-1-\"></a>\n\n### [getLanguageIdFromExtension](#-vuedx-vue-virtual-textdocument-getLanguageIdFromExtension-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function getLanguageIdFromExtension(ext: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| ext | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-isOffsetInBlock-function-1-\" id=\"-vuedx-vue-virtual-textdocument-isOffsetInBlock-function-1-\"></a>\n\n### [isOffsetInBlock](#-vuedx-vue-virtual-textdocument-isOffsetInBlock-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function isOffsetInBlock(offset: number, block?: SFCBlock | null): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n| block | <code><a href=\"#-vue-compiler-sfc-SFCBlock-interface\">SFCBlock</a> &#124; null</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-isVirtualFile-function-1-\" id=\"-vuedx-vue-virtual-textdocument-isVirtualFile-function-1-\"></a>\n\n### [isVirtualFile](#-vuedx-vue-virtual-textdocument-isVirtualFile-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function isVirtualFile(fileName: string): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-isVirtualFileOfType-function-1-\" id=\"-vuedx-vue-virtual-textdocument-isVirtualFileOfType-function-1-\"></a>\n\n### [isVirtualFileOfType](#-vuedx-vue-virtual-textdocument-isVirtualFileOfType-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function isVirtualFileOfType(fileName: string, type: '_render' | '_module' | '_internal' | 'script' | 'scriptSetup'): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n| type | <code>'_render' &#124; '_module' &#124; '_internal' &#124; 'script' &#124; 'scriptSetup'</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-isVueFile-function-1-\" id=\"-vuedx-vue-virtual-textdocument-isVueFile-function-1-\"></a>\n\n### [isVueFile](#-vuedx-vue-virtual-textdocument-isVueFile-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function isVueFile(fileName: string): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-parseVirtualFileName-function-1-\" id=\"-vuedx-vue-virtual-textdocument-parseVirtualFileName-function-1-\"></a>\n\n### [parseVirtualFileName](#-vuedx-vue-virtual-textdocument-parseVirtualFileName-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function parseVirtualFileName(fileName: string): {\n    uri: string;\n    selector: Selector;\n} | null;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-relativeVirtualImportPath-function-1-\" id=\"-vuedx-vue-virtual-textdocument-relativeVirtualImportPath-function-1-\"></a>\n\n### [relativeVirtualImportPath](#-vuedx-vue-virtual-textdocument-relativeVirtualImportPath-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function relativeVirtualImportPath(fileName: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-replaceSlashes-function-1-\" id=\"-vuedx-vue-virtual-textdocument-replaceSlashes-function-1-\"></a>\n\n### [replaceSlashes](#-vuedx-vue-virtual-textdocument-replaceSlashes-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function replaceSlashes(fileName: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n<!-- #region API-DOCS -->\n","readmeFilename":"readme.md","gitHead":"94505e855a70115f0f82d9eba4fdb775ce8e9914","_id":"@vuedx/vue-virtual-textdocument@0.7.5-next-1649388850.0","_nodeVersion":"16.14.2","_npmVersion":"8.5.0","dist":{"integrity":"sha512-87yvy+PxKbg5DBHvtXaHtwgnznqVHmrG/ciFeYBaRMtst2APav/ojgrIl2LHO0gwsbxhob4L6FF+ShDKgn58Mg==","shasum":"f000ac14fe076174117ec1e9159b6d16d76c6ec4","tarball":"https://registry.npmjs.org/@vuedx/vue-virtual-textdocument/-/vue-virtual-textdocument-0.7.5-next-1649388850.0.tgz","fileCount":8,"unpackedSize":224278,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIFfXhrlcEnMi2VEITCHX6y+rjByiCRTuSm207dJbtWS7AiEAxP1EkIfF0UJf1qVZUTdFswJvVexDqONsUXrdDZju2NU="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiT61GACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqhEw//UjQ4s4ATbEDGPfjNX1UGQziexdq7P9FGOfONJiGfRWf7FSK3\r\n7IN3oxyeXODjk36qwhRFNvlAuTG0Qa5o8NZKn0vKKlUZQuAvR2tTsmrdNTEC\r\nm57fdlPahvE7Mdd6aLiZATdIP1FGT6tuvi8tRS9hR/343Qs2q/tP9tklCa9/\r\nG1Y8nMrsTdYXAGkTLUVaNizg44wC316yUmo8oVl4aGr82Glb3hAccuBOHNHG\r\nnNjPBa+1/sUnOB/jKXuLwHJQ+VKmSYThUmp9oIX1DpNagNud3sJXlvmRcuhU\r\nvGbtiwXLgY6fTM+8USiawAfSv74KtH/+M5kH37x64Ev7vHwHd1qlltxRYfTe\r\nv77zJnVndHEU7gSdbWCZPnXtYvdU54JjL6L0jVcc2lLXjZQcctsrj4Pe0Qfa\r\nJcL+7OyB7Kg5TW6xAUVrp8LnZAp50rTT5pkV5XTvpiS4DF8syDZ6OpCJC6p+\r\nsN94a2Wszf6v4evc1a2xu7PKGqoDUVlEb73NpWGIkhdHYixCuBG3scMDMRc9\r\nV+6n+g9GJMtyBSng10WbwkSZXhAbZVExjZgd3v/IokzcWc2NPnTZLSkhnGpc\r\nGcKLzTO9ReIlgOauOzDkGbsl06Mq/rMtJ4BYBmozUzVSvz3oIX4gfDN56Ihd\r\nHPI5zFiiSjRZP7IROI5/Gm4sRogyNPPY+uA=\r\n=VNzI\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"znck","email":"rahulkdn@gmail.com"},"directories":{},"maintainers":[{"name":"znck","email":"rahulkdn@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/vue-virtual-textdocument_0.7.5-next-1649388850.0_1649388870482_0.8035598171240053"},"_hasShrinkwrap":false},"0.7.5-next-1649398416.0":{"name":"@vuedx/vue-virtual-textdocument","version":"0.7.5-next-1649398416.0","description":"A virtual filesystem to access blocks in SFC as files","main":"lib/index.js","module":"lib/index.mjs","types":"lib/index.d.ts","publishConfig":{"types":"lib/index.d.ts"},"private":false,"keywords":["vue","vue sfc","sfc","vue virtual files"],"repository":{"type":"git","url":"git+https://github.com/znck/vue-developer-experience.git"},"author":{"name":"Rahul Kadyan","email":"rahulkdn@gmail.com","url":"https://znck.me/"},"funding":{"type":"individual","url":"https://github.com/sponsors/znck"},"license":"MIT","bugs":{"url":"https://github.com/znck/vue-developer-experience/issues"},"homepage":"https://github.com/znck/vue-developer-experience#readme","dependencies":{"@vuedx/compiler-sfc":"0.7.2-next-1649398416.0","@vuedx/compiler-tsx":"0.7.5-next-1649398416.0","@vuedx/shared":"0.7.4-next-1649398416.0","@vuedx/template-ast-types":"0.7.3-next-1649398416.0","@vuedx/transforms":"0.7.5-next-1649398416.0","source-map":"^0.6.1","vscode-languageserver-textdocument":"^1.0.1","vscode-uri":"^2.1.2"},"devDependencies":{"typescript":"^4.0.3"},"scripts":{},"readme":"# Vue Virtual TextDocument\n\nAn implementation of virtual filesystem for accessing blocks in a `.vue` file as independent files.\n\n## Support\n\nThis package is part of [VueDX project](https://github.com/znck/vue-developer-experience), maintained by [Rahul Kadyan](https://github.com/znck). You can [💖 sponsor him](https://github.com/sponsors/znck) for continued development of this package and other VueDX tools.\n\n```\nnpm add @vuedx/vue-virtual-textdocument\n```\n<!-- #region API-DOCS -->\n<!-- Do not edit this file. It is a report generated by [scripts/docgen.js](https://github.com/znck/vue-developer-experience/tree/main/scripts/docgen.js). -->\n\n## API\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-AsyncDocumentStore-class\" id=\"-vuedx-vue-virtual-textdocument-AsyncDocumentStore-class\"></a>\n\n### [AsyncDocumentStore](#-vuedx-vue-virtual-textdocument-AsyncDocumentStore-class)\n\n\n\n<details><summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare class AsyncDocumentStore<T> extends DocumentStore<T> {\n  constructor(resolve: (uri: string) => T | Promise<T | null> | null, normalize?: (uri: string) => string);\n  get(uri: string): T | null;\n  get(uri: string): Promise<T | null>;\n}\n```\n\n**Members:**\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-AsyncDocumentStore-get-member-1-\" id=\"-vuedx-vue-virtual-textdocument-AsyncDocumentStore-get-member-1-\"></a>\n\n#### [get](#-vuedx-vue-virtual-textdocument-AsyncDocumentStore-get-member-1-)\n\n\n\n**Signature:**\n```ts\nget(uri: string): T | null;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-AsyncDocumentStore-get-member-2-\" id=\"-vuedx-vue-virtual-textdocument-AsyncDocumentStore-get-member-2-\"></a>\n\n#### [get](#-vuedx-vue-virtual-textdocument-AsyncDocumentStore-get-member-2-)\n\n\n\n**Signature:**\n```ts\nget(uri: string): Promise<T | null>;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n\n<br>\n</details>\n\n<br>\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-class\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-class\"></a>\n\n### [DocumentStore](#-vuedx-vue-virtual-textdocument-DocumentStore-class)\n\n\n\n<details><summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare class DocumentStore<T> {\n  constructor(resolve: (uri: string) => T | null, normalize?: (uri: string) => string);\n  all(): string[];\n  delete(uri: string): boolean;\n  dispose(): void;\n  get(uri: string): T | null;\n  protected getNormalizedUri(uri: string): string;\n  has(uri: string): boolean;\n  protected map: Map<string, T>;\n  normalize: (uri: string) => string;\n  protected resolve: (uri: string) => T | null;\n  protected reverseUriMap: Map<string, string>;\n  set(uri: string, document: T): void;\n}\n```\n\n**Members:**\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-all-member-1-\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-all-member-1-\"></a>\n\n#### [all](#-vuedx-vue-virtual-textdocument-DocumentStore-all-member-1-)\n\n\n\n**Signature:**\n```ts\nall(): string[];\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-delete-member-1-\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-delete-member-1-\"></a>\n\n#### [delete](#-vuedx-vue-virtual-textdocument-DocumentStore-delete-member-1-)\n\n\n\n**Signature:**\n```ts\ndelete(uri: string): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-dispose-member-1-\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-dispose-member-1-\"></a>\n\n#### [dispose](#-vuedx-vue-virtual-textdocument-DocumentStore-dispose-member-1-)\n\n\n\n**Signature:**\n```ts\ndispose(): void;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-get-member-1-\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-get-member-1-\"></a>\n\n#### [get](#-vuedx-vue-virtual-textdocument-DocumentStore-get-member-1-)\n\n\n\n**Signature:**\n```ts\nget(uri: string): T | null;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-getNormalizedUri-member-1-\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-getNormalizedUri-member-1-\"></a>\n\n#### [getNormalizedUri](#-vuedx-vue-virtual-textdocument-DocumentStore-getNormalizedUri-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected getNormalizedUri(uri: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-has-member-1-\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-has-member-1-\"></a>\n\n#### [has](#-vuedx-vue-virtual-textdocument-DocumentStore-has-member-1-)\n\n\n\n**Signature:**\n```ts\nhas(uri: string): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-set-member-1-\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-set-member-1-\"></a>\n\n#### [set](#-vuedx-vue-virtual-textdocument-DocumentStore-set-member-1-)\n\n\n\n**Signature:**\n```ts\nset(uri: string, document: T): void;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n| document | <code>T</code> | - |\n\n<br>\n</details>\n\n<br>\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-class\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-class\"></a>\n\n### [RenderFunctionTextDocument](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-class)\n\n\n\n<details><summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare class RenderFunctionTextDocument extends TransformedBlockTextDocument {\n  constructor(container: VueTextDocument, selector: Selector, transformed: TextDocument, source: TextDocument);\n  get ast(): CodegenResult['ast'] | undefined;\n  get contextCompletionsTriggerOffset(): number;\n  static create(options: CreateVirtualTextDocumentOptions): RenderFunctionTextDocument;\n  findExpression(offset: number, length: number): undefined | {\n        offset: number;\n        length: number;\n    };\n  protected generate(): string;\n  getAllGeneratedOffsetsAt(offset: number): undefined | Array<{\n        length: number;\n        offset: number;\n    }>;\n  getGeneratedOffsetAt(offset: number): undefined | {\n        length: number;\n        offset: number;\n    };\n  protected getKnownComponents(): Record<string, ComponentImport>;\n  getOriginalOffsetAt(offset: number): undefined | {\n        offset: number;\n        length: number;\n    };\n  isInGeneratedRange(offset: number): boolean;\n  isInTemplateIdentifierRange(offset: number): boolean;\n  get parserErrors(): CodegenResult['errors'];\n  get tagCompletionsTriggerOffset(): number;\n  toDisplayMappings(): string;\n  protected tryGenerate(): string;\n}\n```\n\n**Members:**\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-create-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-create-member-1-\"></a>\n\n#### [create](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-create-member-1-)\n\n\n\n**Signature:**\n```ts\nstatic create(options: CreateVirtualTextDocumentOptions): RenderFunctionTextDocument;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| options | <code><a href=\"#-vuedx-vue-virtual-textdocument--CreateVirtualTextDocumentOptions-interface\">CreateVirtualTextDocumentOptions</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-findExpression-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-findExpression-member-1-\"></a>\n\n#### [findExpression](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-findExpression-member-1-)\n\n\n\n**Signature:**\n```ts\nfindExpression(offset: number, length: number): undefined | {\n        offset: number;\n        length: number;\n    };\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n| length | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-generate-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-generate-member-1-\"></a>\n\n#### [generate](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-generate-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected generate(): string;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getAllGeneratedOffsetsAt-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getAllGeneratedOffsetsAt-member-1-\"></a>\n\n#### [getAllGeneratedOffsetsAt](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getAllGeneratedOffsetsAt-member-1-)\n\n\n\n**Signature:**\n```ts\ngetAllGeneratedOffsetsAt(offset: number): undefined | Array<{\n        length: number;\n        offset: number;\n    }>;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getGeneratedOffsetAt-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getGeneratedOffsetAt-member-1-\"></a>\n\n#### [getGeneratedOffsetAt](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getGeneratedOffsetAt-member-1-)\n\n\n\n**Signature:**\n```ts\ngetGeneratedOffsetAt(offset: number): undefined | {\n        length: number;\n        offset: number;\n    };\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getKnownComponents-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getKnownComponents-member-1-\"></a>\n\n#### [getKnownComponents](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getKnownComponents-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected getKnownComponents(): Record<string, ComponentImport>;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getOriginalOffsetAt-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getOriginalOffsetAt-member-1-\"></a>\n\n#### [getOriginalOffsetAt](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getOriginalOffsetAt-member-1-)\n\n\n\n**Signature:**\n```ts\ngetOriginalOffsetAt(offset: number): undefined | {\n        offset: number;\n        length: number;\n    };\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-isInGeneratedRange-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-isInGeneratedRange-member-1-\"></a>\n\n#### [isInGeneratedRange](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-isInGeneratedRange-member-1-)\n\n\n\n**Signature:**\n```ts\nisInGeneratedRange(offset: number): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-isInTemplateIdentifierRange-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-isInTemplateIdentifierRange-member-1-\"></a>\n\n#### [isInTemplateIdentifierRange](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-isInTemplateIdentifierRange-member-1-)\n\n\n\n**Signature:**\n```ts\nisInTemplateIdentifierRange(offset: number): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-toDisplayMappings-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-toDisplayMappings-member-1-\"></a>\n\n#### [toDisplayMappings](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-toDisplayMappings-member-1-)\n\n\n\n**Signature:**\n```ts\ntoDisplayMappings(): string;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-tryGenerate-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-tryGenerate-member-1-\"></a>\n\n#### [tryGenerate](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-tryGenerate-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected tryGenerate(): string;\n```\n\n\n<br>\n</details>\n\n<br>\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-class\" id=\"-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-class\"></a>\n\n### [TransformedBlockTextDocument](#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-class)\n\n\n\n<details><summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare class TransformedBlockTextDocument extends VirtualTextDocument {\n  protected constructor(container: VueTextDocument, selector: Selector, transformed: TextDocument, source: TextDocument | VirtualTextDocument, _transform: (document: TransformedBlockTextDocument) => BlockTransformResult);\n  static create(options: CreateTransformedBlockTextDocumentOptions): TransformedBlockTextDocument;\n  protected refresh(): void;\n  transform(): BlockTransformResult;\n  tryGetGeneratedOffset(offset: number): number | undefined;\n  tryGetSourceOffset(offset: number): number | undefined;\n}\n```\n\n**Members:**\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-create-member-1-\" id=\"-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-create-member-1-\"></a>\n\n#### [create](#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-create-member-1-)\n\n\n\n**Signature:**\n```ts\nstatic create(options: CreateTransformedBlockTextDocumentOptions): TransformedBlockTextDocument;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| options | <code><a href=\"#-vuedx-vue-virtual-textdocument--CreateTransformedBlockTextDocumentOptions-interface\">CreateTransformedBlockTextDocumentOptions</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-refresh-member-1-\" id=\"-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-refresh-member-1-\"></a>\n\n#### [refresh](#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-refresh-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected refresh(): void;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-transform-member-1-\" id=\"-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-transform-member-1-\"></a>\n\n#### [transform](#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-transform-member-1-)\n\n\n\n**Signature:**\n```ts\ntransform(): BlockTransformResult;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-tryGetGeneratedOffset-member-1-\" id=\"-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-tryGetGeneratedOffset-member-1-\"></a>\n\n#### [tryGetGeneratedOffset](#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-tryGetGeneratedOffset-member-1-)\n\n\n\n**Signature:**\n```ts\ntryGetGeneratedOffset(offset: number): number | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-tryGetSourceOffset-member-1-\" id=\"-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-tryGetSourceOffset-member-1-\"></a>\n\n#### [tryGetSourceOffset](#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-tryGetSourceOffset-member-1-)\n\n\n\n**Signature:**\n```ts\ntryGetSourceOffset(offset: number): number | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n</details>\n\n<br>\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VirtualTextDocument-class\" id=\"-vuedx-vue-virtual-textdocument-VirtualTextDocument-class\"></a>\n\n### [VirtualTextDocument](#-vuedx-vue-virtual-textdocument-VirtualTextDocument-class)\n\n\n\n<details><summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare class VirtualTextDocument extends ProxyTextDocument {\n  protected constructor(container: VueTextDocument, selector: Selector, doc: TextDocument);\n  readonly container: VueTextDocument;\n  static create(options: CreateVirtualTextDocumentOptions): VirtualTextDocument;\n  protected isDirty: boolean;\n  markDirty(): void;\n  protected refresh(): void;\n  readonly selector: Selector;\n}\n```\n\n**Members:**\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VirtualTextDocument-create-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VirtualTextDocument-create-member-1-\"></a>\n\n#### [create](#-vuedx-vue-virtual-textdocument-VirtualTextDocument-create-member-1-)\n\n\n\n**Signature:**\n```ts\nstatic create(options: CreateVirtualTextDocumentOptions): VirtualTextDocument;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| options | <code><a href=\"#-vuedx-vue-virtual-textdocument--CreateVirtualTextDocumentOptions-interface\">CreateVirtualTextDocumentOptions</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VirtualTextDocument-markDirty-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VirtualTextDocument-markDirty-member-1-\"></a>\n\n#### [markDirty](#-vuedx-vue-virtual-textdocument-VirtualTextDocument-markDirty-member-1-)\n\n\n\n**Signature:**\n```ts\nmarkDirty(): void;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VirtualTextDocument-refresh-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VirtualTextDocument-refresh-member-1-\"></a>\n\n#### [refresh](#-vuedx-vue-virtual-textdocument-VirtualTextDocument-refresh-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected refresh(): void;\n```\n\n\n<br>\n</details>\n\n<br>\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-class\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-class\"></a>\n\n### [VueTextDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-class)\n\n\n\n<details><summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare class VueTextDocument extends ProxyTextDocument {\n  constructor(doc: TextDocument, options?: VueTextDocumentOptions, parseOptions?: SFCParseOptions);\n  all(): VirtualTextDocument[];\n  blockAt(position: Position | number): SFCBlock | null | undefined;\n  static create(uri: string, languageId: string, version: number, content: string, options?: VueTextDocumentOptions, parseOptions?: SFCParseOptions): VueTextDocument;\n  protected createBlockDocument(selector: BlockSelector): VirtualTextDocument | undefined;\n  protected createInternalModuleDocument(): TransformedBlockTextDocument;\n  protected createModuleDocument(): TransformedBlockTextDocument;\n  protected createRenderDocument(): RenderFunctionTextDocument;\n  protected createTemplateASTDocument(): TransformedBlockTextDocument;\n  get descriptor(): SFCDescriptor;\n  documentAt(position: Position | number): VirtualTextDocument | undefined;\n  getBlock(selector: BlockSelector): SFCBlock | null | undefined;\n  getBlockSelector(block: SFCBlock): BlockSelector | undefined;\n  getDocument(selector: typeof RENDER_SELECTOR): RenderFunctionTextDocument;\n  getDocument(selector: SelectorLike): VirtualTextDocument;\n  getDocument(selector: string): VirtualTextDocument | undefined;\n  getDocumentFileName(selectorLike: SelectorLike): string;\n  protected getDocumentId(selector: Selector): string;\n  protected getDocumentLanguage(selector: Selector): string;\n  markDirty(): void;\n  readonly options: VueTextDocumentOptions;\n  protected parse(): void;\n  static update(document: VueTextDocument, changes: TextDocumentContentChangeEvent[], version: number): VueTextDocument;\n}\n```\n\n**Members:**\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-all-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-all-member-1-\"></a>\n\n#### [all](#-vuedx-vue-virtual-textdocument-VueTextDocument-all-member-1-)\n\n\n\n**Signature:**\n```ts\nall(): VirtualTextDocument[];\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-blockAt-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-blockAt-member-1-\"></a>\n\n#### [blockAt](#-vuedx-vue-virtual-textdocument-VueTextDocument-blockAt-member-1-)\n\n\n\n**Signature:**\n```ts\nblockAt(position: Position | number): SFCBlock | null | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| position | <code><a href=\"#vscode-languageserver-textdocument-Position-interface\">Position</a> &#124; number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-create-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-create-member-1-\"></a>\n\n#### [create](#-vuedx-vue-virtual-textdocument-VueTextDocument-create-member-1-)\n\n\n\n**Signature:**\n```ts\nstatic create(uri: string, languageId: string, version: number, content: string, options?: VueTextDocumentOptions, parseOptions?: SFCParseOptions): VueTextDocument;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n| languageId | <code>string</code> | - |\n| version | <code>number</code> | - |\n| content | <code>string</code> | - |\n| options | <code><a href=\"#-vuedx-vue-virtual-textdocument--VueTextDocumentOptions-interface\">VueTextDocumentOptions</a></code> | - |\n| parseOptions | <code><a href=\"#-vue-compiler-sfc-SFCParseOptions-interface\">SFCParseOptions</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-createBlockDocument-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-createBlockDocument-member-1-\"></a>\n\n#### [createBlockDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-createBlockDocument-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected createBlockDocument(selector: BlockSelector): VirtualTextDocument | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selector | <code><a href=\"#-vuedx-vue-virtual-textdocument--BlockSelector-type\">BlockSelector</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-createInternalModuleDocument-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-createInternalModuleDocument-member-1-\"></a>\n\n#### [createInternalModuleDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-createInternalModuleDocument-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected createInternalModuleDocument(): TransformedBlockTextDocument;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-createModuleDocument-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-createModuleDocument-member-1-\"></a>\n\n#### [createModuleDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-createModuleDocument-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected createModuleDocument(): TransformedBlockTextDocument;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-createRenderDocument-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-createRenderDocument-member-1-\"></a>\n\n#### [createRenderDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-createRenderDocument-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected createRenderDocument(): RenderFunctionTextDocument;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-createTemplateASTDocument-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-createTemplateASTDocument-member-1-\"></a>\n\n#### [createTemplateASTDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-createTemplateASTDocument-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected createTemplateASTDocument(): TransformedBlockTextDocument;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-documentAt-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-documentAt-member-1-\"></a>\n\n#### [documentAt](#-vuedx-vue-virtual-textdocument-VueTextDocument-documentAt-member-1-)\n\n\n\n**Signature:**\n```ts\ndocumentAt(position: Position | number): VirtualTextDocument | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| position | <code><a href=\"#vscode-languageserver-textdocument-Position-interface\">Position</a> &#124; number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getBlock-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getBlock-member-1-\"></a>\n\n#### [getBlock](#-vuedx-vue-virtual-textdocument-VueTextDocument-getBlock-member-1-)\n\n\n\n**Signature:**\n```ts\ngetBlock(selector: BlockSelector): SFCBlock | null | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selector | <code><a href=\"#-vuedx-vue-virtual-textdocument--BlockSelector-type\">BlockSelector</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getBlockSelector-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getBlockSelector-member-1-\"></a>\n\n#### [getBlockSelector](#-vuedx-vue-virtual-textdocument-VueTextDocument-getBlockSelector-member-1-)\n\n\n\n**Signature:**\n```ts\ngetBlockSelector(block: SFCBlock): BlockSelector | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| block | <code><a href=\"#-vue-compiler-sfc-SFCBlock-interface\">SFCBlock</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-1-\"></a>\n\n#### [getDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-1-)\n\n\n\n**Signature:**\n```ts\ngetDocument(selector: typeof RENDER_SELECTOR): RenderFunctionTextDocument;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selector | <code>typeof <a href=\"#-vuedx-vue-virtual-textdocument--RENDER-SELECTOR-var\">RENDER_SELECTOR</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-2-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-2-\"></a>\n\n#### [getDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-2-)\n\n\n\n**Signature:**\n```ts\ngetDocument(selector: SelectorLike): VirtualTextDocument;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selector | <code><a href=\"#-vuedx-vue-virtual-textdocument--SelectorLike-type\">SelectorLike</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-3-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-3-\"></a>\n\n#### [getDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-3-)\n\n\n\n**Signature:**\n```ts\ngetDocument(selector: string): VirtualTextDocument | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selector | <code>string</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentFileName-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentFileName-member-1-\"></a>\n\n#### [getDocumentFileName](#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentFileName-member-1-)\n\n\n\n**Signature:**\n```ts\ngetDocumentFileName(selectorLike: SelectorLike): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selectorLike | <code><a href=\"#-vuedx-vue-virtual-textdocument--SelectorLike-type\">SelectorLike</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentId-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentId-member-1-\"></a>\n\n#### [getDocumentId](#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentId-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected getDocumentId(selector: Selector): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selector | <code><a href=\"#-vuedx-vue-virtual-textdocument--Selector-type\">Selector</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentLanguage-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentLanguage-member-1-\"></a>\n\n#### [getDocumentLanguage](#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentLanguage-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected getDocumentLanguage(selector: Selector): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selector | <code><a href=\"#-vuedx-vue-virtual-textdocument--Selector-type\">Selector</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-markDirty-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-markDirty-member-1-\"></a>\n\n#### [markDirty](#-vuedx-vue-virtual-textdocument-VueTextDocument-markDirty-member-1-)\n\n\n\n**Signature:**\n```ts\nmarkDirty(): void;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-parse-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-parse-member-1-\"></a>\n\n#### [parse](#-vuedx-vue-virtual-textdocument-VueTextDocument-parse-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected parse(): void;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-update-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-update-member-1-\"></a>\n\n#### [update](#-vuedx-vue-virtual-textdocument-VueTextDocument-update-member-1-)\n\n\n\n**Signature:**\n```ts\nstatic update(document: VueTextDocument, changes: TextDocumentContentChangeEvent[], version: number): VueTextDocument;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| document | <code><a href=\"#-vuedx-vue-virtual-textdocument--VueTextDocument-class\">VueTextDocument</a></code> | - |\n| changes | <code><a href=\"#vscode-languageserver-textdocument-TextDocumentContentChangeEvent-type\">TextDocumentContentChangeEvent</a>[]</code> | - |\n| version | <code>number</code> | - |\n\n<br>\n</details>\n\n<br>\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-asFsPath-function-1-\" id=\"-vuedx-vue-virtual-textdocument-asFsPath-function-1-\"></a>\n\n### [asFsPath](#-vuedx-vue-virtual-textdocument-asFsPath-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function asFsPath(uri: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-asFsUri-function-1-\" id=\"-vuedx-vue-virtual-textdocument-asFsUri-function-1-\"></a>\n\n### [asFsUri](#-vuedx-vue-virtual-textdocument-asFsUri-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function asFsUri(fileName: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-asUri-function-1-\" id=\"-vuedx-vue-virtual-textdocument-asUri-function-1-\"></a>\n\n### [asUri](#-vuedx-vue-virtual-textdocument-asUri-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function asUri(fileNameOrUri: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileNameOrUri | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-basename-function-1-\" id=\"-vuedx-vue-virtual-textdocument-basename-function-1-\"></a>\n\n### [basename](#-vuedx-vue-virtual-textdocument-basename-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function basename(fileName: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-binarySearch-function-1-\" id=\"-vuedx-vue-virtual-textdocument-binarySearch-function-1-\"></a>\n\n### [binarySearch](#-vuedx-vue-virtual-textdocument-binarySearch-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function binarySearch<T>(array: T[], isMatch: (a: T) => number, returnMin?: boolean): T | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| array | <code>T[]</code> | - |\n| isMatch | <code>(a: T) => number</code> | - |\n| returnMin | <code>boolean</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-getBlockLanguage-function-1-\" id=\"-vuedx-vue-virtual-textdocument-getBlockLanguage-function-1-\"></a>\n\n### [getBlockLanguage](#-vuedx-vue-virtual-textdocument-getBlockLanguage-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function getBlockLanguage(block?: SFCBlock | null): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| block | <code><a href=\"#-vue-compiler-sfc-SFCBlock-interface\">SFCBlock</a> &#124; null</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-getContainingFile-function-1-\" id=\"-vuedx-vue-virtual-textdocument-getContainingFile-function-1-\"></a>\n\n### [getContainingFile](#-vuedx-vue-virtual-textdocument-getContainingFile-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function getContainingFile(fileName: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-getLanguageExtension-function-1-\" id=\"-vuedx-vue-virtual-textdocument-getLanguageExtension-function-1-\"></a>\n\n### [getLanguageExtension](#-vuedx-vue-virtual-textdocument-getLanguageExtension-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function getLanguageExtension(lang: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| lang | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-getLanguageIdFromExtension-function-1-\" id=\"-vuedx-vue-virtual-textdocument-getLanguageIdFromExtension-function-1-\"></a>\n\n### [getLanguageIdFromExtension](#-vuedx-vue-virtual-textdocument-getLanguageIdFromExtension-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function getLanguageIdFromExtension(ext: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| ext | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-isOffsetInBlock-function-1-\" id=\"-vuedx-vue-virtual-textdocument-isOffsetInBlock-function-1-\"></a>\n\n### [isOffsetInBlock](#-vuedx-vue-virtual-textdocument-isOffsetInBlock-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function isOffsetInBlock(offset: number, block?: SFCBlock | null): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n| block | <code><a href=\"#-vue-compiler-sfc-SFCBlock-interface\">SFCBlock</a> &#124; null</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-isVirtualFile-function-1-\" id=\"-vuedx-vue-virtual-textdocument-isVirtualFile-function-1-\"></a>\n\n### [isVirtualFile](#-vuedx-vue-virtual-textdocument-isVirtualFile-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function isVirtualFile(fileName: string): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-isVirtualFileOfType-function-1-\" id=\"-vuedx-vue-virtual-textdocument-isVirtualFileOfType-function-1-\"></a>\n\n### [isVirtualFileOfType](#-vuedx-vue-virtual-textdocument-isVirtualFileOfType-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function isVirtualFileOfType(fileName: string, type: '_render' | '_module' | '_internal' | 'script' | 'scriptSetup'): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n| type | <code>'_render' &#124; '_module' &#124; '_internal' &#124; 'script' &#124; 'scriptSetup'</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-isVueFile-function-1-\" id=\"-vuedx-vue-virtual-textdocument-isVueFile-function-1-\"></a>\n\n### [isVueFile](#-vuedx-vue-virtual-textdocument-isVueFile-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function isVueFile(fileName: string): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-parseVirtualFileName-function-1-\" id=\"-vuedx-vue-virtual-textdocument-parseVirtualFileName-function-1-\"></a>\n\n### [parseVirtualFileName](#-vuedx-vue-virtual-textdocument-parseVirtualFileName-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function parseVirtualFileName(fileName: string): {\n    uri: string;\n    selector: Selector;\n} | null;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-relativeVirtualImportPath-function-1-\" id=\"-vuedx-vue-virtual-textdocument-relativeVirtualImportPath-function-1-\"></a>\n\n### [relativeVirtualImportPath](#-vuedx-vue-virtual-textdocument-relativeVirtualImportPath-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function relativeVirtualImportPath(fileName: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-replaceSlashes-function-1-\" id=\"-vuedx-vue-virtual-textdocument-replaceSlashes-function-1-\"></a>\n\n### [replaceSlashes](#-vuedx-vue-virtual-textdocument-replaceSlashes-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function replaceSlashes(fileName: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n<!-- #region API-DOCS -->\n","readmeFilename":"readme.md","gitHead":"4cca358bcf99f2dc07de42b81d6389980125f6dd","_id":"@vuedx/vue-virtual-textdocument@0.7.5-next-1649398416.0","_nodeVersion":"16.14.2","_npmVersion":"8.5.0","dist":{"integrity":"sha512-W+9QaiVhk7b7BKU23bFzeFQLLtbokURW7UmKGI++mZtXcHnF1sR7kFepbwICIFMLv6/zWJSQoPPIZ+VTfr3zyw==","shasum":"ab45a8966aece7e8d3a6a9818cacd3ed24430b72","tarball":"https://registry.npmjs.org/@vuedx/vue-virtual-textdocument/-/vue-virtual-textdocument-0.7.5-next-1649398416.0.tgz","fileCount":8,"unpackedSize":224278,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIFobJ691ymx4JX/iLZHSEN1pv25wzQzNCW9gVnnP5kq9AiEA4y4eFlin4vBm6m2iTYbXQ7liZJELdbN8Zc0MEkjqXSg="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiT9KnACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrfTg/7B7Pz8DrMbJB4GFEA10Wp9ezI15q8i4aqOYgeQsb1iCHygtHW\r\n7/u01dHwSVCD3xQYwTfGJseTWA1a9hQ/VcqZuc9EBOhTRVqqXvtk7YPmCiCj\r\nXILoGjtjM2exDEhT+7RWQIHS/CxB6WXfs2asVPSxFyzORf6rpmLsAcikSwaU\r\nA7lC0aA6rFMsqmzEYh3fGEc2x4Jq3FkI7a1eoJ7Vfmzhx73k5ffBHwEeUzvJ\r\nEqQ2laWwDvTY898Vxwj7AsNpUu3UlFw3CoJemTjOYeSN7G7BWNaDbHfR+ZQI\r\ngLA5HUeNAdhOJW1BdsU6GD8ZSFi+PMe+BfDevL89kDXFaVt/xCutwNw7yYvr\r\nwpCGetf67O8xAdPsyM2bdmxAhxKJsYDi+EA1DLohEbeIeT95/NplSo/jL08A\r\nfZIhNHkHLnwtUsxiJrxWCaOHUEb3r7tWqEdtcRdSNJ2SATM9N7ic+6Iiex/J\r\nbqcMzhyc3aR3QTUuSij6VwhcpucxH+mZ/7FleIGot4L/HqHQtxUisHLC+Gn/\r\nhNCfdcbF83VAS3ActARh5HJuCfx7gfo5fFDmzJ7XPff40PS2l8B7fQIBCgfT\r\n+Oghk3Pv8qzJNZffMXnrejPvDLzRZmGOXpYv1CQmaH4Xw+j8hfP/YS33NV4E\r\nJHGgWBjpEVTTzctiI6wAThhRr+qnwc0BV6c=\r\n=xpbq\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"znck","email":"rahulkdn@gmail.com"},"directories":{},"maintainers":[{"name":"znck","email":"rahulkdn@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/vue-virtual-textdocument_0.7.5-next-1649398416.0_1649398439633_0.6050561288068381"},"_hasShrinkwrap":false},"0.7.5-next-1649493814.0":{"name":"@vuedx/vue-virtual-textdocument","version":"0.7.5-next-1649493814.0","description":"A virtual filesystem to access blocks in SFC as files","main":"lib/index.js","module":"lib/index.mjs","types":"lib/index.d.ts","publishConfig":{"types":"lib/index.d.ts"},"private":false,"keywords":["vue","vue sfc","sfc","vue virtual files"],"repository":{"type":"git","url":"git+https://github.com/znck/vue-developer-experience.git"},"author":{"name":"Rahul Kadyan","email":"rahulkdn@gmail.com","url":"https://znck.me/"},"funding":{"type":"individual","url":"https://github.com/sponsors/znck"},"license":"MIT","bugs":{"url":"https://github.com/znck/vue-developer-experience/issues"},"homepage":"https://github.com/znck/vue-developer-experience#readme","dependencies":{"@vuedx/compiler-sfc":"0.7.2-next-1649493814.0","@vuedx/compiler-tsx":"0.7.5-next-1649493814.0","@vuedx/shared":"0.7.4-next-1649493814.0","@vuedx/template-ast-types":"0.7.3-next-1649493814.0","@vuedx/transforms":"0.7.5-next-1649493814.0","source-map":"^0.6.1","vscode-languageserver-textdocument":"^1.0.1","vscode-uri":"^2.1.2"},"devDependencies":{"typescript":"^4.0.3"},"scripts":{},"readme":"# Vue Virtual TextDocument\n\nAn implementation of virtual filesystem for accessing blocks in a `.vue` file as independent files.\n\n## Support\n\nThis package is part of [VueDX project](https://github.com/znck/vue-developer-experience), maintained by [Rahul Kadyan](https://github.com/znck). You can [💖 sponsor him](https://github.com/sponsors/znck) for continued development of this package and other VueDX tools.\n\n```\nnpm add @vuedx/vue-virtual-textdocument\n```\n<!-- #region API-DOCS -->\n<!-- Do not edit this file. It is a report generated by [scripts/docgen.js](https://github.com/znck/vue-developer-experience/tree/main/scripts/docgen.js). -->\n\n## API\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-AsyncDocumentStore-class\" id=\"-vuedx-vue-virtual-textdocument-AsyncDocumentStore-class\"></a>\n\n### [AsyncDocumentStore](#-vuedx-vue-virtual-textdocument-AsyncDocumentStore-class)\n\n\n\n<details><summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare class AsyncDocumentStore<T> extends DocumentStore<T> {\n  constructor(resolve: (uri: string) => T | Promise<T | null> | null, normalize?: (uri: string) => string);\n  get(uri: string): T | null;\n  get(uri: string): Promise<T | null>;\n}\n```\n\n**Members:**\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-AsyncDocumentStore-get-member-1-\" id=\"-vuedx-vue-virtual-textdocument-AsyncDocumentStore-get-member-1-\"></a>\n\n#### [get](#-vuedx-vue-virtual-textdocument-AsyncDocumentStore-get-member-1-)\n\n\n\n**Signature:**\n```ts\nget(uri: string): T | null;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-AsyncDocumentStore-get-member-2-\" id=\"-vuedx-vue-virtual-textdocument-AsyncDocumentStore-get-member-2-\"></a>\n\n#### [get](#-vuedx-vue-virtual-textdocument-AsyncDocumentStore-get-member-2-)\n\n\n\n**Signature:**\n```ts\nget(uri: string): Promise<T | null>;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n\n<br>\n</details>\n\n<br>\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-class\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-class\"></a>\n\n### [DocumentStore](#-vuedx-vue-virtual-textdocument-DocumentStore-class)\n\n\n\n<details><summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare class DocumentStore<T> {\n  constructor(resolve: (uri: string) => T | null, normalize?: (uri: string) => string);\n  all(): string[];\n  delete(uri: string): boolean;\n  dispose(): void;\n  get(uri: string): T | null;\n  protected getNormalizedUri(uri: string): string;\n  has(uri: string): boolean;\n  protected map: Map<string, T>;\n  normalize: (uri: string) => string;\n  protected resolve: (uri: string) => T | null;\n  protected reverseUriMap: Map<string, string>;\n  set(uri: string, document: T): void;\n}\n```\n\n**Members:**\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-all-member-1-\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-all-member-1-\"></a>\n\n#### [all](#-vuedx-vue-virtual-textdocument-DocumentStore-all-member-1-)\n\n\n\n**Signature:**\n```ts\nall(): string[];\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-delete-member-1-\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-delete-member-1-\"></a>\n\n#### [delete](#-vuedx-vue-virtual-textdocument-DocumentStore-delete-member-1-)\n\n\n\n**Signature:**\n```ts\ndelete(uri: string): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-dispose-member-1-\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-dispose-member-1-\"></a>\n\n#### [dispose](#-vuedx-vue-virtual-textdocument-DocumentStore-dispose-member-1-)\n\n\n\n**Signature:**\n```ts\ndispose(): void;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-get-member-1-\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-get-member-1-\"></a>\n\n#### [get](#-vuedx-vue-virtual-textdocument-DocumentStore-get-member-1-)\n\n\n\n**Signature:**\n```ts\nget(uri: string): T | null;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-getNormalizedUri-member-1-\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-getNormalizedUri-member-1-\"></a>\n\n#### [getNormalizedUri](#-vuedx-vue-virtual-textdocument-DocumentStore-getNormalizedUri-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected getNormalizedUri(uri: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-has-member-1-\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-has-member-1-\"></a>\n\n#### [has](#-vuedx-vue-virtual-textdocument-DocumentStore-has-member-1-)\n\n\n\n**Signature:**\n```ts\nhas(uri: string): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-set-member-1-\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-set-member-1-\"></a>\n\n#### [set](#-vuedx-vue-virtual-textdocument-DocumentStore-set-member-1-)\n\n\n\n**Signature:**\n```ts\nset(uri: string, document: T): void;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n| document | <code>T</code> | - |\n\n<br>\n</details>\n\n<br>\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-class\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-class\"></a>\n\n### [RenderFunctionTextDocument](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-class)\n\n\n\n<details><summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare class RenderFunctionTextDocument extends TransformedBlockTextDocument {\n  constructor(container: VueTextDocument, selector: Selector, transformed: TextDocument, source: TextDocument);\n  get ast(): CodegenResult['ast'] | undefined;\n  get contextCompletionsTriggerOffset(): number;\n  static create(options: CreateVirtualTextDocumentOptions): RenderFunctionTextDocument;\n  findExpression(offset: number, length: number): undefined | {\n        offset: number;\n        length: number;\n    };\n  protected generate(): string;\n  getAllGeneratedOffsetsAt(offset: number): undefined | Array<{\n        length: number;\n        offset: number;\n    }>;\n  getGeneratedOffsetAt(offset: number): undefined | {\n        length: number;\n        offset: number;\n    };\n  protected getKnownComponents(): Record<string, ComponentImport>;\n  getOriginalOffsetAt(offset: number): undefined | {\n        offset: number;\n        length: number;\n    };\n  isInGeneratedRange(offset: number): boolean;\n  isInTemplateIdentifierRange(offset: number): boolean;\n  get parserErrors(): CodegenResult['errors'];\n  get tagCompletionsTriggerOffset(): number;\n  toDisplayMappings(): string;\n  protected tryGenerate(): string;\n}\n```\n\n**Members:**\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-create-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-create-member-1-\"></a>\n\n#### [create](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-create-member-1-)\n\n\n\n**Signature:**\n```ts\nstatic create(options: CreateVirtualTextDocumentOptions): RenderFunctionTextDocument;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| options | <code><a href=\"#-vuedx-vue-virtual-textdocument--CreateVirtualTextDocumentOptions-interface\">CreateVirtualTextDocumentOptions</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-findExpression-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-findExpression-member-1-\"></a>\n\n#### [findExpression](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-findExpression-member-1-)\n\n\n\n**Signature:**\n```ts\nfindExpression(offset: number, length: number): undefined | {\n        offset: number;\n        length: number;\n    };\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n| length | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-generate-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-generate-member-1-\"></a>\n\n#### [generate](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-generate-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected generate(): string;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getAllGeneratedOffsetsAt-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getAllGeneratedOffsetsAt-member-1-\"></a>\n\n#### [getAllGeneratedOffsetsAt](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getAllGeneratedOffsetsAt-member-1-)\n\n\n\n**Signature:**\n```ts\ngetAllGeneratedOffsetsAt(offset: number): undefined | Array<{\n        length: number;\n        offset: number;\n    }>;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getGeneratedOffsetAt-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getGeneratedOffsetAt-member-1-\"></a>\n\n#### [getGeneratedOffsetAt](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getGeneratedOffsetAt-member-1-)\n\n\n\n**Signature:**\n```ts\ngetGeneratedOffsetAt(offset: number): undefined | {\n        length: number;\n        offset: number;\n    };\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getKnownComponents-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getKnownComponents-member-1-\"></a>\n\n#### [getKnownComponents](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getKnownComponents-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected getKnownComponents(): Record<string, ComponentImport>;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getOriginalOffsetAt-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getOriginalOffsetAt-member-1-\"></a>\n\n#### [getOriginalOffsetAt](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getOriginalOffsetAt-member-1-)\n\n\n\n**Signature:**\n```ts\ngetOriginalOffsetAt(offset: number): undefined | {\n        offset: number;\n        length: number;\n    };\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-isInGeneratedRange-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-isInGeneratedRange-member-1-\"></a>\n\n#### [isInGeneratedRange](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-isInGeneratedRange-member-1-)\n\n\n\n**Signature:**\n```ts\nisInGeneratedRange(offset: number): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-isInTemplateIdentifierRange-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-isInTemplateIdentifierRange-member-1-\"></a>\n\n#### [isInTemplateIdentifierRange](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-isInTemplateIdentifierRange-member-1-)\n\n\n\n**Signature:**\n```ts\nisInTemplateIdentifierRange(offset: number): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-toDisplayMappings-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-toDisplayMappings-member-1-\"></a>\n\n#### [toDisplayMappings](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-toDisplayMappings-member-1-)\n\n\n\n**Signature:**\n```ts\ntoDisplayMappings(): string;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-tryGenerate-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-tryGenerate-member-1-\"></a>\n\n#### [tryGenerate](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-tryGenerate-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected tryGenerate(): string;\n```\n\n\n<br>\n</details>\n\n<br>\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-class\" id=\"-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-class\"></a>\n\n### [TransformedBlockTextDocument](#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-class)\n\n\n\n<details><summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare class TransformedBlockTextDocument extends VirtualTextDocument {\n  protected constructor(container: VueTextDocument, selector: Selector, transformed: TextDocument, source: TextDocument | VirtualTextDocument, _transform: (document: TransformedBlockTextDocument) => BlockTransformResult);\n  static create(options: CreateTransformedBlockTextDocumentOptions): TransformedBlockTextDocument;\n  protected refresh(): void;\n  transform(): BlockTransformResult;\n  tryGetGeneratedOffset(offset: number): number | undefined;\n  tryGetSourceOffset(offset: number): number | undefined;\n}\n```\n\n**Members:**\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-create-member-1-\" id=\"-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-create-member-1-\"></a>\n\n#### [create](#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-create-member-1-)\n\n\n\n**Signature:**\n```ts\nstatic create(options: CreateTransformedBlockTextDocumentOptions): TransformedBlockTextDocument;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| options | <code><a href=\"#-vuedx-vue-virtual-textdocument--CreateTransformedBlockTextDocumentOptions-interface\">CreateTransformedBlockTextDocumentOptions</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-refresh-member-1-\" id=\"-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-refresh-member-1-\"></a>\n\n#### [refresh](#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-refresh-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected refresh(): void;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-transform-member-1-\" id=\"-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-transform-member-1-\"></a>\n\n#### [transform](#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-transform-member-1-)\n\n\n\n**Signature:**\n```ts\ntransform(): BlockTransformResult;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-tryGetGeneratedOffset-member-1-\" id=\"-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-tryGetGeneratedOffset-member-1-\"></a>\n\n#### [tryGetGeneratedOffset](#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-tryGetGeneratedOffset-member-1-)\n\n\n\n**Signature:**\n```ts\ntryGetGeneratedOffset(offset: number): number | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-tryGetSourceOffset-member-1-\" id=\"-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-tryGetSourceOffset-member-1-\"></a>\n\n#### [tryGetSourceOffset](#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-tryGetSourceOffset-member-1-)\n\n\n\n**Signature:**\n```ts\ntryGetSourceOffset(offset: number): number | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n</details>\n\n<br>\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VirtualTextDocument-class\" id=\"-vuedx-vue-virtual-textdocument-VirtualTextDocument-class\"></a>\n\n### [VirtualTextDocument](#-vuedx-vue-virtual-textdocument-VirtualTextDocument-class)\n\n\n\n<details><summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare class VirtualTextDocument extends ProxyTextDocument {\n  protected constructor(container: VueTextDocument, selector: Selector, doc: TextDocument);\n  readonly container: VueTextDocument;\n  static create(options: CreateVirtualTextDocumentOptions): VirtualTextDocument;\n  protected isDirty: boolean;\n  markDirty(): void;\n  protected refresh(): void;\n  readonly selector: Selector;\n}\n```\n\n**Members:**\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VirtualTextDocument-create-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VirtualTextDocument-create-member-1-\"></a>\n\n#### [create](#-vuedx-vue-virtual-textdocument-VirtualTextDocument-create-member-1-)\n\n\n\n**Signature:**\n```ts\nstatic create(options: CreateVirtualTextDocumentOptions): VirtualTextDocument;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| options | <code><a href=\"#-vuedx-vue-virtual-textdocument--CreateVirtualTextDocumentOptions-interface\">CreateVirtualTextDocumentOptions</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VirtualTextDocument-markDirty-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VirtualTextDocument-markDirty-member-1-\"></a>\n\n#### [markDirty](#-vuedx-vue-virtual-textdocument-VirtualTextDocument-markDirty-member-1-)\n\n\n\n**Signature:**\n```ts\nmarkDirty(): void;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VirtualTextDocument-refresh-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VirtualTextDocument-refresh-member-1-\"></a>\n\n#### [refresh](#-vuedx-vue-virtual-textdocument-VirtualTextDocument-refresh-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected refresh(): void;\n```\n\n\n<br>\n</details>\n\n<br>\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-class\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-class\"></a>\n\n### [VueTextDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-class)\n\n\n\n<details><summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare class VueTextDocument extends ProxyTextDocument {\n  constructor(doc: TextDocument, options?: VueTextDocumentOptions, parseOptions?: SFCParseOptions);\n  all(): VirtualTextDocument[];\n  blockAt(position: Position | number): SFCBlock | null | undefined;\n  static create(uri: string, languageId: string, version: number, content: string, options?: VueTextDocumentOptions, parseOptions?: SFCParseOptions): VueTextDocument;\n  protected createBlockDocument(selector: BlockSelector): VirtualTextDocument | undefined;\n  protected createInternalModuleDocument(): TransformedBlockTextDocument;\n  protected createModuleDocument(): TransformedBlockTextDocument;\n  protected createRenderDocument(): RenderFunctionTextDocument;\n  protected createTemplateASTDocument(): TransformedBlockTextDocument;\n  get descriptor(): SFCDescriptor;\n  documentAt(position: Position | number): VirtualTextDocument | undefined;\n  getBlock(selector: BlockSelector): SFCBlock | null | undefined;\n  getBlockSelector(block: SFCBlock): BlockSelector | undefined;\n  getDocument(selector: typeof RENDER_SELECTOR): RenderFunctionTextDocument;\n  getDocument(selector: SelectorLike): VirtualTextDocument;\n  getDocument(selector: string): VirtualTextDocument | undefined;\n  getDocumentFileName(selectorLike: SelectorLike): string;\n  protected getDocumentId(selector: Selector): string;\n  protected getDocumentLanguage(selector: Selector): string;\n  markDirty(): void;\n  readonly options: VueTextDocumentOptions;\n  protected parse(): void;\n  static update(document: VueTextDocument, changes: TextDocumentContentChangeEvent[], version: number): VueTextDocument;\n}\n```\n\n**Members:**\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-all-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-all-member-1-\"></a>\n\n#### [all](#-vuedx-vue-virtual-textdocument-VueTextDocument-all-member-1-)\n\n\n\n**Signature:**\n```ts\nall(): VirtualTextDocument[];\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-blockAt-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-blockAt-member-1-\"></a>\n\n#### [blockAt](#-vuedx-vue-virtual-textdocument-VueTextDocument-blockAt-member-1-)\n\n\n\n**Signature:**\n```ts\nblockAt(position: Position | number): SFCBlock | null | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| position | <code><a href=\"#vscode-languageserver-textdocument-Position-interface\">Position</a> &#124; number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-create-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-create-member-1-\"></a>\n\n#### [create](#-vuedx-vue-virtual-textdocument-VueTextDocument-create-member-1-)\n\n\n\n**Signature:**\n```ts\nstatic create(uri: string, languageId: string, version: number, content: string, options?: VueTextDocumentOptions, parseOptions?: SFCParseOptions): VueTextDocument;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n| languageId | <code>string</code> | - |\n| version | <code>number</code> | - |\n| content | <code>string</code> | - |\n| options | <code><a href=\"#-vuedx-vue-virtual-textdocument--VueTextDocumentOptions-interface\">VueTextDocumentOptions</a></code> | - |\n| parseOptions | <code><a href=\"#-vue-compiler-sfc-SFCParseOptions-interface\">SFCParseOptions</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-createBlockDocument-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-createBlockDocument-member-1-\"></a>\n\n#### [createBlockDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-createBlockDocument-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected createBlockDocument(selector: BlockSelector): VirtualTextDocument | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selector | <code><a href=\"#-vuedx-vue-virtual-textdocument--BlockSelector-type\">BlockSelector</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-createInternalModuleDocument-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-createInternalModuleDocument-member-1-\"></a>\n\n#### [createInternalModuleDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-createInternalModuleDocument-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected createInternalModuleDocument(): TransformedBlockTextDocument;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-createModuleDocument-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-createModuleDocument-member-1-\"></a>\n\n#### [createModuleDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-createModuleDocument-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected createModuleDocument(): TransformedBlockTextDocument;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-createRenderDocument-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-createRenderDocument-member-1-\"></a>\n\n#### [createRenderDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-createRenderDocument-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected createRenderDocument(): RenderFunctionTextDocument;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-createTemplateASTDocument-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-createTemplateASTDocument-member-1-\"></a>\n\n#### [createTemplateASTDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-createTemplateASTDocument-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected createTemplateASTDocument(): TransformedBlockTextDocument;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-documentAt-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-documentAt-member-1-\"></a>\n\n#### [documentAt](#-vuedx-vue-virtual-textdocument-VueTextDocument-documentAt-member-1-)\n\n\n\n**Signature:**\n```ts\ndocumentAt(position: Position | number): VirtualTextDocument | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| position | <code><a href=\"#vscode-languageserver-textdocument-Position-interface\">Position</a> &#124; number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getBlock-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getBlock-member-1-\"></a>\n\n#### [getBlock](#-vuedx-vue-virtual-textdocument-VueTextDocument-getBlock-member-1-)\n\n\n\n**Signature:**\n```ts\ngetBlock(selector: BlockSelector): SFCBlock | null | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selector | <code><a href=\"#-vuedx-vue-virtual-textdocument--BlockSelector-type\">BlockSelector</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getBlockSelector-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getBlockSelector-member-1-\"></a>\n\n#### [getBlockSelector](#-vuedx-vue-virtual-textdocument-VueTextDocument-getBlockSelector-member-1-)\n\n\n\n**Signature:**\n```ts\ngetBlockSelector(block: SFCBlock): BlockSelector | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| block | <code><a href=\"#-vue-compiler-sfc-SFCBlock-interface\">SFCBlock</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-1-\"></a>\n\n#### [getDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-1-)\n\n\n\n**Signature:**\n```ts\ngetDocument(selector: typeof RENDER_SELECTOR): RenderFunctionTextDocument;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selector | <code>typeof <a href=\"#-vuedx-vue-virtual-textdocument--RENDER-SELECTOR-var\">RENDER_SELECTOR</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-2-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-2-\"></a>\n\n#### [getDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-2-)\n\n\n\n**Signature:**\n```ts\ngetDocument(selector: SelectorLike): VirtualTextDocument;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selector | <code><a href=\"#-vuedx-vue-virtual-textdocument--SelectorLike-type\">SelectorLike</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-3-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-3-\"></a>\n\n#### [getDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-3-)\n\n\n\n**Signature:**\n```ts\ngetDocument(selector: string): VirtualTextDocument | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selector | <code>string</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentFileName-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentFileName-member-1-\"></a>\n\n#### [getDocumentFileName](#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentFileName-member-1-)\n\n\n\n**Signature:**\n```ts\ngetDocumentFileName(selectorLike: SelectorLike): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selectorLike | <code><a href=\"#-vuedx-vue-virtual-textdocument--SelectorLike-type\">SelectorLike</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentId-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentId-member-1-\"></a>\n\n#### [getDocumentId](#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentId-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected getDocumentId(selector: Selector): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selector | <code><a href=\"#-vuedx-vue-virtual-textdocument--Selector-type\">Selector</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentLanguage-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentLanguage-member-1-\"></a>\n\n#### [getDocumentLanguage](#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentLanguage-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected getDocumentLanguage(selector: Selector): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selector | <code><a href=\"#-vuedx-vue-virtual-textdocument--Selector-type\">Selector</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-markDirty-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-markDirty-member-1-\"></a>\n\n#### [markDirty](#-vuedx-vue-virtual-textdocument-VueTextDocument-markDirty-member-1-)\n\n\n\n**Signature:**\n```ts\nmarkDirty(): void;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-parse-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-parse-member-1-\"></a>\n\n#### [parse](#-vuedx-vue-virtual-textdocument-VueTextDocument-parse-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected parse(): void;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-update-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-update-member-1-\"></a>\n\n#### [update](#-vuedx-vue-virtual-textdocument-VueTextDocument-update-member-1-)\n\n\n\n**Signature:**\n```ts\nstatic update(document: VueTextDocument, changes: TextDocumentContentChangeEvent[], version: number): VueTextDocument;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| document | <code><a href=\"#-vuedx-vue-virtual-textdocument--VueTextDocument-class\">VueTextDocument</a></code> | - |\n| changes | <code><a href=\"#vscode-languageserver-textdocument-TextDocumentContentChangeEvent-type\">TextDocumentContentChangeEvent</a>[]</code> | - |\n| version | <code>number</code> | - |\n\n<br>\n</details>\n\n<br>\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-asFsPath-function-1-\" id=\"-vuedx-vue-virtual-textdocument-asFsPath-function-1-\"></a>\n\n### [asFsPath](#-vuedx-vue-virtual-textdocument-asFsPath-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function asFsPath(uri: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-asFsUri-function-1-\" id=\"-vuedx-vue-virtual-textdocument-asFsUri-function-1-\"></a>\n\n### [asFsUri](#-vuedx-vue-virtual-textdocument-asFsUri-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function asFsUri(fileName: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-asUri-function-1-\" id=\"-vuedx-vue-virtual-textdocument-asUri-function-1-\"></a>\n\n### [asUri](#-vuedx-vue-virtual-textdocument-asUri-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function asUri(fileNameOrUri: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileNameOrUri | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-basename-function-1-\" id=\"-vuedx-vue-virtual-textdocument-basename-function-1-\"></a>\n\n### [basename](#-vuedx-vue-virtual-textdocument-basename-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function basename(fileName: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-binarySearch-function-1-\" id=\"-vuedx-vue-virtual-textdocument-binarySearch-function-1-\"></a>\n\n### [binarySearch](#-vuedx-vue-virtual-textdocument-binarySearch-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function binarySearch<T>(array: T[], isMatch: (a: T) => number, returnMin?: boolean): T | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| array | <code>T[]</code> | - |\n| isMatch | <code>(a: T) => number</code> | - |\n| returnMin | <code>boolean</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-getBlockLanguage-function-1-\" id=\"-vuedx-vue-virtual-textdocument-getBlockLanguage-function-1-\"></a>\n\n### [getBlockLanguage](#-vuedx-vue-virtual-textdocument-getBlockLanguage-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function getBlockLanguage(block?: SFCBlock | null): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| block | <code><a href=\"#-vue-compiler-sfc-SFCBlock-interface\">SFCBlock</a> &#124; null</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-getContainingFile-function-1-\" id=\"-vuedx-vue-virtual-textdocument-getContainingFile-function-1-\"></a>\n\n### [getContainingFile](#-vuedx-vue-virtual-textdocument-getContainingFile-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function getContainingFile(fileName: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-getLanguageExtension-function-1-\" id=\"-vuedx-vue-virtual-textdocument-getLanguageExtension-function-1-\"></a>\n\n### [getLanguageExtension](#-vuedx-vue-virtual-textdocument-getLanguageExtension-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function getLanguageExtension(lang: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| lang | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-getLanguageIdFromExtension-function-1-\" id=\"-vuedx-vue-virtual-textdocument-getLanguageIdFromExtension-function-1-\"></a>\n\n### [getLanguageIdFromExtension](#-vuedx-vue-virtual-textdocument-getLanguageIdFromExtension-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function getLanguageIdFromExtension(ext: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| ext | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-isOffsetInBlock-function-1-\" id=\"-vuedx-vue-virtual-textdocument-isOffsetInBlock-function-1-\"></a>\n\n### [isOffsetInBlock](#-vuedx-vue-virtual-textdocument-isOffsetInBlock-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function isOffsetInBlock(offset: number, block?: SFCBlock | null): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n| block | <code><a href=\"#-vue-compiler-sfc-SFCBlock-interface\">SFCBlock</a> &#124; null</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-isVirtualFile-function-1-\" id=\"-vuedx-vue-virtual-textdocument-isVirtualFile-function-1-\"></a>\n\n### [isVirtualFile](#-vuedx-vue-virtual-textdocument-isVirtualFile-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function isVirtualFile(fileName: string): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-isVirtualFileOfType-function-1-\" id=\"-vuedx-vue-virtual-textdocument-isVirtualFileOfType-function-1-\"></a>\n\n### [isVirtualFileOfType](#-vuedx-vue-virtual-textdocument-isVirtualFileOfType-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function isVirtualFileOfType(fileName: string, type: '_render' | '_module' | '_internal' | 'script' | 'scriptSetup'): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n| type | <code>'_render' &#124; '_module' &#124; '_internal' &#124; 'script' &#124; 'scriptSetup'</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-isVueFile-function-1-\" id=\"-vuedx-vue-virtual-textdocument-isVueFile-function-1-\"></a>\n\n### [isVueFile](#-vuedx-vue-virtual-textdocument-isVueFile-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function isVueFile(fileName: string): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-parseVirtualFileName-function-1-\" id=\"-vuedx-vue-virtual-textdocument-parseVirtualFileName-function-1-\"></a>\n\n### [parseVirtualFileName](#-vuedx-vue-virtual-textdocument-parseVirtualFileName-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function parseVirtualFileName(fileName: string): {\n    uri: string;\n    selector: Selector;\n} | null;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-relativeVirtualImportPath-function-1-\" id=\"-vuedx-vue-virtual-textdocument-relativeVirtualImportPath-function-1-\"></a>\n\n### [relativeVirtualImportPath](#-vuedx-vue-virtual-textdocument-relativeVirtualImportPath-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function relativeVirtualImportPath(fileName: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-replaceSlashes-function-1-\" id=\"-vuedx-vue-virtual-textdocument-replaceSlashes-function-1-\"></a>\n\n### [replaceSlashes](#-vuedx-vue-virtual-textdocument-replaceSlashes-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function replaceSlashes(fileName: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n<!-- #region API-DOCS -->\n","readmeFilename":"readme.md","gitHead":"e1a2cf9ed858d4d2ca00f95fe8bcd0ecdd490296","_id":"@vuedx/vue-virtual-textdocument@0.7.5-next-1649493814.0","_nodeVersion":"16.14.2","_npmVersion":"8.5.0","dist":{"integrity":"sha512-MR91Qyyh/+6XbaMEtkOoHepdBRTaD+sH5pHSN7mAcc/kS85Gbs/0PMNLnulDvjMURpoQ48ggp9Frajl3I+yEHA==","shasum":"3738af26cf26fa2f3afff5495ea617e3ce021eeb","tarball":"https://registry.npmjs.org/@vuedx/vue-virtual-textdocument/-/vue-virtual-textdocument-0.7.5-next-1649493814.0.tgz","fileCount":8,"unpackedSize":225101,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCICqzMzTUZ0IRNVwt1Oc5PM+ChA9tx148oak4WFYwc9eXAiEA/Il+By+6I2L3sAFEFUET/pp7H0cT/UNUA+vVKlGNfEo="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiUUdLACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmroug//XGYjv84+9xhBLYoR7UX2GRukogiE3P1uQli3De2iLUQH8+FK\r\n9z+MN0xzdDok3DPqbY1GG7jqX/B7VOMQWaGpXR7g7d4oEw7sdZyMWhXOBSCg\r\nL8N/bBWNw1srpOSEsOzCKOya7C/b730Vi1Hs8lp9krbnLKJQR4Gvffo1yWOZ\r\nWRJsKW7SSYcAeJreTksEPtSQ9SCu/kY7sMsNuPcs7SAi8vf4tPEdYZgpoV85\r\nkRwd7R+OMMwbsEx6rcBDxAti+t8FNaUl0PSMfPiaT0IvzL8YQXcqrF7cpxyu\r\nfXOGe5zQoQX1ol2tA9u8VZErzRu9VkV8avCurancpdaUJwOagJSYTzU6N3ZV\r\nQeYRXFObjOATonLtIrzrR3aMJk2A3FBavgmk/GDtkDcD8GqEKdN3j7oQYEhv\r\nU/EDitzCjV3iQ/vQsa14N8lwxhjSqkT8SZNFTIw6jhvdGLdfSKdhA5bv7XY3\r\nqTSFx1edZC+p9lGr/WL9TyebLq+xxAJ90lJHmTnA2Awa8VliGsOUjspmBmch\r\nJdp6UJgfMyuictnu09kOmEAFQkAAfgX9kVghddZ5l6u45rB0gaW3uP/t+WBp\r\nytnjIuwxWd8PV0GE+hbVefHM8MqveJMrQiea1QZ6Z1oN9JOhQ6bRpjR6kY3u\r\nCHGyPQjyF53y3sxIoq/M/xHVEbeHs50TZXk=\r\n=X/UR\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"znck","email":"rahulkdn@gmail.com"},"directories":{},"maintainers":[{"name":"znck","email":"rahulkdn@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/vue-virtual-textdocument_0.7.5-next-1649493814.0_1649493835397_0.6131333277945346"},"_hasShrinkwrap":false},"0.7.5-next-1649577134.0":{"name":"@vuedx/vue-virtual-textdocument","version":"0.7.5-next-1649577134.0","description":"A virtual filesystem to access blocks in SFC as files","main":"lib/index.js","module":"lib/index.mjs","types":"lib/index.d.ts","publishConfig":{"types":"lib/index.d.ts"},"private":false,"keywords":["vue","vue sfc","sfc","vue virtual files"],"repository":{"type":"git","url":"git+https://github.com/znck/vue-developer-experience.git"},"author":{"name":"Rahul Kadyan","email":"rahulkdn@gmail.com","url":"https://znck.me/"},"funding":{"type":"individual","url":"https://github.com/sponsors/znck"},"license":"MIT","bugs":{"url":"https://github.com/znck/vue-developer-experience/issues"},"homepage":"https://github.com/znck/vue-developer-experience#readme","dependencies":{"@vuedx/compiler-sfc":"0.7.2-next-1649577134.0","@vuedx/compiler-tsx":"0.7.5-next-1649577134.0","@vuedx/shared":"0.7.4-next-1649577134.0","@vuedx/template-ast-types":"0.7.3-next-1649577134.0","@vuedx/transforms":"0.7.5-next-1649577134.0","source-map":"^0.6.1","vscode-languageserver-textdocument":"^1.0.1","vscode-uri":"^2.1.2"},"devDependencies":{"typescript":"^4.0.3"},"scripts":{},"readme":"# Vue Virtual TextDocument\n\nAn implementation of virtual filesystem for accessing blocks in a `.vue` file as independent files.\n\n## Support\n\nThis package is part of [VueDX project](https://github.com/znck/vue-developer-experience), maintained by [Rahul Kadyan](https://github.com/znck). You can [💖 sponsor him](https://github.com/sponsors/znck) for continued development of this package and other VueDX tools.\n\n```\nnpm add @vuedx/vue-virtual-textdocument\n```\n<!-- #region API-DOCS -->\n<!-- Do not edit this file. It is a report generated by [scripts/docgen.js](https://github.com/znck/vue-developer-experience/tree/main/scripts/docgen.js). -->\n\n## API\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-AsyncDocumentStore-class\" id=\"-vuedx-vue-virtual-textdocument-AsyncDocumentStore-class\"></a>\n\n### [AsyncDocumentStore](#-vuedx-vue-virtual-textdocument-AsyncDocumentStore-class)\n\n\n\n<details><summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare class AsyncDocumentStore<T> extends DocumentStore<T> {\n  constructor(resolve: (uri: string) => T | Promise<T | null> | null, normalize?: (uri: string) => string);\n  get(uri: string): T | null;\n  get(uri: string): Promise<T | null>;\n}\n```\n\n**Members:**\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-AsyncDocumentStore-get-member-1-\" id=\"-vuedx-vue-virtual-textdocument-AsyncDocumentStore-get-member-1-\"></a>\n\n#### [get](#-vuedx-vue-virtual-textdocument-AsyncDocumentStore-get-member-1-)\n\n\n\n**Signature:**\n```ts\nget(uri: string): T | null;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-AsyncDocumentStore-get-member-2-\" id=\"-vuedx-vue-virtual-textdocument-AsyncDocumentStore-get-member-2-\"></a>\n\n#### [get](#-vuedx-vue-virtual-textdocument-AsyncDocumentStore-get-member-2-)\n\n\n\n**Signature:**\n```ts\nget(uri: string): Promise<T | null>;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n\n<br>\n</details>\n\n<br>\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-class\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-class\"></a>\n\n### [DocumentStore](#-vuedx-vue-virtual-textdocument-DocumentStore-class)\n\n\n\n<details><summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare class DocumentStore<T> {\n  constructor(resolve: (uri: string) => T | null, normalize?: (uri: string) => string);\n  all(): string[];\n  delete(uri: string): boolean;\n  dispose(): void;\n  get(uri: string): T | null;\n  protected getNormalizedUri(uri: string): string;\n  has(uri: string): boolean;\n  protected map: Map<string, T>;\n  normalize: (uri: string) => string;\n  protected resolve: (uri: string) => T | null;\n  protected reverseUriMap: Map<string, string>;\n  set(uri: string, document: T): void;\n}\n```\n\n**Members:**\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-all-member-1-\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-all-member-1-\"></a>\n\n#### [all](#-vuedx-vue-virtual-textdocument-DocumentStore-all-member-1-)\n\n\n\n**Signature:**\n```ts\nall(): string[];\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-delete-member-1-\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-delete-member-1-\"></a>\n\n#### [delete](#-vuedx-vue-virtual-textdocument-DocumentStore-delete-member-1-)\n\n\n\n**Signature:**\n```ts\ndelete(uri: string): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-dispose-member-1-\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-dispose-member-1-\"></a>\n\n#### [dispose](#-vuedx-vue-virtual-textdocument-DocumentStore-dispose-member-1-)\n\n\n\n**Signature:**\n```ts\ndispose(): void;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-get-member-1-\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-get-member-1-\"></a>\n\n#### [get](#-vuedx-vue-virtual-textdocument-DocumentStore-get-member-1-)\n\n\n\n**Signature:**\n```ts\nget(uri: string): T | null;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-getNormalizedUri-member-1-\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-getNormalizedUri-member-1-\"></a>\n\n#### [getNormalizedUri](#-vuedx-vue-virtual-textdocument-DocumentStore-getNormalizedUri-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected getNormalizedUri(uri: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-has-member-1-\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-has-member-1-\"></a>\n\n#### [has](#-vuedx-vue-virtual-textdocument-DocumentStore-has-member-1-)\n\n\n\n**Signature:**\n```ts\nhas(uri: string): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-set-member-1-\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-set-member-1-\"></a>\n\n#### [set](#-vuedx-vue-virtual-textdocument-DocumentStore-set-member-1-)\n\n\n\n**Signature:**\n```ts\nset(uri: string, document: T): void;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n| document | <code>T</code> | - |\n\n<br>\n</details>\n\n<br>\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-class\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-class\"></a>\n\n### [RenderFunctionTextDocument](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-class)\n\n\n\n<details><summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare class RenderFunctionTextDocument extends TransformedBlockTextDocument {\n  constructor(container: VueTextDocument, selector: Selector, transformed: TextDocument, source: TextDocument);\n  get ast(): CodegenResult['ast'] | undefined;\n  get contextCompletionsTriggerOffset(): number;\n  static create(options: CreateVirtualTextDocumentOptions): RenderFunctionTextDocument;\n  findExpression(offset: number, length: number): undefined | {\n        offset: number;\n        length: number;\n    };\n  protected generate(): string;\n  getAllGeneratedOffsetsAt(offset: number): undefined | Array<{\n        length: number;\n        offset: number;\n    }>;\n  getGeneratedOffsetAt(offset: number): undefined | {\n        length: number;\n        offset: number;\n    };\n  protected getKnownComponents(): Record<string, ComponentImport>;\n  getOriginalOffsetAt(offset: number): undefined | {\n        offset: number;\n        length: number;\n    };\n  isInGeneratedRange(offset: number): boolean;\n  isInTemplateIdentifierRange(offset: number): boolean;\n  get parserErrors(): CodegenResult['errors'];\n  get tagCompletionsTriggerOffset(): number;\n  toDisplayMappings(): string;\n  protected tryGenerate(): string;\n}\n```\n\n**Members:**\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-create-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-create-member-1-\"></a>\n\n#### [create](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-create-member-1-)\n\n\n\n**Signature:**\n```ts\nstatic create(options: CreateVirtualTextDocumentOptions): RenderFunctionTextDocument;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| options | <code><a href=\"#-vuedx-vue-virtual-textdocument--CreateVirtualTextDocumentOptions-interface\">CreateVirtualTextDocumentOptions</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-findExpression-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-findExpression-member-1-\"></a>\n\n#### [findExpression](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-findExpression-member-1-)\n\n\n\n**Signature:**\n```ts\nfindExpression(offset: number, length: number): undefined | {\n        offset: number;\n        length: number;\n    };\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n| length | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-generate-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-generate-member-1-\"></a>\n\n#### [generate](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-generate-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected generate(): string;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getAllGeneratedOffsetsAt-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getAllGeneratedOffsetsAt-member-1-\"></a>\n\n#### [getAllGeneratedOffsetsAt](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getAllGeneratedOffsetsAt-member-1-)\n\n\n\n**Signature:**\n```ts\ngetAllGeneratedOffsetsAt(offset: number): undefined | Array<{\n        length: number;\n        offset: number;\n    }>;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getGeneratedOffsetAt-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getGeneratedOffsetAt-member-1-\"></a>\n\n#### [getGeneratedOffsetAt](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getGeneratedOffsetAt-member-1-)\n\n\n\n**Signature:**\n```ts\ngetGeneratedOffsetAt(offset: number): undefined | {\n        length: number;\n        offset: number;\n    };\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getKnownComponents-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getKnownComponents-member-1-\"></a>\n\n#### [getKnownComponents](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getKnownComponents-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected getKnownComponents(): Record<string, ComponentImport>;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getOriginalOffsetAt-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getOriginalOffsetAt-member-1-\"></a>\n\n#### [getOriginalOffsetAt](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getOriginalOffsetAt-member-1-)\n\n\n\n**Signature:**\n```ts\ngetOriginalOffsetAt(offset: number): undefined | {\n        offset: number;\n        length: number;\n    };\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-isInGeneratedRange-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-isInGeneratedRange-member-1-\"></a>\n\n#### [isInGeneratedRange](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-isInGeneratedRange-member-1-)\n\n\n\n**Signature:**\n```ts\nisInGeneratedRange(offset: number): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-isInTemplateIdentifierRange-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-isInTemplateIdentifierRange-member-1-\"></a>\n\n#### [isInTemplateIdentifierRange](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-isInTemplateIdentifierRange-member-1-)\n\n\n\n**Signature:**\n```ts\nisInTemplateIdentifierRange(offset: number): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-toDisplayMappings-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-toDisplayMappings-member-1-\"></a>\n\n#### [toDisplayMappings](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-toDisplayMappings-member-1-)\n\n\n\n**Signature:**\n```ts\ntoDisplayMappings(): string;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-tryGenerate-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-tryGenerate-member-1-\"></a>\n\n#### [tryGenerate](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-tryGenerate-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected tryGenerate(): string;\n```\n\n\n<br>\n</details>\n\n<br>\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-class\" id=\"-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-class\"></a>\n\n### [TransformedBlockTextDocument](#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-class)\n\n\n\n<details><summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare class TransformedBlockTextDocument extends VirtualTextDocument {\n  protected constructor(container: VueTextDocument, selector: Selector, transformed: TextDocument, source: TextDocument | VirtualTextDocument, _transform: (document: TransformedBlockTextDocument) => BlockTransformResult);\n  static create(options: CreateTransformedBlockTextDocumentOptions): TransformedBlockTextDocument;\n  protected refresh(): void;\n  transform(): BlockTransformResult;\n  tryGetGeneratedOffset(offset: number): number | undefined;\n  tryGetSourceOffset(offset: number): number | undefined;\n}\n```\n\n**Members:**\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-create-member-1-\" id=\"-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-create-member-1-\"></a>\n\n#### [create](#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-create-member-1-)\n\n\n\n**Signature:**\n```ts\nstatic create(options: CreateTransformedBlockTextDocumentOptions): TransformedBlockTextDocument;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| options | <code><a href=\"#-vuedx-vue-virtual-textdocument--CreateTransformedBlockTextDocumentOptions-interface\">CreateTransformedBlockTextDocumentOptions</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-refresh-member-1-\" id=\"-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-refresh-member-1-\"></a>\n\n#### [refresh](#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-refresh-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected refresh(): void;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-transform-member-1-\" id=\"-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-transform-member-1-\"></a>\n\n#### [transform](#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-transform-member-1-)\n\n\n\n**Signature:**\n```ts\ntransform(): BlockTransformResult;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-tryGetGeneratedOffset-member-1-\" id=\"-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-tryGetGeneratedOffset-member-1-\"></a>\n\n#### [tryGetGeneratedOffset](#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-tryGetGeneratedOffset-member-1-)\n\n\n\n**Signature:**\n```ts\ntryGetGeneratedOffset(offset: number): number | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-tryGetSourceOffset-member-1-\" id=\"-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-tryGetSourceOffset-member-1-\"></a>\n\n#### [tryGetSourceOffset](#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-tryGetSourceOffset-member-1-)\n\n\n\n**Signature:**\n```ts\ntryGetSourceOffset(offset: number): number | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n</details>\n\n<br>\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VirtualTextDocument-class\" id=\"-vuedx-vue-virtual-textdocument-VirtualTextDocument-class\"></a>\n\n### [VirtualTextDocument](#-vuedx-vue-virtual-textdocument-VirtualTextDocument-class)\n\n\n\n<details><summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare class VirtualTextDocument extends ProxyTextDocument {\n  protected constructor(container: VueTextDocument, selector: Selector, doc: TextDocument);\n  readonly container: VueTextDocument;\n  static create(options: CreateVirtualTextDocumentOptions): VirtualTextDocument;\n  protected isDirty: boolean;\n  markDirty(): void;\n  protected refresh(): void;\n  readonly selector: Selector;\n}\n```\n\n**Members:**\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VirtualTextDocument-create-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VirtualTextDocument-create-member-1-\"></a>\n\n#### [create](#-vuedx-vue-virtual-textdocument-VirtualTextDocument-create-member-1-)\n\n\n\n**Signature:**\n```ts\nstatic create(options: CreateVirtualTextDocumentOptions): VirtualTextDocument;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| options | <code><a href=\"#-vuedx-vue-virtual-textdocument--CreateVirtualTextDocumentOptions-interface\">CreateVirtualTextDocumentOptions</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VirtualTextDocument-markDirty-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VirtualTextDocument-markDirty-member-1-\"></a>\n\n#### [markDirty](#-vuedx-vue-virtual-textdocument-VirtualTextDocument-markDirty-member-1-)\n\n\n\n**Signature:**\n```ts\nmarkDirty(): void;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VirtualTextDocument-refresh-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VirtualTextDocument-refresh-member-1-\"></a>\n\n#### [refresh](#-vuedx-vue-virtual-textdocument-VirtualTextDocument-refresh-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected refresh(): void;\n```\n\n\n<br>\n</details>\n\n<br>\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-class\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-class\"></a>\n\n### [VueTextDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-class)\n\n\n\n<details><summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare class VueTextDocument extends ProxyTextDocument {\n  constructor(doc: TextDocument, options?: VueTextDocumentOptions, parseOptions?: SFCParseOptions);\n  all(): VirtualTextDocument[];\n  blockAt(position: Position | number): SFCBlock | null | undefined;\n  static create(uri: string, languageId: string, version: number, content: string, options?: VueTextDocumentOptions, parseOptions?: SFCParseOptions): VueTextDocument;\n  protected createBlockDocument(selector: BlockSelector): VirtualTextDocument | undefined;\n  protected createInternalModuleDocument(): TransformedBlockTextDocument;\n  protected createModuleDocument(): TransformedBlockTextDocument;\n  protected createRenderDocument(): RenderFunctionTextDocument;\n  protected createTemplateASTDocument(): TransformedBlockTextDocument;\n  get descriptor(): SFCDescriptor;\n  documentAt(position: Position | number): VirtualTextDocument | undefined;\n  getBlock(selector: BlockSelector): SFCBlock | null | undefined;\n  getBlockSelector(block: SFCBlock): BlockSelector | undefined;\n  getDocument(selector: typeof RENDER_SELECTOR): RenderFunctionTextDocument;\n  getDocument(selector: SelectorLike): VirtualTextDocument;\n  getDocument(selector: string): VirtualTextDocument | undefined;\n  getDocumentFileName(selectorLike: SelectorLike): string;\n  protected getDocumentId(selector: Selector): string;\n  protected getDocumentLanguage(selector: Selector): string;\n  markDirty(): void;\n  readonly options: VueTextDocumentOptions;\n  protected parse(): void;\n  static update(document: VueTextDocument, changes: TextDocumentContentChangeEvent[], version: number): VueTextDocument;\n}\n```\n\n**Members:**\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-all-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-all-member-1-\"></a>\n\n#### [all](#-vuedx-vue-virtual-textdocument-VueTextDocument-all-member-1-)\n\n\n\n**Signature:**\n```ts\nall(): VirtualTextDocument[];\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-blockAt-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-blockAt-member-1-\"></a>\n\n#### [blockAt](#-vuedx-vue-virtual-textdocument-VueTextDocument-blockAt-member-1-)\n\n\n\n**Signature:**\n```ts\nblockAt(position: Position | number): SFCBlock | null | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| position | <code><a href=\"#vscode-languageserver-textdocument-Position-interface\">Position</a> &#124; number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-create-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-create-member-1-\"></a>\n\n#### [create](#-vuedx-vue-virtual-textdocument-VueTextDocument-create-member-1-)\n\n\n\n**Signature:**\n```ts\nstatic create(uri: string, languageId: string, version: number, content: string, options?: VueTextDocumentOptions, parseOptions?: SFCParseOptions): VueTextDocument;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n| languageId | <code>string</code> | - |\n| version | <code>number</code> | - |\n| content | <code>string</code> | - |\n| options | <code><a href=\"#-vuedx-vue-virtual-textdocument--VueTextDocumentOptions-interface\">VueTextDocumentOptions</a></code> | - |\n| parseOptions | <code><a href=\"#-vue-compiler-sfc-SFCParseOptions-interface\">SFCParseOptions</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-createBlockDocument-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-createBlockDocument-member-1-\"></a>\n\n#### [createBlockDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-createBlockDocument-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected createBlockDocument(selector: BlockSelector): VirtualTextDocument | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selector | <code><a href=\"#-vuedx-vue-virtual-textdocument--BlockSelector-type\">BlockSelector</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-createInternalModuleDocument-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-createInternalModuleDocument-member-1-\"></a>\n\n#### [createInternalModuleDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-createInternalModuleDocument-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected createInternalModuleDocument(): TransformedBlockTextDocument;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-createModuleDocument-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-createModuleDocument-member-1-\"></a>\n\n#### [createModuleDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-createModuleDocument-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected createModuleDocument(): TransformedBlockTextDocument;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-createRenderDocument-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-createRenderDocument-member-1-\"></a>\n\n#### [createRenderDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-createRenderDocument-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected createRenderDocument(): RenderFunctionTextDocument;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-createTemplateASTDocument-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-createTemplateASTDocument-member-1-\"></a>\n\n#### [createTemplateASTDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-createTemplateASTDocument-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected createTemplateASTDocument(): TransformedBlockTextDocument;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-documentAt-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-documentAt-member-1-\"></a>\n\n#### [documentAt](#-vuedx-vue-virtual-textdocument-VueTextDocument-documentAt-member-1-)\n\n\n\n**Signature:**\n```ts\ndocumentAt(position: Position | number): VirtualTextDocument | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| position | <code><a href=\"#vscode-languageserver-textdocument-Position-interface\">Position</a> &#124; number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getBlock-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getBlock-member-1-\"></a>\n\n#### [getBlock](#-vuedx-vue-virtual-textdocument-VueTextDocument-getBlock-member-1-)\n\n\n\n**Signature:**\n```ts\ngetBlock(selector: BlockSelector): SFCBlock | null | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selector | <code><a href=\"#-vuedx-vue-virtual-textdocument--BlockSelector-type\">BlockSelector</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getBlockSelector-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getBlockSelector-member-1-\"></a>\n\n#### [getBlockSelector](#-vuedx-vue-virtual-textdocument-VueTextDocument-getBlockSelector-member-1-)\n\n\n\n**Signature:**\n```ts\ngetBlockSelector(block: SFCBlock): BlockSelector | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| block | <code><a href=\"#-vue-compiler-sfc-SFCBlock-interface\">SFCBlock</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-1-\"></a>\n\n#### [getDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-1-)\n\n\n\n**Signature:**\n```ts\ngetDocument(selector: typeof RENDER_SELECTOR): RenderFunctionTextDocument;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selector | <code>typeof <a href=\"#-vuedx-vue-virtual-textdocument--RENDER-SELECTOR-var\">RENDER_SELECTOR</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-2-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-2-\"></a>\n\n#### [getDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-2-)\n\n\n\n**Signature:**\n```ts\ngetDocument(selector: SelectorLike): VirtualTextDocument;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selector | <code><a href=\"#-vuedx-vue-virtual-textdocument--SelectorLike-type\">SelectorLike</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-3-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-3-\"></a>\n\n#### [getDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-3-)\n\n\n\n**Signature:**\n```ts\ngetDocument(selector: string): VirtualTextDocument | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selector | <code>string</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentFileName-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentFileName-member-1-\"></a>\n\n#### [getDocumentFileName](#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentFileName-member-1-)\n\n\n\n**Signature:**\n```ts\ngetDocumentFileName(selectorLike: SelectorLike): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selectorLike | <code><a href=\"#-vuedx-vue-virtual-textdocument--SelectorLike-type\">SelectorLike</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentId-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentId-member-1-\"></a>\n\n#### [getDocumentId](#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentId-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected getDocumentId(selector: Selector): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selector | <code><a href=\"#-vuedx-vue-virtual-textdocument--Selector-type\">Selector</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentLanguage-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentLanguage-member-1-\"></a>\n\n#### [getDocumentLanguage](#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentLanguage-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected getDocumentLanguage(selector: Selector): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selector | <code><a href=\"#-vuedx-vue-virtual-textdocument--Selector-type\">Selector</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-markDirty-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-markDirty-member-1-\"></a>\n\n#### [markDirty](#-vuedx-vue-virtual-textdocument-VueTextDocument-markDirty-member-1-)\n\n\n\n**Signature:**\n```ts\nmarkDirty(): void;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-parse-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-parse-member-1-\"></a>\n\n#### [parse](#-vuedx-vue-virtual-textdocument-VueTextDocument-parse-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected parse(): void;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-update-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-update-member-1-\"></a>\n\n#### [update](#-vuedx-vue-virtual-textdocument-VueTextDocument-update-member-1-)\n\n\n\n**Signature:**\n```ts\nstatic update(document: VueTextDocument, changes: TextDocumentContentChangeEvent[], version: number): VueTextDocument;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| document | <code><a href=\"#-vuedx-vue-virtual-textdocument--VueTextDocument-class\">VueTextDocument</a></code> | - |\n| changes | <code><a href=\"#vscode-languageserver-textdocument-TextDocumentContentChangeEvent-type\">TextDocumentContentChangeEvent</a>[]</code> | - |\n| version | <code>number</code> | - |\n\n<br>\n</details>\n\n<br>\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-asFsPath-function-1-\" id=\"-vuedx-vue-virtual-textdocument-asFsPath-function-1-\"></a>\n\n### [asFsPath](#-vuedx-vue-virtual-textdocument-asFsPath-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function asFsPath(uri: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-asFsUri-function-1-\" id=\"-vuedx-vue-virtual-textdocument-asFsUri-function-1-\"></a>\n\n### [asFsUri](#-vuedx-vue-virtual-textdocument-asFsUri-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function asFsUri(fileName: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-asUri-function-1-\" id=\"-vuedx-vue-virtual-textdocument-asUri-function-1-\"></a>\n\n### [asUri](#-vuedx-vue-virtual-textdocument-asUri-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function asUri(fileNameOrUri: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileNameOrUri | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-basename-function-1-\" id=\"-vuedx-vue-virtual-textdocument-basename-function-1-\"></a>\n\n### [basename](#-vuedx-vue-virtual-textdocument-basename-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function basename(fileName: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-binarySearch-function-1-\" id=\"-vuedx-vue-virtual-textdocument-binarySearch-function-1-\"></a>\n\n### [binarySearch](#-vuedx-vue-virtual-textdocument-binarySearch-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function binarySearch<T>(array: T[], isMatch: (a: T) => number, returnMin?: boolean): T | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| array | <code>T[]</code> | - |\n| isMatch | <code>(a: T) => number</code> | - |\n| returnMin | <code>boolean</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-getBlockLanguage-function-1-\" id=\"-vuedx-vue-virtual-textdocument-getBlockLanguage-function-1-\"></a>\n\n### [getBlockLanguage](#-vuedx-vue-virtual-textdocument-getBlockLanguage-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function getBlockLanguage(block?: SFCBlock | null): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| block | <code><a href=\"#-vue-compiler-sfc-SFCBlock-interface\">SFCBlock</a> &#124; null</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-getContainingFile-function-1-\" id=\"-vuedx-vue-virtual-textdocument-getContainingFile-function-1-\"></a>\n\n### [getContainingFile](#-vuedx-vue-virtual-textdocument-getContainingFile-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function getContainingFile(fileName: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-getLanguageExtension-function-1-\" id=\"-vuedx-vue-virtual-textdocument-getLanguageExtension-function-1-\"></a>\n\n### [getLanguageExtension](#-vuedx-vue-virtual-textdocument-getLanguageExtension-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function getLanguageExtension(lang: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| lang | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-getLanguageIdFromExtension-function-1-\" id=\"-vuedx-vue-virtual-textdocument-getLanguageIdFromExtension-function-1-\"></a>\n\n### [getLanguageIdFromExtension](#-vuedx-vue-virtual-textdocument-getLanguageIdFromExtension-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function getLanguageIdFromExtension(ext: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| ext | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-isOffsetInBlock-function-1-\" id=\"-vuedx-vue-virtual-textdocument-isOffsetInBlock-function-1-\"></a>\n\n### [isOffsetInBlock](#-vuedx-vue-virtual-textdocument-isOffsetInBlock-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function isOffsetInBlock(offset: number, block?: SFCBlock | null): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n| block | <code><a href=\"#-vue-compiler-sfc-SFCBlock-interface\">SFCBlock</a> &#124; null</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-isVirtualFile-function-1-\" id=\"-vuedx-vue-virtual-textdocument-isVirtualFile-function-1-\"></a>\n\n### [isVirtualFile](#-vuedx-vue-virtual-textdocument-isVirtualFile-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function isVirtualFile(fileName: string): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-isVirtualFileOfType-function-1-\" id=\"-vuedx-vue-virtual-textdocument-isVirtualFileOfType-function-1-\"></a>\n\n### [isVirtualFileOfType](#-vuedx-vue-virtual-textdocument-isVirtualFileOfType-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function isVirtualFileOfType(fileName: string, type: '_render' | '_module' | '_internal' | 'script' | 'scriptSetup'): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n| type | <code>'_render' &#124; '_module' &#124; '_internal' &#124; 'script' &#124; 'scriptSetup'</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-isVueFile-function-1-\" id=\"-vuedx-vue-virtual-textdocument-isVueFile-function-1-\"></a>\n\n### [isVueFile](#-vuedx-vue-virtual-textdocument-isVueFile-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function isVueFile(fileName: string): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-parseVirtualFileName-function-1-\" id=\"-vuedx-vue-virtual-textdocument-parseVirtualFileName-function-1-\"></a>\n\n### [parseVirtualFileName](#-vuedx-vue-virtual-textdocument-parseVirtualFileName-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function parseVirtualFileName(fileName: string): {\n    uri: string;\n    selector: Selector;\n} | null;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-relativeVirtualImportPath-function-1-\" id=\"-vuedx-vue-virtual-textdocument-relativeVirtualImportPath-function-1-\"></a>\n\n### [relativeVirtualImportPath](#-vuedx-vue-virtual-textdocument-relativeVirtualImportPath-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function relativeVirtualImportPath(fileName: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-replaceSlashes-function-1-\" id=\"-vuedx-vue-virtual-textdocument-replaceSlashes-function-1-\"></a>\n\n### [replaceSlashes](#-vuedx-vue-virtual-textdocument-replaceSlashes-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function replaceSlashes(fileName: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n<!-- #region API-DOCS -->\n","readmeFilename":"readme.md","gitHead":"2901f0410c6b9febaf51f16d7f76b572726fe2cd","_id":"@vuedx/vue-virtual-textdocument@0.7.5-next-1649577134.0","_nodeVersion":"16.14.2","_npmVersion":"8.5.0","dist":{"integrity":"sha512-PHNblgk4KdxWtr1EsjbRwvFTfT/qadbFX77+7lPIoLALoPAdOOi8UYX/NbCMXPia8Ht14sNsPY108eONGXztPw==","shasum":"a46db76d957698299ea3b995b538ac2dc1b86f93","tarball":"https://registry.npmjs.org/@vuedx/vue-virtual-textdocument/-/vue-virtual-textdocument-0.7.5-next-1649577134.0.tgz","fileCount":8,"unpackedSize":225333,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDsF82BSheiVLh1GJwSg6GMu8/wi8ConJNJdFc11LSUmAIgUUUBhDCANn61KYxD4c/Pp1/78l4Rv4ZHeGnP+aqjqPM="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiUozHACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmo9sg//XIFtM8LQ+zRELpL67I6Kq39B4vWyI3RkiNQj2QNyyTGYW/8h\r\nqDhD1USr33c0gcFHbvifja42zK9UXeb/j+ebPYLx56LIrGBV/dVM5XuS7XU9\r\nqGvBOgRGmbzhHd4MeVtXWcHJGOSF/rqeVLkA05qN0Ccnf32deS+8JrPtoumz\r\nmky1JtrkPGXyO1sMY8S+TqUfNszjcBf2Nel2tPYaL4LBJ79ZCNhRTC+JRXcV\r\n2gVnd7WnE0IrR9Qa/GQAc0JJl3+j1s9W6vBJE9E8kfefjXLo5ZxPX6+1MpPx\r\n5vD+AyVgTQYEa1PmoCY0+ELZjpiaRa0jbXSDkTfK15HSMnsMXuxBBvWHq4hH\r\nJ9bij2lITLvBqLUSawUNZQCmYGRhcqjccB3AmGBhkJs/zyoVj2p5MXy109Q+\r\nwl+0OxSlmf2drhmv9OEsMvYWSm5y5Zr4BxWgQxC+Qs5MzMX1gTgZ8O78nNi/\r\n6CWihIK1zTGmub/FwQ14vjfgJ1f7XFliOeDtewq109yLXmenf8a+1X0UK1j2\r\n6NbJ1GauKC4xg8powF9gG53CRYgrYeoL7R7NW0VQ7ZKbMCvR06V6O1bwS0Ve\r\nKJOvAHYHq4oOWj5k3JmDOgkYGPirEQ60Mrzou1O3v92YOSUoK6CKCPUwUzmx\r\nZfpQd8afFcQZJqZ1IvmJHJyystPwqsDA3dc=\r\n=qy3t\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"znck","email":"rahulkdn@gmail.com"},"directories":{},"maintainers":[{"name":"znck","email":"rahulkdn@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/vue-virtual-textdocument_0.7.5-next-1649577134.0_1649577159365_0.32165474864217947"},"_hasShrinkwrap":false},"0.7.5-next-1649578076.0":{"name":"@vuedx/vue-virtual-textdocument","version":"0.7.5-next-1649578076.0","description":"A virtual filesystem to access blocks in SFC as files","main":"lib/index.js","module":"lib/index.mjs","types":"lib/index.d.ts","publishConfig":{"types":"lib/index.d.ts"},"private":false,"keywords":["vue","vue sfc","sfc","vue virtual files"],"repository":{"type":"git","url":"git+https://github.com/znck/vue-developer-experience.git"},"author":{"name":"Rahul Kadyan","email":"rahulkdn@gmail.com","url":"https://znck.me/"},"funding":{"type":"individual","url":"https://github.com/sponsors/znck"},"license":"MIT","bugs":{"url":"https://github.com/znck/vue-developer-experience/issues"},"homepage":"https://github.com/znck/vue-developer-experience#readme","dependencies":{"@vuedx/compiler-sfc":"0.7.2-next-1649578076.0","@vuedx/compiler-tsx":"0.7.5-next-1649578076.0","@vuedx/shared":"0.7.4-next-1649578076.0","@vuedx/template-ast-types":"0.7.3-next-1649578076.0","@vuedx/transforms":"0.7.5-next-1649578076.0","source-map":"^0.6.1","vscode-languageserver-textdocument":"^1.0.1","vscode-uri":"^2.1.2"},"devDependencies":{"typescript":"^4.0.3"},"scripts":{},"readme":"# Vue Virtual TextDocument\n\nAn implementation of virtual filesystem for accessing blocks in a `.vue` file as independent files.\n\n## Support\n\nThis package is part of [VueDX project](https://github.com/znck/vue-developer-experience), maintained by [Rahul Kadyan](https://github.com/znck). You can [💖 sponsor him](https://github.com/sponsors/znck) for continued development of this package and other VueDX tools.\n\n```\nnpm add @vuedx/vue-virtual-textdocument\n```\n<!-- #region API-DOCS -->\n<!-- Do not edit this file. It is a report generated by [scripts/docgen.js](https://github.com/znck/vue-developer-experience/tree/main/scripts/docgen.js). -->\n\n## API\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-AsyncDocumentStore-class\" id=\"-vuedx-vue-virtual-textdocument-AsyncDocumentStore-class\"></a>\n\n### [AsyncDocumentStore](#-vuedx-vue-virtual-textdocument-AsyncDocumentStore-class)\n\n\n\n<details><summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare class AsyncDocumentStore<T> extends DocumentStore<T> {\n  constructor(resolve: (uri: string) => T | Promise<T | null> | null, normalize?: (uri: string) => string);\n  get(uri: string): T | null;\n  get(uri: string): Promise<T | null>;\n}\n```\n\n**Members:**\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-AsyncDocumentStore-get-member-1-\" id=\"-vuedx-vue-virtual-textdocument-AsyncDocumentStore-get-member-1-\"></a>\n\n#### [get](#-vuedx-vue-virtual-textdocument-AsyncDocumentStore-get-member-1-)\n\n\n\n**Signature:**\n```ts\nget(uri: string): T | null;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-AsyncDocumentStore-get-member-2-\" id=\"-vuedx-vue-virtual-textdocument-AsyncDocumentStore-get-member-2-\"></a>\n\n#### [get](#-vuedx-vue-virtual-textdocument-AsyncDocumentStore-get-member-2-)\n\n\n\n**Signature:**\n```ts\nget(uri: string): Promise<T | null>;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n\n<br>\n</details>\n\n<br>\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-class\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-class\"></a>\n\n### [DocumentStore](#-vuedx-vue-virtual-textdocument-DocumentStore-class)\n\n\n\n<details><summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare class DocumentStore<T> {\n  constructor(resolve: (uri: string) => T | null, normalize?: (uri: string) => string);\n  all(): string[];\n  delete(uri: string): boolean;\n  dispose(): void;\n  get(uri: string): T | null;\n  protected getNormalizedUri(uri: string): string;\n  has(uri: string): boolean;\n  protected map: Map<string, T>;\n  normalize: (uri: string) => string;\n  protected resolve: (uri: string) => T | null;\n  protected reverseUriMap: Map<string, string>;\n  set(uri: string, document: T): void;\n}\n```\n\n**Members:**\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-all-member-1-\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-all-member-1-\"></a>\n\n#### [all](#-vuedx-vue-virtual-textdocument-DocumentStore-all-member-1-)\n\n\n\n**Signature:**\n```ts\nall(): string[];\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-delete-member-1-\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-delete-member-1-\"></a>\n\n#### [delete](#-vuedx-vue-virtual-textdocument-DocumentStore-delete-member-1-)\n\n\n\n**Signature:**\n```ts\ndelete(uri: string): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-dispose-member-1-\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-dispose-member-1-\"></a>\n\n#### [dispose](#-vuedx-vue-virtual-textdocument-DocumentStore-dispose-member-1-)\n\n\n\n**Signature:**\n```ts\ndispose(): void;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-get-member-1-\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-get-member-1-\"></a>\n\n#### [get](#-vuedx-vue-virtual-textdocument-DocumentStore-get-member-1-)\n\n\n\n**Signature:**\n```ts\nget(uri: string): T | null;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-getNormalizedUri-member-1-\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-getNormalizedUri-member-1-\"></a>\n\n#### [getNormalizedUri](#-vuedx-vue-virtual-textdocument-DocumentStore-getNormalizedUri-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected getNormalizedUri(uri: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-has-member-1-\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-has-member-1-\"></a>\n\n#### [has](#-vuedx-vue-virtual-textdocument-DocumentStore-has-member-1-)\n\n\n\n**Signature:**\n```ts\nhas(uri: string): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-set-member-1-\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-set-member-1-\"></a>\n\n#### [set](#-vuedx-vue-virtual-textdocument-DocumentStore-set-member-1-)\n\n\n\n**Signature:**\n```ts\nset(uri: string, document: T): void;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n| document | <code>T</code> | - |\n\n<br>\n</details>\n\n<br>\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-class\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-class\"></a>\n\n### [RenderFunctionTextDocument](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-class)\n\n\n\n<details><summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare class RenderFunctionTextDocument extends TransformedBlockTextDocument {\n  constructor(container: VueTextDocument, selector: Selector, transformed: TextDocument, source: TextDocument);\n  get ast(): CodegenResult['ast'] | undefined;\n  get contextCompletionsTriggerOffset(): number;\n  static create(options: CreateVirtualTextDocumentOptions): RenderFunctionTextDocument;\n  findExpression(offset: number, length: number): undefined | {\n        offset: number;\n        length: number;\n    };\n  protected generate(): string;\n  getAllGeneratedOffsetsAt(offset: number): undefined | Array<{\n        length: number;\n        offset: number;\n    }>;\n  getGeneratedOffsetAt(offset: number): undefined | {\n        length: number;\n        offset: number;\n    };\n  protected getKnownComponents(): Record<string, ComponentImport>;\n  getOriginalOffsetAt(offset: number): undefined | {\n        offset: number;\n        length: number;\n    };\n  isInGeneratedRange(offset: number): boolean;\n  isInTemplateIdentifierRange(offset: number): boolean;\n  get parserErrors(): CodegenResult['errors'];\n  get tagCompletionsTriggerOffset(): number;\n  toDisplayMappings(): string;\n  protected tryGenerate(): string;\n}\n```\n\n**Members:**\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-create-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-create-member-1-\"></a>\n\n#### [create](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-create-member-1-)\n\n\n\n**Signature:**\n```ts\nstatic create(options: CreateVirtualTextDocumentOptions): RenderFunctionTextDocument;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| options | <code><a href=\"#-vuedx-vue-virtual-textdocument--CreateVirtualTextDocumentOptions-interface\">CreateVirtualTextDocumentOptions</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-findExpression-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-findExpression-member-1-\"></a>\n\n#### [findExpression](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-findExpression-member-1-)\n\n\n\n**Signature:**\n```ts\nfindExpression(offset: number, length: number): undefined | {\n        offset: number;\n        length: number;\n    };\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n| length | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-generate-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-generate-member-1-\"></a>\n\n#### [generate](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-generate-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected generate(): string;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getAllGeneratedOffsetsAt-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getAllGeneratedOffsetsAt-member-1-\"></a>\n\n#### [getAllGeneratedOffsetsAt](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getAllGeneratedOffsetsAt-member-1-)\n\n\n\n**Signature:**\n```ts\ngetAllGeneratedOffsetsAt(offset: number): undefined | Array<{\n        length: number;\n        offset: number;\n    }>;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getGeneratedOffsetAt-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getGeneratedOffsetAt-member-1-\"></a>\n\n#### [getGeneratedOffsetAt](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getGeneratedOffsetAt-member-1-)\n\n\n\n**Signature:**\n```ts\ngetGeneratedOffsetAt(offset: number): undefined | {\n        length: number;\n        offset: number;\n    };\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getKnownComponents-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getKnownComponents-member-1-\"></a>\n\n#### [getKnownComponents](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getKnownComponents-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected getKnownComponents(): Record<string, ComponentImport>;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getOriginalOffsetAt-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getOriginalOffsetAt-member-1-\"></a>\n\n#### [getOriginalOffsetAt](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getOriginalOffsetAt-member-1-)\n\n\n\n**Signature:**\n```ts\ngetOriginalOffsetAt(offset: number): undefined | {\n        offset: number;\n        length: number;\n    };\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-isInGeneratedRange-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-isInGeneratedRange-member-1-\"></a>\n\n#### [isInGeneratedRange](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-isInGeneratedRange-member-1-)\n\n\n\n**Signature:**\n```ts\nisInGeneratedRange(offset: number): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-isInTemplateIdentifierRange-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-isInTemplateIdentifierRange-member-1-\"></a>\n\n#### [isInTemplateIdentifierRange](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-isInTemplateIdentifierRange-member-1-)\n\n\n\n**Signature:**\n```ts\nisInTemplateIdentifierRange(offset: number): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-toDisplayMappings-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-toDisplayMappings-member-1-\"></a>\n\n#### [toDisplayMappings](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-toDisplayMappings-member-1-)\n\n\n\n**Signature:**\n```ts\ntoDisplayMappings(): string;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-tryGenerate-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-tryGenerate-member-1-\"></a>\n\n#### [tryGenerate](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-tryGenerate-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected tryGenerate(): string;\n```\n\n\n<br>\n</details>\n\n<br>\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-class\" id=\"-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-class\"></a>\n\n### [TransformedBlockTextDocument](#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-class)\n\n\n\n<details><summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare class TransformedBlockTextDocument extends VirtualTextDocument {\n  protected constructor(container: VueTextDocument, selector: Selector, transformed: TextDocument, source: TextDocument | VirtualTextDocument, _transform: (document: TransformedBlockTextDocument) => BlockTransformResult);\n  static create(options: CreateTransformedBlockTextDocumentOptions): TransformedBlockTextDocument;\n  protected refresh(): void;\n  transform(): BlockTransformResult;\n  tryGetGeneratedOffset(offset: number): number | undefined;\n  tryGetSourceOffset(offset: number): number | undefined;\n}\n```\n\n**Members:**\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-create-member-1-\" id=\"-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-create-member-1-\"></a>\n\n#### [create](#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-create-member-1-)\n\n\n\n**Signature:**\n```ts\nstatic create(options: CreateTransformedBlockTextDocumentOptions): TransformedBlockTextDocument;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| options | <code><a href=\"#-vuedx-vue-virtual-textdocument--CreateTransformedBlockTextDocumentOptions-interface\">CreateTransformedBlockTextDocumentOptions</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-refresh-member-1-\" id=\"-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-refresh-member-1-\"></a>\n\n#### [refresh](#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-refresh-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected refresh(): void;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-transform-member-1-\" id=\"-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-transform-member-1-\"></a>\n\n#### [transform](#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-transform-member-1-)\n\n\n\n**Signature:**\n```ts\ntransform(): BlockTransformResult;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-tryGetGeneratedOffset-member-1-\" id=\"-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-tryGetGeneratedOffset-member-1-\"></a>\n\n#### [tryGetGeneratedOffset](#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-tryGetGeneratedOffset-member-1-)\n\n\n\n**Signature:**\n```ts\ntryGetGeneratedOffset(offset: number): number | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-tryGetSourceOffset-member-1-\" id=\"-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-tryGetSourceOffset-member-1-\"></a>\n\n#### [tryGetSourceOffset](#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-tryGetSourceOffset-member-1-)\n\n\n\n**Signature:**\n```ts\ntryGetSourceOffset(offset: number): number | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n</details>\n\n<br>\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VirtualTextDocument-class\" id=\"-vuedx-vue-virtual-textdocument-VirtualTextDocument-class\"></a>\n\n### [VirtualTextDocument](#-vuedx-vue-virtual-textdocument-VirtualTextDocument-class)\n\n\n\n<details><summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare class VirtualTextDocument extends ProxyTextDocument {\n  protected constructor(container: VueTextDocument, selector: Selector, doc: TextDocument);\n  readonly container: VueTextDocument;\n  static create(options: CreateVirtualTextDocumentOptions): VirtualTextDocument;\n  protected isDirty: boolean;\n  markDirty(): void;\n  protected refresh(): void;\n  readonly selector: Selector;\n}\n```\n\n**Members:**\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VirtualTextDocument-create-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VirtualTextDocument-create-member-1-\"></a>\n\n#### [create](#-vuedx-vue-virtual-textdocument-VirtualTextDocument-create-member-1-)\n\n\n\n**Signature:**\n```ts\nstatic create(options: CreateVirtualTextDocumentOptions): VirtualTextDocument;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| options | <code><a href=\"#-vuedx-vue-virtual-textdocument--CreateVirtualTextDocumentOptions-interface\">CreateVirtualTextDocumentOptions</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VirtualTextDocument-markDirty-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VirtualTextDocument-markDirty-member-1-\"></a>\n\n#### [markDirty](#-vuedx-vue-virtual-textdocument-VirtualTextDocument-markDirty-member-1-)\n\n\n\n**Signature:**\n```ts\nmarkDirty(): void;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VirtualTextDocument-refresh-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VirtualTextDocument-refresh-member-1-\"></a>\n\n#### [refresh](#-vuedx-vue-virtual-textdocument-VirtualTextDocument-refresh-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected refresh(): void;\n```\n\n\n<br>\n</details>\n\n<br>\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-class\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-class\"></a>\n\n### [VueTextDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-class)\n\n\n\n<details><summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare class VueTextDocument extends ProxyTextDocument {\n  constructor(doc: TextDocument, options?: VueTextDocumentOptions, parseOptions?: SFCParseOptions);\n  all(): VirtualTextDocument[];\n  blockAt(position: Position | number): SFCBlock | null | undefined;\n  static create(uri: string, languageId: string, version: number, content: string, options?: VueTextDocumentOptions, parseOptions?: SFCParseOptions): VueTextDocument;\n  protected createBlockDocument(selector: BlockSelector): VirtualTextDocument | undefined;\n  protected createInternalModuleDocument(): TransformedBlockTextDocument;\n  protected createModuleDocument(): TransformedBlockTextDocument;\n  protected createRenderDocument(): RenderFunctionTextDocument;\n  protected createTemplateASTDocument(): TransformedBlockTextDocument;\n  get descriptor(): SFCDescriptor;\n  documentAt(position: Position | number): VirtualTextDocument | undefined;\n  getBlock(selector: BlockSelector): SFCBlock | null | undefined;\n  getBlockSelector(block: SFCBlock): BlockSelector | undefined;\n  getDocument(selector: typeof RENDER_SELECTOR): RenderFunctionTextDocument;\n  getDocument(selector: SelectorLike): VirtualTextDocument;\n  getDocument(selector: string): VirtualTextDocument | undefined;\n  getDocumentFileName(selectorLike: SelectorLike): string;\n  protected getDocumentId(selector: Selector): string;\n  protected getDocumentLanguage(selector: Selector): string;\n  markDirty(): void;\n  readonly options: VueTextDocumentOptions;\n  protected parse(): void;\n  static update(document: VueTextDocument, changes: TextDocumentContentChangeEvent[], version: number): VueTextDocument;\n}\n```\n\n**Members:**\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-all-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-all-member-1-\"></a>\n\n#### [all](#-vuedx-vue-virtual-textdocument-VueTextDocument-all-member-1-)\n\n\n\n**Signature:**\n```ts\nall(): VirtualTextDocument[];\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-blockAt-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-blockAt-member-1-\"></a>\n\n#### [blockAt](#-vuedx-vue-virtual-textdocument-VueTextDocument-blockAt-member-1-)\n\n\n\n**Signature:**\n```ts\nblockAt(position: Position | number): SFCBlock | null | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| position | <code><a href=\"#vscode-languageserver-textdocument-Position-interface\">Position</a> &#124; number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-create-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-create-member-1-\"></a>\n\n#### [create](#-vuedx-vue-virtual-textdocument-VueTextDocument-create-member-1-)\n\n\n\n**Signature:**\n```ts\nstatic create(uri: string, languageId: string, version: number, content: string, options?: VueTextDocumentOptions, parseOptions?: SFCParseOptions): VueTextDocument;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n| languageId | <code>string</code> | - |\n| version | <code>number</code> | - |\n| content | <code>string</code> | - |\n| options | <code><a href=\"#-vuedx-vue-virtual-textdocument--VueTextDocumentOptions-interface\">VueTextDocumentOptions</a></code> | - |\n| parseOptions | <code><a href=\"#-vue-compiler-sfc-SFCParseOptions-interface\">SFCParseOptions</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-createBlockDocument-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-createBlockDocument-member-1-\"></a>\n\n#### [createBlockDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-createBlockDocument-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected createBlockDocument(selector: BlockSelector): VirtualTextDocument | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selector | <code><a href=\"#-vuedx-vue-virtual-textdocument--BlockSelector-type\">BlockSelector</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-createInternalModuleDocument-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-createInternalModuleDocument-member-1-\"></a>\n\n#### [createInternalModuleDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-createInternalModuleDocument-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected createInternalModuleDocument(): TransformedBlockTextDocument;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-createModuleDocument-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-createModuleDocument-member-1-\"></a>\n\n#### [createModuleDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-createModuleDocument-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected createModuleDocument(): TransformedBlockTextDocument;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-createRenderDocument-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-createRenderDocument-member-1-\"></a>\n\n#### [createRenderDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-createRenderDocument-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected createRenderDocument(): RenderFunctionTextDocument;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-createTemplateASTDocument-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-createTemplateASTDocument-member-1-\"></a>\n\n#### [createTemplateASTDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-createTemplateASTDocument-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected createTemplateASTDocument(): TransformedBlockTextDocument;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-documentAt-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-documentAt-member-1-\"></a>\n\n#### [documentAt](#-vuedx-vue-virtual-textdocument-VueTextDocument-documentAt-member-1-)\n\n\n\n**Signature:**\n```ts\ndocumentAt(position: Position | number): VirtualTextDocument | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| position | <code><a href=\"#vscode-languageserver-textdocument-Position-interface\">Position</a> &#124; number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getBlock-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getBlock-member-1-\"></a>\n\n#### [getBlock](#-vuedx-vue-virtual-textdocument-VueTextDocument-getBlock-member-1-)\n\n\n\n**Signature:**\n```ts\ngetBlock(selector: BlockSelector): SFCBlock | null | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selector | <code><a href=\"#-vuedx-vue-virtual-textdocument--BlockSelector-type\">BlockSelector</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getBlockSelector-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getBlockSelector-member-1-\"></a>\n\n#### [getBlockSelector](#-vuedx-vue-virtual-textdocument-VueTextDocument-getBlockSelector-member-1-)\n\n\n\n**Signature:**\n```ts\ngetBlockSelector(block: SFCBlock): BlockSelector | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| block | <code><a href=\"#-vue-compiler-sfc-SFCBlock-interface\">SFCBlock</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-1-\"></a>\n\n#### [getDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-1-)\n\n\n\n**Signature:**\n```ts\ngetDocument(selector: typeof RENDER_SELECTOR): RenderFunctionTextDocument;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selector | <code>typeof <a href=\"#-vuedx-vue-virtual-textdocument--RENDER-SELECTOR-var\">RENDER_SELECTOR</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-2-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-2-\"></a>\n\n#### [getDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-2-)\n\n\n\n**Signature:**\n```ts\ngetDocument(selector: SelectorLike): VirtualTextDocument;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selector | <code><a href=\"#-vuedx-vue-virtual-textdocument--SelectorLike-type\">SelectorLike</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-3-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-3-\"></a>\n\n#### [getDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-3-)\n\n\n\n**Signature:**\n```ts\ngetDocument(selector: string): VirtualTextDocument | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selector | <code>string</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentFileName-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentFileName-member-1-\"></a>\n\n#### [getDocumentFileName](#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentFileName-member-1-)\n\n\n\n**Signature:**\n```ts\ngetDocumentFileName(selectorLike: SelectorLike): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selectorLike | <code><a href=\"#-vuedx-vue-virtual-textdocument--SelectorLike-type\">SelectorLike</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentId-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentId-member-1-\"></a>\n\n#### [getDocumentId](#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentId-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected getDocumentId(selector: Selector): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selector | <code><a href=\"#-vuedx-vue-virtual-textdocument--Selector-type\">Selector</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentLanguage-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentLanguage-member-1-\"></a>\n\n#### [getDocumentLanguage](#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentLanguage-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected getDocumentLanguage(selector: Selector): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selector | <code><a href=\"#-vuedx-vue-virtual-textdocument--Selector-type\">Selector</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-markDirty-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-markDirty-member-1-\"></a>\n\n#### [markDirty](#-vuedx-vue-virtual-textdocument-VueTextDocument-markDirty-member-1-)\n\n\n\n**Signature:**\n```ts\nmarkDirty(): void;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-parse-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-parse-member-1-\"></a>\n\n#### [parse](#-vuedx-vue-virtual-textdocument-VueTextDocument-parse-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected parse(): void;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-update-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-update-member-1-\"></a>\n\n#### [update](#-vuedx-vue-virtual-textdocument-VueTextDocument-update-member-1-)\n\n\n\n**Signature:**\n```ts\nstatic update(document: VueTextDocument, changes: TextDocumentContentChangeEvent[], version: number): VueTextDocument;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| document | <code><a href=\"#-vuedx-vue-virtual-textdocument--VueTextDocument-class\">VueTextDocument</a></code> | - |\n| changes | <code><a href=\"#vscode-languageserver-textdocument-TextDocumentContentChangeEvent-type\">TextDocumentContentChangeEvent</a>[]</code> | - |\n| version | <code>number</code> | - |\n\n<br>\n</details>\n\n<br>\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-asFsPath-function-1-\" id=\"-vuedx-vue-virtual-textdocument-asFsPath-function-1-\"></a>\n\n### [asFsPath](#-vuedx-vue-virtual-textdocument-asFsPath-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function asFsPath(uri: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-asFsUri-function-1-\" id=\"-vuedx-vue-virtual-textdocument-asFsUri-function-1-\"></a>\n\n### [asFsUri](#-vuedx-vue-virtual-textdocument-asFsUri-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function asFsUri(fileName: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-asUri-function-1-\" id=\"-vuedx-vue-virtual-textdocument-asUri-function-1-\"></a>\n\n### [asUri](#-vuedx-vue-virtual-textdocument-asUri-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function asUri(fileNameOrUri: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileNameOrUri | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-basename-function-1-\" id=\"-vuedx-vue-virtual-textdocument-basename-function-1-\"></a>\n\n### [basename](#-vuedx-vue-virtual-textdocument-basename-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function basename(fileName: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-binarySearch-function-1-\" id=\"-vuedx-vue-virtual-textdocument-binarySearch-function-1-\"></a>\n\n### [binarySearch](#-vuedx-vue-virtual-textdocument-binarySearch-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function binarySearch<T>(array: T[], isMatch: (a: T) => number, returnMin?: boolean): T | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| array | <code>T[]</code> | - |\n| isMatch | <code>(a: T) => number</code> | - |\n| returnMin | <code>boolean</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-getBlockLanguage-function-1-\" id=\"-vuedx-vue-virtual-textdocument-getBlockLanguage-function-1-\"></a>\n\n### [getBlockLanguage](#-vuedx-vue-virtual-textdocument-getBlockLanguage-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function getBlockLanguage(block?: SFCBlock | null): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| block | <code><a href=\"#-vue-compiler-sfc-SFCBlock-interface\">SFCBlock</a> &#124; null</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-getContainingFile-function-1-\" id=\"-vuedx-vue-virtual-textdocument-getContainingFile-function-1-\"></a>\n\n### [getContainingFile](#-vuedx-vue-virtual-textdocument-getContainingFile-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function getContainingFile(fileName: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-getLanguageExtension-function-1-\" id=\"-vuedx-vue-virtual-textdocument-getLanguageExtension-function-1-\"></a>\n\n### [getLanguageExtension](#-vuedx-vue-virtual-textdocument-getLanguageExtension-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function getLanguageExtension(lang: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| lang | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-getLanguageIdFromExtension-function-1-\" id=\"-vuedx-vue-virtual-textdocument-getLanguageIdFromExtension-function-1-\"></a>\n\n### [getLanguageIdFromExtension](#-vuedx-vue-virtual-textdocument-getLanguageIdFromExtension-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function getLanguageIdFromExtension(ext: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| ext | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-isOffsetInBlock-function-1-\" id=\"-vuedx-vue-virtual-textdocument-isOffsetInBlock-function-1-\"></a>\n\n### [isOffsetInBlock](#-vuedx-vue-virtual-textdocument-isOffsetInBlock-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function isOffsetInBlock(offset: number, block?: SFCBlock | null): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n| block | <code><a href=\"#-vue-compiler-sfc-SFCBlock-interface\">SFCBlock</a> &#124; null</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-isVirtualFile-function-1-\" id=\"-vuedx-vue-virtual-textdocument-isVirtualFile-function-1-\"></a>\n\n### [isVirtualFile](#-vuedx-vue-virtual-textdocument-isVirtualFile-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function isVirtualFile(fileName: string): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-isVirtualFileOfType-function-1-\" id=\"-vuedx-vue-virtual-textdocument-isVirtualFileOfType-function-1-\"></a>\n\n### [isVirtualFileOfType](#-vuedx-vue-virtual-textdocument-isVirtualFileOfType-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function isVirtualFileOfType(fileName: string, type: '_render' | '_module' | '_internal' | 'script' | 'scriptSetup'): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n| type | <code>'_render' &#124; '_module' &#124; '_internal' &#124; 'script' &#124; 'scriptSetup'</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-isVueFile-function-1-\" id=\"-vuedx-vue-virtual-textdocument-isVueFile-function-1-\"></a>\n\n### [isVueFile](#-vuedx-vue-virtual-textdocument-isVueFile-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function isVueFile(fileName: string): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-parseVirtualFileName-function-1-\" id=\"-vuedx-vue-virtual-textdocument-parseVirtualFileName-function-1-\"></a>\n\n### [parseVirtualFileName](#-vuedx-vue-virtual-textdocument-parseVirtualFileName-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function parseVirtualFileName(fileName: string): {\n    uri: string;\n    selector: Selector;\n} | null;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-relativeVirtualImportPath-function-1-\" id=\"-vuedx-vue-virtual-textdocument-relativeVirtualImportPath-function-1-\"></a>\n\n### [relativeVirtualImportPath](#-vuedx-vue-virtual-textdocument-relativeVirtualImportPath-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function relativeVirtualImportPath(fileName: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-replaceSlashes-function-1-\" id=\"-vuedx-vue-virtual-textdocument-replaceSlashes-function-1-\"></a>\n\n### [replaceSlashes](#-vuedx-vue-virtual-textdocument-replaceSlashes-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function replaceSlashes(fileName: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n<!-- #region API-DOCS -->\n","readmeFilename":"readme.md","gitHead":"862ddfbff8577c943828631443decc6c07a6acf7","_id":"@vuedx/vue-virtual-textdocument@0.7.5-next-1649578076.0","_nodeVersion":"16.14.2","_npmVersion":"8.5.0","dist":{"integrity":"sha512-pG7jzWRA9sSB7KVVTn5xw33gQ2pQ535BLOI8DiSGoqsJvbD9kytyTgBpD/+uviuFIw56GZptpcTFDgTSksy3PA==","shasum":"18e321942044755f8e955360885f764e8fdf3b2f","tarball":"https://registry.npmjs.org/@vuedx/vue-virtual-textdocument/-/vue-virtual-textdocument-0.7.5-next-1649578076.0.tgz","fileCount":8,"unpackedSize":225333,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCzw9tqFCQYrMyahDmCY/4PF4Y38ncOA9Y/zBMD8cbsEQIgWuLJR8ghLlzXqZQKJY3B9GXekjyKYY4VUHEEVqqIb0E="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiUpBzACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqRpRAAgg3U7nAOYFFunJsP6wDG87mIs/OXg0TpvZTclwomW44MulVO\r\nll282j4LrRNc/jmpZuvBk3eLAtrUFHXOmYV6vGzgu+3YiGaGTtHEci11gKNE\r\nVQttWP3nNt63c8rueZqFV2BP+R4fdTm1WrPfEMammL28GMOe2r1ZkVlPOIju\r\nNPfRoMiU3WTMxmJ/Z2Q/2TJ+wKacMQq1w59F53yb38rjxXm3EBKDfeQhoiIk\r\ncdZ7osSF3n+cozY/Gnt/oZFkBYeX7la7qzfAfcNj6sQ8vVVN6b4ObjBNdB9+\r\nDIgcAMsP0lHsSS+ULbBdnXPzgGL6uMLiR9+zt+c4WMIECCHzy34WTxV4+cSs\r\nM2n+X7cv2Nsd5Nu8FV1kc9fgRkIJRHUFuggvPXbeDbORb7GrN8VPUWR+wA+E\r\nkPRqwD82wXPP0dtOC/aoaSPz2DsvBjfgEfoWa7MROHLB6T1eAvcQga6GR/oU\r\n2XFfPQXQIMhdWsntmKjJwOKWs1J00RIB087rdSUqG0Bi3hOB7VQlHKB5pRMH\r\nKQAGm3x0i9qjEhI1FOLst7rIf3nOUPN6mJIVKp6vr+wO8neIHqgt4hZz3Rb2\r\noGL6+h79ykPu6Z5gnjDMkNT+G3hgtmo2TpD9yY/luiHApeH2XOjjHdEHBwBN\r\nBdQYyYm16Ftk9hatEJrACjGx2LvVza5lAAI=\r\n=eFS6\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"znck","email":"rahulkdn@gmail.com"},"directories":{},"maintainers":[{"name":"znck","email":"rahulkdn@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/vue-virtual-textdocument_0.7.5-next-1649578076.0_1649578099424_0.9404921025058286"},"_hasShrinkwrap":false},"0.7.5-next-1649583602.0":{"name":"@vuedx/vue-virtual-textdocument","version":"0.7.5-next-1649583602.0","description":"A virtual filesystem to access blocks in SFC as files","main":"lib/index.js","module":"lib/index.mjs","types":"lib/index.d.ts","publishConfig":{"types":"lib/index.d.ts"},"private":false,"keywords":["vue","vue sfc","sfc","vue virtual files"],"repository":{"type":"git","url":"git+https://github.com/znck/vue-developer-experience.git"},"author":{"name":"Rahul Kadyan","email":"rahulkdn@gmail.com","url":"https://znck.me/"},"funding":{"type":"individual","url":"https://github.com/sponsors/znck"},"license":"MIT","bugs":{"url":"https://github.com/znck/vue-developer-experience/issues"},"homepage":"https://github.com/znck/vue-developer-experience#readme","dependencies":{"@vuedx/compiler-sfc":"0.7.2-next-1649583602.0","@vuedx/compiler-tsx":"0.7.5-next-1649583602.0","@vuedx/shared":"0.7.4-next-1649583602.0","@vuedx/template-ast-types":"0.7.3-next-1649583602.0","@vuedx/transforms":"0.7.5-next-1649583602.0","source-map":"^0.6.1","vscode-languageserver-textdocument":"^1.0.1","vscode-uri":"^2.1.2"},"devDependencies":{"typescript":"^4.0.3"},"scripts":{},"readme":"# Vue Virtual TextDocument\n\nAn implementation of virtual filesystem for accessing blocks in a `.vue` file as independent files.\n\n## Support\n\nThis package is part of [VueDX project](https://github.com/znck/vue-developer-experience), maintained by [Rahul Kadyan](https://github.com/znck). You can [💖 sponsor him](https://github.com/sponsors/znck) for continued development of this package and other VueDX tools.\n\n```\nnpm add @vuedx/vue-virtual-textdocument\n```\n<!-- #region API-DOCS -->\n<!-- Do not edit this file. It is a report generated by [scripts/docgen.js](https://github.com/znck/vue-developer-experience/tree/main/scripts/docgen.js). -->\n\n## API\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-AsyncDocumentStore-class\" id=\"-vuedx-vue-virtual-textdocument-AsyncDocumentStore-class\"></a>\n\n### [AsyncDocumentStore](#-vuedx-vue-virtual-textdocument-AsyncDocumentStore-class)\n\n\n\n<details><summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare class AsyncDocumentStore<T> extends DocumentStore<T> {\n  constructor(resolve: (uri: string) => T | Promise<T | null> | null, normalize?: (uri: string) => string);\n  get(uri: string): T | null;\n  get(uri: string): Promise<T | null>;\n}\n```\n\n**Members:**\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-AsyncDocumentStore-get-member-1-\" id=\"-vuedx-vue-virtual-textdocument-AsyncDocumentStore-get-member-1-\"></a>\n\n#### [get](#-vuedx-vue-virtual-textdocument-AsyncDocumentStore-get-member-1-)\n\n\n\n**Signature:**\n```ts\nget(uri: string): T | null;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-AsyncDocumentStore-get-member-2-\" id=\"-vuedx-vue-virtual-textdocument-AsyncDocumentStore-get-member-2-\"></a>\n\n#### [get](#-vuedx-vue-virtual-textdocument-AsyncDocumentStore-get-member-2-)\n\n\n\n**Signature:**\n```ts\nget(uri: string): Promise<T | null>;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n\n<br>\n</details>\n\n<br>\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-class\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-class\"></a>\n\n### [DocumentStore](#-vuedx-vue-virtual-textdocument-DocumentStore-class)\n\n\n\n<details><summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare class DocumentStore<T> {\n  constructor(resolve: (uri: string) => T | null, normalize?: (uri: string) => string);\n  all(): string[];\n  delete(uri: string): boolean;\n  dispose(): void;\n  get(uri: string): T | null;\n  protected getNormalizedUri(uri: string): string;\n  has(uri: string): boolean;\n  protected map: Map<string, T>;\n  normalize: (uri: string) => string;\n  protected resolve: (uri: string) => T | null;\n  protected reverseUriMap: Map<string, string>;\n  set(uri: string, document: T): void;\n}\n```\n\n**Members:**\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-all-member-1-\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-all-member-1-\"></a>\n\n#### [all](#-vuedx-vue-virtual-textdocument-DocumentStore-all-member-1-)\n\n\n\n**Signature:**\n```ts\nall(): string[];\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-delete-member-1-\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-delete-member-1-\"></a>\n\n#### [delete](#-vuedx-vue-virtual-textdocument-DocumentStore-delete-member-1-)\n\n\n\n**Signature:**\n```ts\ndelete(uri: string): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-dispose-member-1-\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-dispose-member-1-\"></a>\n\n#### [dispose](#-vuedx-vue-virtual-textdocument-DocumentStore-dispose-member-1-)\n\n\n\n**Signature:**\n```ts\ndispose(): void;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-get-member-1-\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-get-member-1-\"></a>\n\n#### [get](#-vuedx-vue-virtual-textdocument-DocumentStore-get-member-1-)\n\n\n\n**Signature:**\n```ts\nget(uri: string): T | null;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-getNormalizedUri-member-1-\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-getNormalizedUri-member-1-\"></a>\n\n#### [getNormalizedUri](#-vuedx-vue-virtual-textdocument-DocumentStore-getNormalizedUri-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected getNormalizedUri(uri: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-has-member-1-\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-has-member-1-\"></a>\n\n#### [has](#-vuedx-vue-virtual-textdocument-DocumentStore-has-member-1-)\n\n\n\n**Signature:**\n```ts\nhas(uri: string): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-set-member-1-\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-set-member-1-\"></a>\n\n#### [set](#-vuedx-vue-virtual-textdocument-DocumentStore-set-member-1-)\n\n\n\n**Signature:**\n```ts\nset(uri: string, document: T): void;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n| document | <code>T</code> | - |\n\n<br>\n</details>\n\n<br>\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-class\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-class\"></a>\n\n### [RenderFunctionTextDocument](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-class)\n\n\n\n<details><summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare class RenderFunctionTextDocument extends TransformedBlockTextDocument {\n  constructor(container: VueTextDocument, selector: Selector, transformed: TextDocument, source: TextDocument);\n  get ast(): CodegenResult['ast'] | undefined;\n  get contextCompletionsTriggerOffset(): number;\n  static create(options: CreateVirtualTextDocumentOptions): RenderFunctionTextDocument;\n  findExpression(offset: number, length: number): undefined | {\n        offset: number;\n        length: number;\n    };\n  protected generate(): string;\n  getAllGeneratedOffsetsAt(offset: number): undefined | Array<{\n        length: number;\n        offset: number;\n    }>;\n  getGeneratedOffsetAt(offset: number): undefined | {\n        length: number;\n        offset: number;\n    };\n  protected getKnownComponents(): Record<string, ComponentImport>;\n  getOriginalOffsetAt(offset: number): undefined | {\n        offset: number;\n        length: number;\n    };\n  isInGeneratedRange(offset: number): boolean;\n  isInTemplateIdentifierRange(offset: number): boolean;\n  get parserErrors(): CodegenResult['errors'];\n  get tagCompletionsTriggerOffset(): number;\n  toDisplayMappings(): string;\n  protected tryGenerate(): string;\n}\n```\n\n**Members:**\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-create-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-create-member-1-\"></a>\n\n#### [create](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-create-member-1-)\n\n\n\n**Signature:**\n```ts\nstatic create(options: CreateVirtualTextDocumentOptions): RenderFunctionTextDocument;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| options | <code><a href=\"#-vuedx-vue-virtual-textdocument--CreateVirtualTextDocumentOptions-interface\">CreateVirtualTextDocumentOptions</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-findExpression-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-findExpression-member-1-\"></a>\n\n#### [findExpression](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-findExpression-member-1-)\n\n\n\n**Signature:**\n```ts\nfindExpression(offset: number, length: number): undefined | {\n        offset: number;\n        length: number;\n    };\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n| length | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-generate-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-generate-member-1-\"></a>\n\n#### [generate](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-generate-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected generate(): string;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getAllGeneratedOffsetsAt-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getAllGeneratedOffsetsAt-member-1-\"></a>\n\n#### [getAllGeneratedOffsetsAt](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getAllGeneratedOffsetsAt-member-1-)\n\n\n\n**Signature:**\n```ts\ngetAllGeneratedOffsetsAt(offset: number): undefined | Array<{\n        length: number;\n        offset: number;\n    }>;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getGeneratedOffsetAt-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getGeneratedOffsetAt-member-1-\"></a>\n\n#### [getGeneratedOffsetAt](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getGeneratedOffsetAt-member-1-)\n\n\n\n**Signature:**\n```ts\ngetGeneratedOffsetAt(offset: number): undefined | {\n        length: number;\n        offset: number;\n    };\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getKnownComponents-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getKnownComponents-member-1-\"></a>\n\n#### [getKnownComponents](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getKnownComponents-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected getKnownComponents(): Record<string, ComponentImport>;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getOriginalOffsetAt-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getOriginalOffsetAt-member-1-\"></a>\n\n#### [getOriginalOffsetAt](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getOriginalOffsetAt-member-1-)\n\n\n\n**Signature:**\n```ts\ngetOriginalOffsetAt(offset: number): undefined | {\n        offset: number;\n        length: number;\n    };\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-isInGeneratedRange-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-isInGeneratedRange-member-1-\"></a>\n\n#### [isInGeneratedRange](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-isInGeneratedRange-member-1-)\n\n\n\n**Signature:**\n```ts\nisInGeneratedRange(offset: number): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-isInTemplateIdentifierRange-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-isInTemplateIdentifierRange-member-1-\"></a>\n\n#### [isInTemplateIdentifierRange](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-isInTemplateIdentifierRange-member-1-)\n\n\n\n**Signature:**\n```ts\nisInTemplateIdentifierRange(offset: number): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-toDisplayMappings-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-toDisplayMappings-member-1-\"></a>\n\n#### [toDisplayMappings](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-toDisplayMappings-member-1-)\n\n\n\n**Signature:**\n```ts\ntoDisplayMappings(): string;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-tryGenerate-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-tryGenerate-member-1-\"></a>\n\n#### [tryGenerate](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-tryGenerate-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected tryGenerate(): string;\n```\n\n\n<br>\n</details>\n\n<br>\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-class\" id=\"-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-class\"></a>\n\n### [TransformedBlockTextDocument](#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-class)\n\n\n\n<details><summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare class TransformedBlockTextDocument extends VirtualTextDocument {\n  protected constructor(container: VueTextDocument, selector: Selector, transformed: TextDocument, source: TextDocument | VirtualTextDocument, _transform: (document: TransformedBlockTextDocument) => BlockTransformResult);\n  static create(options: CreateTransformedBlockTextDocumentOptions): TransformedBlockTextDocument;\n  protected refresh(): void;\n  transform(): BlockTransformResult;\n  tryGetGeneratedOffset(offset: number): number | undefined;\n  tryGetSourceOffset(offset: number): number | undefined;\n}\n```\n\n**Members:**\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-create-member-1-\" id=\"-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-create-member-1-\"></a>\n\n#### [create](#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-create-member-1-)\n\n\n\n**Signature:**\n```ts\nstatic create(options: CreateTransformedBlockTextDocumentOptions): TransformedBlockTextDocument;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| options | <code><a href=\"#-vuedx-vue-virtual-textdocument--CreateTransformedBlockTextDocumentOptions-interface\">CreateTransformedBlockTextDocumentOptions</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-refresh-member-1-\" id=\"-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-refresh-member-1-\"></a>\n\n#### [refresh](#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-refresh-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected refresh(): void;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-transform-member-1-\" id=\"-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-transform-member-1-\"></a>\n\n#### [transform](#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-transform-member-1-)\n\n\n\n**Signature:**\n```ts\ntransform(): BlockTransformResult;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-tryGetGeneratedOffset-member-1-\" id=\"-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-tryGetGeneratedOffset-member-1-\"></a>\n\n#### [tryGetGeneratedOffset](#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-tryGetGeneratedOffset-member-1-)\n\n\n\n**Signature:**\n```ts\ntryGetGeneratedOffset(offset: number): number | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-tryGetSourceOffset-member-1-\" id=\"-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-tryGetSourceOffset-member-1-\"></a>\n\n#### [tryGetSourceOffset](#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-tryGetSourceOffset-member-1-)\n\n\n\n**Signature:**\n```ts\ntryGetSourceOffset(offset: number): number | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n</details>\n\n<br>\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VirtualTextDocument-class\" id=\"-vuedx-vue-virtual-textdocument-VirtualTextDocument-class\"></a>\n\n### [VirtualTextDocument](#-vuedx-vue-virtual-textdocument-VirtualTextDocument-class)\n\n\n\n<details><summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare class VirtualTextDocument extends ProxyTextDocument {\n  protected constructor(container: VueTextDocument, selector: Selector, doc: TextDocument);\n  readonly container: VueTextDocument;\n  static create(options: CreateVirtualTextDocumentOptions): VirtualTextDocument;\n  protected isDirty: boolean;\n  markDirty(): void;\n  protected refresh(): void;\n  readonly selector: Selector;\n}\n```\n\n**Members:**\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VirtualTextDocument-create-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VirtualTextDocument-create-member-1-\"></a>\n\n#### [create](#-vuedx-vue-virtual-textdocument-VirtualTextDocument-create-member-1-)\n\n\n\n**Signature:**\n```ts\nstatic create(options: CreateVirtualTextDocumentOptions): VirtualTextDocument;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| options | <code><a href=\"#-vuedx-vue-virtual-textdocument--CreateVirtualTextDocumentOptions-interface\">CreateVirtualTextDocumentOptions</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VirtualTextDocument-markDirty-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VirtualTextDocument-markDirty-member-1-\"></a>\n\n#### [markDirty](#-vuedx-vue-virtual-textdocument-VirtualTextDocument-markDirty-member-1-)\n\n\n\n**Signature:**\n```ts\nmarkDirty(): void;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VirtualTextDocument-refresh-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VirtualTextDocument-refresh-member-1-\"></a>\n\n#### [refresh](#-vuedx-vue-virtual-textdocument-VirtualTextDocument-refresh-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected refresh(): void;\n```\n\n\n<br>\n</details>\n\n<br>\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-class\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-class\"></a>\n\n### [VueTextDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-class)\n\n\n\n<details><summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare class VueTextDocument extends ProxyTextDocument {\n  constructor(doc: TextDocument, options?: VueTextDocumentOptions, parseOptions?: SFCParseOptions);\n  all(): VirtualTextDocument[];\n  blockAt(position: Position | number): SFCBlock | null | undefined;\n  static create(uri: string, languageId: string, version: number, content: string, options?: VueTextDocumentOptions, parseOptions?: SFCParseOptions): VueTextDocument;\n  protected createBlockDocument(selector: BlockSelector): VirtualTextDocument | undefined;\n  protected createInternalModuleDocument(): TransformedBlockTextDocument;\n  protected createModuleDocument(): TransformedBlockTextDocument;\n  protected createRenderDocument(): RenderFunctionTextDocument;\n  protected createTemplateASTDocument(): TransformedBlockTextDocument;\n  get descriptor(): SFCDescriptor;\n  documentAt(position: Position | number): VirtualTextDocument | undefined;\n  getBlock(selector: BlockSelector): SFCBlock | null | undefined;\n  getBlockSelector(block: SFCBlock): BlockSelector | undefined;\n  getDocument(selector: typeof RENDER_SELECTOR): RenderFunctionTextDocument;\n  getDocument(selector: SelectorLike): VirtualTextDocument;\n  getDocument(selector: string): VirtualTextDocument | undefined;\n  getDocumentFileName(selectorLike: SelectorLike): string;\n  protected getDocumentId(selector: Selector): string;\n  protected getDocumentLanguage(selector: Selector): string;\n  markDirty(): void;\n  readonly options: VueTextDocumentOptions;\n  protected parse(): void;\n  static update(document: VueTextDocument, changes: TextDocumentContentChangeEvent[], version: number): VueTextDocument;\n}\n```\n\n**Members:**\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-all-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-all-member-1-\"></a>\n\n#### [all](#-vuedx-vue-virtual-textdocument-VueTextDocument-all-member-1-)\n\n\n\n**Signature:**\n```ts\nall(): VirtualTextDocument[];\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-blockAt-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-blockAt-member-1-\"></a>\n\n#### [blockAt](#-vuedx-vue-virtual-textdocument-VueTextDocument-blockAt-member-1-)\n\n\n\n**Signature:**\n```ts\nblockAt(position: Position | number): SFCBlock | null | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| position | <code><a href=\"#vscode-languageserver-textdocument-Position-interface\">Position</a> &#124; number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-create-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-create-member-1-\"></a>\n\n#### [create](#-vuedx-vue-virtual-textdocument-VueTextDocument-create-member-1-)\n\n\n\n**Signature:**\n```ts\nstatic create(uri: string, languageId: string, version: number, content: string, options?: VueTextDocumentOptions, parseOptions?: SFCParseOptions): VueTextDocument;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n| languageId | <code>string</code> | - |\n| version | <code>number</code> | - |\n| content | <code>string</code> | - |\n| options | <code><a href=\"#-vuedx-vue-virtual-textdocument--VueTextDocumentOptions-interface\">VueTextDocumentOptions</a></code> | - |\n| parseOptions | <code><a href=\"#-vue-compiler-sfc-SFCParseOptions-interface\">SFCParseOptions</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-createBlockDocument-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-createBlockDocument-member-1-\"></a>\n\n#### [createBlockDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-createBlockDocument-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected createBlockDocument(selector: BlockSelector): VirtualTextDocument | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selector | <code><a href=\"#-vuedx-vue-virtual-textdocument--BlockSelector-type\">BlockSelector</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-createInternalModuleDocument-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-createInternalModuleDocument-member-1-\"></a>\n\n#### [createInternalModuleDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-createInternalModuleDocument-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected createInternalModuleDocument(): TransformedBlockTextDocument;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-createModuleDocument-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-createModuleDocument-member-1-\"></a>\n\n#### [createModuleDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-createModuleDocument-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected createModuleDocument(): TransformedBlockTextDocument;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-createRenderDocument-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-createRenderDocument-member-1-\"></a>\n\n#### [createRenderDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-createRenderDocument-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected createRenderDocument(): RenderFunctionTextDocument;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-createTemplateASTDocument-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-createTemplateASTDocument-member-1-\"></a>\n\n#### [createTemplateASTDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-createTemplateASTDocument-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected createTemplateASTDocument(): TransformedBlockTextDocument;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-documentAt-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-documentAt-member-1-\"></a>\n\n#### [documentAt](#-vuedx-vue-virtual-textdocument-VueTextDocument-documentAt-member-1-)\n\n\n\n**Signature:**\n```ts\ndocumentAt(position: Position | number): VirtualTextDocument | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| position | <code><a href=\"#vscode-languageserver-textdocument-Position-interface\">Position</a> &#124; number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getBlock-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getBlock-member-1-\"></a>\n\n#### [getBlock](#-vuedx-vue-virtual-textdocument-VueTextDocument-getBlock-member-1-)\n\n\n\n**Signature:**\n```ts\ngetBlock(selector: BlockSelector): SFCBlock | null | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selector | <code><a href=\"#-vuedx-vue-virtual-textdocument--BlockSelector-type\">BlockSelector</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getBlockSelector-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getBlockSelector-member-1-\"></a>\n\n#### [getBlockSelector](#-vuedx-vue-virtual-textdocument-VueTextDocument-getBlockSelector-member-1-)\n\n\n\n**Signature:**\n```ts\ngetBlockSelector(block: SFCBlock): BlockSelector | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| block | <code><a href=\"#-vue-compiler-sfc-SFCBlock-interface\">SFCBlock</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-1-\"></a>\n\n#### [getDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-1-)\n\n\n\n**Signature:**\n```ts\ngetDocument(selector: typeof RENDER_SELECTOR): RenderFunctionTextDocument;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selector | <code>typeof <a href=\"#-vuedx-vue-virtual-textdocument--RENDER-SELECTOR-var\">RENDER_SELECTOR</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-2-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-2-\"></a>\n\n#### [getDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-2-)\n\n\n\n**Signature:**\n```ts\ngetDocument(selector: SelectorLike): VirtualTextDocument;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selector | <code><a href=\"#-vuedx-vue-virtual-textdocument--SelectorLike-type\">SelectorLike</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-3-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-3-\"></a>\n\n#### [getDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-3-)\n\n\n\n**Signature:**\n```ts\ngetDocument(selector: string): VirtualTextDocument | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selector | <code>string</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentFileName-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentFileName-member-1-\"></a>\n\n#### [getDocumentFileName](#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentFileName-member-1-)\n\n\n\n**Signature:**\n```ts\ngetDocumentFileName(selectorLike: SelectorLike): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selectorLike | <code><a href=\"#-vuedx-vue-virtual-textdocument--SelectorLike-type\">SelectorLike</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentId-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentId-member-1-\"></a>\n\n#### [getDocumentId](#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentId-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected getDocumentId(selector: Selector): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selector | <code><a href=\"#-vuedx-vue-virtual-textdocument--Selector-type\">Selector</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentLanguage-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentLanguage-member-1-\"></a>\n\n#### [getDocumentLanguage](#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentLanguage-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected getDocumentLanguage(selector: Selector): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selector | <code><a href=\"#-vuedx-vue-virtual-textdocument--Selector-type\">Selector</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-markDirty-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-markDirty-member-1-\"></a>\n\n#### [markDirty](#-vuedx-vue-virtual-textdocument-VueTextDocument-markDirty-member-1-)\n\n\n\n**Signature:**\n```ts\nmarkDirty(): void;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-parse-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-parse-member-1-\"></a>\n\n#### [parse](#-vuedx-vue-virtual-textdocument-VueTextDocument-parse-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected parse(): void;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-update-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-update-member-1-\"></a>\n\n#### [update](#-vuedx-vue-virtual-textdocument-VueTextDocument-update-member-1-)\n\n\n\n**Signature:**\n```ts\nstatic update(document: VueTextDocument, changes: TextDocumentContentChangeEvent[], version: number): VueTextDocument;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| document | <code><a href=\"#-vuedx-vue-virtual-textdocument--VueTextDocument-class\">VueTextDocument</a></code> | - |\n| changes | <code><a href=\"#vscode-languageserver-textdocument-TextDocumentContentChangeEvent-type\">TextDocumentContentChangeEvent</a>[]</code> | - |\n| version | <code>number</code> | - |\n\n<br>\n</details>\n\n<br>\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-asFsPath-function-1-\" id=\"-vuedx-vue-virtual-textdocument-asFsPath-function-1-\"></a>\n\n### [asFsPath](#-vuedx-vue-virtual-textdocument-asFsPath-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function asFsPath(uri: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-asFsUri-function-1-\" id=\"-vuedx-vue-virtual-textdocument-asFsUri-function-1-\"></a>\n\n### [asFsUri](#-vuedx-vue-virtual-textdocument-asFsUri-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function asFsUri(fileName: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-asUri-function-1-\" id=\"-vuedx-vue-virtual-textdocument-asUri-function-1-\"></a>\n\n### [asUri](#-vuedx-vue-virtual-textdocument-asUri-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function asUri(fileNameOrUri: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileNameOrUri | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-basename-function-1-\" id=\"-vuedx-vue-virtual-textdocument-basename-function-1-\"></a>\n\n### [basename](#-vuedx-vue-virtual-textdocument-basename-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function basename(fileName: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-binarySearch-function-1-\" id=\"-vuedx-vue-virtual-textdocument-binarySearch-function-1-\"></a>\n\n### [binarySearch](#-vuedx-vue-virtual-textdocument-binarySearch-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function binarySearch<T>(array: T[], isMatch: (a: T) => number, returnMin?: boolean): T | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| array | <code>T[]</code> | - |\n| isMatch | <code>(a: T) => number</code> | - |\n| returnMin | <code>boolean</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-getBlockLanguage-function-1-\" id=\"-vuedx-vue-virtual-textdocument-getBlockLanguage-function-1-\"></a>\n\n### [getBlockLanguage](#-vuedx-vue-virtual-textdocument-getBlockLanguage-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function getBlockLanguage(block?: SFCBlock | null): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| block | <code><a href=\"#-vue-compiler-sfc-SFCBlock-interface\">SFCBlock</a> &#124; null</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-getContainingFile-function-1-\" id=\"-vuedx-vue-virtual-textdocument-getContainingFile-function-1-\"></a>\n\n### [getContainingFile](#-vuedx-vue-virtual-textdocument-getContainingFile-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function getContainingFile(fileName: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-getLanguageExtension-function-1-\" id=\"-vuedx-vue-virtual-textdocument-getLanguageExtension-function-1-\"></a>\n\n### [getLanguageExtension](#-vuedx-vue-virtual-textdocument-getLanguageExtension-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function getLanguageExtension(lang: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| lang | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-getLanguageIdFromExtension-function-1-\" id=\"-vuedx-vue-virtual-textdocument-getLanguageIdFromExtension-function-1-\"></a>\n\n### [getLanguageIdFromExtension](#-vuedx-vue-virtual-textdocument-getLanguageIdFromExtension-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function getLanguageIdFromExtension(ext: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| ext | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-isOffsetInBlock-function-1-\" id=\"-vuedx-vue-virtual-textdocument-isOffsetInBlock-function-1-\"></a>\n\n### [isOffsetInBlock](#-vuedx-vue-virtual-textdocument-isOffsetInBlock-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function isOffsetInBlock(offset: number, block?: SFCBlock | null): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n| block | <code><a href=\"#-vue-compiler-sfc-SFCBlock-interface\">SFCBlock</a> &#124; null</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-isVirtualFile-function-1-\" id=\"-vuedx-vue-virtual-textdocument-isVirtualFile-function-1-\"></a>\n\n### [isVirtualFile](#-vuedx-vue-virtual-textdocument-isVirtualFile-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function isVirtualFile(fileName: string): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-isVirtualFileOfType-function-1-\" id=\"-vuedx-vue-virtual-textdocument-isVirtualFileOfType-function-1-\"></a>\n\n### [isVirtualFileOfType](#-vuedx-vue-virtual-textdocument-isVirtualFileOfType-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function isVirtualFileOfType(fileName: string, type: '_render' | '_module' | '_internal' | 'script' | 'scriptSetup'): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n| type | <code>'_render' &#124; '_module' &#124; '_internal' &#124; 'script' &#124; 'scriptSetup'</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-isVueFile-function-1-\" id=\"-vuedx-vue-virtual-textdocument-isVueFile-function-1-\"></a>\n\n### [isVueFile](#-vuedx-vue-virtual-textdocument-isVueFile-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function isVueFile(fileName: string): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-parseVirtualFileName-function-1-\" id=\"-vuedx-vue-virtual-textdocument-parseVirtualFileName-function-1-\"></a>\n\n### [parseVirtualFileName](#-vuedx-vue-virtual-textdocument-parseVirtualFileName-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function parseVirtualFileName(fileName: string): {\n    uri: string;\n    selector: Selector;\n} | null;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-relativeVirtualImportPath-function-1-\" id=\"-vuedx-vue-virtual-textdocument-relativeVirtualImportPath-function-1-\"></a>\n\n### [relativeVirtualImportPath](#-vuedx-vue-virtual-textdocument-relativeVirtualImportPath-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function relativeVirtualImportPath(fileName: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-replaceSlashes-function-1-\" id=\"-vuedx-vue-virtual-textdocument-replaceSlashes-function-1-\"></a>\n\n### [replaceSlashes](#-vuedx-vue-virtual-textdocument-replaceSlashes-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function replaceSlashes(fileName: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n<!-- #region API-DOCS -->\n","readmeFilename":"readme.md","gitHead":"5f00d10baabc05084cc9543a38684d456a81fade","_id":"@vuedx/vue-virtual-textdocument@0.7.5-next-1649583602.0","_nodeVersion":"16.14.2","_npmVersion":"8.5.0","dist":{"integrity":"sha512-wvXQfssXPxYpn+2e5yxUPeubxFzkrHlR0ilRQOYFaGvqAPe6baUA1RPorpJs6ChKKb06B33OrVct5lliVa/Qjw==","shasum":"f3e3fd4c049f27732a3f12cb8c7f36f83e80b1cd","tarball":"https://registry.npmjs.org/@vuedx/vue-virtual-textdocument/-/vue-virtual-textdocument-0.7.5-next-1649583602.0.tgz","fileCount":8,"unpackedSize":225333,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCy0YG8hG24LW/1s+lAelEcwGNIw+kTMpzv0ebwjPM+ywIgbftyVVfQosxy1+It73dXePq6pG5eeuUxzY5wVDrolg8="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiUqYJACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmomHg//ZBwZZTHXE9Vd070+PlyUMQg4GKSmTbLNcFgNLDhujG6uNFkd\r\n7zSp6nTwC/DEV+GYKsMt7ON2oqLiocOE0ELGZS6eDcUt8AZcqB7RdUK9Jj2i\r\nkeCQxuATHPeNvQIWvPDbIt6crpIssLRBFczZ2k7/RWyQjfS4gAYBAdba/RHA\r\n9sVUzfgtwK0C61RYRbH8U1thmTpRZmnz2wbZ/0mXBqJdc3TyJfYyNEyc9HkR\r\nX+0As7wLZhXchchWmTYyH8QlhWhQP7FiNebIFfjmJd5IdhjFgEljgCfbfNLN\r\nE3BvpL6nxRDMeJ4EZYu5Am6h/Gp0w2m84romxOb0SDQGz8mvlUyiyRRLeFNc\r\nIlyjzocX/XOBr1xYt1vhHFQ4a/eemmLjJ8o7s/cViDPJ1SFtoCyr3guClNt2\r\nVFsi1W1WKJG5O3Qe3SUizDVhK0HRoqlCD37O8bUkBhn3mzJV8aqm+5NBnoRg\r\nQZCYTZUIv1oRGBRkez38SBvTENutYKIjvGPhLAx/YZSvItreJamJhvTkYiCK\r\naSv1ekwd4hFRdwdZILnMwHtDZTaieZIiztBx94DHNElJGY/Q3T0rVrebpBGs\r\nDJIns9eUV/PoW/cy8d5scjifRhEylh+LXfRWbQvAGQpXgBtBNyQ4G832aiCc\r\ng5NY+LHX9af3Y9RvOI1f8/dxPzeuJaGdBQc=\r\n=oN0L\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"znck","email":"rahulkdn@gmail.com"},"directories":{},"maintainers":[{"name":"znck","email":"rahulkdn@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/vue-virtual-textdocument_0.7.5-next-1649583602.0_1649583625718_0.781449902674586"},"_hasShrinkwrap":false},"0.7.5-next-1649585554.0":{"name":"@vuedx/vue-virtual-textdocument","version":"0.7.5-next-1649585554.0","description":"A virtual filesystem to access blocks in SFC as files","main":"lib/index.js","module":"lib/index.mjs","types":"lib/index.d.ts","publishConfig":{"types":"lib/index.d.ts"},"private":false,"keywords":["vue","vue sfc","sfc","vue virtual files"],"repository":{"type":"git","url":"git+https://github.com/znck/vue-developer-experience.git"},"author":{"name":"Rahul Kadyan","email":"rahulkdn@gmail.com","url":"https://znck.me/"},"funding":{"type":"individual","url":"https://github.com/sponsors/znck"},"license":"MIT","bugs":{"url":"https://github.com/znck/vue-developer-experience/issues"},"homepage":"https://github.com/znck/vue-developer-experience#readme","dependencies":{"@vuedx/compiler-sfc":"0.7.2-next-1649585554.0","@vuedx/compiler-tsx":"0.7.5-next-1649585554.0","@vuedx/shared":"0.7.4-next-1649585554.0","@vuedx/template-ast-types":"0.7.3-next-1649585554.0","@vuedx/transforms":"0.7.5-next-1649585554.0","source-map":"^0.6.1","vscode-languageserver-textdocument":"^1.0.1","vscode-uri":"^2.1.2"},"devDependencies":{"typescript":"^4.0.3"},"scripts":{},"readme":"# Vue Virtual TextDocument\n\nAn implementation of virtual filesystem for accessing blocks in a `.vue` file as independent files.\n\n## Support\n\nThis package is part of [VueDX project](https://github.com/znck/vue-developer-experience), maintained by [Rahul Kadyan](https://github.com/znck). You can [💖 sponsor him](https://github.com/sponsors/znck) for continued development of this package and other VueDX tools.\n\n```\nnpm add @vuedx/vue-virtual-textdocument\n```\n<!-- #region API-DOCS -->\n<!-- Do not edit this file. It is a report generated by [scripts/docgen.js](https://github.com/znck/vue-developer-experience/tree/main/scripts/docgen.js). -->\n\n## API\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-AsyncDocumentStore-class\" id=\"-vuedx-vue-virtual-textdocument-AsyncDocumentStore-class\"></a>\n\n### [AsyncDocumentStore](#-vuedx-vue-virtual-textdocument-AsyncDocumentStore-class)\n\n\n\n<details><summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare class AsyncDocumentStore<T> extends DocumentStore<T> {\n  constructor(resolve: (uri: string) => T | Promise<T | null> | null, normalize?: (uri: string) => string);\n  get(uri: string): T | null;\n  get(uri: string): Promise<T | null>;\n}\n```\n\n**Members:**\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-AsyncDocumentStore-get-member-1-\" id=\"-vuedx-vue-virtual-textdocument-AsyncDocumentStore-get-member-1-\"></a>\n\n#### [get](#-vuedx-vue-virtual-textdocument-AsyncDocumentStore-get-member-1-)\n\n\n\n**Signature:**\n```ts\nget(uri: string): T | null;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-AsyncDocumentStore-get-member-2-\" id=\"-vuedx-vue-virtual-textdocument-AsyncDocumentStore-get-member-2-\"></a>\n\n#### [get](#-vuedx-vue-virtual-textdocument-AsyncDocumentStore-get-member-2-)\n\n\n\n**Signature:**\n```ts\nget(uri: string): Promise<T | null>;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n\n<br>\n</details>\n\n<br>\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-class\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-class\"></a>\n\n### [DocumentStore](#-vuedx-vue-virtual-textdocument-DocumentStore-class)\n\n\n\n<details><summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare class DocumentStore<T> {\n  constructor(resolve: (uri: string) => T | null, normalize?: (uri: string) => string);\n  all(): string[];\n  delete(uri: string): boolean;\n  dispose(): void;\n  get(uri: string): T | null;\n  protected getNormalizedUri(uri: string): string;\n  has(uri: string): boolean;\n  protected map: Map<string, T>;\n  normalize: (uri: string) => string;\n  protected resolve: (uri: string) => T | null;\n  protected reverseUriMap: Map<string, string>;\n  set(uri: string, document: T): void;\n}\n```\n\n**Members:**\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-all-member-1-\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-all-member-1-\"></a>\n\n#### [all](#-vuedx-vue-virtual-textdocument-DocumentStore-all-member-1-)\n\n\n\n**Signature:**\n```ts\nall(): string[];\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-delete-member-1-\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-delete-member-1-\"></a>\n\n#### [delete](#-vuedx-vue-virtual-textdocument-DocumentStore-delete-member-1-)\n\n\n\n**Signature:**\n```ts\ndelete(uri: string): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-dispose-member-1-\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-dispose-member-1-\"></a>\n\n#### [dispose](#-vuedx-vue-virtual-textdocument-DocumentStore-dispose-member-1-)\n\n\n\n**Signature:**\n```ts\ndispose(): void;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-get-member-1-\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-get-member-1-\"></a>\n\n#### [get](#-vuedx-vue-virtual-textdocument-DocumentStore-get-member-1-)\n\n\n\n**Signature:**\n```ts\nget(uri: string): T | null;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-getNormalizedUri-member-1-\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-getNormalizedUri-member-1-\"></a>\n\n#### [getNormalizedUri](#-vuedx-vue-virtual-textdocument-DocumentStore-getNormalizedUri-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected getNormalizedUri(uri: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-has-member-1-\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-has-member-1-\"></a>\n\n#### [has](#-vuedx-vue-virtual-textdocument-DocumentStore-has-member-1-)\n\n\n\n**Signature:**\n```ts\nhas(uri: string): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-set-member-1-\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-set-member-1-\"></a>\n\n#### [set](#-vuedx-vue-virtual-textdocument-DocumentStore-set-member-1-)\n\n\n\n**Signature:**\n```ts\nset(uri: string, document: T): void;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n| document | <code>T</code> | - |\n\n<br>\n</details>\n\n<br>\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-class\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-class\"></a>\n\n### [RenderFunctionTextDocument](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-class)\n\n\n\n<details><summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare class RenderFunctionTextDocument extends TransformedBlockTextDocument {\n  constructor(container: VueTextDocument, selector: Selector, transformed: TextDocument, source: TextDocument);\n  get ast(): CodegenResult['ast'] | undefined;\n  get contextCompletionsTriggerOffset(): number;\n  static create(options: CreateVirtualTextDocumentOptions): RenderFunctionTextDocument;\n  findExpression(offset: number, length: number): undefined | {\n        offset: number;\n        length: number;\n    };\n  protected generate(): string;\n  getAllGeneratedOffsetsAt(offset: number): undefined | Array<{\n        length: number;\n        offset: number;\n    }>;\n  getGeneratedOffsetAt(offset: number): undefined | {\n        length: number;\n        offset: number;\n    };\n  protected getKnownComponents(): Record<string, ComponentImport>;\n  getOriginalOffsetAt(offset: number): undefined | {\n        offset: number;\n        length: number;\n    };\n  isInGeneratedRange(offset: number): boolean;\n  isInTemplateIdentifierRange(offset: number): boolean;\n  get parserErrors(): CodegenResult['errors'];\n  get tagCompletionsTriggerOffset(): number;\n  toDisplayMappings(): string;\n  protected tryGenerate(): string;\n}\n```\n\n**Members:**\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-create-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-create-member-1-\"></a>\n\n#### [create](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-create-member-1-)\n\n\n\n**Signature:**\n```ts\nstatic create(options: CreateVirtualTextDocumentOptions): RenderFunctionTextDocument;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| options | <code><a href=\"#-vuedx-vue-virtual-textdocument--CreateVirtualTextDocumentOptions-interface\">CreateVirtualTextDocumentOptions</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-findExpression-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-findExpression-member-1-\"></a>\n\n#### [findExpression](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-findExpression-member-1-)\n\n\n\n**Signature:**\n```ts\nfindExpression(offset: number, length: number): undefined | {\n        offset: number;\n        length: number;\n    };\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n| length | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-generate-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-generate-member-1-\"></a>\n\n#### [generate](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-generate-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected generate(): string;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getAllGeneratedOffsetsAt-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getAllGeneratedOffsetsAt-member-1-\"></a>\n\n#### [getAllGeneratedOffsetsAt](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getAllGeneratedOffsetsAt-member-1-)\n\n\n\n**Signature:**\n```ts\ngetAllGeneratedOffsetsAt(offset: number): undefined | Array<{\n        length: number;\n        offset: number;\n    }>;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getGeneratedOffsetAt-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getGeneratedOffsetAt-member-1-\"></a>\n\n#### [getGeneratedOffsetAt](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getGeneratedOffsetAt-member-1-)\n\n\n\n**Signature:**\n```ts\ngetGeneratedOffsetAt(offset: number): undefined | {\n        length: number;\n        offset: number;\n    };\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getKnownComponents-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getKnownComponents-member-1-\"></a>\n\n#### [getKnownComponents](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getKnownComponents-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected getKnownComponents(): Record<string, ComponentImport>;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getOriginalOffsetAt-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getOriginalOffsetAt-member-1-\"></a>\n\n#### [getOriginalOffsetAt](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getOriginalOffsetAt-member-1-)\n\n\n\n**Signature:**\n```ts\ngetOriginalOffsetAt(offset: number): undefined | {\n        offset: number;\n        length: number;\n    };\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-isInGeneratedRange-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-isInGeneratedRange-member-1-\"></a>\n\n#### [isInGeneratedRange](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-isInGeneratedRange-member-1-)\n\n\n\n**Signature:**\n```ts\nisInGeneratedRange(offset: number): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-isInTemplateIdentifierRange-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-isInTemplateIdentifierRange-member-1-\"></a>\n\n#### [isInTemplateIdentifierRange](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-isInTemplateIdentifierRange-member-1-)\n\n\n\n**Signature:**\n```ts\nisInTemplateIdentifierRange(offset: number): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-toDisplayMappings-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-toDisplayMappings-member-1-\"></a>\n\n#### [toDisplayMappings](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-toDisplayMappings-member-1-)\n\n\n\n**Signature:**\n```ts\ntoDisplayMappings(): string;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-tryGenerate-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-tryGenerate-member-1-\"></a>\n\n#### [tryGenerate](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-tryGenerate-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected tryGenerate(): string;\n```\n\n\n<br>\n</details>\n\n<br>\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-class\" id=\"-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-class\"></a>\n\n### [TransformedBlockTextDocument](#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-class)\n\n\n\n<details><summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare class TransformedBlockTextDocument extends VirtualTextDocument {\n  protected constructor(container: VueTextDocument, selector: Selector, transformed: TextDocument, source: TextDocument | VirtualTextDocument, _transform: (document: TransformedBlockTextDocument) => BlockTransformResult);\n  static create(options: CreateTransformedBlockTextDocumentOptions): TransformedBlockTextDocument;\n  protected refresh(): void;\n  transform(): BlockTransformResult;\n  tryGetGeneratedOffset(offset: number): number | undefined;\n  tryGetSourceOffset(offset: number): number | undefined;\n}\n```\n\n**Members:**\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-create-member-1-\" id=\"-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-create-member-1-\"></a>\n\n#### [create](#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-create-member-1-)\n\n\n\n**Signature:**\n```ts\nstatic create(options: CreateTransformedBlockTextDocumentOptions): TransformedBlockTextDocument;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| options | <code><a href=\"#-vuedx-vue-virtual-textdocument--CreateTransformedBlockTextDocumentOptions-interface\">CreateTransformedBlockTextDocumentOptions</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-refresh-member-1-\" id=\"-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-refresh-member-1-\"></a>\n\n#### [refresh](#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-refresh-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected refresh(): void;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-transform-member-1-\" id=\"-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-transform-member-1-\"></a>\n\n#### [transform](#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-transform-member-1-)\n\n\n\n**Signature:**\n```ts\ntransform(): BlockTransformResult;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-tryGetGeneratedOffset-member-1-\" id=\"-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-tryGetGeneratedOffset-member-1-\"></a>\n\n#### [tryGetGeneratedOffset](#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-tryGetGeneratedOffset-member-1-)\n\n\n\n**Signature:**\n```ts\ntryGetGeneratedOffset(offset: number): number | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-tryGetSourceOffset-member-1-\" id=\"-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-tryGetSourceOffset-member-1-\"></a>\n\n#### [tryGetSourceOffset](#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-tryGetSourceOffset-member-1-)\n\n\n\n**Signature:**\n```ts\ntryGetSourceOffset(offset: number): number | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n</details>\n\n<br>\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VirtualTextDocument-class\" id=\"-vuedx-vue-virtual-textdocument-VirtualTextDocument-class\"></a>\n\n### [VirtualTextDocument](#-vuedx-vue-virtual-textdocument-VirtualTextDocument-class)\n\n\n\n<details><summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare class VirtualTextDocument extends ProxyTextDocument {\n  protected constructor(container: VueTextDocument, selector: Selector, doc: TextDocument);\n  readonly container: VueTextDocument;\n  static create(options: CreateVirtualTextDocumentOptions): VirtualTextDocument;\n  protected isDirty: boolean;\n  markDirty(): void;\n  protected refresh(): void;\n  readonly selector: Selector;\n}\n```\n\n**Members:**\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VirtualTextDocument-create-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VirtualTextDocument-create-member-1-\"></a>\n\n#### [create](#-vuedx-vue-virtual-textdocument-VirtualTextDocument-create-member-1-)\n\n\n\n**Signature:**\n```ts\nstatic create(options: CreateVirtualTextDocumentOptions): VirtualTextDocument;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| options | <code><a href=\"#-vuedx-vue-virtual-textdocument--CreateVirtualTextDocumentOptions-interface\">CreateVirtualTextDocumentOptions</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VirtualTextDocument-markDirty-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VirtualTextDocument-markDirty-member-1-\"></a>\n\n#### [markDirty](#-vuedx-vue-virtual-textdocument-VirtualTextDocument-markDirty-member-1-)\n\n\n\n**Signature:**\n```ts\nmarkDirty(): void;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VirtualTextDocument-refresh-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VirtualTextDocument-refresh-member-1-\"></a>\n\n#### [refresh](#-vuedx-vue-virtual-textdocument-VirtualTextDocument-refresh-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected refresh(): void;\n```\n\n\n<br>\n</details>\n\n<br>\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-class\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-class\"></a>\n\n### [VueTextDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-class)\n\n\n\n<details><summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare class VueTextDocument extends ProxyTextDocument {\n  constructor(doc: TextDocument, options?: VueTextDocumentOptions, parseOptions?: SFCParseOptions);\n  all(): VirtualTextDocument[];\n  blockAt(position: Position | number): SFCBlock | null | undefined;\n  static create(uri: string, languageId: string, version: number, content: string, options?: VueTextDocumentOptions, parseOptions?: SFCParseOptions): VueTextDocument;\n  protected createBlockDocument(selector: BlockSelector): VirtualTextDocument | undefined;\n  protected createInternalModuleDocument(): TransformedBlockTextDocument;\n  protected createModuleDocument(): TransformedBlockTextDocument;\n  protected createRenderDocument(): RenderFunctionTextDocument;\n  protected createTemplateASTDocument(): TransformedBlockTextDocument;\n  get descriptor(): SFCDescriptor;\n  documentAt(position: Position | number): VirtualTextDocument | undefined;\n  getBlock(selector: BlockSelector): SFCBlock | null | undefined;\n  getBlockSelector(block: SFCBlock): BlockSelector | undefined;\n  getDocument(selector: typeof RENDER_SELECTOR): RenderFunctionTextDocument;\n  getDocument(selector: SelectorLike): VirtualTextDocument;\n  getDocument(selector: string): VirtualTextDocument | undefined;\n  getDocumentFileName(selectorLike: SelectorLike): string;\n  protected getDocumentId(selector: Selector): string;\n  protected getDocumentLanguage(selector: Selector): string;\n  markDirty(): void;\n  readonly options: VueTextDocumentOptions;\n  protected parse(): void;\n  static update(document: VueTextDocument, changes: TextDocumentContentChangeEvent[], version: number): VueTextDocument;\n}\n```\n\n**Members:**\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-all-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-all-member-1-\"></a>\n\n#### [all](#-vuedx-vue-virtual-textdocument-VueTextDocument-all-member-1-)\n\n\n\n**Signature:**\n```ts\nall(): VirtualTextDocument[];\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-blockAt-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-blockAt-member-1-\"></a>\n\n#### [blockAt](#-vuedx-vue-virtual-textdocument-VueTextDocument-blockAt-member-1-)\n\n\n\n**Signature:**\n```ts\nblockAt(position: Position | number): SFCBlock | null | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| position | <code><a href=\"#vscode-languageserver-textdocument-Position-interface\">Position</a> &#124; number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-create-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-create-member-1-\"></a>\n\n#### [create](#-vuedx-vue-virtual-textdocument-VueTextDocument-create-member-1-)\n\n\n\n**Signature:**\n```ts\nstatic create(uri: string, languageId: string, version: number, content: string, options?: VueTextDocumentOptions, parseOptions?: SFCParseOptions): VueTextDocument;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n| languageId | <code>string</code> | - |\n| version | <code>number</code> | - |\n| content | <code>string</code> | - |\n| options | <code><a href=\"#-vuedx-vue-virtual-textdocument--VueTextDocumentOptions-interface\">VueTextDocumentOptions</a></code> | - |\n| parseOptions | <code><a href=\"#-vue-compiler-sfc-SFCParseOptions-interface\">SFCParseOptions</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-createBlockDocument-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-createBlockDocument-member-1-\"></a>\n\n#### [createBlockDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-createBlockDocument-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected createBlockDocument(selector: BlockSelector): VirtualTextDocument | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selector | <code><a href=\"#-vuedx-vue-virtual-textdocument--BlockSelector-type\">BlockSelector</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-createInternalModuleDocument-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-createInternalModuleDocument-member-1-\"></a>\n\n#### [createInternalModuleDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-createInternalModuleDocument-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected createInternalModuleDocument(): TransformedBlockTextDocument;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-createModuleDocument-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-createModuleDocument-member-1-\"></a>\n\n#### [createModuleDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-createModuleDocument-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected createModuleDocument(): TransformedBlockTextDocument;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-createRenderDocument-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-createRenderDocument-member-1-\"></a>\n\n#### [createRenderDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-createRenderDocument-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected createRenderDocument(): RenderFunctionTextDocument;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-createTemplateASTDocument-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-createTemplateASTDocument-member-1-\"></a>\n\n#### [createTemplateASTDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-createTemplateASTDocument-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected createTemplateASTDocument(): TransformedBlockTextDocument;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-documentAt-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-documentAt-member-1-\"></a>\n\n#### [documentAt](#-vuedx-vue-virtual-textdocument-VueTextDocument-documentAt-member-1-)\n\n\n\n**Signature:**\n```ts\ndocumentAt(position: Position | number): VirtualTextDocument | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| position | <code><a href=\"#vscode-languageserver-textdocument-Position-interface\">Position</a> &#124; number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getBlock-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getBlock-member-1-\"></a>\n\n#### [getBlock](#-vuedx-vue-virtual-textdocument-VueTextDocument-getBlock-member-1-)\n\n\n\n**Signature:**\n```ts\ngetBlock(selector: BlockSelector): SFCBlock | null | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selector | <code><a href=\"#-vuedx-vue-virtual-textdocument--BlockSelector-type\">BlockSelector</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getBlockSelector-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getBlockSelector-member-1-\"></a>\n\n#### [getBlockSelector](#-vuedx-vue-virtual-textdocument-VueTextDocument-getBlockSelector-member-1-)\n\n\n\n**Signature:**\n```ts\ngetBlockSelector(block: SFCBlock): BlockSelector | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| block | <code><a href=\"#-vue-compiler-sfc-SFCBlock-interface\">SFCBlock</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-1-\"></a>\n\n#### [getDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-1-)\n\n\n\n**Signature:**\n```ts\ngetDocument(selector: typeof RENDER_SELECTOR): RenderFunctionTextDocument;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selector | <code>typeof <a href=\"#-vuedx-vue-virtual-textdocument--RENDER-SELECTOR-var\">RENDER_SELECTOR</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-2-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-2-\"></a>\n\n#### [getDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-2-)\n\n\n\n**Signature:**\n```ts\ngetDocument(selector: SelectorLike): VirtualTextDocument;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selector | <code><a href=\"#-vuedx-vue-virtual-textdocument--SelectorLike-type\">SelectorLike</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-3-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-3-\"></a>\n\n#### [getDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-3-)\n\n\n\n**Signature:**\n```ts\ngetDocument(selector: string): VirtualTextDocument | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selector | <code>string</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentFileName-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentFileName-member-1-\"></a>\n\n#### [getDocumentFileName](#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentFileName-member-1-)\n\n\n\n**Signature:**\n```ts\ngetDocumentFileName(selectorLike: SelectorLike): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selectorLike | <code><a href=\"#-vuedx-vue-virtual-textdocument--SelectorLike-type\">SelectorLike</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentId-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentId-member-1-\"></a>\n\n#### [getDocumentId](#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentId-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected getDocumentId(selector: Selector): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selector | <code><a href=\"#-vuedx-vue-virtual-textdocument--Selector-type\">Selector</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentLanguage-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentLanguage-member-1-\"></a>\n\n#### [getDocumentLanguage](#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentLanguage-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected getDocumentLanguage(selector: Selector): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selector | <code><a href=\"#-vuedx-vue-virtual-textdocument--Selector-type\">Selector</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-markDirty-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-markDirty-member-1-\"></a>\n\n#### [markDirty](#-vuedx-vue-virtual-textdocument-VueTextDocument-markDirty-member-1-)\n\n\n\n**Signature:**\n```ts\nmarkDirty(): void;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-parse-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-parse-member-1-\"></a>\n\n#### [parse](#-vuedx-vue-virtual-textdocument-VueTextDocument-parse-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected parse(): void;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-update-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-update-member-1-\"></a>\n\n#### [update](#-vuedx-vue-virtual-textdocument-VueTextDocument-update-member-1-)\n\n\n\n**Signature:**\n```ts\nstatic update(document: VueTextDocument, changes: TextDocumentContentChangeEvent[], version: number): VueTextDocument;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| document | <code><a href=\"#-vuedx-vue-virtual-textdocument--VueTextDocument-class\">VueTextDocument</a></code> | - |\n| changes | <code><a href=\"#vscode-languageserver-textdocument-TextDocumentContentChangeEvent-type\">TextDocumentContentChangeEvent</a>[]</code> | - |\n| version | <code>number</code> | - |\n\n<br>\n</details>\n\n<br>\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-asFsPath-function-1-\" id=\"-vuedx-vue-virtual-textdocument-asFsPath-function-1-\"></a>\n\n### [asFsPath](#-vuedx-vue-virtual-textdocument-asFsPath-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function asFsPath(uri: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-asFsUri-function-1-\" id=\"-vuedx-vue-virtual-textdocument-asFsUri-function-1-\"></a>\n\n### [asFsUri](#-vuedx-vue-virtual-textdocument-asFsUri-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function asFsUri(fileName: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-asUri-function-1-\" id=\"-vuedx-vue-virtual-textdocument-asUri-function-1-\"></a>\n\n### [asUri](#-vuedx-vue-virtual-textdocument-asUri-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function asUri(fileNameOrUri: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileNameOrUri | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-basename-function-1-\" id=\"-vuedx-vue-virtual-textdocument-basename-function-1-\"></a>\n\n### [basename](#-vuedx-vue-virtual-textdocument-basename-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function basename(fileName: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-binarySearch-function-1-\" id=\"-vuedx-vue-virtual-textdocument-binarySearch-function-1-\"></a>\n\n### [binarySearch](#-vuedx-vue-virtual-textdocument-binarySearch-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function binarySearch<T>(array: T[], isMatch: (a: T) => number, returnMin?: boolean): T | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| array | <code>T[]</code> | - |\n| isMatch | <code>(a: T) => number</code> | - |\n| returnMin | <code>boolean</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-getBlockLanguage-function-1-\" id=\"-vuedx-vue-virtual-textdocument-getBlockLanguage-function-1-\"></a>\n\n### [getBlockLanguage](#-vuedx-vue-virtual-textdocument-getBlockLanguage-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function getBlockLanguage(block?: SFCBlock | null): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| block | <code><a href=\"#-vue-compiler-sfc-SFCBlock-interface\">SFCBlock</a> &#124; null</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-getContainingFile-function-1-\" id=\"-vuedx-vue-virtual-textdocument-getContainingFile-function-1-\"></a>\n\n### [getContainingFile](#-vuedx-vue-virtual-textdocument-getContainingFile-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function getContainingFile(fileName: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-getLanguageExtension-function-1-\" id=\"-vuedx-vue-virtual-textdocument-getLanguageExtension-function-1-\"></a>\n\n### [getLanguageExtension](#-vuedx-vue-virtual-textdocument-getLanguageExtension-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function getLanguageExtension(lang: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| lang | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-getLanguageIdFromExtension-function-1-\" id=\"-vuedx-vue-virtual-textdocument-getLanguageIdFromExtension-function-1-\"></a>\n\n### [getLanguageIdFromExtension](#-vuedx-vue-virtual-textdocument-getLanguageIdFromExtension-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function getLanguageIdFromExtension(ext: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| ext | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-isOffsetInBlock-function-1-\" id=\"-vuedx-vue-virtual-textdocument-isOffsetInBlock-function-1-\"></a>\n\n### [isOffsetInBlock](#-vuedx-vue-virtual-textdocument-isOffsetInBlock-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function isOffsetInBlock(offset: number, block?: SFCBlock | null): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n| block | <code><a href=\"#-vue-compiler-sfc-SFCBlock-interface\">SFCBlock</a> &#124; null</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-isVirtualFile-function-1-\" id=\"-vuedx-vue-virtual-textdocument-isVirtualFile-function-1-\"></a>\n\n### [isVirtualFile](#-vuedx-vue-virtual-textdocument-isVirtualFile-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function isVirtualFile(fileName: string): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-isVirtualFileOfType-function-1-\" id=\"-vuedx-vue-virtual-textdocument-isVirtualFileOfType-function-1-\"></a>\n\n### [isVirtualFileOfType](#-vuedx-vue-virtual-textdocument-isVirtualFileOfType-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function isVirtualFileOfType(fileName: string, type: '_render' | '_module' | '_internal' | 'script' | 'scriptSetup'): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n| type | <code>'_render' &#124; '_module' &#124; '_internal' &#124; 'script' &#124; 'scriptSetup'</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-isVueFile-function-1-\" id=\"-vuedx-vue-virtual-textdocument-isVueFile-function-1-\"></a>\n\n### [isVueFile](#-vuedx-vue-virtual-textdocument-isVueFile-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function isVueFile(fileName: string): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-parseVirtualFileName-function-1-\" id=\"-vuedx-vue-virtual-textdocument-parseVirtualFileName-function-1-\"></a>\n\n### [parseVirtualFileName](#-vuedx-vue-virtual-textdocument-parseVirtualFileName-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function parseVirtualFileName(fileName: string): {\n    uri: string;\n    selector: Selector;\n} | null;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-relativeVirtualImportPath-function-1-\" id=\"-vuedx-vue-virtual-textdocument-relativeVirtualImportPath-function-1-\"></a>\n\n### [relativeVirtualImportPath](#-vuedx-vue-virtual-textdocument-relativeVirtualImportPath-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function relativeVirtualImportPath(fileName: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-replaceSlashes-function-1-\" id=\"-vuedx-vue-virtual-textdocument-replaceSlashes-function-1-\"></a>\n\n### [replaceSlashes](#-vuedx-vue-virtual-textdocument-replaceSlashes-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function replaceSlashes(fileName: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n<!-- #region API-DOCS -->\n","readmeFilename":"readme.md","gitHead":"485440924b3d1acbfb86591a0b3c6683de22c45c","_id":"@vuedx/vue-virtual-textdocument@0.7.5-next-1649585554.0","_nodeVersion":"16.14.2","_npmVersion":"8.5.0","dist":{"integrity":"sha512-3OgnUkDUaTiQgzW9f8Z2uQsqj07BceAA2y1IxQ3k46bvnWRobGQJoLxJlhRVPJXQEJH9oFJsGRbzzp02vCfI+w==","shasum":"d6e8bbc8d86809c3f96d72bf662f0463954cbf4e","tarball":"https://registry.npmjs.org/@vuedx/vue-virtual-textdocument/-/vue-virtual-textdocument-0.7.5-next-1649585554.0.tgz","fileCount":8,"unpackedSize":225333,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDmO7/aR5EW8Ncv1zfN08LdqdHbRPcx2SZA31jVySI3pAIgfd6wYBOlYwN4mVgP3oYJCLKHuMLuNBF8bZ9EhCEXDOU="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiUq2oACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmoV0RAAjx++BxaHdR1Q7/Tmxa0l91tpM1xfjukm3KYL9YCab8a7hilT\r\nBNu4XRh5xFjoGKri/jWKL4MGX5HCKY+bKZDVzOWM2s6UzfdqHl3hpImQs+oP\r\nPEnjFMBeRwpR4EMUIodkT8T9dv9NbOXNJPIMBTaVIGUi8XDGdMbtvLLEYBD3\r\nfXxNL17bIxf4hb8U/9fJ196F8AetJonJ6iszl+stIsGh77R6ygP/WFS5iWy0\r\nlxN4RVULqQzFwouAm2fBQgOUHsps0xEJNvD9SvA3czHXDa9XBMuSJMxWe0Jv\r\nbrnMFC1brCwMwI2GIFcjky8LJIOkP5YrfOCYUYKVuzsYs4ShQvlIGODb7heb\r\nQFVzEeXXoB7aYkXuhV8ddSo/5IYDKnilxgwm6/qenf2c1HS8+1i36SVWzLnW\r\n1erR2edr7L73cUyhcaTdup05UdvhV6PyfIcIYIN0VxbzUjEauqtGJQhDzIV6\r\nH0HQknhLt/Op50buzpJXGYSHxSw/DYg1+pwmVxqTvkfMCBdIq6B15JcdC2ga\r\nMxu9J5NolahmWfDSWxImG6guutcOXXiK+RNjFkVF3h7ZXJjiSW35pVt6veLe\r\nEiNOxzadRQGkKeePRWrp9A7rKdFm2RIrlps0LEsv5kmXIk12RQM4jPebDzcQ\r\n7EkR8doQHhbJw+2wUJtetNDjWAAYiXT+TLA=\r\n=HtfW\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"znck","email":"rahulkdn@gmail.com"},"directories":{},"maintainers":[{"name":"znck","email":"rahulkdn@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/vue-virtual-textdocument_0.7.5-next-1649585554.0_1649585576608_0.707933765433838"},"_hasShrinkwrap":false},"0.7.5-next-1649614433.0":{"name":"@vuedx/vue-virtual-textdocument","version":"0.7.5-next-1649614433.0","description":"A virtual filesystem to access blocks in SFC as files","main":"lib/index.js","module":"lib/index.mjs","types":"lib/index.d.ts","publishConfig":{"types":"lib/index.d.ts"},"private":false,"keywords":["vue","vue sfc","sfc","vue virtual files"],"repository":{"type":"git","url":"git+https://github.com/znck/vue-developer-experience.git"},"author":{"name":"Rahul Kadyan","email":"rahulkdn@gmail.com","url":"https://znck.me/"},"funding":{"type":"individual","url":"https://github.com/sponsors/znck"},"license":"MIT","bugs":{"url":"https://github.com/znck/vue-developer-experience/issues"},"homepage":"https://github.com/znck/vue-developer-experience#readme","dependencies":{"@vuedx/compiler-sfc":"0.7.2-next-1649614433.0","@vuedx/compiler-tsx":"0.7.5-next-1649614433.0","@vuedx/shared":"0.7.4-next-1649614433.0","@vuedx/template-ast-types":"0.7.3-next-1649614433.0","@vuedx/transforms":"0.7.5-next-1649614433.0","source-map":"^0.6.1","vscode-languageserver-textdocument":"^1.0.1","vscode-uri":"^2.1.2"},"devDependencies":{"typescript":"^4.0.3"},"scripts":{},"readme":"# Vue Virtual TextDocument\n\nAn implementation of virtual filesystem for accessing blocks in a `.vue` file as independent files.\n\n```\nnpm add @vuedx/vue-virtual-textdocument\n```\n<!-- #region API-DOCS -->\n<!-- Do not edit this file. It is a report generated by [scripts/docgen.js](https://github.com/znck/vue-developer-experience/tree/main/scripts/docgen.js). -->\n\n## API\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-AsyncDocumentStore-class\" id=\"-vuedx-vue-virtual-textdocument-AsyncDocumentStore-class\"></a>\n\n### [AsyncDocumentStore](#-vuedx-vue-virtual-textdocument-AsyncDocumentStore-class)\n\n\n\n<details><summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare class AsyncDocumentStore<T> extends DocumentStore<T> {\n  constructor(resolve: (uri: string) => T | Promise<T | null> | null, normalize?: (uri: string) => string);\n  get(uri: string): T | null;\n  get(uri: string): Promise<T | null>;\n}\n```\n\n**Members:**\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-AsyncDocumentStore-get-member-1-\" id=\"-vuedx-vue-virtual-textdocument-AsyncDocumentStore-get-member-1-\"></a>\n\n#### [get](#-vuedx-vue-virtual-textdocument-AsyncDocumentStore-get-member-1-)\n\n\n\n**Signature:**\n```ts\nget(uri: string): T | null;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-AsyncDocumentStore-get-member-2-\" id=\"-vuedx-vue-virtual-textdocument-AsyncDocumentStore-get-member-2-\"></a>\n\n#### [get](#-vuedx-vue-virtual-textdocument-AsyncDocumentStore-get-member-2-)\n\n\n\n**Signature:**\n```ts\nget(uri: string): Promise<T | null>;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n\n<br>\n</details>\n\n<br>\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-class\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-class\"></a>\n\n### [DocumentStore](#-vuedx-vue-virtual-textdocument-DocumentStore-class)\n\n\n\n<details><summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare class DocumentStore<T> {\n  constructor(resolve: (uri: string) => T | null, normalize?: (uri: string) => string);\n  all(): string[];\n  delete(uri: string): boolean;\n  dispose(): void;\n  get(uri: string): T | null;\n  protected getNormalizedUri(uri: string): string;\n  has(uri: string): boolean;\n  protected map: Map<string, T>;\n  normalize: (uri: string) => string;\n  protected resolve: (uri: string) => T | null;\n  protected reverseUriMap: Map<string, string>;\n  set(uri: string, document: T): void;\n}\n```\n\n**Members:**\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-all-member-1-\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-all-member-1-\"></a>\n\n#### [all](#-vuedx-vue-virtual-textdocument-DocumentStore-all-member-1-)\n\n\n\n**Signature:**\n```ts\nall(): string[];\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-delete-member-1-\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-delete-member-1-\"></a>\n\n#### [delete](#-vuedx-vue-virtual-textdocument-DocumentStore-delete-member-1-)\n\n\n\n**Signature:**\n```ts\ndelete(uri: string): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-dispose-member-1-\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-dispose-member-1-\"></a>\n\n#### [dispose](#-vuedx-vue-virtual-textdocument-DocumentStore-dispose-member-1-)\n\n\n\n**Signature:**\n```ts\ndispose(): void;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-get-member-1-\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-get-member-1-\"></a>\n\n#### [get](#-vuedx-vue-virtual-textdocument-DocumentStore-get-member-1-)\n\n\n\n**Signature:**\n```ts\nget(uri: string): T | null;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-getNormalizedUri-member-1-\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-getNormalizedUri-member-1-\"></a>\n\n#### [getNormalizedUri](#-vuedx-vue-virtual-textdocument-DocumentStore-getNormalizedUri-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected getNormalizedUri(uri: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-has-member-1-\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-has-member-1-\"></a>\n\n#### [has](#-vuedx-vue-virtual-textdocument-DocumentStore-has-member-1-)\n\n\n\n**Signature:**\n```ts\nhas(uri: string): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-set-member-1-\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-set-member-1-\"></a>\n\n#### [set](#-vuedx-vue-virtual-textdocument-DocumentStore-set-member-1-)\n\n\n\n**Signature:**\n```ts\nset(uri: string, document: T): void;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n| document | <code>T</code> | - |\n\n<br>\n</details>\n\n<br>\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-class\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-class\"></a>\n\n### [RenderFunctionTextDocument](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-class)\n\n\n\n<details><summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare class RenderFunctionTextDocument extends TransformedBlockTextDocument {\n  constructor(container: VueTextDocument, selector: Selector, transformed: TextDocument, source: TextDocument);\n  get ast(): CodegenResult['ast'] | undefined;\n  get contextCompletionsTriggerOffset(): number;\n  static create(options: CreateVirtualTextDocumentOptions): RenderFunctionTextDocument;\n  findExpression(offset: number, length: number): undefined | {\n        offset: number;\n        length: number;\n    };\n  protected generate(): string;\n  getAllGeneratedOffsetsAt(offset: number): undefined | Array<{\n        length: number;\n        offset: number;\n    }>;\n  getGeneratedOffsetAt(offset: number): undefined | {\n        length: number;\n        offset: number;\n    };\n  protected getKnownComponents(): Record<string, ComponentImport>;\n  getOriginalOffsetAt(offset: number): undefined | {\n        offset: number;\n        length: number;\n    };\n  isInGeneratedRange(offset: number): boolean;\n  isInTemplateIdentifierRange(offset: number): boolean;\n  get parserErrors(): CodegenResult['errors'];\n  get tagCompletionsTriggerOffset(): number;\n  toDisplayMappings(): string;\n  protected tryGenerate(): string;\n}\n```\n\n**Members:**\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-create-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-create-member-1-\"></a>\n\n#### [create](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-create-member-1-)\n\n\n\n**Signature:**\n```ts\nstatic create(options: CreateVirtualTextDocumentOptions): RenderFunctionTextDocument;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| options | <code><a href=\"#-vuedx-vue-virtual-textdocument--CreateVirtualTextDocumentOptions-interface\">CreateVirtualTextDocumentOptions</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-findExpression-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-findExpression-member-1-\"></a>\n\n#### [findExpression](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-findExpression-member-1-)\n\n\n\n**Signature:**\n```ts\nfindExpression(offset: number, length: number): undefined | {\n        offset: number;\n        length: number;\n    };\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n| length | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-generate-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-generate-member-1-\"></a>\n\n#### [generate](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-generate-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected generate(): string;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getAllGeneratedOffsetsAt-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getAllGeneratedOffsetsAt-member-1-\"></a>\n\n#### [getAllGeneratedOffsetsAt](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getAllGeneratedOffsetsAt-member-1-)\n\n\n\n**Signature:**\n```ts\ngetAllGeneratedOffsetsAt(offset: number): undefined | Array<{\n        length: number;\n        offset: number;\n    }>;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getGeneratedOffsetAt-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getGeneratedOffsetAt-member-1-\"></a>\n\n#### [getGeneratedOffsetAt](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getGeneratedOffsetAt-member-1-)\n\n\n\n**Signature:**\n```ts\ngetGeneratedOffsetAt(offset: number): undefined | {\n        length: number;\n        offset: number;\n    };\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getKnownComponents-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getKnownComponents-member-1-\"></a>\n\n#### [getKnownComponents](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getKnownComponents-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected getKnownComponents(): Record<string, ComponentImport>;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getOriginalOffsetAt-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getOriginalOffsetAt-member-1-\"></a>\n\n#### [getOriginalOffsetAt](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getOriginalOffsetAt-member-1-)\n\n\n\n**Signature:**\n```ts\ngetOriginalOffsetAt(offset: number): undefined | {\n        offset: number;\n        length: number;\n    };\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-isInGeneratedRange-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-isInGeneratedRange-member-1-\"></a>\n\n#### [isInGeneratedRange](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-isInGeneratedRange-member-1-)\n\n\n\n**Signature:**\n```ts\nisInGeneratedRange(offset: number): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-isInTemplateIdentifierRange-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-isInTemplateIdentifierRange-member-1-\"></a>\n\n#### [isInTemplateIdentifierRange](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-isInTemplateIdentifierRange-member-1-)\n\n\n\n**Signature:**\n```ts\nisInTemplateIdentifierRange(offset: number): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-toDisplayMappings-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-toDisplayMappings-member-1-\"></a>\n\n#### [toDisplayMappings](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-toDisplayMappings-member-1-)\n\n\n\n**Signature:**\n```ts\ntoDisplayMappings(): string;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-tryGenerate-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-tryGenerate-member-1-\"></a>\n\n#### [tryGenerate](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-tryGenerate-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected tryGenerate(): string;\n```\n\n\n<br>\n</details>\n\n<br>\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-class\" id=\"-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-class\"></a>\n\n### [TransformedBlockTextDocument](#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-class)\n\n\n\n<details><summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare class TransformedBlockTextDocument extends VirtualTextDocument {\n  protected constructor(container: VueTextDocument, selector: Selector, transformed: TextDocument, source: TextDocument | VirtualTextDocument, _transform: (document: TransformedBlockTextDocument) => BlockTransformResult);\n  static create(options: CreateTransformedBlockTextDocumentOptions): TransformedBlockTextDocument;\n  protected refresh(): void;\n  transform(): BlockTransformResult;\n  tryGetGeneratedOffset(offset: number): number | undefined;\n  tryGetSourceOffset(offset: number): number | undefined;\n}\n```\n\n**Members:**\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-create-member-1-\" id=\"-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-create-member-1-\"></a>\n\n#### [create](#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-create-member-1-)\n\n\n\n**Signature:**\n```ts\nstatic create(options: CreateTransformedBlockTextDocumentOptions): TransformedBlockTextDocument;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| options | <code><a href=\"#-vuedx-vue-virtual-textdocument--CreateTransformedBlockTextDocumentOptions-interface\">CreateTransformedBlockTextDocumentOptions</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-refresh-member-1-\" id=\"-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-refresh-member-1-\"></a>\n\n#### [refresh](#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-refresh-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected refresh(): void;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-transform-member-1-\" id=\"-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-transform-member-1-\"></a>\n\n#### [transform](#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-transform-member-1-)\n\n\n\n**Signature:**\n```ts\ntransform(): BlockTransformResult;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-tryGetGeneratedOffset-member-1-\" id=\"-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-tryGetGeneratedOffset-member-1-\"></a>\n\n#### [tryGetGeneratedOffset](#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-tryGetGeneratedOffset-member-1-)\n\n\n\n**Signature:**\n```ts\ntryGetGeneratedOffset(offset: number): number | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-tryGetSourceOffset-member-1-\" id=\"-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-tryGetSourceOffset-member-1-\"></a>\n\n#### [tryGetSourceOffset](#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-tryGetSourceOffset-member-1-)\n\n\n\n**Signature:**\n```ts\ntryGetSourceOffset(offset: number): number | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n</details>\n\n<br>\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VirtualTextDocument-class\" id=\"-vuedx-vue-virtual-textdocument-VirtualTextDocument-class\"></a>\n\n### [VirtualTextDocument](#-vuedx-vue-virtual-textdocument-VirtualTextDocument-class)\n\n\n\n<details><summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare class VirtualTextDocument extends ProxyTextDocument {\n  protected constructor(container: VueTextDocument, selector: Selector, doc: TextDocument);\n  readonly container: VueTextDocument;\n  static create(options: CreateVirtualTextDocumentOptions): VirtualTextDocument;\n  protected isDirty: boolean;\n  markDirty(): void;\n  protected refresh(): void;\n  readonly selector: Selector;\n}\n```\n\n**Members:**\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VirtualTextDocument-create-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VirtualTextDocument-create-member-1-\"></a>\n\n#### [create](#-vuedx-vue-virtual-textdocument-VirtualTextDocument-create-member-1-)\n\n\n\n**Signature:**\n```ts\nstatic create(options: CreateVirtualTextDocumentOptions): VirtualTextDocument;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| options | <code><a href=\"#-vuedx-vue-virtual-textdocument--CreateVirtualTextDocumentOptions-interface\">CreateVirtualTextDocumentOptions</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VirtualTextDocument-markDirty-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VirtualTextDocument-markDirty-member-1-\"></a>\n\n#### [markDirty](#-vuedx-vue-virtual-textdocument-VirtualTextDocument-markDirty-member-1-)\n\n\n\n**Signature:**\n```ts\nmarkDirty(): void;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VirtualTextDocument-refresh-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VirtualTextDocument-refresh-member-1-\"></a>\n\n#### [refresh](#-vuedx-vue-virtual-textdocument-VirtualTextDocument-refresh-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected refresh(): void;\n```\n\n\n<br>\n</details>\n\n<br>\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-class\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-class\"></a>\n\n### [VueTextDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-class)\n\n\n\n<details><summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare class VueTextDocument extends ProxyTextDocument {\n  constructor(doc: TextDocument, options?: VueTextDocumentOptions, parseOptions?: SFCParseOptions);\n  all(): VirtualTextDocument[];\n  blockAt(position: Position | number): SFCBlock | null | undefined;\n  static create(uri: string, languageId: string, version: number, content: string, options?: VueTextDocumentOptions, parseOptions?: SFCParseOptions): VueTextDocument;\n  protected createBlockDocument(selector: BlockSelector): VirtualTextDocument | undefined;\n  protected createInternalModuleDocument(): TransformedBlockTextDocument;\n  protected createModuleDocument(): TransformedBlockTextDocument;\n  protected createRenderDocument(): RenderFunctionTextDocument;\n  protected createTemplateASTDocument(): TransformedBlockTextDocument;\n  get descriptor(): SFCDescriptor;\n  documentAt(position: Position | number): VirtualTextDocument | undefined;\n  getBlock(selector: BlockSelector): SFCBlock | null | undefined;\n  getBlockSelector(block: SFCBlock): BlockSelector | undefined;\n  getDocument(selector: typeof RENDER_SELECTOR): RenderFunctionTextDocument;\n  getDocument(selector: SelectorLike): VirtualTextDocument;\n  getDocument(selector: string): VirtualTextDocument | undefined;\n  getDocumentFileName(selectorLike: SelectorLike): string;\n  protected getDocumentId(selector: Selector): string;\n  protected getDocumentLanguage(selector: Selector): string;\n  markDirty(): void;\n  readonly options: VueTextDocumentOptions;\n  protected parse(): void;\n  static update(document: VueTextDocument, changes: TextDocumentContentChangeEvent[], version: number): VueTextDocument;\n}\n```\n\n**Members:**\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-all-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-all-member-1-\"></a>\n\n#### [all](#-vuedx-vue-virtual-textdocument-VueTextDocument-all-member-1-)\n\n\n\n**Signature:**\n```ts\nall(): VirtualTextDocument[];\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-blockAt-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-blockAt-member-1-\"></a>\n\n#### [blockAt](#-vuedx-vue-virtual-textdocument-VueTextDocument-blockAt-member-1-)\n\n\n\n**Signature:**\n```ts\nblockAt(position: Position | number): SFCBlock | null | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| position | <code><a href=\"#vscode-languageserver-textdocument-Position-interface\">Position</a> &#124; number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-create-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-create-member-1-\"></a>\n\n#### [create](#-vuedx-vue-virtual-textdocument-VueTextDocument-create-member-1-)\n\n\n\n**Signature:**\n```ts\nstatic create(uri: string, languageId: string, version: number, content: string, options?: VueTextDocumentOptions, parseOptions?: SFCParseOptions): VueTextDocument;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n| languageId | <code>string</code> | - |\n| version | <code>number</code> | - |\n| content | <code>string</code> | - |\n| options | <code><a href=\"#-vuedx-vue-virtual-textdocument--VueTextDocumentOptions-interface\">VueTextDocumentOptions</a></code> | - |\n| parseOptions | <code><a href=\"#-vue-compiler-sfc-SFCParseOptions-interface\">SFCParseOptions</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-createBlockDocument-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-createBlockDocument-member-1-\"></a>\n\n#### [createBlockDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-createBlockDocument-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected createBlockDocument(selector: BlockSelector): VirtualTextDocument | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selector | <code><a href=\"#-vuedx-vue-virtual-textdocument--BlockSelector-type\">BlockSelector</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-createInternalModuleDocument-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-createInternalModuleDocument-member-1-\"></a>\n\n#### [createInternalModuleDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-createInternalModuleDocument-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected createInternalModuleDocument(): TransformedBlockTextDocument;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-createModuleDocument-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-createModuleDocument-member-1-\"></a>\n\n#### [createModuleDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-createModuleDocument-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected createModuleDocument(): TransformedBlockTextDocument;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-createRenderDocument-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-createRenderDocument-member-1-\"></a>\n\n#### [createRenderDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-createRenderDocument-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected createRenderDocument(): RenderFunctionTextDocument;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-createTemplateASTDocument-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-createTemplateASTDocument-member-1-\"></a>\n\n#### [createTemplateASTDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-createTemplateASTDocument-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected createTemplateASTDocument(): TransformedBlockTextDocument;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-documentAt-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-documentAt-member-1-\"></a>\n\n#### [documentAt](#-vuedx-vue-virtual-textdocument-VueTextDocument-documentAt-member-1-)\n\n\n\n**Signature:**\n```ts\ndocumentAt(position: Position | number): VirtualTextDocument | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| position | <code><a href=\"#vscode-languageserver-textdocument-Position-interface\">Position</a> &#124; number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getBlock-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getBlock-member-1-\"></a>\n\n#### [getBlock](#-vuedx-vue-virtual-textdocument-VueTextDocument-getBlock-member-1-)\n\n\n\n**Signature:**\n```ts\ngetBlock(selector: BlockSelector): SFCBlock | null | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selector | <code><a href=\"#-vuedx-vue-virtual-textdocument--BlockSelector-type\">BlockSelector</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getBlockSelector-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getBlockSelector-member-1-\"></a>\n\n#### [getBlockSelector](#-vuedx-vue-virtual-textdocument-VueTextDocument-getBlockSelector-member-1-)\n\n\n\n**Signature:**\n```ts\ngetBlockSelector(block: SFCBlock): BlockSelector | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| block | <code><a href=\"#-vue-compiler-sfc-SFCBlock-interface\">SFCBlock</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-1-\"></a>\n\n#### [getDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-1-)\n\n\n\n**Signature:**\n```ts\ngetDocument(selector: typeof RENDER_SELECTOR): RenderFunctionTextDocument;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selector | <code>typeof <a href=\"#-vuedx-vue-virtual-textdocument--RENDER-SELECTOR-var\">RENDER_SELECTOR</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-2-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-2-\"></a>\n\n#### [getDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-2-)\n\n\n\n**Signature:**\n```ts\ngetDocument(selector: SelectorLike): VirtualTextDocument;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selector | <code><a href=\"#-vuedx-vue-virtual-textdocument--SelectorLike-type\">SelectorLike</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-3-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-3-\"></a>\n\n#### [getDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-3-)\n\n\n\n**Signature:**\n```ts\ngetDocument(selector: string): VirtualTextDocument | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selector | <code>string</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentFileName-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentFileName-member-1-\"></a>\n\n#### [getDocumentFileName](#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentFileName-member-1-)\n\n\n\n**Signature:**\n```ts\ngetDocumentFileName(selectorLike: SelectorLike): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selectorLike | <code><a href=\"#-vuedx-vue-virtual-textdocument--SelectorLike-type\">SelectorLike</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentId-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentId-member-1-\"></a>\n\n#### [getDocumentId](#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentId-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected getDocumentId(selector: Selector): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selector | <code><a href=\"#-vuedx-vue-virtual-textdocument--Selector-type\">Selector</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentLanguage-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentLanguage-member-1-\"></a>\n\n#### [getDocumentLanguage](#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentLanguage-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected getDocumentLanguage(selector: Selector): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selector | <code><a href=\"#-vuedx-vue-virtual-textdocument--Selector-type\">Selector</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-markDirty-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-markDirty-member-1-\"></a>\n\n#### [markDirty](#-vuedx-vue-virtual-textdocument-VueTextDocument-markDirty-member-1-)\n\n\n\n**Signature:**\n```ts\nmarkDirty(): void;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-parse-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-parse-member-1-\"></a>\n\n#### [parse](#-vuedx-vue-virtual-textdocument-VueTextDocument-parse-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected parse(): void;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-update-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-update-member-1-\"></a>\n\n#### [update](#-vuedx-vue-virtual-textdocument-VueTextDocument-update-member-1-)\n\n\n\n**Signature:**\n```ts\nstatic update(document: VueTextDocument, changes: TextDocumentContentChangeEvent[], version: number): VueTextDocument;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| document | <code><a href=\"#-vuedx-vue-virtual-textdocument--VueTextDocument-class\">VueTextDocument</a></code> | - |\n| changes | <code><a href=\"#vscode-languageserver-textdocument-TextDocumentContentChangeEvent-type\">TextDocumentContentChangeEvent</a>[]</code> | - |\n| version | <code>number</code> | - |\n\n<br>\n</details>\n\n<br>\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-asFsPath-function-1-\" id=\"-vuedx-vue-virtual-textdocument-asFsPath-function-1-\"></a>\n\n### [asFsPath](#-vuedx-vue-virtual-textdocument-asFsPath-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function asFsPath(uri: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-asFsUri-function-1-\" id=\"-vuedx-vue-virtual-textdocument-asFsUri-function-1-\"></a>\n\n### [asFsUri](#-vuedx-vue-virtual-textdocument-asFsUri-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function asFsUri(fileName: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-asUri-function-1-\" id=\"-vuedx-vue-virtual-textdocument-asUri-function-1-\"></a>\n\n### [asUri](#-vuedx-vue-virtual-textdocument-asUri-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function asUri(fileNameOrUri: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileNameOrUri | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-basename-function-1-\" id=\"-vuedx-vue-virtual-textdocument-basename-function-1-\"></a>\n\n### [basename](#-vuedx-vue-virtual-textdocument-basename-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function basename(fileName: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-binarySearch-function-1-\" id=\"-vuedx-vue-virtual-textdocument-binarySearch-function-1-\"></a>\n\n### [binarySearch](#-vuedx-vue-virtual-textdocument-binarySearch-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function binarySearch<T>(array: T[], isMatch: (a: T) => number, returnMin?: boolean): T | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| array | <code>T[]</code> | - |\n| isMatch | <code>(a: T) => number</code> | - |\n| returnMin | <code>boolean</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-getBlockLanguage-function-1-\" id=\"-vuedx-vue-virtual-textdocument-getBlockLanguage-function-1-\"></a>\n\n### [getBlockLanguage](#-vuedx-vue-virtual-textdocument-getBlockLanguage-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function getBlockLanguage(block?: SFCBlock | null): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| block | <code><a href=\"#-vue-compiler-sfc-SFCBlock-interface\">SFCBlock</a> &#124; null</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-getContainingFile-function-1-\" id=\"-vuedx-vue-virtual-textdocument-getContainingFile-function-1-\"></a>\n\n### [getContainingFile](#-vuedx-vue-virtual-textdocument-getContainingFile-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function getContainingFile(fileName: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-getLanguageExtension-function-1-\" id=\"-vuedx-vue-virtual-textdocument-getLanguageExtension-function-1-\"></a>\n\n### [getLanguageExtension](#-vuedx-vue-virtual-textdocument-getLanguageExtension-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function getLanguageExtension(lang: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| lang | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-getLanguageIdFromExtension-function-1-\" id=\"-vuedx-vue-virtual-textdocument-getLanguageIdFromExtension-function-1-\"></a>\n\n### [getLanguageIdFromExtension](#-vuedx-vue-virtual-textdocument-getLanguageIdFromExtension-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function getLanguageIdFromExtension(ext: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| ext | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-isOffsetInBlock-function-1-\" id=\"-vuedx-vue-virtual-textdocument-isOffsetInBlock-function-1-\"></a>\n\n### [isOffsetInBlock](#-vuedx-vue-virtual-textdocument-isOffsetInBlock-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function isOffsetInBlock(offset: number, block?: SFCBlock | null): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n| block | <code><a href=\"#-vue-compiler-sfc-SFCBlock-interface\">SFCBlock</a> &#124; null</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-isVirtualFile-function-1-\" id=\"-vuedx-vue-virtual-textdocument-isVirtualFile-function-1-\"></a>\n\n### [isVirtualFile](#-vuedx-vue-virtual-textdocument-isVirtualFile-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function isVirtualFile(fileName: string): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-isVirtualFileOfType-function-1-\" id=\"-vuedx-vue-virtual-textdocument-isVirtualFileOfType-function-1-\"></a>\n\n### [isVirtualFileOfType](#-vuedx-vue-virtual-textdocument-isVirtualFileOfType-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function isVirtualFileOfType(fileName: string, type: '_render' | '_module' | '_internal' | 'script' | 'scriptSetup'): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n| type | <code>'_render' &#124; '_module' &#124; '_internal' &#124; 'script' &#124; 'scriptSetup'</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-isVueFile-function-1-\" id=\"-vuedx-vue-virtual-textdocument-isVueFile-function-1-\"></a>\n\n### [isVueFile](#-vuedx-vue-virtual-textdocument-isVueFile-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function isVueFile(fileName: string): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-parseVirtualFileName-function-1-\" id=\"-vuedx-vue-virtual-textdocument-parseVirtualFileName-function-1-\"></a>\n\n### [parseVirtualFileName](#-vuedx-vue-virtual-textdocument-parseVirtualFileName-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function parseVirtualFileName(fileName: string): {\n    uri: string;\n    selector: Selector;\n} | null;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-relativeVirtualImportPath-function-1-\" id=\"-vuedx-vue-virtual-textdocument-relativeVirtualImportPath-function-1-\"></a>\n\n### [relativeVirtualImportPath](#-vuedx-vue-virtual-textdocument-relativeVirtualImportPath-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function relativeVirtualImportPath(fileName: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-replaceSlashes-function-1-\" id=\"-vuedx-vue-virtual-textdocument-replaceSlashes-function-1-\"></a>\n\n### [replaceSlashes](#-vuedx-vue-virtual-textdocument-replaceSlashes-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function replaceSlashes(fileName: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n<!-- #region API-DOCS -->\n\n## Support\n\nThis package is part of [VueDX project](https://github.com/znck/vue-developer-experience), maintained by [Rahul Kadyan](https://github.com/znck). You can [💖 sponsor him](https://github.com/sponsors/znck) for continued development of this package and other VueDX tools.\n\n<p align=\"center\">\n  <a href=\"https://cdn.jsdelivr.net/gh/znck/sponsors@main/sponsors.svg\">\n    <img src='https://cdn.jsdelivr.net/gh/znck/sponsors@main/sponsors.png'/>\n  </a>\n</p>\n","readmeFilename":"readme.md","gitHead":"fbbe79ef98c900a696dc80ebbcb62a86f04fb193","_id":"@vuedx/vue-virtual-textdocument@0.7.5-next-1649614433.0","_nodeVersion":"16.14.2","_npmVersion":"8.5.0","dist":{"integrity":"sha512-c6dUa3rvR91PR7YkwPTZgyrzfeeVy4BwxN1kn+rFZZEDQP0D1kMkk2W+3ipvANWT+Uvzpfxar9+tsjL6BV41Yw==","shasum":"e9db32bd4648765ddf6f75c4ac40e385e240f466","tarball":"https://registry.npmjs.org/@vuedx/vue-virtual-textdocument/-/vue-virtual-textdocument-0.7.5-next-1649614433.0.tgz","fileCount":8,"unpackedSize":225515,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIB2OD9cfgq1FqvmfJit+zyjfJFxwl//VL7rA4skxuXXNAiAajQ4oaqQGDYWZdPrLEDquVgoPBTqVgfxjyq72vVDk7g=="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiUx51ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmobNg/+IPobf5BUZqghGUwUUoxLG1pmOwnEE540FgSRAZ7ZvZ/GzGGO\r\nwLkANqHwIB4ArwzATHF5QT2XfVtPrwgGBVB08R22oAmfCBUyTemwFrbsp2u4\r\nQpWdC5efQ5LXQR92MEULIaJXy+4qhMyYTvGNGjElDILbPHIZkGf8Wk9cUNhd\r\ngeIJywMO2CeTNnmQXwerGl8uCBcxuYLdlDTlI61C3bTrU+J765Q3cSa6gQSu\r\nSyBP2rzIBP3dnv5WiqmFFXIZtYS36AiDUfu9yIUqK7Mt1lVT08Qm6UIL5hx4\r\nh2Fn7ikuxuFjzX8d+MNj6fQ9HNoVYJMsg0B68POhsl2WJ1AZ1oVEfHwQ126e\r\nDYAIxcd6NJgdPokfOeMyvLderSN3ar11jSGrA708Qbugtm/0SYCWh2AT7KDl\r\noo+PM/2Xj93slo3VVs9nrh4BuB1T6oS3C4SaMUIQnd21zIFdwZRr3KOSwvBz\r\nPCWEnTrLDcjkrISRsiCtdGkWqrGqyrSW/7slm+Ei17J9xN8qEHMyTU9QCQGZ\r\n2iGpepaPELlR7QuhOWHmlSRDbzdb02OtiS3LM7hHK2tRMBPkyO2P0ojbDRpI\r\nCRI2REweg236371D23k7O9a1x+4mXSrMb9prwhkrDxaMyjOhGOgaOu80yN0S\r\nz7DbCDaog55ODuQs73Hcuxoei652iWwuTEU=\r\n=XoNP\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"znck","email":"rahulkdn@gmail.com"},"directories":{},"maintainers":[{"name":"znck","email":"rahulkdn@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/vue-virtual-textdocument_0.7.5-next-1649614433.0_1649614453787_0.3309398732206432"},"_hasShrinkwrap":false},"0.7.5-next-1649653313.0":{"name":"@vuedx/vue-virtual-textdocument","version":"0.7.5-next-1649653313.0","description":"A virtual filesystem to access blocks in SFC as files","main":"lib/index.js","module":"lib/index.mjs","types":"lib/index.d.ts","publishConfig":{"types":"lib/index.d.ts"},"private":false,"keywords":["vue","vue sfc","sfc","vue virtual files"],"repository":{"type":"git","url":"git+https://github.com/znck/vue-developer-experience.git"},"author":{"name":"Rahul Kadyan","email":"rahulkdn@gmail.com","url":"https://znck.me/"},"funding":{"type":"individual","url":"https://github.com/sponsors/znck"},"license":"MIT","bugs":{"url":"https://github.com/znck/vue-developer-experience/issues"},"homepage":"https://github.com/znck/vue-developer-experience#readme","dependencies":{"@vuedx/compiler-sfc":"0.7.2-next-1649653313.0","@vuedx/compiler-tsx":"0.7.5-next-1649653313.0","@vuedx/shared":"0.7.4-next-1649653313.0","@vuedx/template-ast-types":"0.7.3-next-1649653313.0","@vuedx/transforms":"0.7.5-next-1649653313.0","source-map":"^0.6.1","vscode-languageserver-textdocument":"^1.0.1","vscode-uri":"^2.1.2"},"devDependencies":{"typescript":"^4.0.3"},"scripts":{},"readme":"# Vue Virtual TextDocument\n\nAn implementation of virtual filesystem for accessing blocks in a `.vue` file as independent files.\n\n```\nnpm add @vuedx/vue-virtual-textdocument\n```\n<!-- #region API-DOCS -->\n<!-- Do not edit this file. It is a report generated by [scripts/docgen.js](https://github.com/znck/vue-developer-experience/tree/main/scripts/docgen.js). -->\n\n## API\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-AsyncDocumentStore-class\" id=\"-vuedx-vue-virtual-textdocument-AsyncDocumentStore-class\"></a>\n\n### [AsyncDocumentStore](#-vuedx-vue-virtual-textdocument-AsyncDocumentStore-class)\n\n\n\n<details><summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare class AsyncDocumentStore<T> extends DocumentStore<T> {\n  constructor(resolve: (uri: string) => T | Promise<T | null> | null, normalize?: (uri: string) => string);\n  get(uri: string): T | null;\n  get(uri: string): Promise<T | null>;\n}\n```\n\n**Members:**\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-AsyncDocumentStore-get-member-1-\" id=\"-vuedx-vue-virtual-textdocument-AsyncDocumentStore-get-member-1-\"></a>\n\n#### [get](#-vuedx-vue-virtual-textdocument-AsyncDocumentStore-get-member-1-)\n\n\n\n**Signature:**\n```ts\nget(uri: string): T | null;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-AsyncDocumentStore-get-member-2-\" id=\"-vuedx-vue-virtual-textdocument-AsyncDocumentStore-get-member-2-\"></a>\n\n#### [get](#-vuedx-vue-virtual-textdocument-AsyncDocumentStore-get-member-2-)\n\n\n\n**Signature:**\n```ts\nget(uri: string): Promise<T | null>;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n\n<br>\n</details>\n\n<br>\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-class\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-class\"></a>\n\n### [DocumentStore](#-vuedx-vue-virtual-textdocument-DocumentStore-class)\n\n\n\n<details><summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare class DocumentStore<T> {\n  constructor(resolve: (uri: string) => T | null, normalize?: (uri: string) => string);\n  all(): string[];\n  delete(uri: string): boolean;\n  dispose(): void;\n  get(uri: string): T | null;\n  protected getNormalizedUri(uri: string): string;\n  has(uri: string): boolean;\n  protected map: Map<string, T>;\n  normalize: (uri: string) => string;\n  protected resolve: (uri: string) => T | null;\n  protected reverseUriMap: Map<string, string>;\n  set(uri: string, document: T): void;\n}\n```\n\n**Members:**\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-all-member-1-\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-all-member-1-\"></a>\n\n#### [all](#-vuedx-vue-virtual-textdocument-DocumentStore-all-member-1-)\n\n\n\n**Signature:**\n```ts\nall(): string[];\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-delete-member-1-\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-delete-member-1-\"></a>\n\n#### [delete](#-vuedx-vue-virtual-textdocument-DocumentStore-delete-member-1-)\n\n\n\n**Signature:**\n```ts\ndelete(uri: string): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-dispose-member-1-\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-dispose-member-1-\"></a>\n\n#### [dispose](#-vuedx-vue-virtual-textdocument-DocumentStore-dispose-member-1-)\n\n\n\n**Signature:**\n```ts\ndispose(): void;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-get-member-1-\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-get-member-1-\"></a>\n\n#### [get](#-vuedx-vue-virtual-textdocument-DocumentStore-get-member-1-)\n\n\n\n**Signature:**\n```ts\nget(uri: string): T | null;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-getNormalizedUri-member-1-\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-getNormalizedUri-member-1-\"></a>\n\n#### [getNormalizedUri](#-vuedx-vue-virtual-textdocument-DocumentStore-getNormalizedUri-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected getNormalizedUri(uri: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-has-member-1-\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-has-member-1-\"></a>\n\n#### [has](#-vuedx-vue-virtual-textdocument-DocumentStore-has-member-1-)\n\n\n\n**Signature:**\n```ts\nhas(uri: string): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-set-member-1-\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-set-member-1-\"></a>\n\n#### [set](#-vuedx-vue-virtual-textdocument-DocumentStore-set-member-1-)\n\n\n\n**Signature:**\n```ts\nset(uri: string, document: T): void;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n| document | <code>T</code> | - |\n\n<br>\n</details>\n\n<br>\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-class\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-class\"></a>\n\n### [RenderFunctionTextDocument](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-class)\n\n\n\n<details><summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare class RenderFunctionTextDocument extends TransformedBlockTextDocument {\n  constructor(container: VueTextDocument, selector: Selector, transformed: TextDocument, source: TextDocument);\n  get ast(): CodegenResult['ast'] | undefined;\n  get contextCompletionsTriggerOffset(): number;\n  static create(options: CreateVirtualTextDocumentOptions): RenderFunctionTextDocument;\n  findExpression(offset: number, length: number): undefined | {\n        offset: number;\n        length: number;\n    };\n  protected generate(): string;\n  getAllGeneratedOffsetsAt(offset: number): undefined | Array<{\n        length: number;\n        offset: number;\n    }>;\n  getGeneratedOffsetAt(offset: number): undefined | {\n        length: number;\n        offset: number;\n    };\n  protected getKnownComponents(): Record<string, ComponentImport>;\n  getOriginalOffsetAt(offset: number): undefined | {\n        offset: number;\n        length: number;\n    };\n  isInGeneratedRange(offset: number): boolean;\n  isInTemplateIdentifierRange(offset: number): boolean;\n  get parserErrors(): CodegenResult['errors'];\n  get tagCompletionsTriggerOffset(): number;\n  toDisplayMappings(): string;\n  protected tryGenerate(): string;\n}\n```\n\n**Members:**\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-create-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-create-member-1-\"></a>\n\n#### [create](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-create-member-1-)\n\n\n\n**Signature:**\n```ts\nstatic create(options: CreateVirtualTextDocumentOptions): RenderFunctionTextDocument;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| options | <code><a href=\"#-vuedx-vue-virtual-textdocument--CreateVirtualTextDocumentOptions-interface\">CreateVirtualTextDocumentOptions</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-findExpression-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-findExpression-member-1-\"></a>\n\n#### [findExpression](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-findExpression-member-1-)\n\n\n\n**Signature:**\n```ts\nfindExpression(offset: number, length: number): undefined | {\n        offset: number;\n        length: number;\n    };\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n| length | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-generate-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-generate-member-1-\"></a>\n\n#### [generate](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-generate-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected generate(): string;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getAllGeneratedOffsetsAt-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getAllGeneratedOffsetsAt-member-1-\"></a>\n\n#### [getAllGeneratedOffsetsAt](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getAllGeneratedOffsetsAt-member-1-)\n\n\n\n**Signature:**\n```ts\ngetAllGeneratedOffsetsAt(offset: number): undefined | Array<{\n        length: number;\n        offset: number;\n    }>;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getGeneratedOffsetAt-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getGeneratedOffsetAt-member-1-\"></a>\n\n#### [getGeneratedOffsetAt](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getGeneratedOffsetAt-member-1-)\n\n\n\n**Signature:**\n```ts\ngetGeneratedOffsetAt(offset: number): undefined | {\n        length: number;\n        offset: number;\n    };\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getKnownComponents-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getKnownComponents-member-1-\"></a>\n\n#### [getKnownComponents](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getKnownComponents-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected getKnownComponents(): Record<string, ComponentImport>;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getOriginalOffsetAt-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getOriginalOffsetAt-member-1-\"></a>\n\n#### [getOriginalOffsetAt](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getOriginalOffsetAt-member-1-)\n\n\n\n**Signature:**\n```ts\ngetOriginalOffsetAt(offset: number): undefined | {\n        offset: number;\n        length: number;\n    };\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-isInGeneratedRange-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-isInGeneratedRange-member-1-\"></a>\n\n#### [isInGeneratedRange](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-isInGeneratedRange-member-1-)\n\n\n\n**Signature:**\n```ts\nisInGeneratedRange(offset: number): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-isInTemplateIdentifierRange-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-isInTemplateIdentifierRange-member-1-\"></a>\n\n#### [isInTemplateIdentifierRange](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-isInTemplateIdentifierRange-member-1-)\n\n\n\n**Signature:**\n```ts\nisInTemplateIdentifierRange(offset: number): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-toDisplayMappings-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-toDisplayMappings-member-1-\"></a>\n\n#### [toDisplayMappings](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-toDisplayMappings-member-1-)\n\n\n\n**Signature:**\n```ts\ntoDisplayMappings(): string;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-tryGenerate-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-tryGenerate-member-1-\"></a>\n\n#### [tryGenerate](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-tryGenerate-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected tryGenerate(): string;\n```\n\n\n<br>\n</details>\n\n<br>\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-class\" id=\"-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-class\"></a>\n\n### [TransformedBlockTextDocument](#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-class)\n\n\n\n<details><summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare class TransformedBlockTextDocument extends VirtualTextDocument {\n  protected constructor(container: VueTextDocument, selector: Selector, transformed: TextDocument, source: TextDocument | VirtualTextDocument, _transform: (document: TransformedBlockTextDocument) => BlockTransformResult);\n  static create(options: CreateTransformedBlockTextDocumentOptions): TransformedBlockTextDocument;\n  protected refresh(): void;\n  transform(): BlockTransformResult;\n  tryGetGeneratedOffset(offset: number): number | undefined;\n  tryGetSourceOffset(offset: number): number | undefined;\n}\n```\n\n**Members:**\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-create-member-1-\" id=\"-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-create-member-1-\"></a>\n\n#### [create](#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-create-member-1-)\n\n\n\n**Signature:**\n```ts\nstatic create(options: CreateTransformedBlockTextDocumentOptions): TransformedBlockTextDocument;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| options | <code><a href=\"#-vuedx-vue-virtual-textdocument--CreateTransformedBlockTextDocumentOptions-interface\">CreateTransformedBlockTextDocumentOptions</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-refresh-member-1-\" id=\"-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-refresh-member-1-\"></a>\n\n#### [refresh](#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-refresh-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected refresh(): void;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-transform-member-1-\" id=\"-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-transform-member-1-\"></a>\n\n#### [transform](#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-transform-member-1-)\n\n\n\n**Signature:**\n```ts\ntransform(): BlockTransformResult;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-tryGetGeneratedOffset-member-1-\" id=\"-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-tryGetGeneratedOffset-member-1-\"></a>\n\n#### [tryGetGeneratedOffset](#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-tryGetGeneratedOffset-member-1-)\n\n\n\n**Signature:**\n```ts\ntryGetGeneratedOffset(offset: number): number | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-tryGetSourceOffset-member-1-\" id=\"-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-tryGetSourceOffset-member-1-\"></a>\n\n#### [tryGetSourceOffset](#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-tryGetSourceOffset-member-1-)\n\n\n\n**Signature:**\n```ts\ntryGetSourceOffset(offset: number): number | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n</details>\n\n<br>\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VirtualTextDocument-class\" id=\"-vuedx-vue-virtual-textdocument-VirtualTextDocument-class\"></a>\n\n### [VirtualTextDocument](#-vuedx-vue-virtual-textdocument-VirtualTextDocument-class)\n\n\n\n<details><summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare class VirtualTextDocument extends ProxyTextDocument {\n  protected constructor(container: VueTextDocument, selector: Selector, doc: TextDocument);\n  readonly container: VueTextDocument;\n  static create(options: CreateVirtualTextDocumentOptions): VirtualTextDocument;\n  protected isDirty: boolean;\n  markDirty(): void;\n  protected refresh(): void;\n  readonly selector: Selector;\n}\n```\n\n**Members:**\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VirtualTextDocument-create-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VirtualTextDocument-create-member-1-\"></a>\n\n#### [create](#-vuedx-vue-virtual-textdocument-VirtualTextDocument-create-member-1-)\n\n\n\n**Signature:**\n```ts\nstatic create(options: CreateVirtualTextDocumentOptions): VirtualTextDocument;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| options | <code><a href=\"#-vuedx-vue-virtual-textdocument--CreateVirtualTextDocumentOptions-interface\">CreateVirtualTextDocumentOptions</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VirtualTextDocument-markDirty-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VirtualTextDocument-markDirty-member-1-\"></a>\n\n#### [markDirty](#-vuedx-vue-virtual-textdocument-VirtualTextDocument-markDirty-member-1-)\n\n\n\n**Signature:**\n```ts\nmarkDirty(): void;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VirtualTextDocument-refresh-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VirtualTextDocument-refresh-member-1-\"></a>\n\n#### [refresh](#-vuedx-vue-virtual-textdocument-VirtualTextDocument-refresh-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected refresh(): void;\n```\n\n\n<br>\n</details>\n\n<br>\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-class\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-class\"></a>\n\n### [VueTextDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-class)\n\n\n\n<details><summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare class VueTextDocument extends ProxyTextDocument {\n  constructor(doc: TextDocument, options?: VueTextDocumentOptions, parseOptions?: SFCParseOptions);\n  all(): VirtualTextDocument[];\n  blockAt(position: Position | number): SFCBlock | null | undefined;\n  static create(uri: string, languageId: string, version: number, content: string, options?: VueTextDocumentOptions, parseOptions?: SFCParseOptions): VueTextDocument;\n  protected createBlockDocument(selector: BlockSelector): VirtualTextDocument | undefined;\n  protected createInternalModuleDocument(): TransformedBlockTextDocument;\n  protected createModuleDocument(): TransformedBlockTextDocument;\n  protected createRenderDocument(): RenderFunctionTextDocument;\n  protected createTemplateASTDocument(): TransformedBlockTextDocument;\n  get descriptor(): SFCDescriptor;\n  documentAt(position: Position | number): VirtualTextDocument | undefined;\n  getBlock(selector: BlockSelector): SFCBlock | null | undefined;\n  getBlockSelector(block: SFCBlock): BlockSelector | undefined;\n  getDocument(selector: typeof RENDER_SELECTOR): RenderFunctionTextDocument;\n  getDocument(selector: SelectorLike): VirtualTextDocument;\n  getDocument(selector: string): VirtualTextDocument | undefined;\n  getDocumentFileName(selectorLike: SelectorLike): string;\n  protected getDocumentId(selector: Selector): string;\n  protected getDocumentLanguage(selector: Selector): string;\n  markDirty(): void;\n  readonly options: VueTextDocumentOptions;\n  protected parse(): void;\n  static update(document: VueTextDocument, changes: TextDocumentContentChangeEvent[], version: number): VueTextDocument;\n}\n```\n\n**Members:**\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-all-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-all-member-1-\"></a>\n\n#### [all](#-vuedx-vue-virtual-textdocument-VueTextDocument-all-member-1-)\n\n\n\n**Signature:**\n```ts\nall(): VirtualTextDocument[];\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-blockAt-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-blockAt-member-1-\"></a>\n\n#### [blockAt](#-vuedx-vue-virtual-textdocument-VueTextDocument-blockAt-member-1-)\n\n\n\n**Signature:**\n```ts\nblockAt(position: Position | number): SFCBlock | null | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| position | <code><a href=\"#vscode-languageserver-textdocument-Position-interface\">Position</a> &#124; number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-create-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-create-member-1-\"></a>\n\n#### [create](#-vuedx-vue-virtual-textdocument-VueTextDocument-create-member-1-)\n\n\n\n**Signature:**\n```ts\nstatic create(uri: string, languageId: string, version: number, content: string, options?: VueTextDocumentOptions, parseOptions?: SFCParseOptions): VueTextDocument;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n| languageId | <code>string</code> | - |\n| version | <code>number</code> | - |\n| content | <code>string</code> | - |\n| options | <code><a href=\"#-vuedx-vue-virtual-textdocument--VueTextDocumentOptions-interface\">VueTextDocumentOptions</a></code> | - |\n| parseOptions | <code><a href=\"#-vue-compiler-sfc-SFCParseOptions-interface\">SFCParseOptions</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-createBlockDocument-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-createBlockDocument-member-1-\"></a>\n\n#### [createBlockDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-createBlockDocument-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected createBlockDocument(selector: BlockSelector): VirtualTextDocument | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selector | <code><a href=\"#-vuedx-vue-virtual-textdocument--BlockSelector-type\">BlockSelector</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-createInternalModuleDocument-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-createInternalModuleDocument-member-1-\"></a>\n\n#### [createInternalModuleDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-createInternalModuleDocument-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected createInternalModuleDocument(): TransformedBlockTextDocument;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-createModuleDocument-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-createModuleDocument-member-1-\"></a>\n\n#### [createModuleDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-createModuleDocument-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected createModuleDocument(): TransformedBlockTextDocument;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-createRenderDocument-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-createRenderDocument-member-1-\"></a>\n\n#### [createRenderDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-createRenderDocument-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected createRenderDocument(): RenderFunctionTextDocument;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-createTemplateASTDocument-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-createTemplateASTDocument-member-1-\"></a>\n\n#### [createTemplateASTDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-createTemplateASTDocument-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected createTemplateASTDocument(): TransformedBlockTextDocument;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-documentAt-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-documentAt-member-1-\"></a>\n\n#### [documentAt](#-vuedx-vue-virtual-textdocument-VueTextDocument-documentAt-member-1-)\n\n\n\n**Signature:**\n```ts\ndocumentAt(position: Position | number): VirtualTextDocument | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| position | <code><a href=\"#vscode-languageserver-textdocument-Position-interface\">Position</a> &#124; number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getBlock-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getBlock-member-1-\"></a>\n\n#### [getBlock](#-vuedx-vue-virtual-textdocument-VueTextDocument-getBlock-member-1-)\n\n\n\n**Signature:**\n```ts\ngetBlock(selector: BlockSelector): SFCBlock | null | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selector | <code><a href=\"#-vuedx-vue-virtual-textdocument--BlockSelector-type\">BlockSelector</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getBlockSelector-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getBlockSelector-member-1-\"></a>\n\n#### [getBlockSelector](#-vuedx-vue-virtual-textdocument-VueTextDocument-getBlockSelector-member-1-)\n\n\n\n**Signature:**\n```ts\ngetBlockSelector(block: SFCBlock): BlockSelector | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| block | <code><a href=\"#-vue-compiler-sfc-SFCBlock-interface\">SFCBlock</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-1-\"></a>\n\n#### [getDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-1-)\n\n\n\n**Signature:**\n```ts\ngetDocument(selector: typeof RENDER_SELECTOR): RenderFunctionTextDocument;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selector | <code>typeof <a href=\"#-vuedx-vue-virtual-textdocument--RENDER-SELECTOR-var\">RENDER_SELECTOR</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-2-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-2-\"></a>\n\n#### [getDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-2-)\n\n\n\n**Signature:**\n```ts\ngetDocument(selector: SelectorLike): VirtualTextDocument;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selector | <code><a href=\"#-vuedx-vue-virtual-textdocument--SelectorLike-type\">SelectorLike</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-3-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-3-\"></a>\n\n#### [getDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-3-)\n\n\n\n**Signature:**\n```ts\ngetDocument(selector: string): VirtualTextDocument | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selector | <code>string</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentFileName-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentFileName-member-1-\"></a>\n\n#### [getDocumentFileName](#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentFileName-member-1-)\n\n\n\n**Signature:**\n```ts\ngetDocumentFileName(selectorLike: SelectorLike): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selectorLike | <code><a href=\"#-vuedx-vue-virtual-textdocument--SelectorLike-type\">SelectorLike</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentId-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentId-member-1-\"></a>\n\n#### [getDocumentId](#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentId-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected getDocumentId(selector: Selector): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selector | <code><a href=\"#-vuedx-vue-virtual-textdocument--Selector-type\">Selector</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentLanguage-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentLanguage-member-1-\"></a>\n\n#### [getDocumentLanguage](#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentLanguage-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected getDocumentLanguage(selector: Selector): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selector | <code><a href=\"#-vuedx-vue-virtual-textdocument--Selector-type\">Selector</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-markDirty-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-markDirty-member-1-\"></a>\n\n#### [markDirty](#-vuedx-vue-virtual-textdocument-VueTextDocument-markDirty-member-1-)\n\n\n\n**Signature:**\n```ts\nmarkDirty(): void;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-parse-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-parse-member-1-\"></a>\n\n#### [parse](#-vuedx-vue-virtual-textdocument-VueTextDocument-parse-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected parse(): void;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-update-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-update-member-1-\"></a>\n\n#### [update](#-vuedx-vue-virtual-textdocument-VueTextDocument-update-member-1-)\n\n\n\n**Signature:**\n```ts\nstatic update(document: VueTextDocument, changes: TextDocumentContentChangeEvent[], version: number): VueTextDocument;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| document | <code><a href=\"#-vuedx-vue-virtual-textdocument--VueTextDocument-class\">VueTextDocument</a></code> | - |\n| changes | <code><a href=\"#vscode-languageserver-textdocument-TextDocumentContentChangeEvent-type\">TextDocumentContentChangeEvent</a>[]</code> | - |\n| version | <code>number</code> | - |\n\n<br>\n</details>\n\n<br>\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-asFsPath-function-1-\" id=\"-vuedx-vue-virtual-textdocument-asFsPath-function-1-\"></a>\n\n### [asFsPath](#-vuedx-vue-virtual-textdocument-asFsPath-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function asFsPath(uri: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-asFsUri-function-1-\" id=\"-vuedx-vue-virtual-textdocument-asFsUri-function-1-\"></a>\n\n### [asFsUri](#-vuedx-vue-virtual-textdocument-asFsUri-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function asFsUri(fileName: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-asUri-function-1-\" id=\"-vuedx-vue-virtual-textdocument-asUri-function-1-\"></a>\n\n### [asUri](#-vuedx-vue-virtual-textdocument-asUri-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function asUri(fileNameOrUri: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileNameOrUri | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-basename-function-1-\" id=\"-vuedx-vue-virtual-textdocument-basename-function-1-\"></a>\n\n### [basename](#-vuedx-vue-virtual-textdocument-basename-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function basename(fileName: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-binarySearch-function-1-\" id=\"-vuedx-vue-virtual-textdocument-binarySearch-function-1-\"></a>\n\n### [binarySearch](#-vuedx-vue-virtual-textdocument-binarySearch-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function binarySearch<T>(array: T[], isMatch: (a: T) => number, returnMin?: boolean): T | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| array | <code>T[]</code> | - |\n| isMatch | <code>(a: T) => number</code> | - |\n| returnMin | <code>boolean</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-getBlockLanguage-function-1-\" id=\"-vuedx-vue-virtual-textdocument-getBlockLanguage-function-1-\"></a>\n\n### [getBlockLanguage](#-vuedx-vue-virtual-textdocument-getBlockLanguage-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function getBlockLanguage(block?: SFCBlock | null): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| block | <code><a href=\"#-vue-compiler-sfc-SFCBlock-interface\">SFCBlock</a> &#124; null</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-getContainingFile-function-1-\" id=\"-vuedx-vue-virtual-textdocument-getContainingFile-function-1-\"></a>\n\n### [getContainingFile](#-vuedx-vue-virtual-textdocument-getContainingFile-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function getContainingFile(fileName: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-getLanguageExtension-function-1-\" id=\"-vuedx-vue-virtual-textdocument-getLanguageExtension-function-1-\"></a>\n\n### [getLanguageExtension](#-vuedx-vue-virtual-textdocument-getLanguageExtension-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function getLanguageExtension(lang: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| lang | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-getLanguageIdFromExtension-function-1-\" id=\"-vuedx-vue-virtual-textdocument-getLanguageIdFromExtension-function-1-\"></a>\n\n### [getLanguageIdFromExtension](#-vuedx-vue-virtual-textdocument-getLanguageIdFromExtension-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function getLanguageIdFromExtension(ext: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| ext | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-isOffsetInBlock-function-1-\" id=\"-vuedx-vue-virtual-textdocument-isOffsetInBlock-function-1-\"></a>\n\n### [isOffsetInBlock](#-vuedx-vue-virtual-textdocument-isOffsetInBlock-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function isOffsetInBlock(offset: number, block?: SFCBlock | null): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n| block | <code><a href=\"#-vue-compiler-sfc-SFCBlock-interface\">SFCBlock</a> &#124; null</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-isVirtualFile-function-1-\" id=\"-vuedx-vue-virtual-textdocument-isVirtualFile-function-1-\"></a>\n\n### [isVirtualFile](#-vuedx-vue-virtual-textdocument-isVirtualFile-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function isVirtualFile(fileName: string): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-isVirtualFileOfType-function-1-\" id=\"-vuedx-vue-virtual-textdocument-isVirtualFileOfType-function-1-\"></a>\n\n### [isVirtualFileOfType](#-vuedx-vue-virtual-textdocument-isVirtualFileOfType-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function isVirtualFileOfType(fileName: string, type: '_render' | '_module' | '_internal' | 'script' | 'scriptSetup'): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n| type | <code>'_render' &#124; '_module' &#124; '_internal' &#124; 'script' &#124; 'scriptSetup'</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-isVueFile-function-1-\" id=\"-vuedx-vue-virtual-textdocument-isVueFile-function-1-\"></a>\n\n### [isVueFile](#-vuedx-vue-virtual-textdocument-isVueFile-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function isVueFile(fileName: string): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-parseVirtualFileName-function-1-\" id=\"-vuedx-vue-virtual-textdocument-parseVirtualFileName-function-1-\"></a>\n\n### [parseVirtualFileName](#-vuedx-vue-virtual-textdocument-parseVirtualFileName-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function parseVirtualFileName(fileName: string): {\n    uri: string;\n    selector: Selector;\n} | null;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-relativeVirtualImportPath-function-1-\" id=\"-vuedx-vue-virtual-textdocument-relativeVirtualImportPath-function-1-\"></a>\n\n### [relativeVirtualImportPath](#-vuedx-vue-virtual-textdocument-relativeVirtualImportPath-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function relativeVirtualImportPath(fileName: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-replaceSlashes-function-1-\" id=\"-vuedx-vue-virtual-textdocument-replaceSlashes-function-1-\"></a>\n\n### [replaceSlashes](#-vuedx-vue-virtual-textdocument-replaceSlashes-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function replaceSlashes(fileName: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n<!-- #region API-DOCS -->\n\n## Support\n\nThis package is part of [VueDX project](https://github.com/znck/vue-developer-experience), maintained by [Rahul Kadyan](https://github.com/znck). You can [💖 sponsor him](https://github.com/sponsors/znck) for continued development of this package and other VueDX tools.\n\n<p align=\"center\">\n  <a href=\"https://cdn.jsdelivr.net/gh/znck/sponsors@main/sponsors.svg\">\n    <img src='https://cdn.jsdelivr.net/gh/znck/sponsors@main/sponsors.png'/>\n  </a>\n</p>\n","readmeFilename":"readme.md","gitHead":"e9ceb2483672608d6ab2dd096b85a07980744c68","_id":"@vuedx/vue-virtual-textdocument@0.7.5-next-1649653313.0","_nodeVersion":"16.14.2","_npmVersion":"8.5.0","dist":{"integrity":"sha512-6nr64Es5h9QqUI3xj0hzK+RcG8ZtxNMVPYozxoz+qNmMEilfGKOWD16vMPbo8Hx/XuTao7jyCH0bnrn9036Avw==","shasum":"67ba30b30729fbfc743cc83b0d966c69dc0d0290","tarball":"https://registry.npmjs.org/@vuedx/vue-virtual-textdocument/-/vue-virtual-textdocument-0.7.5-next-1649653313.0.tgz","fileCount":8,"unpackedSize":225515,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQC4pii9L77eThPUuVLkyGuN/73b+Y1QyynYKFuy9QqEAgIhALROdXDm05/PQEMHpiG31iyM8N3//Tk/ZI/NL67wuRKb"}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiU7ZYACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmpw2Q//T4dfacDdD+m8/mxlscCAnN0fRick4bhD9IDoMw8zgT6FjRik\r\nxWIPGNn1AbYH/iwgWnorHCfI57XpCYiasZ6wtrMfaAyG8HuHM6X+6Czsoj6m\r\nKtVahtWCjnt/KrxEZkezQs0l0lkMQFRfRjq5pfbHOePejFUu91rUb/c91PoU\r\n7XyvU7JHc8hi2FZRwW1eHnCVOPlq7KQeXI4cTWTVKf5DABrtWLEh/+RPwmqx\r\nK5oRUl5/zfFPBE0OL3uaKBPdooCONkG3j+q1XsuO0Rzi/4OD8DKnSRp40DRR\r\nknyrZum8ZMCjGG4/g1IM8E0kjsXF9gh7VOpxeGUV7+CKQiQq4ntsLshR9MCc\r\nzxl/+Twa+jbAUGQGs3zhnOghXozJZsqhYD/tKnJHt6sWcKTT4KMpdQj58IkP\r\nd4HKJv1ZKgeV5a9hbwcTl31hDNzLflDTjKvDhetFatuue8FOuetat4VOlZd1\r\nw6qgx+UhBzUOZeJ1mx4cL4TAjpOJo8KxhyOeNqiNDg7jXL8RJuybgswDHKgM\r\nqZIfvuUuB3dHe5pwqVpvqS10Tf4wAF/QzEd2K03aVVW3Fe71uXktbVbPxTIZ\r\nRUuRIDWgFjRPgCrOFs38G5B1CGv3fIKfpv+M/Pa/mo2TTBb7cuTrXy4Li7tB\r\nrU+biJqeU/CMP5WduZeCd4EKQxkQXgckA3s=\r\n=EkUI\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"znck","email":"rahulkdn@gmail.com"},"directories":{},"maintainers":[{"name":"znck","email":"rahulkdn@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/vue-virtual-textdocument_0.7.5-next-1649653313.0_1649653336756_0.9941338425207511"},"_hasShrinkwrap":false},"0.7.5-next-1649654649.0":{"name":"@vuedx/vue-virtual-textdocument","version":"0.7.5-next-1649654649.0","description":"A virtual filesystem to access blocks in SFC as files","main":"lib/index.js","module":"lib/index.mjs","types":"lib/index.d.ts","publishConfig":{"types":"lib/index.d.ts"},"private":false,"keywords":["vue","vue sfc","sfc","vue virtual files"],"repository":{"type":"git","url":"git+https://github.com/znck/vue-developer-experience.git"},"author":{"name":"Rahul Kadyan","email":"rahulkdn@gmail.com","url":"https://znck.me/"},"funding":{"type":"individual","url":"https://github.com/sponsors/znck"},"license":"MIT","bugs":{"url":"https://github.com/znck/vue-developer-experience/issues"},"homepage":"https://github.com/znck/vue-developer-experience#readme","dependencies":{"@vuedx/compiler-sfc":"0.7.2-next-1649654649.0","@vuedx/compiler-tsx":"0.7.5-next-1649654649.0","@vuedx/shared":"0.7.4-next-1649654649.0","@vuedx/template-ast-types":"0.7.3-next-1649654649.0","@vuedx/transforms":"0.7.5-next-1649654649.0","source-map":"^0.6.1","vscode-languageserver-textdocument":"^1.0.1","vscode-uri":"^2.1.2"},"devDependencies":{"typescript":"^4.0.3"},"scripts":{},"readme":"# Vue Virtual TextDocument\n\nAn implementation of virtual filesystem for accessing blocks in a `.vue` file as independent files.\n\n```\nnpm add @vuedx/vue-virtual-textdocument\n```\n<!-- #region API-DOCS -->\n<!-- Do not edit this file. It is a report generated by [scripts/docgen.js](https://github.com/znck/vue-developer-experience/tree/main/scripts/docgen.js). -->\n\n## API\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-AsyncDocumentStore-class\" id=\"-vuedx-vue-virtual-textdocument-AsyncDocumentStore-class\"></a>\n\n### [AsyncDocumentStore](#-vuedx-vue-virtual-textdocument-AsyncDocumentStore-class)\n\n\n\n<details><summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare class AsyncDocumentStore<T> extends DocumentStore<T> {\n  constructor(resolve: (uri: string) => T | Promise<T | null> | null, normalize?: (uri: string) => string);\n  get(uri: string): T | null;\n  get(uri: string): Promise<T | null>;\n}\n```\n\n**Members:**\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-AsyncDocumentStore-get-member-1-\" id=\"-vuedx-vue-virtual-textdocument-AsyncDocumentStore-get-member-1-\"></a>\n\n#### [get](#-vuedx-vue-virtual-textdocument-AsyncDocumentStore-get-member-1-)\n\n\n\n**Signature:**\n```ts\nget(uri: string): T | null;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-AsyncDocumentStore-get-member-2-\" id=\"-vuedx-vue-virtual-textdocument-AsyncDocumentStore-get-member-2-\"></a>\n\n#### [get](#-vuedx-vue-virtual-textdocument-AsyncDocumentStore-get-member-2-)\n\n\n\n**Signature:**\n```ts\nget(uri: string): Promise<T | null>;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n\n<br>\n</details>\n\n<br>\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-class\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-class\"></a>\n\n### [DocumentStore](#-vuedx-vue-virtual-textdocument-DocumentStore-class)\n\n\n\n<details><summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare class DocumentStore<T> {\n  constructor(resolve: (uri: string) => T | null, normalize?: (uri: string) => string);\n  all(): string[];\n  delete(uri: string): boolean;\n  dispose(): void;\n  get(uri: string): T | null;\n  protected getNormalizedUri(uri: string): string;\n  has(uri: string): boolean;\n  protected map: Map<string, T>;\n  normalize: (uri: string) => string;\n  protected resolve: (uri: string) => T | null;\n  protected reverseUriMap: Map<string, string>;\n  set(uri: string, document: T): void;\n}\n```\n\n**Members:**\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-all-member-1-\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-all-member-1-\"></a>\n\n#### [all](#-vuedx-vue-virtual-textdocument-DocumentStore-all-member-1-)\n\n\n\n**Signature:**\n```ts\nall(): string[];\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-delete-member-1-\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-delete-member-1-\"></a>\n\n#### [delete](#-vuedx-vue-virtual-textdocument-DocumentStore-delete-member-1-)\n\n\n\n**Signature:**\n```ts\ndelete(uri: string): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-dispose-member-1-\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-dispose-member-1-\"></a>\n\n#### [dispose](#-vuedx-vue-virtual-textdocument-DocumentStore-dispose-member-1-)\n\n\n\n**Signature:**\n```ts\ndispose(): void;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-get-member-1-\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-get-member-1-\"></a>\n\n#### [get](#-vuedx-vue-virtual-textdocument-DocumentStore-get-member-1-)\n\n\n\n**Signature:**\n```ts\nget(uri: string): T | null;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-getNormalizedUri-member-1-\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-getNormalizedUri-member-1-\"></a>\n\n#### [getNormalizedUri](#-vuedx-vue-virtual-textdocument-DocumentStore-getNormalizedUri-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected getNormalizedUri(uri: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-has-member-1-\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-has-member-1-\"></a>\n\n#### [has](#-vuedx-vue-virtual-textdocument-DocumentStore-has-member-1-)\n\n\n\n**Signature:**\n```ts\nhas(uri: string): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-set-member-1-\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-set-member-1-\"></a>\n\n#### [set](#-vuedx-vue-virtual-textdocument-DocumentStore-set-member-1-)\n\n\n\n**Signature:**\n```ts\nset(uri: string, document: T): void;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n| document | <code>T</code> | - |\n\n<br>\n</details>\n\n<br>\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-class\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-class\"></a>\n\n### [RenderFunctionTextDocument](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-class)\n\n\n\n<details><summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare class RenderFunctionTextDocument extends TransformedBlockTextDocument {\n  constructor(container: VueTextDocument, selector: Selector, transformed: TextDocument, source: TextDocument);\n  get ast(): CodegenResult['ast'] | undefined;\n  get contextCompletionsTriggerOffset(): number;\n  static create(options: CreateVirtualTextDocumentOptions): RenderFunctionTextDocument;\n  findExpression(offset: number, length: number): undefined | {\n        offset: number;\n        length: number;\n    };\n  protected generate(): string;\n  getAllGeneratedOffsetsAt(offset: number): undefined | Array<{\n        length: number;\n        offset: number;\n    }>;\n  getGeneratedOffsetAt(offset: number): undefined | {\n        length: number;\n        offset: number;\n    };\n  protected getKnownComponents(): Record<string, ComponentImport>;\n  getOriginalOffsetAt(offset: number): undefined | {\n        offset: number;\n        length: number;\n    };\n  isInGeneratedRange(offset: number): boolean;\n  isInTemplateIdentifierRange(offset: number): boolean;\n  get parserErrors(): CodegenResult['errors'];\n  get tagCompletionsTriggerOffset(): number;\n  toDisplayMappings(): string;\n  protected tryGenerate(): string;\n}\n```\n\n**Members:**\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-create-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-create-member-1-\"></a>\n\n#### [create](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-create-member-1-)\n\n\n\n**Signature:**\n```ts\nstatic create(options: CreateVirtualTextDocumentOptions): RenderFunctionTextDocument;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| options | <code><a href=\"#-vuedx-vue-virtual-textdocument--CreateVirtualTextDocumentOptions-interface\">CreateVirtualTextDocumentOptions</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-findExpression-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-findExpression-member-1-\"></a>\n\n#### [findExpression](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-findExpression-member-1-)\n\n\n\n**Signature:**\n```ts\nfindExpression(offset: number, length: number): undefined | {\n        offset: number;\n        length: number;\n    };\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n| length | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-generate-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-generate-member-1-\"></a>\n\n#### [generate](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-generate-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected generate(): string;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getAllGeneratedOffsetsAt-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getAllGeneratedOffsetsAt-member-1-\"></a>\n\n#### [getAllGeneratedOffsetsAt](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getAllGeneratedOffsetsAt-member-1-)\n\n\n\n**Signature:**\n```ts\ngetAllGeneratedOffsetsAt(offset: number): undefined | Array<{\n        length: number;\n        offset: number;\n    }>;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getGeneratedOffsetAt-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getGeneratedOffsetAt-member-1-\"></a>\n\n#### [getGeneratedOffsetAt](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getGeneratedOffsetAt-member-1-)\n\n\n\n**Signature:**\n```ts\ngetGeneratedOffsetAt(offset: number): undefined | {\n        length: number;\n        offset: number;\n    };\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getKnownComponents-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getKnownComponents-member-1-\"></a>\n\n#### [getKnownComponents](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getKnownComponents-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected getKnownComponents(): Record<string, ComponentImport>;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getOriginalOffsetAt-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getOriginalOffsetAt-member-1-\"></a>\n\n#### [getOriginalOffsetAt](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getOriginalOffsetAt-member-1-)\n\n\n\n**Signature:**\n```ts\ngetOriginalOffsetAt(offset: number): undefined | {\n        offset: number;\n        length: number;\n    };\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-isInGeneratedRange-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-isInGeneratedRange-member-1-\"></a>\n\n#### [isInGeneratedRange](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-isInGeneratedRange-member-1-)\n\n\n\n**Signature:**\n```ts\nisInGeneratedRange(offset: number): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-isInTemplateIdentifierRange-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-isInTemplateIdentifierRange-member-1-\"></a>\n\n#### [isInTemplateIdentifierRange](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-isInTemplateIdentifierRange-member-1-)\n\n\n\n**Signature:**\n```ts\nisInTemplateIdentifierRange(offset: number): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-toDisplayMappings-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-toDisplayMappings-member-1-\"></a>\n\n#### [toDisplayMappings](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-toDisplayMappings-member-1-)\n\n\n\n**Signature:**\n```ts\ntoDisplayMappings(): string;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-tryGenerate-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-tryGenerate-member-1-\"></a>\n\n#### [tryGenerate](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-tryGenerate-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected tryGenerate(): string;\n```\n\n\n<br>\n</details>\n\n<br>\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-class\" id=\"-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-class\"></a>\n\n### [TransformedBlockTextDocument](#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-class)\n\n\n\n<details><summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare class TransformedBlockTextDocument extends VirtualTextDocument {\n  protected constructor(container: VueTextDocument, selector: Selector, transformed: TextDocument, source: TextDocument | VirtualTextDocument, _transform: (document: TransformedBlockTextDocument) => BlockTransformResult);\n  static create(options: CreateTransformedBlockTextDocumentOptions): TransformedBlockTextDocument;\n  protected refresh(): void;\n  transform(): BlockTransformResult;\n  tryGetGeneratedOffset(offset: number): number | undefined;\n  tryGetSourceOffset(offset: number): number | undefined;\n}\n```\n\n**Members:**\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-create-member-1-\" id=\"-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-create-member-1-\"></a>\n\n#### [create](#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-create-member-1-)\n\n\n\n**Signature:**\n```ts\nstatic create(options: CreateTransformedBlockTextDocumentOptions): TransformedBlockTextDocument;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| options | <code><a href=\"#-vuedx-vue-virtual-textdocument--CreateTransformedBlockTextDocumentOptions-interface\">CreateTransformedBlockTextDocumentOptions</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-refresh-member-1-\" id=\"-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-refresh-member-1-\"></a>\n\n#### [refresh](#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-refresh-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected refresh(): void;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-transform-member-1-\" id=\"-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-transform-member-1-\"></a>\n\n#### [transform](#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-transform-member-1-)\n\n\n\n**Signature:**\n```ts\ntransform(): BlockTransformResult;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-tryGetGeneratedOffset-member-1-\" id=\"-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-tryGetGeneratedOffset-member-1-\"></a>\n\n#### [tryGetGeneratedOffset](#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-tryGetGeneratedOffset-member-1-)\n\n\n\n**Signature:**\n```ts\ntryGetGeneratedOffset(offset: number): number | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-tryGetSourceOffset-member-1-\" id=\"-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-tryGetSourceOffset-member-1-\"></a>\n\n#### [tryGetSourceOffset](#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-tryGetSourceOffset-member-1-)\n\n\n\n**Signature:**\n```ts\ntryGetSourceOffset(offset: number): number | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n</details>\n\n<br>\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VirtualTextDocument-class\" id=\"-vuedx-vue-virtual-textdocument-VirtualTextDocument-class\"></a>\n\n### [VirtualTextDocument](#-vuedx-vue-virtual-textdocument-VirtualTextDocument-class)\n\n\n\n<details><summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare class VirtualTextDocument extends ProxyTextDocument {\n  protected constructor(container: VueTextDocument, selector: Selector, doc: TextDocument);\n  readonly container: VueTextDocument;\n  static create(options: CreateVirtualTextDocumentOptions): VirtualTextDocument;\n  protected isDirty: boolean;\n  markDirty(): void;\n  protected refresh(): void;\n  readonly selector: Selector;\n}\n```\n\n**Members:**\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VirtualTextDocument-create-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VirtualTextDocument-create-member-1-\"></a>\n\n#### [create](#-vuedx-vue-virtual-textdocument-VirtualTextDocument-create-member-1-)\n\n\n\n**Signature:**\n```ts\nstatic create(options: CreateVirtualTextDocumentOptions): VirtualTextDocument;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| options | <code><a href=\"#-vuedx-vue-virtual-textdocument--CreateVirtualTextDocumentOptions-interface\">CreateVirtualTextDocumentOptions</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VirtualTextDocument-markDirty-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VirtualTextDocument-markDirty-member-1-\"></a>\n\n#### [markDirty](#-vuedx-vue-virtual-textdocument-VirtualTextDocument-markDirty-member-1-)\n\n\n\n**Signature:**\n```ts\nmarkDirty(): void;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VirtualTextDocument-refresh-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VirtualTextDocument-refresh-member-1-\"></a>\n\n#### [refresh](#-vuedx-vue-virtual-textdocument-VirtualTextDocument-refresh-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected refresh(): void;\n```\n\n\n<br>\n</details>\n\n<br>\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-class\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-class\"></a>\n\n### [VueTextDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-class)\n\n\n\n<details><summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare class VueTextDocument extends ProxyTextDocument {\n  constructor(doc: TextDocument, options?: VueTextDocumentOptions, parseOptions?: SFCParseOptions);\n  all(): VirtualTextDocument[];\n  blockAt(position: Position | number): SFCBlock | null | undefined;\n  static create(uri: string, languageId: string, version: number, content: string, options?: VueTextDocumentOptions, parseOptions?: SFCParseOptions): VueTextDocument;\n  protected createBlockDocument(selector: BlockSelector): VirtualTextDocument | undefined;\n  protected createInternalModuleDocument(): TransformedBlockTextDocument;\n  protected createModuleDocument(): TransformedBlockTextDocument;\n  protected createRenderDocument(): RenderFunctionTextDocument;\n  protected createTemplateASTDocument(): TransformedBlockTextDocument;\n  get descriptor(): SFCDescriptor;\n  documentAt(position: Position | number): VirtualTextDocument | undefined;\n  getBlock(selector: BlockSelector): SFCBlock | null | undefined;\n  getBlockSelector(block: SFCBlock): BlockSelector | undefined;\n  getDocument(selector: typeof RENDER_SELECTOR): RenderFunctionTextDocument;\n  getDocument(selector: SelectorLike): VirtualTextDocument;\n  getDocument(selector: string): VirtualTextDocument | undefined;\n  getDocumentFileName(selectorLike: SelectorLike): string;\n  protected getDocumentId(selector: Selector): string;\n  protected getDocumentLanguage(selector: Selector): string;\n  markDirty(): void;\n  readonly options: VueTextDocumentOptions;\n  protected parse(): void;\n  static update(document: VueTextDocument, changes: TextDocumentContentChangeEvent[], version: number): VueTextDocument;\n}\n```\n\n**Members:**\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-all-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-all-member-1-\"></a>\n\n#### [all](#-vuedx-vue-virtual-textdocument-VueTextDocument-all-member-1-)\n\n\n\n**Signature:**\n```ts\nall(): VirtualTextDocument[];\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-blockAt-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-blockAt-member-1-\"></a>\n\n#### [blockAt](#-vuedx-vue-virtual-textdocument-VueTextDocument-blockAt-member-1-)\n\n\n\n**Signature:**\n```ts\nblockAt(position: Position | number): SFCBlock | null | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| position | <code><a href=\"#vscode-languageserver-textdocument-Position-interface\">Position</a> &#124; number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-create-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-create-member-1-\"></a>\n\n#### [create](#-vuedx-vue-virtual-textdocument-VueTextDocument-create-member-1-)\n\n\n\n**Signature:**\n```ts\nstatic create(uri: string, languageId: string, version: number, content: string, options?: VueTextDocumentOptions, parseOptions?: SFCParseOptions): VueTextDocument;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n| languageId | <code>string</code> | - |\n| version | <code>number</code> | - |\n| content | <code>string</code> | - |\n| options | <code><a href=\"#-vuedx-vue-virtual-textdocument--VueTextDocumentOptions-interface\">VueTextDocumentOptions</a></code> | - |\n| parseOptions | <code><a href=\"#-vue-compiler-sfc-SFCParseOptions-interface\">SFCParseOptions</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-createBlockDocument-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-createBlockDocument-member-1-\"></a>\n\n#### [createBlockDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-createBlockDocument-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected createBlockDocument(selector: BlockSelector): VirtualTextDocument | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selector | <code><a href=\"#-vuedx-vue-virtual-textdocument--BlockSelector-type\">BlockSelector</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-createInternalModuleDocument-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-createInternalModuleDocument-member-1-\"></a>\n\n#### [createInternalModuleDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-createInternalModuleDocument-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected createInternalModuleDocument(): TransformedBlockTextDocument;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-createModuleDocument-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-createModuleDocument-member-1-\"></a>\n\n#### [createModuleDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-createModuleDocument-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected createModuleDocument(): TransformedBlockTextDocument;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-createRenderDocument-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-createRenderDocument-member-1-\"></a>\n\n#### [createRenderDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-createRenderDocument-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected createRenderDocument(): RenderFunctionTextDocument;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-createTemplateASTDocument-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-createTemplateASTDocument-member-1-\"></a>\n\n#### [createTemplateASTDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-createTemplateASTDocument-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected createTemplateASTDocument(): TransformedBlockTextDocument;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-documentAt-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-documentAt-member-1-\"></a>\n\n#### [documentAt](#-vuedx-vue-virtual-textdocument-VueTextDocument-documentAt-member-1-)\n\n\n\n**Signature:**\n```ts\ndocumentAt(position: Position | number): VirtualTextDocument | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| position | <code><a href=\"#vscode-languageserver-textdocument-Position-interface\">Position</a> &#124; number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getBlock-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getBlock-member-1-\"></a>\n\n#### [getBlock](#-vuedx-vue-virtual-textdocument-VueTextDocument-getBlock-member-1-)\n\n\n\n**Signature:**\n```ts\ngetBlock(selector: BlockSelector): SFCBlock | null | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selector | <code><a href=\"#-vuedx-vue-virtual-textdocument--BlockSelector-type\">BlockSelector</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getBlockSelector-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getBlockSelector-member-1-\"></a>\n\n#### [getBlockSelector](#-vuedx-vue-virtual-textdocument-VueTextDocument-getBlockSelector-member-1-)\n\n\n\n**Signature:**\n```ts\ngetBlockSelector(block: SFCBlock): BlockSelector | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| block | <code><a href=\"#-vue-compiler-sfc-SFCBlock-interface\">SFCBlock</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-1-\"></a>\n\n#### [getDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-1-)\n\n\n\n**Signature:**\n```ts\ngetDocument(selector: typeof RENDER_SELECTOR): RenderFunctionTextDocument;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selector | <code>typeof <a href=\"#-vuedx-vue-virtual-textdocument--RENDER-SELECTOR-var\">RENDER_SELECTOR</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-2-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-2-\"></a>\n\n#### [getDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-2-)\n\n\n\n**Signature:**\n```ts\ngetDocument(selector: SelectorLike): VirtualTextDocument;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selector | <code><a href=\"#-vuedx-vue-virtual-textdocument--SelectorLike-type\">SelectorLike</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-3-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-3-\"></a>\n\n#### [getDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-3-)\n\n\n\n**Signature:**\n```ts\ngetDocument(selector: string): VirtualTextDocument | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selector | <code>string</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentFileName-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentFileName-member-1-\"></a>\n\n#### [getDocumentFileName](#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentFileName-member-1-)\n\n\n\n**Signature:**\n```ts\ngetDocumentFileName(selectorLike: SelectorLike): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selectorLike | <code><a href=\"#-vuedx-vue-virtual-textdocument--SelectorLike-type\">SelectorLike</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentId-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentId-member-1-\"></a>\n\n#### [getDocumentId](#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentId-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected getDocumentId(selector: Selector): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selector | <code><a href=\"#-vuedx-vue-virtual-textdocument--Selector-type\">Selector</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentLanguage-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentLanguage-member-1-\"></a>\n\n#### [getDocumentLanguage](#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentLanguage-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected getDocumentLanguage(selector: Selector): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selector | <code><a href=\"#-vuedx-vue-virtual-textdocument--Selector-type\">Selector</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-markDirty-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-markDirty-member-1-\"></a>\n\n#### [markDirty](#-vuedx-vue-virtual-textdocument-VueTextDocument-markDirty-member-1-)\n\n\n\n**Signature:**\n```ts\nmarkDirty(): void;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-parse-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-parse-member-1-\"></a>\n\n#### [parse](#-vuedx-vue-virtual-textdocument-VueTextDocument-parse-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected parse(): void;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-update-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-update-member-1-\"></a>\n\n#### [update](#-vuedx-vue-virtual-textdocument-VueTextDocument-update-member-1-)\n\n\n\n**Signature:**\n```ts\nstatic update(document: VueTextDocument, changes: TextDocumentContentChangeEvent[], version: number): VueTextDocument;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| document | <code><a href=\"#-vuedx-vue-virtual-textdocument--VueTextDocument-class\">VueTextDocument</a></code> | - |\n| changes | <code><a href=\"#vscode-languageserver-textdocument-TextDocumentContentChangeEvent-type\">TextDocumentContentChangeEvent</a>[]</code> | - |\n| version | <code>number</code> | - |\n\n<br>\n</details>\n\n<br>\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-asFsPath-function-1-\" id=\"-vuedx-vue-virtual-textdocument-asFsPath-function-1-\"></a>\n\n### [asFsPath](#-vuedx-vue-virtual-textdocument-asFsPath-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function asFsPath(uri: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-asFsUri-function-1-\" id=\"-vuedx-vue-virtual-textdocument-asFsUri-function-1-\"></a>\n\n### [asFsUri](#-vuedx-vue-virtual-textdocument-asFsUri-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function asFsUri(fileName: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-asUri-function-1-\" id=\"-vuedx-vue-virtual-textdocument-asUri-function-1-\"></a>\n\n### [asUri](#-vuedx-vue-virtual-textdocument-asUri-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function asUri(fileNameOrUri: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileNameOrUri | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-basename-function-1-\" id=\"-vuedx-vue-virtual-textdocument-basename-function-1-\"></a>\n\n### [basename](#-vuedx-vue-virtual-textdocument-basename-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function basename(fileName: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-binarySearch-function-1-\" id=\"-vuedx-vue-virtual-textdocument-binarySearch-function-1-\"></a>\n\n### [binarySearch](#-vuedx-vue-virtual-textdocument-binarySearch-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function binarySearch<T>(array: T[], isMatch: (a: T) => number, returnMin?: boolean): T | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| array | <code>T[]</code> | - |\n| isMatch | <code>(a: T) => number</code> | - |\n| returnMin | <code>boolean</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-getBlockLanguage-function-1-\" id=\"-vuedx-vue-virtual-textdocument-getBlockLanguage-function-1-\"></a>\n\n### [getBlockLanguage](#-vuedx-vue-virtual-textdocument-getBlockLanguage-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function getBlockLanguage(block?: SFCBlock | null): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| block | <code><a href=\"#-vue-compiler-sfc-SFCBlock-interface\">SFCBlock</a> &#124; null</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-getContainingFile-function-1-\" id=\"-vuedx-vue-virtual-textdocument-getContainingFile-function-1-\"></a>\n\n### [getContainingFile](#-vuedx-vue-virtual-textdocument-getContainingFile-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function getContainingFile(fileName: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-getLanguageExtension-function-1-\" id=\"-vuedx-vue-virtual-textdocument-getLanguageExtension-function-1-\"></a>\n\n### [getLanguageExtension](#-vuedx-vue-virtual-textdocument-getLanguageExtension-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function getLanguageExtension(lang: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| lang | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-getLanguageIdFromExtension-function-1-\" id=\"-vuedx-vue-virtual-textdocument-getLanguageIdFromExtension-function-1-\"></a>\n\n### [getLanguageIdFromExtension](#-vuedx-vue-virtual-textdocument-getLanguageIdFromExtension-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function getLanguageIdFromExtension(ext: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| ext | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-isOffsetInBlock-function-1-\" id=\"-vuedx-vue-virtual-textdocument-isOffsetInBlock-function-1-\"></a>\n\n### [isOffsetInBlock](#-vuedx-vue-virtual-textdocument-isOffsetInBlock-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function isOffsetInBlock(offset: number, block?: SFCBlock | null): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n| block | <code><a href=\"#-vue-compiler-sfc-SFCBlock-interface\">SFCBlock</a> &#124; null</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-isVirtualFile-function-1-\" id=\"-vuedx-vue-virtual-textdocument-isVirtualFile-function-1-\"></a>\n\n### [isVirtualFile](#-vuedx-vue-virtual-textdocument-isVirtualFile-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function isVirtualFile(fileName: string): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-isVirtualFileOfType-function-1-\" id=\"-vuedx-vue-virtual-textdocument-isVirtualFileOfType-function-1-\"></a>\n\n### [isVirtualFileOfType](#-vuedx-vue-virtual-textdocument-isVirtualFileOfType-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function isVirtualFileOfType(fileName: string, type: '_render' | '_module' | '_internal' | 'script' | 'scriptSetup'): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n| type | <code>'_render' &#124; '_module' &#124; '_internal' &#124; 'script' &#124; 'scriptSetup'</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-isVueFile-function-1-\" id=\"-vuedx-vue-virtual-textdocument-isVueFile-function-1-\"></a>\n\n### [isVueFile](#-vuedx-vue-virtual-textdocument-isVueFile-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function isVueFile(fileName: string): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-parseVirtualFileName-function-1-\" id=\"-vuedx-vue-virtual-textdocument-parseVirtualFileName-function-1-\"></a>\n\n### [parseVirtualFileName](#-vuedx-vue-virtual-textdocument-parseVirtualFileName-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function parseVirtualFileName(fileName: string): {\n    uri: string;\n    selector: Selector;\n} | null;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-relativeVirtualImportPath-function-1-\" id=\"-vuedx-vue-virtual-textdocument-relativeVirtualImportPath-function-1-\"></a>\n\n### [relativeVirtualImportPath](#-vuedx-vue-virtual-textdocument-relativeVirtualImportPath-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function relativeVirtualImportPath(fileName: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-replaceSlashes-function-1-\" id=\"-vuedx-vue-virtual-textdocument-replaceSlashes-function-1-\"></a>\n\n### [replaceSlashes](#-vuedx-vue-virtual-textdocument-replaceSlashes-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function replaceSlashes(fileName: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n<!-- #region API-DOCS -->\n\n## Support\n\nThis package is part of [VueDX project](https://github.com/znck/vue-developer-experience), maintained by [Rahul Kadyan](https://github.com/znck). You can [💖 sponsor him](https://github.com/sponsors/znck) for continued development of this package and other VueDX tools.\n\n<p align=\"center\">\n  <a href=\"https://cdn.jsdelivr.net/gh/znck/sponsors@main/sponsors.svg\">\n    <img src='https://cdn.jsdelivr.net/gh/znck/sponsors@main/sponsors.png'/>\n  </a>\n</p>\n","readmeFilename":"readme.md","gitHead":"baca2df0687f60ab044618375770329caf69b6b2","_id":"@vuedx/vue-virtual-textdocument@0.7.5-next-1649654649.0","_nodeVersion":"16.14.2","_npmVersion":"8.5.0","dist":{"integrity":"sha512-0SStS/ARfVmL9RNQJgjASNkTQK9br9iruY2UE8D8YDbI4NZZ+iwv1khrwaID0BSwxnFSqaYx1ZkOHxu0iaRn1A==","shasum":"d58794853aa122dcd9bc0e70075cd277a1cffbc6","tarball":"https://registry.npmjs.org/@vuedx/vue-virtual-textdocument/-/vue-virtual-textdocument-0.7.5-next-1649654649.0.tgz","fileCount":8,"unpackedSize":225515,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQD8eFXSQiqd9W4VC7eGZkCLnozzfesDOCp5T+/9HR3UxQIhANL1zfgeRXU2h+xPaLjZ26zGEmz6bpAGfkCFwKlJfeTq"}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiU7uNACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpIwA//bKqHzW4TaAym+/ewCUAUGgDLM41H+pyTGHf156wRSmn5L6Io\r\nfhc1itGe3MeLSiwbb+ia85aGPqu6JdX61SwVmnfXAijg+6jpMO0JRVr36XhP\r\nDvQlIp4iMG6py/07vI6Ram23gKprogMpKiK+77SfZ8WPZsBq3jdZ3urr0s9K\r\ngEjNfqqCxMvR1Vzw6npGXdy9ZcO2xeptNMz+z6wPK3lEPBu43cOeelXppoNa\r\nk7v1TI/2YuewmyBGrYf8QUb/IZQCNy/P0iKXpMIZAV5Z/rJviQTYtZTLV9W/\r\n8Iuba+6WL8ppvWHug0aSx4DUgxMFANyo3HNAEFOD/MXk/K/+2gE1RWFu98h4\r\npQeSK/D+oK7HPi544OpjgJcUheQLcsf1/7FqqQ90YfxKUDTbLq7X3JPnvNjF\r\n9q20NUcn84U/42h08e+1MqbUxxijWKPcfflGZdKOxWm4HA3BEv+MwGxZ83uU\r\n/h6SOuqI64kl1CtpxF2YxWc8LVS/qB2XLok27BQT41o/QUs95GgRNCUs/YcD\r\nPQg0psebn4i8EOvcqggrAXCbAwNn2oqFX/jGfAOgMlgEu6epWloC9KYfS7iL\r\nzYCYRrJSvyuh0GR3Wd4b/jRgzCtyYhg8OpGOaPwgOhf6ErUmYlQMbwdMUI3W\r\n7cJUl0ZixowXBwaPKmNBnXNYsLoVfUnUT1g=\r\n=AVeA\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"znck","email":"rahulkdn@gmail.com"},"directories":{},"maintainers":[{"name":"znck","email":"rahulkdn@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/vue-virtual-textdocument_0.7.5-next-1649654649.0_1649654669414_0.9211966944758683"},"_hasShrinkwrap":false},"0.7.5-next-1649655181.0":{"name":"@vuedx/vue-virtual-textdocument","version":"0.7.5-next-1649655181.0","description":"A virtual filesystem to access blocks in SFC as files","main":"lib/index.js","module":"lib/index.mjs","types":"lib/index.d.ts","publishConfig":{"types":"lib/index.d.ts"},"private":false,"keywords":["vue","vue sfc","sfc","vue virtual files"],"repository":{"type":"git","url":"git+https://github.com/znck/vue-developer-experience.git"},"author":{"name":"Rahul Kadyan","email":"rahulkdn@gmail.com","url":"https://znck.me/"},"funding":{"type":"individual","url":"https://github.com/sponsors/znck"},"license":"MIT","bugs":{"url":"https://github.com/znck/vue-developer-experience/issues"},"homepage":"https://github.com/znck/vue-developer-experience#readme","dependencies":{"@vuedx/compiler-sfc":"0.7.2-next-1649655181.0","@vuedx/compiler-tsx":"0.7.5-next-1649655181.0","@vuedx/shared":"0.7.4-next-1649655181.0","@vuedx/template-ast-types":"0.7.3-next-1649655181.0","@vuedx/transforms":"0.7.5-next-1649655181.0","source-map":"^0.6.1","vscode-languageserver-textdocument":"^1.0.1","vscode-uri":"^2.1.2"},"devDependencies":{"typescript":"^4.0.3"},"scripts":{},"readme":"# Vue Virtual TextDocument\n\nAn implementation of virtual filesystem for accessing blocks in a `.vue` file as independent files.\n\n```\nnpm add @vuedx/vue-virtual-textdocument\n```\n<!-- #region API-DOCS -->\n<!-- Do not edit this file. It is a report generated by [scripts/docgen.js](https://github.com/znck/vue-developer-experience/tree/main/scripts/docgen.js). -->\n\n## API\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-AsyncDocumentStore-class\" id=\"-vuedx-vue-virtual-textdocument-AsyncDocumentStore-class\"></a>\n\n### [AsyncDocumentStore](#-vuedx-vue-virtual-textdocument-AsyncDocumentStore-class)\n\n\n\n<details><summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare class AsyncDocumentStore<T> extends DocumentStore<T> {\n  constructor(resolve: (uri: string) => T | Promise<T | null> | null, normalize?: (uri: string) => string);\n  get(uri: string): T | null;\n  get(uri: string): Promise<T | null>;\n}\n```\n\n**Members:**\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-AsyncDocumentStore-get-member-1-\" id=\"-vuedx-vue-virtual-textdocument-AsyncDocumentStore-get-member-1-\"></a>\n\n#### [get](#-vuedx-vue-virtual-textdocument-AsyncDocumentStore-get-member-1-)\n\n\n\n**Signature:**\n```ts\nget(uri: string): T | null;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-AsyncDocumentStore-get-member-2-\" id=\"-vuedx-vue-virtual-textdocument-AsyncDocumentStore-get-member-2-\"></a>\n\n#### [get](#-vuedx-vue-virtual-textdocument-AsyncDocumentStore-get-member-2-)\n\n\n\n**Signature:**\n```ts\nget(uri: string): Promise<T | null>;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n\n<br>\n</details>\n\n<br>\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-class\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-class\"></a>\n\n### [DocumentStore](#-vuedx-vue-virtual-textdocument-DocumentStore-class)\n\n\n\n<details><summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare class DocumentStore<T> {\n  constructor(resolve: (uri: string) => T | null, normalize?: (uri: string) => string);\n  all(): string[];\n  delete(uri: string): boolean;\n  dispose(): void;\n  get(uri: string): T | null;\n  protected getNormalizedUri(uri: string): string;\n  has(uri: string): boolean;\n  protected map: Map<string, T>;\n  normalize: (uri: string) => string;\n  protected resolve: (uri: string) => T | null;\n  protected reverseUriMap: Map<string, string>;\n  set(uri: string, document: T): void;\n}\n```\n\n**Members:**\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-all-member-1-\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-all-member-1-\"></a>\n\n#### [all](#-vuedx-vue-virtual-textdocument-DocumentStore-all-member-1-)\n\n\n\n**Signature:**\n```ts\nall(): string[];\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-delete-member-1-\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-delete-member-1-\"></a>\n\n#### [delete](#-vuedx-vue-virtual-textdocument-DocumentStore-delete-member-1-)\n\n\n\n**Signature:**\n```ts\ndelete(uri: string): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-dispose-member-1-\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-dispose-member-1-\"></a>\n\n#### [dispose](#-vuedx-vue-virtual-textdocument-DocumentStore-dispose-member-1-)\n\n\n\n**Signature:**\n```ts\ndispose(): void;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-get-member-1-\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-get-member-1-\"></a>\n\n#### [get](#-vuedx-vue-virtual-textdocument-DocumentStore-get-member-1-)\n\n\n\n**Signature:**\n```ts\nget(uri: string): T | null;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-getNormalizedUri-member-1-\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-getNormalizedUri-member-1-\"></a>\n\n#### [getNormalizedUri](#-vuedx-vue-virtual-textdocument-DocumentStore-getNormalizedUri-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected getNormalizedUri(uri: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-has-member-1-\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-has-member-1-\"></a>\n\n#### [has](#-vuedx-vue-virtual-textdocument-DocumentStore-has-member-1-)\n\n\n\n**Signature:**\n```ts\nhas(uri: string): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-set-member-1-\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-set-member-1-\"></a>\n\n#### [set](#-vuedx-vue-virtual-textdocument-DocumentStore-set-member-1-)\n\n\n\n**Signature:**\n```ts\nset(uri: string, document: T): void;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n| document | <code>T</code> | - |\n\n<br>\n</details>\n\n<br>\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-class\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-class\"></a>\n\n### [RenderFunctionTextDocument](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-class)\n\n\n\n<details><summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare class RenderFunctionTextDocument extends TransformedBlockTextDocument {\n  constructor(container: VueTextDocument, selector: Selector, transformed: TextDocument, source: TextDocument);\n  get ast(): CodegenResult['ast'] | undefined;\n  get contextCompletionsTriggerOffset(): number;\n  static create(options: CreateVirtualTextDocumentOptions): RenderFunctionTextDocument;\n  findExpression(offset: number, length: number): undefined | {\n        offset: number;\n        length: number;\n    };\n  protected generate(): string;\n  getAllGeneratedOffsetsAt(offset: number): undefined | Array<{\n        length: number;\n        offset: number;\n    }>;\n  getGeneratedOffsetAt(offset: number): undefined | {\n        length: number;\n        offset: number;\n    };\n  protected getKnownComponents(): Record<string, ComponentImport>;\n  getOriginalOffsetAt(offset: number): undefined | {\n        offset: number;\n        length: number;\n    };\n  isInGeneratedRange(offset: number): boolean;\n  isInTemplateIdentifierRange(offset: number): boolean;\n  get parserErrors(): CodegenResult['errors'];\n  get tagCompletionsTriggerOffset(): number;\n  toDisplayMappings(): string;\n  protected tryGenerate(): string;\n}\n```\n\n**Members:**\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-create-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-create-member-1-\"></a>\n\n#### [create](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-create-member-1-)\n\n\n\n**Signature:**\n```ts\nstatic create(options: CreateVirtualTextDocumentOptions): RenderFunctionTextDocument;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| options | <code><a href=\"#-vuedx-vue-virtual-textdocument--CreateVirtualTextDocumentOptions-interface\">CreateVirtualTextDocumentOptions</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-findExpression-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-findExpression-member-1-\"></a>\n\n#### [findExpression](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-findExpression-member-1-)\n\n\n\n**Signature:**\n```ts\nfindExpression(offset: number, length: number): undefined | {\n        offset: number;\n        length: number;\n    };\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n| length | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-generate-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-generate-member-1-\"></a>\n\n#### [generate](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-generate-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected generate(): string;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getAllGeneratedOffsetsAt-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getAllGeneratedOffsetsAt-member-1-\"></a>\n\n#### [getAllGeneratedOffsetsAt](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getAllGeneratedOffsetsAt-member-1-)\n\n\n\n**Signature:**\n```ts\ngetAllGeneratedOffsetsAt(offset: number): undefined | Array<{\n        length: number;\n        offset: number;\n    }>;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getGeneratedOffsetAt-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getGeneratedOffsetAt-member-1-\"></a>\n\n#### [getGeneratedOffsetAt](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getGeneratedOffsetAt-member-1-)\n\n\n\n**Signature:**\n```ts\ngetGeneratedOffsetAt(offset: number): undefined | {\n        length: number;\n        offset: number;\n    };\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getKnownComponents-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getKnownComponents-member-1-\"></a>\n\n#### [getKnownComponents](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getKnownComponents-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected getKnownComponents(): Record<string, ComponentImport>;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getOriginalOffsetAt-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getOriginalOffsetAt-member-1-\"></a>\n\n#### [getOriginalOffsetAt](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getOriginalOffsetAt-member-1-)\n\n\n\n**Signature:**\n```ts\ngetOriginalOffsetAt(offset: number): undefined | {\n        offset: number;\n        length: number;\n    };\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-isInGeneratedRange-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-isInGeneratedRange-member-1-\"></a>\n\n#### [isInGeneratedRange](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-isInGeneratedRange-member-1-)\n\n\n\n**Signature:**\n```ts\nisInGeneratedRange(offset: number): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-isInTemplateIdentifierRange-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-isInTemplateIdentifierRange-member-1-\"></a>\n\n#### [isInTemplateIdentifierRange](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-isInTemplateIdentifierRange-member-1-)\n\n\n\n**Signature:**\n```ts\nisInTemplateIdentifierRange(offset: number): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-toDisplayMappings-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-toDisplayMappings-member-1-\"></a>\n\n#### [toDisplayMappings](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-toDisplayMappings-member-1-)\n\n\n\n**Signature:**\n```ts\ntoDisplayMappings(): string;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-tryGenerate-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-tryGenerate-member-1-\"></a>\n\n#### [tryGenerate](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-tryGenerate-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected tryGenerate(): string;\n```\n\n\n<br>\n</details>\n\n<br>\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-class\" id=\"-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-class\"></a>\n\n### [TransformedBlockTextDocument](#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-class)\n\n\n\n<details><summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare class TransformedBlockTextDocument extends VirtualTextDocument {\n  protected constructor(container: VueTextDocument, selector: Selector, transformed: TextDocument, source: TextDocument | VirtualTextDocument, _transform: (document: TransformedBlockTextDocument) => BlockTransformResult);\n  static create(options: CreateTransformedBlockTextDocumentOptions): TransformedBlockTextDocument;\n  protected refresh(): void;\n  transform(): BlockTransformResult;\n  tryGetGeneratedOffset(offset: number): number | undefined;\n  tryGetSourceOffset(offset: number): number | undefined;\n}\n```\n\n**Members:**\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-create-member-1-\" id=\"-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-create-member-1-\"></a>\n\n#### [create](#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-create-member-1-)\n\n\n\n**Signature:**\n```ts\nstatic create(options: CreateTransformedBlockTextDocumentOptions): TransformedBlockTextDocument;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| options | <code><a href=\"#-vuedx-vue-virtual-textdocument--CreateTransformedBlockTextDocumentOptions-interface\">CreateTransformedBlockTextDocumentOptions</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-refresh-member-1-\" id=\"-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-refresh-member-1-\"></a>\n\n#### [refresh](#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-refresh-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected refresh(): void;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-transform-member-1-\" id=\"-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-transform-member-1-\"></a>\n\n#### [transform](#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-transform-member-1-)\n\n\n\n**Signature:**\n```ts\ntransform(): BlockTransformResult;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-tryGetGeneratedOffset-member-1-\" id=\"-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-tryGetGeneratedOffset-member-1-\"></a>\n\n#### [tryGetGeneratedOffset](#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-tryGetGeneratedOffset-member-1-)\n\n\n\n**Signature:**\n```ts\ntryGetGeneratedOffset(offset: number): number | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-tryGetSourceOffset-member-1-\" id=\"-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-tryGetSourceOffset-member-1-\"></a>\n\n#### [tryGetSourceOffset](#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-tryGetSourceOffset-member-1-)\n\n\n\n**Signature:**\n```ts\ntryGetSourceOffset(offset: number): number | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n</details>\n\n<br>\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VirtualTextDocument-class\" id=\"-vuedx-vue-virtual-textdocument-VirtualTextDocument-class\"></a>\n\n### [VirtualTextDocument](#-vuedx-vue-virtual-textdocument-VirtualTextDocument-class)\n\n\n\n<details><summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare class VirtualTextDocument extends ProxyTextDocument {\n  protected constructor(container: VueTextDocument, selector: Selector, doc: TextDocument);\n  readonly container: VueTextDocument;\n  static create(options: CreateVirtualTextDocumentOptions): VirtualTextDocument;\n  protected isDirty: boolean;\n  markDirty(): void;\n  protected refresh(): void;\n  readonly selector: Selector;\n}\n```\n\n**Members:**\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VirtualTextDocument-create-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VirtualTextDocument-create-member-1-\"></a>\n\n#### [create](#-vuedx-vue-virtual-textdocument-VirtualTextDocument-create-member-1-)\n\n\n\n**Signature:**\n```ts\nstatic create(options: CreateVirtualTextDocumentOptions): VirtualTextDocument;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| options | <code><a href=\"#-vuedx-vue-virtual-textdocument--CreateVirtualTextDocumentOptions-interface\">CreateVirtualTextDocumentOptions</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VirtualTextDocument-markDirty-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VirtualTextDocument-markDirty-member-1-\"></a>\n\n#### [markDirty](#-vuedx-vue-virtual-textdocument-VirtualTextDocument-markDirty-member-1-)\n\n\n\n**Signature:**\n```ts\nmarkDirty(): void;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VirtualTextDocument-refresh-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VirtualTextDocument-refresh-member-1-\"></a>\n\n#### [refresh](#-vuedx-vue-virtual-textdocument-VirtualTextDocument-refresh-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected refresh(): void;\n```\n\n\n<br>\n</details>\n\n<br>\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-class\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-class\"></a>\n\n### [VueTextDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-class)\n\n\n\n<details><summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare class VueTextDocument extends ProxyTextDocument {\n  constructor(doc: TextDocument, options?: VueTextDocumentOptions, parseOptions?: SFCParseOptions);\n  all(): VirtualTextDocument[];\n  blockAt(position: Position | number): SFCBlock | null | undefined;\n  static create(uri: string, languageId: string, version: number, content: string, options?: VueTextDocumentOptions, parseOptions?: SFCParseOptions): VueTextDocument;\n  protected createBlockDocument(selector: BlockSelector): VirtualTextDocument | undefined;\n  protected createInternalModuleDocument(): TransformedBlockTextDocument;\n  protected createModuleDocument(): TransformedBlockTextDocument;\n  protected createRenderDocument(): RenderFunctionTextDocument;\n  protected createTemplateASTDocument(): TransformedBlockTextDocument;\n  get descriptor(): SFCDescriptor;\n  documentAt(position: Position | number): VirtualTextDocument | undefined;\n  getBlock(selector: BlockSelector): SFCBlock | null | undefined;\n  getBlockSelector(block: SFCBlock): BlockSelector | undefined;\n  getDocument(selector: typeof RENDER_SELECTOR): RenderFunctionTextDocument;\n  getDocument(selector: SelectorLike): VirtualTextDocument;\n  getDocument(selector: string): VirtualTextDocument | undefined;\n  getDocumentFileName(selectorLike: SelectorLike): string;\n  protected getDocumentId(selector: Selector): string;\n  protected getDocumentLanguage(selector: Selector): string;\n  markDirty(): void;\n  readonly options: VueTextDocumentOptions;\n  protected parse(): void;\n  static update(document: VueTextDocument, changes: TextDocumentContentChangeEvent[], version: number): VueTextDocument;\n}\n```\n\n**Members:**\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-all-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-all-member-1-\"></a>\n\n#### [all](#-vuedx-vue-virtual-textdocument-VueTextDocument-all-member-1-)\n\n\n\n**Signature:**\n```ts\nall(): VirtualTextDocument[];\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-blockAt-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-blockAt-member-1-\"></a>\n\n#### [blockAt](#-vuedx-vue-virtual-textdocument-VueTextDocument-blockAt-member-1-)\n\n\n\n**Signature:**\n```ts\nblockAt(position: Position | number): SFCBlock | null | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| position | <code><a href=\"#vscode-languageserver-textdocument-Position-interface\">Position</a> &#124; number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-create-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-create-member-1-\"></a>\n\n#### [create](#-vuedx-vue-virtual-textdocument-VueTextDocument-create-member-1-)\n\n\n\n**Signature:**\n```ts\nstatic create(uri: string, languageId: string, version: number, content: string, options?: VueTextDocumentOptions, parseOptions?: SFCParseOptions): VueTextDocument;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n| languageId | <code>string</code> | - |\n| version | <code>number</code> | - |\n| content | <code>string</code> | - |\n| options | <code><a href=\"#-vuedx-vue-virtual-textdocument--VueTextDocumentOptions-interface\">VueTextDocumentOptions</a></code> | - |\n| parseOptions | <code><a href=\"#-vue-compiler-sfc-SFCParseOptions-interface\">SFCParseOptions</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-createBlockDocument-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-createBlockDocument-member-1-\"></a>\n\n#### [createBlockDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-createBlockDocument-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected createBlockDocument(selector: BlockSelector): VirtualTextDocument | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selector | <code><a href=\"#-vuedx-vue-virtual-textdocument--BlockSelector-type\">BlockSelector</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-createInternalModuleDocument-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-createInternalModuleDocument-member-1-\"></a>\n\n#### [createInternalModuleDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-createInternalModuleDocument-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected createInternalModuleDocument(): TransformedBlockTextDocument;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-createModuleDocument-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-createModuleDocument-member-1-\"></a>\n\n#### [createModuleDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-createModuleDocument-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected createModuleDocument(): TransformedBlockTextDocument;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-createRenderDocument-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-createRenderDocument-member-1-\"></a>\n\n#### [createRenderDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-createRenderDocument-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected createRenderDocument(): RenderFunctionTextDocument;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-createTemplateASTDocument-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-createTemplateASTDocument-member-1-\"></a>\n\n#### [createTemplateASTDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-createTemplateASTDocument-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected createTemplateASTDocument(): TransformedBlockTextDocument;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-documentAt-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-documentAt-member-1-\"></a>\n\n#### [documentAt](#-vuedx-vue-virtual-textdocument-VueTextDocument-documentAt-member-1-)\n\n\n\n**Signature:**\n```ts\ndocumentAt(position: Position | number): VirtualTextDocument | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| position | <code><a href=\"#vscode-languageserver-textdocument-Position-interface\">Position</a> &#124; number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getBlock-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getBlock-member-1-\"></a>\n\n#### [getBlock](#-vuedx-vue-virtual-textdocument-VueTextDocument-getBlock-member-1-)\n\n\n\n**Signature:**\n```ts\ngetBlock(selector: BlockSelector): SFCBlock | null | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selector | <code><a href=\"#-vuedx-vue-virtual-textdocument--BlockSelector-type\">BlockSelector</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getBlockSelector-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getBlockSelector-member-1-\"></a>\n\n#### [getBlockSelector](#-vuedx-vue-virtual-textdocument-VueTextDocument-getBlockSelector-member-1-)\n\n\n\n**Signature:**\n```ts\ngetBlockSelector(block: SFCBlock): BlockSelector | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| block | <code><a href=\"#-vue-compiler-sfc-SFCBlock-interface\">SFCBlock</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-1-\"></a>\n\n#### [getDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-1-)\n\n\n\n**Signature:**\n```ts\ngetDocument(selector: typeof RENDER_SELECTOR): RenderFunctionTextDocument;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selector | <code>typeof <a href=\"#-vuedx-vue-virtual-textdocument--RENDER-SELECTOR-var\">RENDER_SELECTOR</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-2-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-2-\"></a>\n\n#### [getDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-2-)\n\n\n\n**Signature:**\n```ts\ngetDocument(selector: SelectorLike): VirtualTextDocument;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selector | <code><a href=\"#-vuedx-vue-virtual-textdocument--SelectorLike-type\">SelectorLike</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-3-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-3-\"></a>\n\n#### [getDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-3-)\n\n\n\n**Signature:**\n```ts\ngetDocument(selector: string): VirtualTextDocument | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selector | <code>string</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentFileName-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentFileName-member-1-\"></a>\n\n#### [getDocumentFileName](#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentFileName-member-1-)\n\n\n\n**Signature:**\n```ts\ngetDocumentFileName(selectorLike: SelectorLike): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selectorLike | <code><a href=\"#-vuedx-vue-virtual-textdocument--SelectorLike-type\">SelectorLike</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentId-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentId-member-1-\"></a>\n\n#### [getDocumentId](#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentId-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected getDocumentId(selector: Selector): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selector | <code><a href=\"#-vuedx-vue-virtual-textdocument--Selector-type\">Selector</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentLanguage-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentLanguage-member-1-\"></a>\n\n#### [getDocumentLanguage](#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentLanguage-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected getDocumentLanguage(selector: Selector): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selector | <code><a href=\"#-vuedx-vue-virtual-textdocument--Selector-type\">Selector</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-markDirty-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-markDirty-member-1-\"></a>\n\n#### [markDirty](#-vuedx-vue-virtual-textdocument-VueTextDocument-markDirty-member-1-)\n\n\n\n**Signature:**\n```ts\nmarkDirty(): void;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-parse-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-parse-member-1-\"></a>\n\n#### [parse](#-vuedx-vue-virtual-textdocument-VueTextDocument-parse-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected parse(): void;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-update-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-update-member-1-\"></a>\n\n#### [update](#-vuedx-vue-virtual-textdocument-VueTextDocument-update-member-1-)\n\n\n\n**Signature:**\n```ts\nstatic update(document: VueTextDocument, changes: TextDocumentContentChangeEvent[], version: number): VueTextDocument;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| document | <code><a href=\"#-vuedx-vue-virtual-textdocument--VueTextDocument-class\">VueTextDocument</a></code> | - |\n| changes | <code><a href=\"#vscode-languageserver-textdocument-TextDocumentContentChangeEvent-type\">TextDocumentContentChangeEvent</a>[]</code> | - |\n| version | <code>number</code> | - |\n\n<br>\n</details>\n\n<br>\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-asFsPath-function-1-\" id=\"-vuedx-vue-virtual-textdocument-asFsPath-function-1-\"></a>\n\n### [asFsPath](#-vuedx-vue-virtual-textdocument-asFsPath-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function asFsPath(uri: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-asFsUri-function-1-\" id=\"-vuedx-vue-virtual-textdocument-asFsUri-function-1-\"></a>\n\n### [asFsUri](#-vuedx-vue-virtual-textdocument-asFsUri-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function asFsUri(fileName: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-asUri-function-1-\" id=\"-vuedx-vue-virtual-textdocument-asUri-function-1-\"></a>\n\n### [asUri](#-vuedx-vue-virtual-textdocument-asUri-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function asUri(fileNameOrUri: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileNameOrUri | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-basename-function-1-\" id=\"-vuedx-vue-virtual-textdocument-basename-function-1-\"></a>\n\n### [basename](#-vuedx-vue-virtual-textdocument-basename-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function basename(fileName: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-binarySearch-function-1-\" id=\"-vuedx-vue-virtual-textdocument-binarySearch-function-1-\"></a>\n\n### [binarySearch](#-vuedx-vue-virtual-textdocument-binarySearch-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function binarySearch<T>(array: T[], isMatch: (a: T) => number, returnMin?: boolean): T | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| array | <code>T[]</code> | - |\n| isMatch | <code>(a: T) => number</code> | - |\n| returnMin | <code>boolean</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-getBlockLanguage-function-1-\" id=\"-vuedx-vue-virtual-textdocument-getBlockLanguage-function-1-\"></a>\n\n### [getBlockLanguage](#-vuedx-vue-virtual-textdocument-getBlockLanguage-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function getBlockLanguage(block?: SFCBlock | null): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| block | <code><a href=\"#-vue-compiler-sfc-SFCBlock-interface\">SFCBlock</a> &#124; null</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-getContainingFile-function-1-\" id=\"-vuedx-vue-virtual-textdocument-getContainingFile-function-1-\"></a>\n\n### [getContainingFile](#-vuedx-vue-virtual-textdocument-getContainingFile-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function getContainingFile(fileName: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-getLanguageExtension-function-1-\" id=\"-vuedx-vue-virtual-textdocument-getLanguageExtension-function-1-\"></a>\n\n### [getLanguageExtension](#-vuedx-vue-virtual-textdocument-getLanguageExtension-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function getLanguageExtension(lang: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| lang | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-getLanguageIdFromExtension-function-1-\" id=\"-vuedx-vue-virtual-textdocument-getLanguageIdFromExtension-function-1-\"></a>\n\n### [getLanguageIdFromExtension](#-vuedx-vue-virtual-textdocument-getLanguageIdFromExtension-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function getLanguageIdFromExtension(ext: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| ext | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-isOffsetInBlock-function-1-\" id=\"-vuedx-vue-virtual-textdocument-isOffsetInBlock-function-1-\"></a>\n\n### [isOffsetInBlock](#-vuedx-vue-virtual-textdocument-isOffsetInBlock-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function isOffsetInBlock(offset: number, block?: SFCBlock | null): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n| block | <code><a href=\"#-vue-compiler-sfc-SFCBlock-interface\">SFCBlock</a> &#124; null</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-isVirtualFile-function-1-\" id=\"-vuedx-vue-virtual-textdocument-isVirtualFile-function-1-\"></a>\n\n### [isVirtualFile](#-vuedx-vue-virtual-textdocument-isVirtualFile-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function isVirtualFile(fileName: string): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-isVirtualFileOfType-function-1-\" id=\"-vuedx-vue-virtual-textdocument-isVirtualFileOfType-function-1-\"></a>\n\n### [isVirtualFileOfType](#-vuedx-vue-virtual-textdocument-isVirtualFileOfType-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function isVirtualFileOfType(fileName: string, type: '_render' | '_module' | '_internal' | 'script' | 'scriptSetup'): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n| type | <code>'_render' &#124; '_module' &#124; '_internal' &#124; 'script' &#124; 'scriptSetup'</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-isVueFile-function-1-\" id=\"-vuedx-vue-virtual-textdocument-isVueFile-function-1-\"></a>\n\n### [isVueFile](#-vuedx-vue-virtual-textdocument-isVueFile-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function isVueFile(fileName: string): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-parseVirtualFileName-function-1-\" id=\"-vuedx-vue-virtual-textdocument-parseVirtualFileName-function-1-\"></a>\n\n### [parseVirtualFileName](#-vuedx-vue-virtual-textdocument-parseVirtualFileName-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function parseVirtualFileName(fileName: string): {\n    uri: string;\n    selector: Selector;\n} | null;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-relativeVirtualImportPath-function-1-\" id=\"-vuedx-vue-virtual-textdocument-relativeVirtualImportPath-function-1-\"></a>\n\n### [relativeVirtualImportPath](#-vuedx-vue-virtual-textdocument-relativeVirtualImportPath-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function relativeVirtualImportPath(fileName: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-replaceSlashes-function-1-\" id=\"-vuedx-vue-virtual-textdocument-replaceSlashes-function-1-\"></a>\n\n### [replaceSlashes](#-vuedx-vue-virtual-textdocument-replaceSlashes-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function replaceSlashes(fileName: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n<!-- #region API-DOCS -->\n\n## Support\n\nThis package is part of [VueDX project](https://github.com/znck/vue-developer-experience), maintained by [Rahul Kadyan](https://github.com/znck). You can [💖 sponsor him](https://github.com/sponsors/znck) for continued development of this package and other VueDX tools.\n\n<p align=\"center\">\n  <a href=\"https://cdn.jsdelivr.net/gh/znck/sponsors@main/sponsors.svg\">\n    <img src='https://cdn.jsdelivr.net/gh/znck/sponsors@main/sponsors.png'/>\n  </a>\n</p>\n","readmeFilename":"readme.md","gitHead":"98f4a51c4e434d02292f17eeef73a7386581a54e","_id":"@vuedx/vue-virtual-textdocument@0.7.5-next-1649655181.0","_nodeVersion":"16.14.2","_npmVersion":"8.5.0","dist":{"integrity":"sha512-q6zpnovUwQi3OGGbyexoU4Lt+zZCsluDCfizQY7cwEl5jI4qvLIiIdis5DNz6amGE9cBDKhb9i59nQKHUZlc7w==","shasum":"17375d62e497f0d9b5e8824946e25681e2fdbcb6","tarball":"https://registry.npmjs.org/@vuedx/vue-virtual-textdocument/-/vue-virtual-textdocument-0.7.5-next-1649655181.0.tgz","fileCount":8,"unpackedSize":225515,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCzLlkPcjz5TjyxN9hYCTm3oVKzZ4/Rl4QeKXwHtX8McAIhAJk/Quk8BUnH1P1ki0cVoOsmP6KKGchnB0BCq7bCFgjQ"}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiU72hACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmreNQ//Xl5GTpdq3Z54Hne25jjKQPrFNpo4UoTHOcJK1P3JFRAEakDs\r\ndLmdp9MLBBWay3ggVITr1y/43a4/gfP70jUxLiQ6fUKyGcAg3j0r5VCARh65\r\nfgtFSD37wdQTRNbDiVb6cutd/m7bgq+cgR3mUwTUtTCk05wbGkdVERoTaUzf\r\n2T89rrbakXm/JZfRJUZN0hJlXzP9b+XBxPLmDUfqwxPpcGVjcM4DzpA9G2kl\r\n2DFV5KZjEWhA3hwrcCMJFuB4PmA4xbOtwuU0BOKsqnwPGd8w1xycWJY1UXJS\r\n1NpWFaeI6H28AMxUhH9GApziLQsjEX7FA+9MhDygFftTuwjbMQq4TUU706iS\r\nzC2yRcGW6fyspZ/pc2sYo2kN6HqS+RRzG6xyDAVug62ZDg3DCfwZccxl8MK2\r\n6MQ8xjcwOVYRITFDDMoNqT18d60ObIt9oOXaP94wTI5AfbgkiK4E25NqLXSr\r\nF40Jm9+hBggeb5/zWmqD4gpX0yWFwKVG/5HOb/P1JGfhoJMKVVBaJ0dPi/x8\r\nYd+AFLClZMbw/TUR5j/RpwtJcGcewsqFS7wATkCusWzS/v5jvNfmoYVY2KmY\r\n67jUXd0aJZfZ0VAVDlkwkJlwqnfSlZOQuYQKl8ZBUJfQL87sDlq+FSIFpMxM\r\nrrUeVfzDsaawSHQwfSsDGkkZDyJan5KCj5A=\r\n=2sxB\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"znck","email":"rahulkdn@gmail.com"},"directories":{},"maintainers":[{"name":"znck","email":"rahulkdn@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/vue-virtual-textdocument_0.7.5-next-1649655181.0_1649655201495_0.25800804701167923"},"_hasShrinkwrap":false},"0.7.5-next-1649663515.0":{"name":"@vuedx/vue-virtual-textdocument","version":"0.7.5-next-1649663515.0","description":"A virtual filesystem to access blocks in SFC as files","main":"lib/index.js","module":"lib/index.mjs","types":"lib/index.d.ts","publishConfig":{"types":"lib/index.d.ts"},"private":false,"keywords":["vue","vue sfc","sfc","vue virtual files"],"repository":{"type":"git","url":"git+https://github.com/znck/vue-developer-experience.git"},"author":{"name":"Rahul Kadyan","email":"rahulkdn@gmail.com","url":"https://znck.me/"},"funding":{"type":"individual","url":"https://github.com/sponsors/znck"},"license":"MIT","bugs":{"url":"https://github.com/znck/vue-developer-experience/issues"},"homepage":"https://github.com/znck/vue-developer-experience#readme","dependencies":{"@vuedx/compiler-sfc":"0.7.2-next-1649663515.0","@vuedx/compiler-tsx":"0.7.5-next-1649663515.0","@vuedx/shared":"0.7.4-next-1649663515.0","@vuedx/template-ast-types":"0.7.3-next-1649663515.0","@vuedx/transforms":"0.7.5-next-1649663515.0","source-map":"^0.6.1","vscode-languageserver-textdocument":"^1.0.1","vscode-uri":"^2.1.2"},"devDependencies":{"typescript":"^4.0.3"},"scripts":{},"readme":"# Vue Virtual TextDocument\n\nAn implementation of virtual filesystem for accessing blocks in a `.vue` file as independent files.\n\n```\nnpm add @vuedx/vue-virtual-textdocument\n```\n<!-- #region API-DOCS -->\n<!-- Do not edit this file. It is a report generated by [scripts/docgen.js](https://github.com/znck/vue-developer-experience/tree/main/scripts/docgen.js). -->\n\n## API\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-AsyncDocumentStore-class\" id=\"-vuedx-vue-virtual-textdocument-AsyncDocumentStore-class\"></a>\n\n### [AsyncDocumentStore](#-vuedx-vue-virtual-textdocument-AsyncDocumentStore-class)\n\n\n\n<details><summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare class AsyncDocumentStore<T> extends DocumentStore<T> {\n  constructor(resolve: (uri: string) => T | Promise<T | null> | null, normalize?: (uri: string) => string);\n  get(uri: string): T | null;\n  get(uri: string): Promise<T | null>;\n}\n```\n\n**Members:**\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-AsyncDocumentStore-get-member-1-\" id=\"-vuedx-vue-virtual-textdocument-AsyncDocumentStore-get-member-1-\"></a>\n\n#### [get](#-vuedx-vue-virtual-textdocument-AsyncDocumentStore-get-member-1-)\n\n\n\n**Signature:**\n```ts\nget(uri: string): T | null;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-AsyncDocumentStore-get-member-2-\" id=\"-vuedx-vue-virtual-textdocument-AsyncDocumentStore-get-member-2-\"></a>\n\n#### [get](#-vuedx-vue-virtual-textdocument-AsyncDocumentStore-get-member-2-)\n\n\n\n**Signature:**\n```ts\nget(uri: string): Promise<T | null>;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n\n<br>\n</details>\n\n<br>\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-class\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-class\"></a>\n\n### [DocumentStore](#-vuedx-vue-virtual-textdocument-DocumentStore-class)\n\n\n\n<details><summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare class DocumentStore<T> {\n  constructor(resolve: (uri: string) => T | null, normalize?: (uri: string) => string);\n  all(): string[];\n  delete(uri: string): boolean;\n  dispose(): void;\n  get(uri: string): T | null;\n  protected getNormalizedUri(uri: string): string;\n  has(uri: string): boolean;\n  protected map: Map<string, T>;\n  normalize: (uri: string) => string;\n  protected resolve: (uri: string) => T | null;\n  protected reverseUriMap: Map<string, string>;\n  set(uri: string, document: T): void;\n}\n```\n\n**Members:**\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-all-member-1-\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-all-member-1-\"></a>\n\n#### [all](#-vuedx-vue-virtual-textdocument-DocumentStore-all-member-1-)\n\n\n\n**Signature:**\n```ts\nall(): string[];\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-delete-member-1-\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-delete-member-1-\"></a>\n\n#### [delete](#-vuedx-vue-virtual-textdocument-DocumentStore-delete-member-1-)\n\n\n\n**Signature:**\n```ts\ndelete(uri: string): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-dispose-member-1-\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-dispose-member-1-\"></a>\n\n#### [dispose](#-vuedx-vue-virtual-textdocument-DocumentStore-dispose-member-1-)\n\n\n\n**Signature:**\n```ts\ndispose(): void;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-get-member-1-\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-get-member-1-\"></a>\n\n#### [get](#-vuedx-vue-virtual-textdocument-DocumentStore-get-member-1-)\n\n\n\n**Signature:**\n```ts\nget(uri: string): T | null;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-getNormalizedUri-member-1-\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-getNormalizedUri-member-1-\"></a>\n\n#### [getNormalizedUri](#-vuedx-vue-virtual-textdocument-DocumentStore-getNormalizedUri-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected getNormalizedUri(uri: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-has-member-1-\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-has-member-1-\"></a>\n\n#### [has](#-vuedx-vue-virtual-textdocument-DocumentStore-has-member-1-)\n\n\n\n**Signature:**\n```ts\nhas(uri: string): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-set-member-1-\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-set-member-1-\"></a>\n\n#### [set](#-vuedx-vue-virtual-textdocument-DocumentStore-set-member-1-)\n\n\n\n**Signature:**\n```ts\nset(uri: string, document: T): void;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n| document | <code>T</code> | - |\n\n<br>\n</details>\n\n<br>\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-class\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-class\"></a>\n\n### [RenderFunctionTextDocument](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-class)\n\n\n\n<details><summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare class RenderFunctionTextDocument extends TransformedBlockTextDocument {\n  constructor(container: VueTextDocument, selector: Selector, transformed: TextDocument, source: TextDocument);\n  get ast(): CodegenResult['ast'] | undefined;\n  get contextCompletionsTriggerOffset(): number;\n  static create(options: CreateVirtualTextDocumentOptions): RenderFunctionTextDocument;\n  findExpression(offset: number, length: number): undefined | {\n        offset: number;\n        length: number;\n    };\n  protected generate(): string;\n  getAllGeneratedOffsetsAt(offset: number): undefined | Array<{\n        length: number;\n        offset: number;\n    }>;\n  getGeneratedOffsetAt(offset: number): undefined | {\n        length: number;\n        offset: number;\n    };\n  protected getKnownComponents(): Record<string, ComponentImport>;\n  getOriginalOffsetAt(offset: number): undefined | {\n        offset: number;\n        length: number;\n    };\n  isInGeneratedRange(offset: number): boolean;\n  isInTemplateIdentifierRange(offset: number): boolean;\n  get parserErrors(): CodegenResult['errors'];\n  get tagCompletionsTriggerOffset(): number;\n  toDisplayMappings(): string;\n  protected tryGenerate(): string;\n}\n```\n\n**Members:**\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-create-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-create-member-1-\"></a>\n\n#### [create](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-create-member-1-)\n\n\n\n**Signature:**\n```ts\nstatic create(options: CreateVirtualTextDocumentOptions): RenderFunctionTextDocument;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| options | <code><a href=\"#-vuedx-vue-virtual-textdocument--CreateVirtualTextDocumentOptions-interface\">CreateVirtualTextDocumentOptions</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-findExpression-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-findExpression-member-1-\"></a>\n\n#### [findExpression](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-findExpression-member-1-)\n\n\n\n**Signature:**\n```ts\nfindExpression(offset: number, length: number): undefined | {\n        offset: number;\n        length: number;\n    };\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n| length | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-generate-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-generate-member-1-\"></a>\n\n#### [generate](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-generate-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected generate(): string;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getAllGeneratedOffsetsAt-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getAllGeneratedOffsetsAt-member-1-\"></a>\n\n#### [getAllGeneratedOffsetsAt](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getAllGeneratedOffsetsAt-member-1-)\n\n\n\n**Signature:**\n```ts\ngetAllGeneratedOffsetsAt(offset: number): undefined | Array<{\n        length: number;\n        offset: number;\n    }>;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getGeneratedOffsetAt-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getGeneratedOffsetAt-member-1-\"></a>\n\n#### [getGeneratedOffsetAt](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getGeneratedOffsetAt-member-1-)\n\n\n\n**Signature:**\n```ts\ngetGeneratedOffsetAt(offset: number): undefined | {\n        length: number;\n        offset: number;\n    };\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getKnownComponents-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getKnownComponents-member-1-\"></a>\n\n#### [getKnownComponents](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getKnownComponents-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected getKnownComponents(): Record<string, ComponentImport>;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getOriginalOffsetAt-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getOriginalOffsetAt-member-1-\"></a>\n\n#### [getOriginalOffsetAt](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getOriginalOffsetAt-member-1-)\n\n\n\n**Signature:**\n```ts\ngetOriginalOffsetAt(offset: number): undefined | {\n        offset: number;\n        length: number;\n    };\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-isInGeneratedRange-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-isInGeneratedRange-member-1-\"></a>\n\n#### [isInGeneratedRange](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-isInGeneratedRange-member-1-)\n\n\n\n**Signature:**\n```ts\nisInGeneratedRange(offset: number): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-isInTemplateIdentifierRange-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-isInTemplateIdentifierRange-member-1-\"></a>\n\n#### [isInTemplateIdentifierRange](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-isInTemplateIdentifierRange-member-1-)\n\n\n\n**Signature:**\n```ts\nisInTemplateIdentifierRange(offset: number): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-toDisplayMappings-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-toDisplayMappings-member-1-\"></a>\n\n#### [toDisplayMappings](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-toDisplayMappings-member-1-)\n\n\n\n**Signature:**\n```ts\ntoDisplayMappings(): string;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-tryGenerate-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-tryGenerate-member-1-\"></a>\n\n#### [tryGenerate](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-tryGenerate-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected tryGenerate(): string;\n```\n\n\n<br>\n</details>\n\n<br>\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-class\" id=\"-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-class\"></a>\n\n### [TransformedBlockTextDocument](#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-class)\n\n\n\n<details><summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare class TransformedBlockTextDocument extends VirtualTextDocument {\n  protected constructor(container: VueTextDocument, selector: Selector, transformed: TextDocument, source: TextDocument | VirtualTextDocument, _transform: (document: TransformedBlockTextDocument) => BlockTransformResult);\n  static create(options: CreateTransformedBlockTextDocumentOptions): TransformedBlockTextDocument;\n  protected refresh(): void;\n  transform(): BlockTransformResult;\n  tryGetGeneratedOffset(offset: number): number | undefined;\n  tryGetSourceOffset(offset: number): number | undefined;\n}\n```\n\n**Members:**\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-create-member-1-\" id=\"-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-create-member-1-\"></a>\n\n#### [create](#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-create-member-1-)\n\n\n\n**Signature:**\n```ts\nstatic create(options: CreateTransformedBlockTextDocumentOptions): TransformedBlockTextDocument;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| options | <code><a href=\"#-vuedx-vue-virtual-textdocument--CreateTransformedBlockTextDocumentOptions-interface\">CreateTransformedBlockTextDocumentOptions</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-refresh-member-1-\" id=\"-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-refresh-member-1-\"></a>\n\n#### [refresh](#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-refresh-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected refresh(): void;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-transform-member-1-\" id=\"-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-transform-member-1-\"></a>\n\n#### [transform](#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-transform-member-1-)\n\n\n\n**Signature:**\n```ts\ntransform(): BlockTransformResult;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-tryGetGeneratedOffset-member-1-\" id=\"-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-tryGetGeneratedOffset-member-1-\"></a>\n\n#### [tryGetGeneratedOffset](#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-tryGetGeneratedOffset-member-1-)\n\n\n\n**Signature:**\n```ts\ntryGetGeneratedOffset(offset: number): number | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-tryGetSourceOffset-member-1-\" id=\"-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-tryGetSourceOffset-member-1-\"></a>\n\n#### [tryGetSourceOffset](#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-tryGetSourceOffset-member-1-)\n\n\n\n**Signature:**\n```ts\ntryGetSourceOffset(offset: number): number | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n</details>\n\n<br>\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VirtualTextDocument-class\" id=\"-vuedx-vue-virtual-textdocument-VirtualTextDocument-class\"></a>\n\n### [VirtualTextDocument](#-vuedx-vue-virtual-textdocument-VirtualTextDocument-class)\n\n\n\n<details><summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare class VirtualTextDocument extends ProxyTextDocument {\n  protected constructor(container: VueTextDocument, selector: Selector, doc: TextDocument);\n  readonly container: VueTextDocument;\n  static create(options: CreateVirtualTextDocumentOptions): VirtualTextDocument;\n  protected isDirty: boolean;\n  markDirty(): void;\n  protected refresh(): void;\n  readonly selector: Selector;\n}\n```\n\n**Members:**\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VirtualTextDocument-create-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VirtualTextDocument-create-member-1-\"></a>\n\n#### [create](#-vuedx-vue-virtual-textdocument-VirtualTextDocument-create-member-1-)\n\n\n\n**Signature:**\n```ts\nstatic create(options: CreateVirtualTextDocumentOptions): VirtualTextDocument;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| options | <code><a href=\"#-vuedx-vue-virtual-textdocument--CreateVirtualTextDocumentOptions-interface\">CreateVirtualTextDocumentOptions</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VirtualTextDocument-markDirty-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VirtualTextDocument-markDirty-member-1-\"></a>\n\n#### [markDirty](#-vuedx-vue-virtual-textdocument-VirtualTextDocument-markDirty-member-1-)\n\n\n\n**Signature:**\n```ts\nmarkDirty(): void;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VirtualTextDocument-refresh-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VirtualTextDocument-refresh-member-1-\"></a>\n\n#### [refresh](#-vuedx-vue-virtual-textdocument-VirtualTextDocument-refresh-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected refresh(): void;\n```\n\n\n<br>\n</details>\n\n<br>\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-class\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-class\"></a>\n\n### [VueTextDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-class)\n\n\n\n<details><summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare class VueTextDocument extends ProxyTextDocument {\n  constructor(doc: TextDocument, options?: VueTextDocumentOptions, parseOptions?: SFCParseOptions);\n  all(): VirtualTextDocument[];\n  blockAt(position: Position | number): SFCBlock | null | undefined;\n  static create(uri: string, languageId: string, version: number, content: string, options?: VueTextDocumentOptions, parseOptions?: SFCParseOptions): VueTextDocument;\n  protected createBlockDocument(selector: BlockSelector): VirtualTextDocument | undefined;\n  protected createInternalModuleDocument(): TransformedBlockTextDocument;\n  protected createModuleDocument(): TransformedBlockTextDocument;\n  protected createRenderDocument(): RenderFunctionTextDocument;\n  protected createTemplateASTDocument(): TransformedBlockTextDocument;\n  get descriptor(): SFCDescriptor;\n  documentAt(position: Position | number): VirtualTextDocument | undefined;\n  getBlock(selector: BlockSelector): SFCBlock | null | undefined;\n  getBlockSelector(block: SFCBlock): BlockSelector | undefined;\n  getDocument(selector: typeof RENDER_SELECTOR): RenderFunctionTextDocument;\n  getDocument(selector: SelectorLike): VirtualTextDocument;\n  getDocument(selector: string): VirtualTextDocument | undefined;\n  getDocumentFileName(selectorLike: SelectorLike): string;\n  protected getDocumentId(selector: Selector): string;\n  protected getDocumentLanguage(selector: Selector): string;\n  markDirty(): void;\n  readonly options: VueTextDocumentOptions;\n  protected parse(): void;\n  static update(document: VueTextDocument, changes: TextDocumentContentChangeEvent[], version: number): VueTextDocument;\n}\n```\n\n**Members:**\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-all-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-all-member-1-\"></a>\n\n#### [all](#-vuedx-vue-virtual-textdocument-VueTextDocument-all-member-1-)\n\n\n\n**Signature:**\n```ts\nall(): VirtualTextDocument[];\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-blockAt-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-blockAt-member-1-\"></a>\n\n#### [blockAt](#-vuedx-vue-virtual-textdocument-VueTextDocument-blockAt-member-1-)\n\n\n\n**Signature:**\n```ts\nblockAt(position: Position | number): SFCBlock | null | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| position | <code><a href=\"#vscode-languageserver-textdocument-Position-interface\">Position</a> &#124; number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-create-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-create-member-1-\"></a>\n\n#### [create](#-vuedx-vue-virtual-textdocument-VueTextDocument-create-member-1-)\n\n\n\n**Signature:**\n```ts\nstatic create(uri: string, languageId: string, version: number, content: string, options?: VueTextDocumentOptions, parseOptions?: SFCParseOptions): VueTextDocument;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n| languageId | <code>string</code> | - |\n| version | <code>number</code> | - |\n| content | <code>string</code> | - |\n| options | <code><a href=\"#-vuedx-vue-virtual-textdocument--VueTextDocumentOptions-interface\">VueTextDocumentOptions</a></code> | - |\n| parseOptions | <code><a href=\"#-vue-compiler-sfc-SFCParseOptions-interface\">SFCParseOptions</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-createBlockDocument-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-createBlockDocument-member-1-\"></a>\n\n#### [createBlockDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-createBlockDocument-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected createBlockDocument(selector: BlockSelector): VirtualTextDocument | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selector | <code><a href=\"#-vuedx-vue-virtual-textdocument--BlockSelector-type\">BlockSelector</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-createInternalModuleDocument-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-createInternalModuleDocument-member-1-\"></a>\n\n#### [createInternalModuleDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-createInternalModuleDocument-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected createInternalModuleDocument(): TransformedBlockTextDocument;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-createModuleDocument-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-createModuleDocument-member-1-\"></a>\n\n#### [createModuleDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-createModuleDocument-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected createModuleDocument(): TransformedBlockTextDocument;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-createRenderDocument-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-createRenderDocument-member-1-\"></a>\n\n#### [createRenderDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-createRenderDocument-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected createRenderDocument(): RenderFunctionTextDocument;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-createTemplateASTDocument-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-createTemplateASTDocument-member-1-\"></a>\n\n#### [createTemplateASTDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-createTemplateASTDocument-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected createTemplateASTDocument(): TransformedBlockTextDocument;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-documentAt-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-documentAt-member-1-\"></a>\n\n#### [documentAt](#-vuedx-vue-virtual-textdocument-VueTextDocument-documentAt-member-1-)\n\n\n\n**Signature:**\n```ts\ndocumentAt(position: Position | number): VirtualTextDocument | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| position | <code><a href=\"#vscode-languageserver-textdocument-Position-interface\">Position</a> &#124; number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getBlock-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getBlock-member-1-\"></a>\n\n#### [getBlock](#-vuedx-vue-virtual-textdocument-VueTextDocument-getBlock-member-1-)\n\n\n\n**Signature:**\n```ts\ngetBlock(selector: BlockSelector): SFCBlock | null | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selector | <code><a href=\"#-vuedx-vue-virtual-textdocument--BlockSelector-type\">BlockSelector</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getBlockSelector-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getBlockSelector-member-1-\"></a>\n\n#### [getBlockSelector](#-vuedx-vue-virtual-textdocument-VueTextDocument-getBlockSelector-member-1-)\n\n\n\n**Signature:**\n```ts\ngetBlockSelector(block: SFCBlock): BlockSelector | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| block | <code><a href=\"#-vue-compiler-sfc-SFCBlock-interface\">SFCBlock</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-1-\"></a>\n\n#### [getDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-1-)\n\n\n\n**Signature:**\n```ts\ngetDocument(selector: typeof RENDER_SELECTOR): RenderFunctionTextDocument;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selector | <code>typeof <a href=\"#-vuedx-vue-virtual-textdocument--RENDER-SELECTOR-var\">RENDER_SELECTOR</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-2-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-2-\"></a>\n\n#### [getDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-2-)\n\n\n\n**Signature:**\n```ts\ngetDocument(selector: SelectorLike): VirtualTextDocument;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selector | <code><a href=\"#-vuedx-vue-virtual-textdocument--SelectorLike-type\">SelectorLike</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-3-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-3-\"></a>\n\n#### [getDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-3-)\n\n\n\n**Signature:**\n```ts\ngetDocument(selector: string): VirtualTextDocument | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selector | <code>string</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentFileName-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentFileName-member-1-\"></a>\n\n#### [getDocumentFileName](#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentFileName-member-1-)\n\n\n\n**Signature:**\n```ts\ngetDocumentFileName(selectorLike: SelectorLike): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selectorLike | <code><a href=\"#-vuedx-vue-virtual-textdocument--SelectorLike-type\">SelectorLike</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentId-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentId-member-1-\"></a>\n\n#### [getDocumentId](#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentId-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected getDocumentId(selector: Selector): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selector | <code><a href=\"#-vuedx-vue-virtual-textdocument--Selector-type\">Selector</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentLanguage-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentLanguage-member-1-\"></a>\n\n#### [getDocumentLanguage](#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentLanguage-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected getDocumentLanguage(selector: Selector): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selector | <code><a href=\"#-vuedx-vue-virtual-textdocument--Selector-type\">Selector</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-markDirty-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-markDirty-member-1-\"></a>\n\n#### [markDirty](#-vuedx-vue-virtual-textdocument-VueTextDocument-markDirty-member-1-)\n\n\n\n**Signature:**\n```ts\nmarkDirty(): void;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-parse-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-parse-member-1-\"></a>\n\n#### [parse](#-vuedx-vue-virtual-textdocument-VueTextDocument-parse-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected parse(): void;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-update-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-update-member-1-\"></a>\n\n#### [update](#-vuedx-vue-virtual-textdocument-VueTextDocument-update-member-1-)\n\n\n\n**Signature:**\n```ts\nstatic update(document: VueTextDocument, changes: TextDocumentContentChangeEvent[], version: number): VueTextDocument;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| document | <code><a href=\"#-vuedx-vue-virtual-textdocument--VueTextDocument-class\">VueTextDocument</a></code> | - |\n| changes | <code><a href=\"#vscode-languageserver-textdocument-TextDocumentContentChangeEvent-type\">TextDocumentContentChangeEvent</a>[]</code> | - |\n| version | <code>number</code> | - |\n\n<br>\n</details>\n\n<br>\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-asFsPath-function-1-\" id=\"-vuedx-vue-virtual-textdocument-asFsPath-function-1-\"></a>\n\n### [asFsPath](#-vuedx-vue-virtual-textdocument-asFsPath-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function asFsPath(uri: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-asFsUri-function-1-\" id=\"-vuedx-vue-virtual-textdocument-asFsUri-function-1-\"></a>\n\n### [asFsUri](#-vuedx-vue-virtual-textdocument-asFsUri-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function asFsUri(fileName: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-asUri-function-1-\" id=\"-vuedx-vue-virtual-textdocument-asUri-function-1-\"></a>\n\n### [asUri](#-vuedx-vue-virtual-textdocument-asUri-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function asUri(fileNameOrUri: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileNameOrUri | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-basename-function-1-\" id=\"-vuedx-vue-virtual-textdocument-basename-function-1-\"></a>\n\n### [basename](#-vuedx-vue-virtual-textdocument-basename-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function basename(fileName: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-binarySearch-function-1-\" id=\"-vuedx-vue-virtual-textdocument-binarySearch-function-1-\"></a>\n\n### [binarySearch](#-vuedx-vue-virtual-textdocument-binarySearch-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function binarySearch<T>(array: T[], isMatch: (a: T) => number, returnMin?: boolean): T | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| array | <code>T[]</code> | - |\n| isMatch | <code>(a: T) => number</code> | - |\n| returnMin | <code>boolean</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-getBlockLanguage-function-1-\" id=\"-vuedx-vue-virtual-textdocument-getBlockLanguage-function-1-\"></a>\n\n### [getBlockLanguage](#-vuedx-vue-virtual-textdocument-getBlockLanguage-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function getBlockLanguage(block?: SFCBlock | null): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| block | <code><a href=\"#-vue-compiler-sfc-SFCBlock-interface\">SFCBlock</a> &#124; null</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-getContainingFile-function-1-\" id=\"-vuedx-vue-virtual-textdocument-getContainingFile-function-1-\"></a>\n\n### [getContainingFile](#-vuedx-vue-virtual-textdocument-getContainingFile-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function getContainingFile(fileName: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-getLanguageExtension-function-1-\" id=\"-vuedx-vue-virtual-textdocument-getLanguageExtension-function-1-\"></a>\n\n### [getLanguageExtension](#-vuedx-vue-virtual-textdocument-getLanguageExtension-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function getLanguageExtension(lang: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| lang | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-getLanguageIdFromExtension-function-1-\" id=\"-vuedx-vue-virtual-textdocument-getLanguageIdFromExtension-function-1-\"></a>\n\n### [getLanguageIdFromExtension](#-vuedx-vue-virtual-textdocument-getLanguageIdFromExtension-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function getLanguageIdFromExtension(ext: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| ext | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-isOffsetInBlock-function-1-\" id=\"-vuedx-vue-virtual-textdocument-isOffsetInBlock-function-1-\"></a>\n\n### [isOffsetInBlock](#-vuedx-vue-virtual-textdocument-isOffsetInBlock-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function isOffsetInBlock(offset: number, block?: SFCBlock | null): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n| block | <code><a href=\"#-vue-compiler-sfc-SFCBlock-interface\">SFCBlock</a> &#124; null</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-isVirtualFile-function-1-\" id=\"-vuedx-vue-virtual-textdocument-isVirtualFile-function-1-\"></a>\n\n### [isVirtualFile](#-vuedx-vue-virtual-textdocument-isVirtualFile-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function isVirtualFile(fileName: string): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-isVirtualFileOfType-function-1-\" id=\"-vuedx-vue-virtual-textdocument-isVirtualFileOfType-function-1-\"></a>\n\n### [isVirtualFileOfType](#-vuedx-vue-virtual-textdocument-isVirtualFileOfType-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function isVirtualFileOfType(fileName: string, type: '_render' | '_module' | '_internal' | 'script' | 'scriptSetup'): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n| type | <code>'_render' &#124; '_module' &#124; '_internal' &#124; 'script' &#124; 'scriptSetup'</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-isVueFile-function-1-\" id=\"-vuedx-vue-virtual-textdocument-isVueFile-function-1-\"></a>\n\n### [isVueFile](#-vuedx-vue-virtual-textdocument-isVueFile-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function isVueFile(fileName: string): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-parseVirtualFileName-function-1-\" id=\"-vuedx-vue-virtual-textdocument-parseVirtualFileName-function-1-\"></a>\n\n### [parseVirtualFileName](#-vuedx-vue-virtual-textdocument-parseVirtualFileName-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function parseVirtualFileName(fileName: string): {\n    uri: string;\n    selector: Selector;\n} | null;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-relativeVirtualImportPath-function-1-\" id=\"-vuedx-vue-virtual-textdocument-relativeVirtualImportPath-function-1-\"></a>\n\n### [relativeVirtualImportPath](#-vuedx-vue-virtual-textdocument-relativeVirtualImportPath-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function relativeVirtualImportPath(fileName: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-replaceSlashes-function-1-\" id=\"-vuedx-vue-virtual-textdocument-replaceSlashes-function-1-\"></a>\n\n### [replaceSlashes](#-vuedx-vue-virtual-textdocument-replaceSlashes-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function replaceSlashes(fileName: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n<!-- #region API-DOCS -->\n\n## Support\n\nThis package is part of [VueDX project](https://github.com/znck/vue-developer-experience), maintained by [Rahul Kadyan](https://github.com/znck). You can [💖 sponsor him](https://github.com/sponsors/znck) for continued development of this package and other VueDX tools.\n\n<p align=\"center\">\n  <a href=\"https://cdn.jsdelivr.net/gh/znck/sponsors@main/sponsors.svg\">\n    <img src='https://cdn.jsdelivr.net/gh/znck/sponsors@main/sponsors.png'/>\n  </a>\n</p>\n","readmeFilename":"readme.md","gitHead":"b31056c4569b93df24c83d2b5a7721af50329584","_id":"@vuedx/vue-virtual-textdocument@0.7.5-next-1649663515.0","_nodeVersion":"16.14.2","_npmVersion":"8.5.0","dist":{"integrity":"sha512-0nCwzFMI45AX6BskLUcA4xKRo0eLs6BCiZ0DsGx2Tyh1Clqi0bnsSpwGEKKpuUhz0UVI9V7I/pmxh/7H+JXsWg==","shasum":"6e273e701dfdd1e83b9f908dcf55d9c32afd5dfd","tarball":"https://registry.npmjs.org/@vuedx/vue-virtual-textdocument/-/vue-virtual-textdocument-0.7.5-next-1649663515.0.tgz","fileCount":8,"unpackedSize":226409,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCICxpb3OXJ4Wq/nvLBj1pV5TnMati9fw0QSdjyBqJcd0AAiEAn55EKlOaWLD9g5ITDhExBFtZ3mishrIeoTt2Pzz08as="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiU94wACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqtDQ//WN4VZ7fNmkX0TDJwRwixpjDycU6k1bgtrCZo2loTPARjob/7\r\nCD6DU6o8lAoMaO/kWRyI31USpK64x5Xk4LMzv9FfkinrnZRG5SAJKgb6TX93\r\n0seCcpD4nmMuZK7qHJKUkDd5rhCyJvlj777YoHyXzOrs3NlBOOYjIgueXJFE\r\nMEksSvZgB0QsC5NL6t6iGOjmX2/9LO2Cy+7dcber56dyonP+1K/wG7JSouLV\r\neYGJECbzePT5Xjpbptr/bvABvGsXrelVLS7ffFetdgIOQmN5DACD64b5sZub\r\nyShYSKkGV4tB3EALY9wOUdAASrww6ntF2UcXWbcmNvs7PKIIDWqiQGIeaUq7\r\ntDsH6Iwdm3jVA8F3QHiilwf985fu+igQx4mh7URQbF3Jxl5ScZB2bxCFaAOq\r\nR5lAUT79uBhNar3dq6OeDzd+L7VVWsP3cr6gA56k07aTzHotBKZ9pw7vqLG6\r\n0cotOe3N8JwooM0/Sl2AMiEEQwfyXG/a8v5O20yNA+Sw/n4+3Gxqej/ox3/u\r\nK+O1Q1uBh8Yo+698UiRbGwUPnt4efhsLDee4Vm5h8S5ovuMMu1qTSbCHxcjZ\r\nisSj6U7OVAZTVijlKeZP4FT9M44zhRHliVTRyy7QGn3Th8jprAZ1aGskjG2i\r\nYdm4z19iyqqJet/9V4bRF6J8Wo55LWD4JWg=\r\n=MgKw\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"znck","email":"rahulkdn@gmail.com"},"directories":{},"maintainers":[{"name":"znck","email":"rahulkdn@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/vue-virtual-textdocument_0.7.5-next-1649663515.0_1649663536686_0.22688493028940404"},"_hasShrinkwrap":false},"0.7.5-next-1650753481.0":{"name":"@vuedx/vue-virtual-textdocument","version":"0.7.5-next-1650753481.0","description":"A virtual filesystem to access blocks in SFC as files","main":"lib/index.js","module":"lib/index.mjs","types":"lib/index.d.ts","publishConfig":{"types":"lib/index.d.ts"},"private":false,"keywords":["vue","vue sfc","sfc","vue virtual files"],"repository":{"type":"git","url":"git+https://github.com/znck/vue-developer-experience.git"},"author":{"name":"Rahul Kadyan","email":"rahulkdn@gmail.com","url":"https://znck.me/"},"funding":{"type":"individual","url":"https://github.com/sponsors/znck"},"license":"MIT","bugs":{"url":"https://github.com/znck/vue-developer-experience/issues"},"homepage":"https://github.com/znck/vue-developer-experience#readme","dependencies":{"@vuedx/compiler-sfc":"0.7.2-next-1650753481.0","@vuedx/compiler-tsx":"0.7.5-next-1650753481.0","@vuedx/shared":"0.7.4-next-1650753481.0","@vuedx/template-ast-types":"0.7.3-next-1650753481.0","@vuedx/transforms":"0.7.5-next-1650753481.0","source-map":"^0.6.1","vscode-languageserver-textdocument":"^1.0.1","vscode-uri":"^2.1.2"},"devDependencies":{"typescript":"^4.6.3"},"scripts":{},"readme":"# Vue Virtual TextDocument\n\nAn implementation of virtual filesystem for accessing blocks in a `.vue` file as independent files.\n\n```\nnpm add @vuedx/vue-virtual-textdocument\n```\n<!-- #region API-DOCS -->\n<!-- Do not edit this file. It is a report generated by [scripts/docgen.js](https://github.com/znck/vue-developer-experience/tree/main/scripts/docgen.js). -->\n\n## API\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-AsyncDocumentStore-class\" id=\"-vuedx-vue-virtual-textdocument-AsyncDocumentStore-class\"></a>\n\n### [AsyncDocumentStore](#-vuedx-vue-virtual-textdocument-AsyncDocumentStore-class)\n\n\n\n<details><summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare class AsyncDocumentStore<T> extends DocumentStore<T> {\n  constructor(resolve: (uri: string) => T | Promise<T | null> | null, normalize?: (uri: string) => string);\n  get(uri: string): T | null;\n  get(uri: string): Promise<T | null>;\n}\n```\n\n**Members:**\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-AsyncDocumentStore-get-member-1-\" id=\"-vuedx-vue-virtual-textdocument-AsyncDocumentStore-get-member-1-\"></a>\n\n#### [get](#-vuedx-vue-virtual-textdocument-AsyncDocumentStore-get-member-1-)\n\n\n\n**Signature:**\n```ts\nget(uri: string): T | null;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-AsyncDocumentStore-get-member-2-\" id=\"-vuedx-vue-virtual-textdocument-AsyncDocumentStore-get-member-2-\"></a>\n\n#### [get](#-vuedx-vue-virtual-textdocument-AsyncDocumentStore-get-member-2-)\n\n\n\n**Signature:**\n```ts\nget(uri: string): Promise<T | null>;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n\n<br>\n</details>\n\n<br>\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-class\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-class\"></a>\n\n### [DocumentStore](#-vuedx-vue-virtual-textdocument-DocumentStore-class)\n\n\n\n<details><summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare class DocumentStore<T> {\n  constructor(resolve: (uri: string) => T | null, normalize?: (uri: string) => string);\n  all(): string[];\n  delete(uri: string): boolean;\n  dispose(): void;\n  get(uri: string): T | null;\n  protected getNormalizedUri(uri: string): string;\n  has(uri: string): boolean;\n  protected map: Map<string, T>;\n  normalize: (uri: string) => string;\n  protected resolve: (uri: string) => T | null;\n  protected reverseUriMap: Map<string, string>;\n  set(uri: string, document: T): void;\n}\n```\n\n**Members:**\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-all-member-1-\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-all-member-1-\"></a>\n\n#### [all](#-vuedx-vue-virtual-textdocument-DocumentStore-all-member-1-)\n\n\n\n**Signature:**\n```ts\nall(): string[];\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-delete-member-1-\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-delete-member-1-\"></a>\n\n#### [delete](#-vuedx-vue-virtual-textdocument-DocumentStore-delete-member-1-)\n\n\n\n**Signature:**\n```ts\ndelete(uri: string): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-dispose-member-1-\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-dispose-member-1-\"></a>\n\n#### [dispose](#-vuedx-vue-virtual-textdocument-DocumentStore-dispose-member-1-)\n\n\n\n**Signature:**\n```ts\ndispose(): void;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-get-member-1-\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-get-member-1-\"></a>\n\n#### [get](#-vuedx-vue-virtual-textdocument-DocumentStore-get-member-1-)\n\n\n\n**Signature:**\n```ts\nget(uri: string): T | null;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-getNormalizedUri-member-1-\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-getNormalizedUri-member-1-\"></a>\n\n#### [getNormalizedUri](#-vuedx-vue-virtual-textdocument-DocumentStore-getNormalizedUri-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected getNormalizedUri(uri: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-has-member-1-\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-has-member-1-\"></a>\n\n#### [has](#-vuedx-vue-virtual-textdocument-DocumentStore-has-member-1-)\n\n\n\n**Signature:**\n```ts\nhas(uri: string): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-set-member-1-\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-set-member-1-\"></a>\n\n#### [set](#-vuedx-vue-virtual-textdocument-DocumentStore-set-member-1-)\n\n\n\n**Signature:**\n```ts\nset(uri: string, document: T): void;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n| document | <code>T</code> | - |\n\n<br>\n</details>\n\n<br>\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-class\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-class\"></a>\n\n### [RenderFunctionTextDocument](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-class)\n\n\n\n<details><summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare class RenderFunctionTextDocument extends TransformedBlockTextDocument {\n  constructor(container: VueTextDocument, selector: Selector, transformed: TextDocument, source: TextDocument);\n  get ast(): CodegenResult['ast'] | undefined;\n  get contextCompletionsTriggerOffset(): number;\n  static create(options: CreateVirtualTextDocumentOptions): RenderFunctionTextDocument;\n  findExpression(offset: number, length: number): undefined | {\n        offset: number;\n        length: number;\n    };\n  protected generate(): string;\n  getAllGeneratedOffsetsAt(offset: number): undefined | Array<{\n        length: number;\n        offset: number;\n    }>;\n  getGeneratedOffsetAt(offset: number): undefined | {\n        length: number;\n        offset: number;\n    };\n  protected getKnownComponents(): Record<string, ComponentImport>;\n  getOriginalOffsetAt(offset: number): undefined | {\n        offset: number;\n        length: number;\n    };\n  isInGeneratedRange(offset: number): boolean;\n  isInTemplateIdentifierRange(offset: number): boolean;\n  get parserErrors(): CodegenResult['errors'];\n  get tagCompletionsTriggerOffset(): number;\n  toDisplayMappings(): string;\n  protected tryGenerate(): string;\n}\n```\n\n**Members:**\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-create-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-create-member-1-\"></a>\n\n#### [create](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-create-member-1-)\n\n\n\n**Signature:**\n```ts\nstatic create(options: CreateVirtualTextDocumentOptions): RenderFunctionTextDocument;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| options | <code><a href=\"#-vuedx-vue-virtual-textdocument--CreateVirtualTextDocumentOptions-interface\">CreateVirtualTextDocumentOptions</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-findExpression-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-findExpression-member-1-\"></a>\n\n#### [findExpression](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-findExpression-member-1-)\n\n\n\n**Signature:**\n```ts\nfindExpression(offset: number, length: number): undefined | {\n        offset: number;\n        length: number;\n    };\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n| length | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-generate-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-generate-member-1-\"></a>\n\n#### [generate](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-generate-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected generate(): string;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getAllGeneratedOffsetsAt-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getAllGeneratedOffsetsAt-member-1-\"></a>\n\n#### [getAllGeneratedOffsetsAt](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getAllGeneratedOffsetsAt-member-1-)\n\n\n\n**Signature:**\n```ts\ngetAllGeneratedOffsetsAt(offset: number): undefined | Array<{\n        length: number;\n        offset: number;\n    }>;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getGeneratedOffsetAt-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getGeneratedOffsetAt-member-1-\"></a>\n\n#### [getGeneratedOffsetAt](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getGeneratedOffsetAt-member-1-)\n\n\n\n**Signature:**\n```ts\ngetGeneratedOffsetAt(offset: number): undefined | {\n        length: number;\n        offset: number;\n    };\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getKnownComponents-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getKnownComponents-member-1-\"></a>\n\n#### [getKnownComponents](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getKnownComponents-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected getKnownComponents(): Record<string, ComponentImport>;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getOriginalOffsetAt-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getOriginalOffsetAt-member-1-\"></a>\n\n#### [getOriginalOffsetAt](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getOriginalOffsetAt-member-1-)\n\n\n\n**Signature:**\n```ts\ngetOriginalOffsetAt(offset: number): undefined | {\n        offset: number;\n        length: number;\n    };\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-isInGeneratedRange-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-isInGeneratedRange-member-1-\"></a>\n\n#### [isInGeneratedRange](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-isInGeneratedRange-member-1-)\n\n\n\n**Signature:**\n```ts\nisInGeneratedRange(offset: number): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-isInTemplateIdentifierRange-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-isInTemplateIdentifierRange-member-1-\"></a>\n\n#### [isInTemplateIdentifierRange](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-isInTemplateIdentifierRange-member-1-)\n\n\n\n**Signature:**\n```ts\nisInTemplateIdentifierRange(offset: number): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-toDisplayMappings-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-toDisplayMappings-member-1-\"></a>\n\n#### [toDisplayMappings](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-toDisplayMappings-member-1-)\n\n\n\n**Signature:**\n```ts\ntoDisplayMappings(): string;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-tryGenerate-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-tryGenerate-member-1-\"></a>\n\n#### [tryGenerate](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-tryGenerate-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected tryGenerate(): string;\n```\n\n\n<br>\n</details>\n\n<br>\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-class\" id=\"-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-class\"></a>\n\n### [TransformedBlockTextDocument](#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-class)\n\n\n\n<details><summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare class TransformedBlockTextDocument extends VirtualTextDocument {\n  protected constructor(container: VueTextDocument, selector: Selector, transformed: TextDocument, source: TextDocument | VirtualTextDocument, _transform: (document: TransformedBlockTextDocument) => BlockTransformResult);\n  static create(options: CreateTransformedBlockTextDocumentOptions): TransformedBlockTextDocument;\n  protected refresh(): void;\n  transform(): BlockTransformResult;\n  tryGetGeneratedOffset(offset: number): number | undefined;\n  tryGetSourceOffset(offset: number): number | undefined;\n}\n```\n\n**Members:**\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-create-member-1-\" id=\"-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-create-member-1-\"></a>\n\n#### [create](#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-create-member-1-)\n\n\n\n**Signature:**\n```ts\nstatic create(options: CreateTransformedBlockTextDocumentOptions): TransformedBlockTextDocument;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| options | <code><a href=\"#-vuedx-vue-virtual-textdocument--CreateTransformedBlockTextDocumentOptions-interface\">CreateTransformedBlockTextDocumentOptions</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-refresh-member-1-\" id=\"-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-refresh-member-1-\"></a>\n\n#### [refresh](#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-refresh-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected refresh(): void;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-transform-member-1-\" id=\"-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-transform-member-1-\"></a>\n\n#### [transform](#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-transform-member-1-)\n\n\n\n**Signature:**\n```ts\ntransform(): BlockTransformResult;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-tryGetGeneratedOffset-member-1-\" id=\"-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-tryGetGeneratedOffset-member-1-\"></a>\n\n#### [tryGetGeneratedOffset](#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-tryGetGeneratedOffset-member-1-)\n\n\n\n**Signature:**\n```ts\ntryGetGeneratedOffset(offset: number): number | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-tryGetSourceOffset-member-1-\" id=\"-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-tryGetSourceOffset-member-1-\"></a>\n\n#### [tryGetSourceOffset](#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-tryGetSourceOffset-member-1-)\n\n\n\n**Signature:**\n```ts\ntryGetSourceOffset(offset: number): number | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n</details>\n\n<br>\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VirtualTextDocument-class\" id=\"-vuedx-vue-virtual-textdocument-VirtualTextDocument-class\"></a>\n\n### [VirtualTextDocument](#-vuedx-vue-virtual-textdocument-VirtualTextDocument-class)\n\n\n\n<details><summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare class VirtualTextDocument extends ProxyTextDocument {\n  protected constructor(container: VueTextDocument, selector: Selector, doc: TextDocument);\n  readonly container: VueTextDocument;\n  static create(options: CreateVirtualTextDocumentOptions): VirtualTextDocument;\n  protected isDirty: boolean;\n  markDirty(): void;\n  protected refresh(): void;\n  readonly selector: Selector;\n}\n```\n\n**Members:**\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VirtualTextDocument-create-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VirtualTextDocument-create-member-1-\"></a>\n\n#### [create](#-vuedx-vue-virtual-textdocument-VirtualTextDocument-create-member-1-)\n\n\n\n**Signature:**\n```ts\nstatic create(options: CreateVirtualTextDocumentOptions): VirtualTextDocument;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| options | <code><a href=\"#-vuedx-vue-virtual-textdocument--CreateVirtualTextDocumentOptions-interface\">CreateVirtualTextDocumentOptions</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VirtualTextDocument-markDirty-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VirtualTextDocument-markDirty-member-1-\"></a>\n\n#### [markDirty](#-vuedx-vue-virtual-textdocument-VirtualTextDocument-markDirty-member-1-)\n\n\n\n**Signature:**\n```ts\nmarkDirty(): void;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VirtualTextDocument-refresh-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VirtualTextDocument-refresh-member-1-\"></a>\n\n#### [refresh](#-vuedx-vue-virtual-textdocument-VirtualTextDocument-refresh-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected refresh(): void;\n```\n\n\n<br>\n</details>\n\n<br>\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-class\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-class\"></a>\n\n### [VueTextDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-class)\n\n\n\n<details><summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare class VueTextDocument extends ProxyTextDocument {\n  constructor(doc: TextDocument, options?: VueTextDocumentOptions, parseOptions?: SFCParseOptions);\n  all(): VirtualTextDocument[];\n  blockAt(position: Position | number): SFCBlock | null | undefined;\n  static create(uri: string, languageId: string, version: number, content: string, options?: VueTextDocumentOptions, parseOptions?: SFCParseOptions): VueTextDocument;\n  protected createBlockDocument(selector: BlockSelector): VirtualTextDocument | undefined;\n  protected createInternalModuleDocument(): TransformedBlockTextDocument;\n  protected createModuleDocument(): TransformedBlockTextDocument;\n  protected createRenderDocument(): RenderFunctionTextDocument;\n  protected createTemplateASTDocument(): TransformedBlockTextDocument;\n  get descriptor(): SFCDescriptor;\n  documentAt(position: Position | number): VirtualTextDocument | undefined;\n  getBlock(selector: BlockSelector): SFCBlock | null | undefined;\n  getBlockSelector(block: SFCBlock): BlockSelector | undefined;\n  getDocument(selector: typeof RENDER_SELECTOR): RenderFunctionTextDocument;\n  getDocument(selector: SelectorLike): VirtualTextDocument;\n  getDocument(selector: string): VirtualTextDocument | undefined;\n  getDocumentFileName(selectorLike: SelectorLike): string;\n  protected getDocumentId(selector: Selector): string;\n  protected getDocumentLanguage(selector: Selector): string;\n  markDirty(): void;\n  readonly options: VueTextDocumentOptions;\n  protected parse(): void;\n  static update(document: VueTextDocument, changes: TextDocumentContentChangeEvent[], version: number): VueTextDocument;\n}\n```\n\n**Members:**\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-all-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-all-member-1-\"></a>\n\n#### [all](#-vuedx-vue-virtual-textdocument-VueTextDocument-all-member-1-)\n\n\n\n**Signature:**\n```ts\nall(): VirtualTextDocument[];\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-blockAt-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-blockAt-member-1-\"></a>\n\n#### [blockAt](#-vuedx-vue-virtual-textdocument-VueTextDocument-blockAt-member-1-)\n\n\n\n**Signature:**\n```ts\nblockAt(position: Position | number): SFCBlock | null | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| position | <code><a href=\"#vscode-languageserver-textdocument-Position-interface\">Position</a> &#124; number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-create-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-create-member-1-\"></a>\n\n#### [create](#-vuedx-vue-virtual-textdocument-VueTextDocument-create-member-1-)\n\n\n\n**Signature:**\n```ts\nstatic create(uri: string, languageId: string, version: number, content: string, options?: VueTextDocumentOptions, parseOptions?: SFCParseOptions): VueTextDocument;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n| languageId | <code>string</code> | - |\n| version | <code>number</code> | - |\n| content | <code>string</code> | - |\n| options | <code><a href=\"#-vuedx-vue-virtual-textdocument--VueTextDocumentOptions-interface\">VueTextDocumentOptions</a></code> | - |\n| parseOptions | <code><a href=\"#-vue-compiler-sfc-SFCParseOptions-interface\">SFCParseOptions</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-createBlockDocument-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-createBlockDocument-member-1-\"></a>\n\n#### [createBlockDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-createBlockDocument-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected createBlockDocument(selector: BlockSelector): VirtualTextDocument | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selector | <code><a href=\"#-vuedx-vue-virtual-textdocument--BlockSelector-type\">BlockSelector</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-createInternalModuleDocument-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-createInternalModuleDocument-member-1-\"></a>\n\n#### [createInternalModuleDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-createInternalModuleDocument-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected createInternalModuleDocument(): TransformedBlockTextDocument;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-createModuleDocument-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-createModuleDocument-member-1-\"></a>\n\n#### [createModuleDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-createModuleDocument-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected createModuleDocument(): TransformedBlockTextDocument;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-createRenderDocument-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-createRenderDocument-member-1-\"></a>\n\n#### [createRenderDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-createRenderDocument-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected createRenderDocument(): RenderFunctionTextDocument;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-createTemplateASTDocument-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-createTemplateASTDocument-member-1-\"></a>\n\n#### [createTemplateASTDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-createTemplateASTDocument-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected createTemplateASTDocument(): TransformedBlockTextDocument;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-documentAt-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-documentAt-member-1-\"></a>\n\n#### [documentAt](#-vuedx-vue-virtual-textdocument-VueTextDocument-documentAt-member-1-)\n\n\n\n**Signature:**\n```ts\ndocumentAt(position: Position | number): VirtualTextDocument | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| position | <code><a href=\"#vscode-languageserver-textdocument-Position-interface\">Position</a> &#124; number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getBlock-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getBlock-member-1-\"></a>\n\n#### [getBlock](#-vuedx-vue-virtual-textdocument-VueTextDocument-getBlock-member-1-)\n\n\n\n**Signature:**\n```ts\ngetBlock(selector: BlockSelector): SFCBlock | null | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selector | <code><a href=\"#-vuedx-vue-virtual-textdocument--BlockSelector-type\">BlockSelector</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getBlockSelector-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getBlockSelector-member-1-\"></a>\n\n#### [getBlockSelector](#-vuedx-vue-virtual-textdocument-VueTextDocument-getBlockSelector-member-1-)\n\n\n\n**Signature:**\n```ts\ngetBlockSelector(block: SFCBlock): BlockSelector | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| block | <code><a href=\"#-vue-compiler-sfc-SFCBlock-interface\">SFCBlock</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-1-\"></a>\n\n#### [getDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-1-)\n\n\n\n**Signature:**\n```ts\ngetDocument(selector: typeof RENDER_SELECTOR): RenderFunctionTextDocument;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selector | <code>typeof <a href=\"#-vuedx-vue-virtual-textdocument--RENDER-SELECTOR-var\">RENDER_SELECTOR</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-2-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-2-\"></a>\n\n#### [getDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-2-)\n\n\n\n**Signature:**\n```ts\ngetDocument(selector: SelectorLike): VirtualTextDocument;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selector | <code><a href=\"#-vuedx-vue-virtual-textdocument--SelectorLike-type\">SelectorLike</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-3-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-3-\"></a>\n\n#### [getDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-3-)\n\n\n\n**Signature:**\n```ts\ngetDocument(selector: string): VirtualTextDocument | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selector | <code>string</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentFileName-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentFileName-member-1-\"></a>\n\n#### [getDocumentFileName](#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentFileName-member-1-)\n\n\n\n**Signature:**\n```ts\ngetDocumentFileName(selectorLike: SelectorLike): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selectorLike | <code><a href=\"#-vuedx-vue-virtual-textdocument--SelectorLike-type\">SelectorLike</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentId-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentId-member-1-\"></a>\n\n#### [getDocumentId](#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentId-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected getDocumentId(selector: Selector): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selector | <code><a href=\"#-vuedx-vue-virtual-textdocument--Selector-type\">Selector</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentLanguage-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentLanguage-member-1-\"></a>\n\n#### [getDocumentLanguage](#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentLanguage-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected getDocumentLanguage(selector: Selector): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selector | <code><a href=\"#-vuedx-vue-virtual-textdocument--Selector-type\">Selector</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-markDirty-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-markDirty-member-1-\"></a>\n\n#### [markDirty](#-vuedx-vue-virtual-textdocument-VueTextDocument-markDirty-member-1-)\n\n\n\n**Signature:**\n```ts\nmarkDirty(): void;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-parse-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-parse-member-1-\"></a>\n\n#### [parse](#-vuedx-vue-virtual-textdocument-VueTextDocument-parse-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected parse(): void;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-update-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-update-member-1-\"></a>\n\n#### [update](#-vuedx-vue-virtual-textdocument-VueTextDocument-update-member-1-)\n\n\n\n**Signature:**\n```ts\nstatic update(document: VueTextDocument, changes: TextDocumentContentChangeEvent[], version: number): VueTextDocument;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| document | <code><a href=\"#-vuedx-vue-virtual-textdocument--VueTextDocument-class\">VueTextDocument</a></code> | - |\n| changes | <code><a href=\"#vscode-languageserver-textdocument-TextDocumentContentChangeEvent-type\">TextDocumentContentChangeEvent</a>[]</code> | - |\n| version | <code>number</code> | - |\n\n<br>\n</details>\n\n<br>\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-asFsPath-function-1-\" id=\"-vuedx-vue-virtual-textdocument-asFsPath-function-1-\"></a>\n\n### [asFsPath](#-vuedx-vue-virtual-textdocument-asFsPath-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function asFsPath(uri: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-asFsUri-function-1-\" id=\"-vuedx-vue-virtual-textdocument-asFsUri-function-1-\"></a>\n\n### [asFsUri](#-vuedx-vue-virtual-textdocument-asFsUri-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function asFsUri(fileName: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-asUri-function-1-\" id=\"-vuedx-vue-virtual-textdocument-asUri-function-1-\"></a>\n\n### [asUri](#-vuedx-vue-virtual-textdocument-asUri-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function asUri(fileNameOrUri: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileNameOrUri | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-basename-function-1-\" id=\"-vuedx-vue-virtual-textdocument-basename-function-1-\"></a>\n\n### [basename](#-vuedx-vue-virtual-textdocument-basename-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function basename(fileName: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-binarySearch-function-1-\" id=\"-vuedx-vue-virtual-textdocument-binarySearch-function-1-\"></a>\n\n### [binarySearch](#-vuedx-vue-virtual-textdocument-binarySearch-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function binarySearch<T>(array: T[], isMatch: (a: T) => number, returnMin?: boolean): T | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| array | <code>T[]</code> | - |\n| isMatch | <code>(a: T) => number</code> | - |\n| returnMin | <code>boolean</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-getBlockLanguage-function-1-\" id=\"-vuedx-vue-virtual-textdocument-getBlockLanguage-function-1-\"></a>\n\n### [getBlockLanguage](#-vuedx-vue-virtual-textdocument-getBlockLanguage-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function getBlockLanguage(block?: SFCBlock | null): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| block | <code><a href=\"#-vue-compiler-sfc-SFCBlock-interface\">SFCBlock</a> &#124; null</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-getContainingFile-function-1-\" id=\"-vuedx-vue-virtual-textdocument-getContainingFile-function-1-\"></a>\n\n### [getContainingFile](#-vuedx-vue-virtual-textdocument-getContainingFile-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function getContainingFile(fileName: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-getLanguageExtension-function-1-\" id=\"-vuedx-vue-virtual-textdocument-getLanguageExtension-function-1-\"></a>\n\n### [getLanguageExtension](#-vuedx-vue-virtual-textdocument-getLanguageExtension-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function getLanguageExtension(lang: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| lang | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-getLanguageIdFromExtension-function-1-\" id=\"-vuedx-vue-virtual-textdocument-getLanguageIdFromExtension-function-1-\"></a>\n\n### [getLanguageIdFromExtension](#-vuedx-vue-virtual-textdocument-getLanguageIdFromExtension-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function getLanguageIdFromExtension(ext: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| ext | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-isOffsetInBlock-function-1-\" id=\"-vuedx-vue-virtual-textdocument-isOffsetInBlock-function-1-\"></a>\n\n### [isOffsetInBlock](#-vuedx-vue-virtual-textdocument-isOffsetInBlock-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function isOffsetInBlock(offset: number, block?: SFCBlock | null): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n| block | <code><a href=\"#-vue-compiler-sfc-SFCBlock-interface\">SFCBlock</a> &#124; null</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-isVirtualFile-function-1-\" id=\"-vuedx-vue-virtual-textdocument-isVirtualFile-function-1-\"></a>\n\n### [isVirtualFile](#-vuedx-vue-virtual-textdocument-isVirtualFile-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function isVirtualFile(fileName: string): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-isVirtualFileOfType-function-1-\" id=\"-vuedx-vue-virtual-textdocument-isVirtualFileOfType-function-1-\"></a>\n\n### [isVirtualFileOfType](#-vuedx-vue-virtual-textdocument-isVirtualFileOfType-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function isVirtualFileOfType(fileName: string, type: '_render' | '_module' | '_internal' | 'script' | 'scriptSetup'): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n| type | <code>'_render' &#124; '_module' &#124; '_internal' &#124; 'script' &#124; 'scriptSetup'</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-isVueFile-function-1-\" id=\"-vuedx-vue-virtual-textdocument-isVueFile-function-1-\"></a>\n\n### [isVueFile](#-vuedx-vue-virtual-textdocument-isVueFile-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function isVueFile(fileName: string): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-parseVirtualFileName-function-1-\" id=\"-vuedx-vue-virtual-textdocument-parseVirtualFileName-function-1-\"></a>\n\n### [parseVirtualFileName](#-vuedx-vue-virtual-textdocument-parseVirtualFileName-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function parseVirtualFileName(fileName: string): {\n    uri: string;\n    selector: Selector;\n} | null;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-relativeVirtualImportPath-function-1-\" id=\"-vuedx-vue-virtual-textdocument-relativeVirtualImportPath-function-1-\"></a>\n\n### [relativeVirtualImportPath](#-vuedx-vue-virtual-textdocument-relativeVirtualImportPath-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function relativeVirtualImportPath(fileName: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-replaceSlashes-function-1-\" id=\"-vuedx-vue-virtual-textdocument-replaceSlashes-function-1-\"></a>\n\n### [replaceSlashes](#-vuedx-vue-virtual-textdocument-replaceSlashes-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function replaceSlashes(fileName: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n<!-- #region API-DOCS -->\n\n## Support\n\nThis package is part of [VueDX project](https://github.com/znck/vue-developer-experience), maintained by [Rahul Kadyan](https://github.com/znck). You can [💖 sponsor him](https://github.com/sponsors/znck) for continued development of this package and other VueDX tools.\n\n<p align=\"center\">\n  <a href=\"https://cdn.jsdelivr.net/gh/znck/sponsors@main/sponsors.svg\">\n    <img src='https://cdn.jsdelivr.net/gh/znck/sponsors@main/sponsors.png'/>\n  </a>\n</p>\n","readmeFilename":"readme.md","gitHead":"6aaeb32bce996ceed070c9f502b68d1e98f02bb8","_id":"@vuedx/vue-virtual-textdocument@0.7.5-next-1650753481.0","_nodeVersion":"16.14.2","_npmVersion":"8.5.0","dist":{"integrity":"sha512-QROFfb1q096CMavLC+/md1szAqEK3mDiGFmaRt87mdyR3fwvdBnR4QezjQaoRp1++uzuFjNHTFhObIS7Xg7s+g==","shasum":"079a11a66510471b07db302d7a75e5250f0a2b6c","tarball":"https://registry.npmjs.org/@vuedx/vue-virtual-textdocument/-/vue-virtual-textdocument-0.7.5-next-1650753481.0.tgz","fileCount":8,"unpackedSize":236658,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIHBf85oK2Wq1QdJXcr53iW8CoE0ZwX0tcty+gzUsxCHMAiEAtlNbpMJfXeyj2llgA1qOuczm1AZpk/+kohwzjDgGI58="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiZH/cACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmp9aQ/6An+4sNnmnTWVwH2DIyMmbn9lBUg2zHublLLUW6GBfenRcdGt\r\n1825a2b69cIgnnvn+Nb7WRNAhMswADBQx+Zqd6KJLhWDNhtEo7O5+oezo7NO\r\nZmzDsjHOBA/vQFXSelIiTCPfweODu3iRoJ15pMY3f45So/ZmZTwVXZNjDKgH\r\nArw4PTjvkBTMaUI7QQfWdXPgHC6K75ytRyrTVHZF1vnFakKRZVIgJh3qmmSM\r\nY0OF9CaY82X3/B74TCFE13FMehWPT607toU8SQCc8ZXQ1JtWLlka9jThZaNb\r\nuH3q3l+xIGQC8GcYjhC5CcWH8O7wU/Ug2jIIixkarJo0Xi18klixhN9Zw/wp\r\nwKpmTRZ6pf9B3iJ3Re3/OuIz8TLqOYiGN+ddWlXUyn4EWXzhD3vKAwUdRf6t\r\n2pKnYrIlo6IbgyPZ6uaYAqHCPJ4PR6ISQvdqJPF74NcSzF3Onk7GirlP1hFy\r\nPeWbNmOWp87YtC3O5WH9hcZJjoKSzIgPeNTYQx+LwMK2wrmPjKAyEFm5b6YO\r\nNZup/EIFcyM4npJ7fbgbUh7REhDkwQM5g8AEn7kjdL9CqnYpmv59aNUAaO7R\r\nlPyXO5/kSQG0hktt93vlA1LdXLX36Z8/ZpUNfLLag9awA1GnancZDPQlkozO\r\nwosALH42NjAD8b/SLGDCblY2BF8mGHxQyMc=\r\n=+h6x\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"znck","email":"rahulkdn@gmail.com"},"directories":{},"maintainers":[{"name":"znck","email":"rahulkdn@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/vue-virtual-textdocument_0.7.5-next-1650753481.0_1650753500527_0.4867408085423717"},"_hasShrinkwrap":false},"0.7.5":{"name":"@vuedx/vue-virtual-textdocument","version":"0.7.5","description":"A virtual filesystem to access blocks in SFC as files","main":"lib/index.js","module":"lib/index.mjs","types":"lib/index.d.ts","publishConfig":{"types":"lib/index.d.ts"},"private":false,"keywords":["vue","vue sfc","sfc","vue virtual files"],"repository":{"type":"git","url":"git+https://github.com/znck/vue-developer-experience.git"},"author":{"name":"Rahul Kadyan","email":"rahulkdn@gmail.com","url":"https://znck.me/"},"funding":{"type":"individual","url":"https://github.com/sponsors/znck"},"license":"MIT","bugs":{"url":"https://github.com/znck/vue-developer-experience/issues"},"homepage":"https://github.com/znck/vue-developer-experience#readme","dependencies":{"@vuedx/compiler-sfc":"0.7.1","@vuedx/compiler-tsx":"0.8.0","@vuedx/shared":"0.7.4","@vuedx/template-ast-types":"0.7.3","@vuedx/transforms":"0.7.5","source-map":"^0.6.1","vscode-languageserver-textdocument":"^1.0.1","vscode-uri":"^2.1.2"},"devDependencies":{"typescript":"^4.6.3"},"scripts":{},"gitHead":"1170cbb518ca173bd35f06f1a435b9be5ded6603","_id":"@vuedx/vue-virtual-textdocument@0.7.5","_nodeVersion":"16.14.2","_npmVersion":"8.5.0","dist":{"integrity":"sha512-baYrXdWnujEnI5TOkfYXQKIUv+vDgwnJkw6GFz9wzyb8qPY+SObLwPgQK9nQkcgdQG2WHEXMG3JRgOrACT6XaQ==","shasum":"4103be03138e38fd8efde12d6a6e2c7baf2f8fc1","tarball":"https://registry.npmjs.org/@vuedx/vue-virtual-textdocument/-/vue-virtual-textdocument-0.7.5.tgz","fileCount":8,"unpackedSize":236550,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIGlxZakBnm7Ec4z/SA03QwftjUo8/43eZ29bgqFpyU2oAiEAmvfzSpAuRZtD8wktp7WANRTZpuoaW4ePubUet8JDzHw="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiaPOoACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrIYQ//VGeCo2vsnnsZgnDGIIaKZnjpFP6ZWl25h8vJMwSnIu3GRp45\r\nUAMO2G7EOSJnHa92K5gWfbWRN1RY8sBuBXuBF6v4WYw/SJJXKbk1g2aNBfeq\r\nGOjAoNVAcWPV4rbvvOsxwaBalxjrMwQ0R2QSxri9FjQgd6lJZqgZQAZ2WNHn\r\n6egOBRSW014ytVu70gwSNMYi/AponOn15hk6bYueRJqH6xuCYncBsJD/1Qyl\r\nCqajelN5y9DcVHghlXynPseXCeXw/a/7SfmobEmptk1hVGWKVlbyqm5/Yuc6\r\nqIOhb0kwskjHPsihyuR8X/+i/24zG9AGG9pWB56SjdNgalGnxFnlNWYjBCTs\r\nYv7fZEpzAZ36/RT1QKqx7FTHwZtdL3k9HV7HEVi1TLvPT9UstIalusrr35+z\r\nv3NNo58G+LXQaNINcMdzBC7byrLmvuwiEnLlJhN8JuTpu4gpsKH22Er/P7Zs\r\n1PapQOVhkb0dGOhlaOxeZ39IKcoNLSdfsLJkV7IcNkS+aBkyD7VYAtCGljrC\r\nlVI2bBJc7UWiPxDAPq8LuyYWiD7oMgIVh6351ZmiRYz18liXi09ucZxHClWo\r\nzh825BOgsiADGJL5XhZeRjnMaYmp9Rd9XitevSPLdS/Wr/9KeoM71BFP4CZL\r\nbeRTKTlHAEp/RcIiBH1KNBLtj3iFwOEYXJs=\r\n=0hnx\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"znck","email":"rahulkdn@gmail.com"},"directories":{},"maintainers":[{"name":"znck","email":"rahulkdn@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/vue-virtual-textdocument_0.7.5_1651045288657_0.9539988487720021"},"_hasShrinkwrap":false},"0.7.6-next-1651048177.0":{"name":"@vuedx/vue-virtual-textdocument","version":"0.7.6-next-1651048177.0","description":"A virtual filesystem to access blocks in SFC as files","main":"lib/index.js","module":"lib/index.mjs","types":"lib/index.d.ts","publishConfig":{"types":"lib/index.d.ts"},"private":false,"keywords":["vue","vue sfc","sfc","vue virtual files"],"repository":{"type":"git","url":"git+https://github.com/znck/vue-developer-experience.git"},"author":{"name":"Rahul Kadyan","email":"rahulkdn@gmail.com","url":"https://znck.me/"},"funding":{"type":"individual","url":"https://github.com/sponsors/znck"},"license":"MIT","bugs":{"url":"https://github.com/znck/vue-developer-experience/issues"},"homepage":"https://github.com/znck/vue-developer-experience#readme","dependencies":{"@vuedx/compiler-sfc":"0.7.2-next-1651048177.0","@vuedx/compiler-tsx":"0.8.1-next-1651048177.0","@vuedx/shared":"0.7.5-next-1651048177.0","@vuedx/template-ast-types":"0.7.4-next-1651048177.0","@vuedx/transforms":"0.7.6-next-1651048177.0","source-map":"^0.6.1","vscode-languageserver-textdocument":"^1.0.1","vscode-uri":"^2.1.2"},"devDependencies":{"typescript":"^4.6.3"},"scripts":{},"readme":"# Vue Virtual TextDocument\n\nAn implementation of virtual filesystem for accessing blocks in a `.vue` file as independent files.\n\n```\nnpm add @vuedx/vue-virtual-textdocument\n```\n<!-- #region API-DOCS -->\n<!-- Do not edit this file. It is a report generated by [scripts/docgen.js](https://github.com/znck/vue-developer-experience/tree/main/scripts/docgen.js). -->\n\n## API\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-AsyncDocumentStore-class\" id=\"-vuedx-vue-virtual-textdocument-AsyncDocumentStore-class\"></a>\n\n### [AsyncDocumentStore](#-vuedx-vue-virtual-textdocument-AsyncDocumentStore-class)\n\n\n\n<details><summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare class AsyncDocumentStore<T> extends DocumentStore<T> {\n  constructor(resolve: (uri: string) => T | Promise<T | null> | null, normalize?: (uri: string) => string);\n  get(uri: string): T | null;\n  get(uri: string): Promise<T | null>;\n}\n```\n\n**Members:**\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-AsyncDocumentStore-get-member-1-\" id=\"-vuedx-vue-virtual-textdocument-AsyncDocumentStore-get-member-1-\"></a>\n\n#### [get](#-vuedx-vue-virtual-textdocument-AsyncDocumentStore-get-member-1-)\n\n\n\n**Signature:**\n```ts\nget(uri: string): T | null;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-AsyncDocumentStore-get-member-2-\" id=\"-vuedx-vue-virtual-textdocument-AsyncDocumentStore-get-member-2-\"></a>\n\n#### [get](#-vuedx-vue-virtual-textdocument-AsyncDocumentStore-get-member-2-)\n\n\n\n**Signature:**\n```ts\nget(uri: string): Promise<T | null>;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n\n<br>\n</details>\n\n<br>\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-class\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-class\"></a>\n\n### [DocumentStore](#-vuedx-vue-virtual-textdocument-DocumentStore-class)\n\n\n\n<details><summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare class DocumentStore<T> {\n  constructor(resolve: (uri: string) => T | null, normalize?: (uri: string) => string);\n  all(): string[];\n  delete(uri: string): boolean;\n  dispose(): void;\n  get(uri: string): T | null;\n  protected getNormalizedUri(uri: string): string;\n  has(uri: string): boolean;\n  protected map: Map<string, T>;\n  normalize: (uri: string) => string;\n  protected resolve: (uri: string) => T | null;\n  protected reverseUriMap: Map<string, string>;\n  set(uri: string, document: T): void;\n}\n```\n\n**Members:**\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-all-member-1-\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-all-member-1-\"></a>\n\n#### [all](#-vuedx-vue-virtual-textdocument-DocumentStore-all-member-1-)\n\n\n\n**Signature:**\n```ts\nall(): string[];\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-delete-member-1-\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-delete-member-1-\"></a>\n\n#### [delete](#-vuedx-vue-virtual-textdocument-DocumentStore-delete-member-1-)\n\n\n\n**Signature:**\n```ts\ndelete(uri: string): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-dispose-member-1-\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-dispose-member-1-\"></a>\n\n#### [dispose](#-vuedx-vue-virtual-textdocument-DocumentStore-dispose-member-1-)\n\n\n\n**Signature:**\n```ts\ndispose(): void;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-get-member-1-\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-get-member-1-\"></a>\n\n#### [get](#-vuedx-vue-virtual-textdocument-DocumentStore-get-member-1-)\n\n\n\n**Signature:**\n```ts\nget(uri: string): T | null;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-getNormalizedUri-member-1-\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-getNormalizedUri-member-1-\"></a>\n\n#### [getNormalizedUri](#-vuedx-vue-virtual-textdocument-DocumentStore-getNormalizedUri-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected getNormalizedUri(uri: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-has-member-1-\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-has-member-1-\"></a>\n\n#### [has](#-vuedx-vue-virtual-textdocument-DocumentStore-has-member-1-)\n\n\n\n**Signature:**\n```ts\nhas(uri: string): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-set-member-1-\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-set-member-1-\"></a>\n\n#### [set](#-vuedx-vue-virtual-textdocument-DocumentStore-set-member-1-)\n\n\n\n**Signature:**\n```ts\nset(uri: string, document: T): void;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n| document | <code>T</code> | - |\n\n<br>\n</details>\n\n<br>\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-class\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-class\"></a>\n\n### [RenderFunctionTextDocument](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-class)\n\n\n\n<details><summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare class RenderFunctionTextDocument extends TransformedBlockTextDocument {\n  constructor(container: VueTextDocument, selector: Selector, transformed: TextDocument, source: TextDocument);\n  get ast(): CodegenResult['ast'] | undefined;\n  get contextCompletionsTriggerOffset(): number;\n  static create(options: CreateVirtualTextDocumentOptions): RenderFunctionTextDocument;\n  findExpression(offset: number, length: number): undefined | {\n        offset: number;\n        length: number;\n    };\n  protected generate(): string;\n  getAllGeneratedOffsetsAt(offset: number): undefined | Array<{\n        length: number;\n        offset: number;\n    }>;\n  getGeneratedOffsetAt(offset: number): undefined | {\n        length: number;\n        offset: number;\n    };\n  protected getKnownComponents(): Record<string, ComponentImport>;\n  getOriginalOffsetAt(offset: number): undefined | {\n        offset: number;\n        length: number;\n    };\n  isInGeneratedRange(offset: number): boolean;\n  isInTemplateIdentifierRange(offset: number): boolean;\n  get parserErrors(): CodegenResult['errors'];\n  get tagCompletionsTriggerOffset(): number;\n  toDisplayMappings(): string;\n  protected tryGenerate(): string;\n}\n```\n\n**Members:**\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-create-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-create-member-1-\"></a>\n\n#### [create](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-create-member-1-)\n\n\n\n**Signature:**\n```ts\nstatic create(options: CreateVirtualTextDocumentOptions): RenderFunctionTextDocument;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| options | <code><a href=\"#-vuedx-vue-virtual-textdocument--CreateVirtualTextDocumentOptions-interface\">CreateVirtualTextDocumentOptions</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-findExpression-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-findExpression-member-1-\"></a>\n\n#### [findExpression](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-findExpression-member-1-)\n\n\n\n**Signature:**\n```ts\nfindExpression(offset: number, length: number): undefined | {\n        offset: number;\n        length: number;\n    };\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n| length | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-generate-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-generate-member-1-\"></a>\n\n#### [generate](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-generate-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected generate(): string;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getAllGeneratedOffsetsAt-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getAllGeneratedOffsetsAt-member-1-\"></a>\n\n#### [getAllGeneratedOffsetsAt](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getAllGeneratedOffsetsAt-member-1-)\n\n\n\n**Signature:**\n```ts\ngetAllGeneratedOffsetsAt(offset: number): undefined | Array<{\n        length: number;\n        offset: number;\n    }>;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getGeneratedOffsetAt-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getGeneratedOffsetAt-member-1-\"></a>\n\n#### [getGeneratedOffsetAt](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getGeneratedOffsetAt-member-1-)\n\n\n\n**Signature:**\n```ts\ngetGeneratedOffsetAt(offset: number): undefined | {\n        length: number;\n        offset: number;\n    };\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getKnownComponents-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getKnownComponents-member-1-\"></a>\n\n#### [getKnownComponents](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getKnownComponents-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected getKnownComponents(): Record<string, ComponentImport>;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getOriginalOffsetAt-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getOriginalOffsetAt-member-1-\"></a>\n\n#### [getOriginalOffsetAt](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getOriginalOffsetAt-member-1-)\n\n\n\n**Signature:**\n```ts\ngetOriginalOffsetAt(offset: number): undefined | {\n        offset: number;\n        length: number;\n    };\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-isInGeneratedRange-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-isInGeneratedRange-member-1-\"></a>\n\n#### [isInGeneratedRange](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-isInGeneratedRange-member-1-)\n\n\n\n**Signature:**\n```ts\nisInGeneratedRange(offset: number): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-isInTemplateIdentifierRange-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-isInTemplateIdentifierRange-member-1-\"></a>\n\n#### [isInTemplateIdentifierRange](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-isInTemplateIdentifierRange-member-1-)\n\n\n\n**Signature:**\n```ts\nisInTemplateIdentifierRange(offset: number): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-toDisplayMappings-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-toDisplayMappings-member-1-\"></a>\n\n#### [toDisplayMappings](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-toDisplayMappings-member-1-)\n\n\n\n**Signature:**\n```ts\ntoDisplayMappings(): string;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-tryGenerate-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-tryGenerate-member-1-\"></a>\n\n#### [tryGenerate](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-tryGenerate-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected tryGenerate(): string;\n```\n\n\n<br>\n</details>\n\n<br>\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-class\" id=\"-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-class\"></a>\n\n### [TransformedBlockTextDocument](#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-class)\n\n\n\n<details><summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare class TransformedBlockTextDocument extends VirtualTextDocument {\n  protected constructor(container: VueTextDocument, selector: Selector, transformed: TextDocument, source: TextDocument | VirtualTextDocument, _transform: (document: TransformedBlockTextDocument) => BlockTransformResult);\n  static create(options: CreateTransformedBlockTextDocumentOptions): TransformedBlockTextDocument;\n  protected refresh(): void;\n  transform(): BlockTransformResult;\n  tryGetGeneratedOffset(offset: number): number | undefined;\n  tryGetSourceOffset(offset: number): number | undefined;\n}\n```\n\n**Members:**\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-create-member-1-\" id=\"-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-create-member-1-\"></a>\n\n#### [create](#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-create-member-1-)\n\n\n\n**Signature:**\n```ts\nstatic create(options: CreateTransformedBlockTextDocumentOptions): TransformedBlockTextDocument;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| options | <code><a href=\"#-vuedx-vue-virtual-textdocument--CreateTransformedBlockTextDocumentOptions-interface\">CreateTransformedBlockTextDocumentOptions</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-refresh-member-1-\" id=\"-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-refresh-member-1-\"></a>\n\n#### [refresh](#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-refresh-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected refresh(): void;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-transform-member-1-\" id=\"-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-transform-member-1-\"></a>\n\n#### [transform](#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-transform-member-1-)\n\n\n\n**Signature:**\n```ts\ntransform(): BlockTransformResult;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-tryGetGeneratedOffset-member-1-\" id=\"-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-tryGetGeneratedOffset-member-1-\"></a>\n\n#### [tryGetGeneratedOffset](#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-tryGetGeneratedOffset-member-1-)\n\n\n\n**Signature:**\n```ts\ntryGetGeneratedOffset(offset: number): number | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-tryGetSourceOffset-member-1-\" id=\"-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-tryGetSourceOffset-member-1-\"></a>\n\n#### [tryGetSourceOffset](#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-tryGetSourceOffset-member-1-)\n\n\n\n**Signature:**\n```ts\ntryGetSourceOffset(offset: number): number | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n</details>\n\n<br>\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VirtualTextDocument-class\" id=\"-vuedx-vue-virtual-textdocument-VirtualTextDocument-class\"></a>\n\n### [VirtualTextDocument](#-vuedx-vue-virtual-textdocument-VirtualTextDocument-class)\n\n\n\n<details><summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare class VirtualTextDocument extends ProxyTextDocument {\n  protected constructor(container: VueTextDocument, selector: Selector, doc: TextDocument);\n  readonly container: VueTextDocument;\n  static create(options: CreateVirtualTextDocumentOptions): VirtualTextDocument;\n  protected isDirty: boolean;\n  markDirty(): void;\n  protected refresh(): void;\n  readonly selector: Selector;\n}\n```\n\n**Members:**\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VirtualTextDocument-create-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VirtualTextDocument-create-member-1-\"></a>\n\n#### [create](#-vuedx-vue-virtual-textdocument-VirtualTextDocument-create-member-1-)\n\n\n\n**Signature:**\n```ts\nstatic create(options: CreateVirtualTextDocumentOptions): VirtualTextDocument;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| options | <code><a href=\"#-vuedx-vue-virtual-textdocument--CreateVirtualTextDocumentOptions-interface\">CreateVirtualTextDocumentOptions</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VirtualTextDocument-markDirty-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VirtualTextDocument-markDirty-member-1-\"></a>\n\n#### [markDirty](#-vuedx-vue-virtual-textdocument-VirtualTextDocument-markDirty-member-1-)\n\n\n\n**Signature:**\n```ts\nmarkDirty(): void;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VirtualTextDocument-refresh-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VirtualTextDocument-refresh-member-1-\"></a>\n\n#### [refresh](#-vuedx-vue-virtual-textdocument-VirtualTextDocument-refresh-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected refresh(): void;\n```\n\n\n<br>\n</details>\n\n<br>\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-class\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-class\"></a>\n\n### [VueTextDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-class)\n\n\n\n<details><summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare class VueTextDocument extends ProxyTextDocument {\n  constructor(doc: TextDocument, options?: VueTextDocumentOptions, parseOptions?: SFCParseOptions);\n  all(): VirtualTextDocument[];\n  blockAt(position: Position | number): SFCBlock | null | undefined;\n  static create(uri: string, languageId: string, version: number, content: string, options?: VueTextDocumentOptions, parseOptions?: SFCParseOptions): VueTextDocument;\n  protected createBlockDocument(selector: BlockSelector): VirtualTextDocument | undefined;\n  protected createInternalModuleDocument(): TransformedBlockTextDocument;\n  protected createModuleDocument(): TransformedBlockTextDocument;\n  protected createRenderDocument(): RenderFunctionTextDocument;\n  protected createTemplateASTDocument(): TransformedBlockTextDocument;\n  get descriptor(): SFCDescriptor;\n  documentAt(position: Position | number): VirtualTextDocument | undefined;\n  getBlock(selector: BlockSelector): SFCBlock | null | undefined;\n  getBlockSelector(block: SFCBlock): BlockSelector | undefined;\n  getDocument(selector: typeof RENDER_SELECTOR): RenderFunctionTextDocument;\n  getDocument(selector: SelectorLike): VirtualTextDocument;\n  getDocument(selector: string): VirtualTextDocument | undefined;\n  getDocumentFileName(selectorLike: SelectorLike): string;\n  protected getDocumentId(selector: Selector): string;\n  protected getDocumentLanguage(selector: Selector): string;\n  markDirty(): void;\n  readonly options: VueTextDocumentOptions;\n  protected parse(): void;\n  static update(document: VueTextDocument, changes: TextDocumentContentChangeEvent[], version: number): VueTextDocument;\n}\n```\n\n**Members:**\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-all-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-all-member-1-\"></a>\n\n#### [all](#-vuedx-vue-virtual-textdocument-VueTextDocument-all-member-1-)\n\n\n\n**Signature:**\n```ts\nall(): VirtualTextDocument[];\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-blockAt-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-blockAt-member-1-\"></a>\n\n#### [blockAt](#-vuedx-vue-virtual-textdocument-VueTextDocument-blockAt-member-1-)\n\n\n\n**Signature:**\n```ts\nblockAt(position: Position | number): SFCBlock | null | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| position | <code><a href=\"#vscode-languageserver-textdocument-Position-interface\">Position</a> &#124; number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-create-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-create-member-1-\"></a>\n\n#### [create](#-vuedx-vue-virtual-textdocument-VueTextDocument-create-member-1-)\n\n\n\n**Signature:**\n```ts\nstatic create(uri: string, languageId: string, version: number, content: string, options?: VueTextDocumentOptions, parseOptions?: SFCParseOptions): VueTextDocument;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n| languageId | <code>string</code> | - |\n| version | <code>number</code> | - |\n| content | <code>string</code> | - |\n| options | <code><a href=\"#-vuedx-vue-virtual-textdocument--VueTextDocumentOptions-interface\">VueTextDocumentOptions</a></code> | - |\n| parseOptions | <code><a href=\"#-vue-compiler-sfc-SFCParseOptions-interface\">SFCParseOptions</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-createBlockDocument-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-createBlockDocument-member-1-\"></a>\n\n#### [createBlockDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-createBlockDocument-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected createBlockDocument(selector: BlockSelector): VirtualTextDocument | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selector | <code><a href=\"#-vuedx-vue-virtual-textdocument--BlockSelector-type\">BlockSelector</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-createInternalModuleDocument-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-createInternalModuleDocument-member-1-\"></a>\n\n#### [createInternalModuleDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-createInternalModuleDocument-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected createInternalModuleDocument(): TransformedBlockTextDocument;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-createModuleDocument-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-createModuleDocument-member-1-\"></a>\n\n#### [createModuleDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-createModuleDocument-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected createModuleDocument(): TransformedBlockTextDocument;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-createRenderDocument-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-createRenderDocument-member-1-\"></a>\n\n#### [createRenderDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-createRenderDocument-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected createRenderDocument(): RenderFunctionTextDocument;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-createTemplateASTDocument-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-createTemplateASTDocument-member-1-\"></a>\n\n#### [createTemplateASTDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-createTemplateASTDocument-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected createTemplateASTDocument(): TransformedBlockTextDocument;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-documentAt-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-documentAt-member-1-\"></a>\n\n#### [documentAt](#-vuedx-vue-virtual-textdocument-VueTextDocument-documentAt-member-1-)\n\n\n\n**Signature:**\n```ts\ndocumentAt(position: Position | number): VirtualTextDocument | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| position | <code><a href=\"#vscode-languageserver-textdocument-Position-interface\">Position</a> &#124; number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getBlock-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getBlock-member-1-\"></a>\n\n#### [getBlock](#-vuedx-vue-virtual-textdocument-VueTextDocument-getBlock-member-1-)\n\n\n\n**Signature:**\n```ts\ngetBlock(selector: BlockSelector): SFCBlock | null | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selector | <code><a href=\"#-vuedx-vue-virtual-textdocument--BlockSelector-type\">BlockSelector</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getBlockSelector-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getBlockSelector-member-1-\"></a>\n\n#### [getBlockSelector](#-vuedx-vue-virtual-textdocument-VueTextDocument-getBlockSelector-member-1-)\n\n\n\n**Signature:**\n```ts\ngetBlockSelector(block: SFCBlock): BlockSelector | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| block | <code><a href=\"#-vue-compiler-sfc-SFCBlock-interface\">SFCBlock</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-1-\"></a>\n\n#### [getDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-1-)\n\n\n\n**Signature:**\n```ts\ngetDocument(selector: typeof RENDER_SELECTOR): RenderFunctionTextDocument;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selector | <code>typeof <a href=\"#-vuedx-vue-virtual-textdocument--RENDER-SELECTOR-var\">RENDER_SELECTOR</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-2-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-2-\"></a>\n\n#### [getDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-2-)\n\n\n\n**Signature:**\n```ts\ngetDocument(selector: SelectorLike): VirtualTextDocument;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selector | <code><a href=\"#-vuedx-vue-virtual-textdocument--SelectorLike-type\">SelectorLike</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-3-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-3-\"></a>\n\n#### [getDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-3-)\n\n\n\n**Signature:**\n```ts\ngetDocument(selector: string): VirtualTextDocument | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selector | <code>string</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentFileName-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentFileName-member-1-\"></a>\n\n#### [getDocumentFileName](#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentFileName-member-1-)\n\n\n\n**Signature:**\n```ts\ngetDocumentFileName(selectorLike: SelectorLike): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selectorLike | <code><a href=\"#-vuedx-vue-virtual-textdocument--SelectorLike-type\">SelectorLike</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentId-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentId-member-1-\"></a>\n\n#### [getDocumentId](#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentId-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected getDocumentId(selector: Selector): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selector | <code><a href=\"#-vuedx-vue-virtual-textdocument--Selector-type\">Selector</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentLanguage-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentLanguage-member-1-\"></a>\n\n#### [getDocumentLanguage](#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentLanguage-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected getDocumentLanguage(selector: Selector): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selector | <code><a href=\"#-vuedx-vue-virtual-textdocument--Selector-type\">Selector</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-markDirty-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-markDirty-member-1-\"></a>\n\n#### [markDirty](#-vuedx-vue-virtual-textdocument-VueTextDocument-markDirty-member-1-)\n\n\n\n**Signature:**\n```ts\nmarkDirty(): void;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-parse-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-parse-member-1-\"></a>\n\n#### [parse](#-vuedx-vue-virtual-textdocument-VueTextDocument-parse-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected parse(): void;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-update-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-update-member-1-\"></a>\n\n#### [update](#-vuedx-vue-virtual-textdocument-VueTextDocument-update-member-1-)\n\n\n\n**Signature:**\n```ts\nstatic update(document: VueTextDocument, changes: TextDocumentContentChangeEvent[], version: number): VueTextDocument;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| document | <code><a href=\"#-vuedx-vue-virtual-textdocument--VueTextDocument-class\">VueTextDocument</a></code> | - |\n| changes | <code><a href=\"#vscode-languageserver-textdocument-TextDocumentContentChangeEvent-type\">TextDocumentContentChangeEvent</a>[]</code> | - |\n| version | <code>number</code> | - |\n\n<br>\n</details>\n\n<br>\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-asFsPath-function-1-\" id=\"-vuedx-vue-virtual-textdocument-asFsPath-function-1-\"></a>\n\n### [asFsPath](#-vuedx-vue-virtual-textdocument-asFsPath-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function asFsPath(uri: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-asFsUri-function-1-\" id=\"-vuedx-vue-virtual-textdocument-asFsUri-function-1-\"></a>\n\n### [asFsUri](#-vuedx-vue-virtual-textdocument-asFsUri-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function asFsUri(fileName: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-asUri-function-1-\" id=\"-vuedx-vue-virtual-textdocument-asUri-function-1-\"></a>\n\n### [asUri](#-vuedx-vue-virtual-textdocument-asUri-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function asUri(fileNameOrUri: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileNameOrUri | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-basename-function-1-\" id=\"-vuedx-vue-virtual-textdocument-basename-function-1-\"></a>\n\n### [basename](#-vuedx-vue-virtual-textdocument-basename-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function basename(fileName: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-binarySearch-function-1-\" id=\"-vuedx-vue-virtual-textdocument-binarySearch-function-1-\"></a>\n\n### [binarySearch](#-vuedx-vue-virtual-textdocument-binarySearch-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function binarySearch<T>(array: T[], isMatch: (a: T) => number, returnMin?: boolean): T | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| array | <code>T[]</code> | - |\n| isMatch | <code>(a: T) => number</code> | - |\n| returnMin | <code>boolean</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-getBlockLanguage-function-1-\" id=\"-vuedx-vue-virtual-textdocument-getBlockLanguage-function-1-\"></a>\n\n### [getBlockLanguage](#-vuedx-vue-virtual-textdocument-getBlockLanguage-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function getBlockLanguage(block?: SFCBlock | null): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| block | <code><a href=\"#-vue-compiler-sfc-SFCBlock-interface\">SFCBlock</a> &#124; null</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-getContainingFile-function-1-\" id=\"-vuedx-vue-virtual-textdocument-getContainingFile-function-1-\"></a>\n\n### [getContainingFile](#-vuedx-vue-virtual-textdocument-getContainingFile-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function getContainingFile(fileName: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-getLanguageExtension-function-1-\" id=\"-vuedx-vue-virtual-textdocument-getLanguageExtension-function-1-\"></a>\n\n### [getLanguageExtension](#-vuedx-vue-virtual-textdocument-getLanguageExtension-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function getLanguageExtension(lang: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| lang | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-getLanguageIdFromExtension-function-1-\" id=\"-vuedx-vue-virtual-textdocument-getLanguageIdFromExtension-function-1-\"></a>\n\n### [getLanguageIdFromExtension](#-vuedx-vue-virtual-textdocument-getLanguageIdFromExtension-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function getLanguageIdFromExtension(ext: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| ext | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-isOffsetInBlock-function-1-\" id=\"-vuedx-vue-virtual-textdocument-isOffsetInBlock-function-1-\"></a>\n\n### [isOffsetInBlock](#-vuedx-vue-virtual-textdocument-isOffsetInBlock-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function isOffsetInBlock(offset: number, block?: SFCBlock | null): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n| block | <code><a href=\"#-vue-compiler-sfc-SFCBlock-interface\">SFCBlock</a> &#124; null</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-isVirtualFile-function-1-\" id=\"-vuedx-vue-virtual-textdocument-isVirtualFile-function-1-\"></a>\n\n### [isVirtualFile](#-vuedx-vue-virtual-textdocument-isVirtualFile-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function isVirtualFile(fileName: string): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-isVirtualFileOfType-function-1-\" id=\"-vuedx-vue-virtual-textdocument-isVirtualFileOfType-function-1-\"></a>\n\n### [isVirtualFileOfType](#-vuedx-vue-virtual-textdocument-isVirtualFileOfType-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function isVirtualFileOfType(fileName: string, type: '_render' | '_module' | '_internal' | 'script' | 'scriptSetup'): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n| type | <code>'_render' &#124; '_module' &#124; '_internal' &#124; 'script' &#124; 'scriptSetup'</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-isVueFile-function-1-\" id=\"-vuedx-vue-virtual-textdocument-isVueFile-function-1-\"></a>\n\n### [isVueFile](#-vuedx-vue-virtual-textdocument-isVueFile-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function isVueFile(fileName: string): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-parseVirtualFileName-function-1-\" id=\"-vuedx-vue-virtual-textdocument-parseVirtualFileName-function-1-\"></a>\n\n### [parseVirtualFileName](#-vuedx-vue-virtual-textdocument-parseVirtualFileName-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function parseVirtualFileName(fileName: string): {\n    uri: string;\n    selector: Selector;\n} | null;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-relativeVirtualImportPath-function-1-\" id=\"-vuedx-vue-virtual-textdocument-relativeVirtualImportPath-function-1-\"></a>\n\n### [relativeVirtualImportPath](#-vuedx-vue-virtual-textdocument-relativeVirtualImportPath-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function relativeVirtualImportPath(fileName: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-replaceSlashes-function-1-\" id=\"-vuedx-vue-virtual-textdocument-replaceSlashes-function-1-\"></a>\n\n### [replaceSlashes](#-vuedx-vue-virtual-textdocument-replaceSlashes-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function replaceSlashes(fileName: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n<!-- #region API-DOCS -->\n\n## Support\n\nThis package is part of [VueDX project](https://github.com/znck/vue-developer-experience), maintained by [Rahul Kadyan](https://github.com/znck). You can [💖 sponsor him](https://github.com/sponsors/znck) for continued development of this package and other VueDX tools.\n\n<p align=\"center\">\n  <a href=\"https://cdn.jsdelivr.net/gh/znck/sponsors@main/sponsors.svg\">\n    <img src='https://cdn.jsdelivr.net/gh/znck/sponsors@main/sponsors.png'/>\n  </a>\n</p>\n","readmeFilename":"readme.md","gitHead":"186462361e96f4ea70f43e4086d2c07d509d2762","_id":"@vuedx/vue-virtual-textdocument@0.7.6-next-1651048177.0","_nodeVersion":"16.14.2","_npmVersion":"8.5.0","dist":{"integrity":"sha512-4Q5UDilP9EODAka6cORjgjzhDJQMwE5/sUFMgYELa/GrSCcHjf1c+OywBeyxM/YYaRX0zBCJeJnc4GEGdvYQ2A==","shasum":"016ccbd25a0402670c6a76948e650883f1391ace","tarball":"https://registry.npmjs.org/@vuedx/vue-virtual-textdocument/-/vue-virtual-textdocument-0.7.6-next-1651048177.0.tgz","fileCount":8,"unpackedSize":236658,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQC9p4c2bk6wQrHvFhFdQ6qLT5423mwMx6q0v0drBcWmzAIgfctmronJXMcZjkGiYJ7uCfJAruYQA8IurUYMhMpohio="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiaP8HACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmohKRAAiiSyhQJ+OUTGXk4ZZtER8cTBUhP+dhy/NcoQbqqdyRY6DhbQ\r\nokheqiEncpJ1TJA/YPNeRPnpScmdw8SLzp9eBqanBiDfjKETYaLY2cMKoIqf\r\nQxMoK64p3rtuiK0mPcCDrAZC8xFFGdIwNiNBMgBDVoMeCVE4S/esX0h8XrOP\r\noScrBbyhFzwhksn5RYhy090fLqvxxgRGNNV1RKAWm1SqG3I7u4dY+wajetH0\r\ngbB4NHoJrW+blkkAoaleOUlf2eeihMQyzX8930hjOVatTB/X5ZdTjElJcVK1\r\n/DHez0rPuw7Q5HtbISyQDEg9zjSxJCLRStR80MvNt/mu1d991SB3/ar16UoN\r\nSyH2JK87x+wgAAn2AUUqs7IZp68QCOqGouNhksGGsz4jEhqAxj1AMtKzyn9s\r\n0dn8d3Zh1GJWwX27Rgbzi5S4qJ6CllSfhsOLxe51PaZ7BX/eFF6kw8mLtIgw\r\nf5azUwbho4eSbDnzfU4J0XwrEaYtg17gO6lUY02sx0rIG0MZ1N1aHMcrn4c7\r\nOOe9t8ol5whxgP2ZgclZ/+F1ojnzvos7IHAtC9GooCSLR9EMkJ3PJ6M2DEtU\r\nCWqsAO0RSS7SB6gaINSN3zQV7DVdHY5E9hSKbEHAOV3uAVn74Yv/z/FU4pZC\r\nn93UeYP+ub6IVqkviCU4qvglizCFFCu4T70=\r\n=9IC5\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"znck","email":"rahulkdn@gmail.com"},"directories":{},"maintainers":[{"name":"znck","email":"rahulkdn@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/vue-virtual-textdocument_0.7.6-next-1651048177.0_1651048199025_0.5071880780169011"},"_hasShrinkwrap":false},"0.7.6-next-1651050089.0":{"name":"@vuedx/vue-virtual-textdocument","version":"0.7.6-next-1651050089.0","description":"A virtual filesystem to access blocks in SFC as files","main":"lib/index.js","module":"lib/index.mjs","types":"lib/index.d.ts","publishConfig":{"types":"lib/index.d.ts"},"private":false,"keywords":["vue","vue sfc","sfc","vue virtual files"],"repository":{"type":"git","url":"git+https://github.com/znck/vue-developer-experience.git"},"author":{"name":"Rahul Kadyan","email":"rahulkdn@gmail.com","url":"https://znck.me/"},"funding":{"type":"individual","url":"https://github.com/sponsors/znck"},"license":"MIT","bugs":{"url":"https://github.com/znck/vue-developer-experience/issues"},"homepage":"https://github.com/znck/vue-developer-experience#readme","dependencies":{"@vuedx/compiler-sfc":"0.7.2-next-1651050089.0","@vuedx/compiler-tsx":"0.8.1-next-1651050089.0","@vuedx/shared":"0.7.5-next-1651050089.0","@vuedx/template-ast-types":"0.7.4-next-1651050089.0","@vuedx/transforms":"0.7.6-next-1651050089.0","source-map":"^0.6.1","vscode-languageserver-textdocument":"^1.0.1","vscode-uri":"^2.1.2"},"devDependencies":{"typescript":"^4.6.3"},"scripts":{},"readme":"# Vue Virtual TextDocument\n\nAn implementation of virtual filesystem for accessing blocks in a `.vue` file as independent files.\n\n```\nnpm add @vuedx/vue-virtual-textdocument\n```\n<!-- #region API-DOCS -->\n<!-- Do not edit this file. It is a report generated by [scripts/docgen.js](https://github.com/znck/vue-developer-experience/tree/main/scripts/docgen.js). -->\n\n## API\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-AsyncDocumentStore-class\" id=\"-vuedx-vue-virtual-textdocument-AsyncDocumentStore-class\"></a>\n\n### [AsyncDocumentStore](#-vuedx-vue-virtual-textdocument-AsyncDocumentStore-class)\n\n\n\n<details><summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare class AsyncDocumentStore<T> extends DocumentStore<T> {\n  constructor(resolve: (uri: string) => T | Promise<T | null> | null, normalize?: (uri: string) => string);\n  get(uri: string): T | null;\n  get(uri: string): Promise<T | null>;\n}\n```\n\n**Members:**\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-AsyncDocumentStore-get-member-1-\" id=\"-vuedx-vue-virtual-textdocument-AsyncDocumentStore-get-member-1-\"></a>\n\n#### [get](#-vuedx-vue-virtual-textdocument-AsyncDocumentStore-get-member-1-)\n\n\n\n**Signature:**\n```ts\nget(uri: string): T | null;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-AsyncDocumentStore-get-member-2-\" id=\"-vuedx-vue-virtual-textdocument-AsyncDocumentStore-get-member-2-\"></a>\n\n#### [get](#-vuedx-vue-virtual-textdocument-AsyncDocumentStore-get-member-2-)\n\n\n\n**Signature:**\n```ts\nget(uri: string): Promise<T | null>;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n\n<br>\n</details>\n\n<br>\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-class\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-class\"></a>\n\n### [DocumentStore](#-vuedx-vue-virtual-textdocument-DocumentStore-class)\n\n\n\n<details><summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare class DocumentStore<T> {\n  constructor(resolve: (uri: string) => T | null, normalize?: (uri: string) => string);\n  all(): string[];\n  delete(uri: string): boolean;\n  dispose(): void;\n  get(uri: string): T | null;\n  protected getNormalizedUri(uri: string): string;\n  has(uri: string): boolean;\n  protected map: Map<string, T>;\n  normalize: (uri: string) => string;\n  protected resolve: (uri: string) => T | null;\n  protected reverseUriMap: Map<string, string>;\n  set(uri: string, document: T): void;\n}\n```\n\n**Members:**\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-all-member-1-\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-all-member-1-\"></a>\n\n#### [all](#-vuedx-vue-virtual-textdocument-DocumentStore-all-member-1-)\n\n\n\n**Signature:**\n```ts\nall(): string[];\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-delete-member-1-\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-delete-member-1-\"></a>\n\n#### [delete](#-vuedx-vue-virtual-textdocument-DocumentStore-delete-member-1-)\n\n\n\n**Signature:**\n```ts\ndelete(uri: string): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-dispose-member-1-\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-dispose-member-1-\"></a>\n\n#### [dispose](#-vuedx-vue-virtual-textdocument-DocumentStore-dispose-member-1-)\n\n\n\n**Signature:**\n```ts\ndispose(): void;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-get-member-1-\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-get-member-1-\"></a>\n\n#### [get](#-vuedx-vue-virtual-textdocument-DocumentStore-get-member-1-)\n\n\n\n**Signature:**\n```ts\nget(uri: string): T | null;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-getNormalizedUri-member-1-\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-getNormalizedUri-member-1-\"></a>\n\n#### [getNormalizedUri](#-vuedx-vue-virtual-textdocument-DocumentStore-getNormalizedUri-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected getNormalizedUri(uri: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-has-member-1-\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-has-member-1-\"></a>\n\n#### [has](#-vuedx-vue-virtual-textdocument-DocumentStore-has-member-1-)\n\n\n\n**Signature:**\n```ts\nhas(uri: string): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-set-member-1-\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-set-member-1-\"></a>\n\n#### [set](#-vuedx-vue-virtual-textdocument-DocumentStore-set-member-1-)\n\n\n\n**Signature:**\n```ts\nset(uri: string, document: T): void;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n| document | <code>T</code> | - |\n\n<br>\n</details>\n\n<br>\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-class\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-class\"></a>\n\n### [RenderFunctionTextDocument](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-class)\n\n\n\n<details><summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare class RenderFunctionTextDocument extends TransformedBlockTextDocument {\n  constructor(container: VueTextDocument, selector: Selector, transformed: TextDocument, source: TextDocument);\n  get ast(): CodegenResult['ast'] | undefined;\n  get contextCompletionsTriggerOffset(): number;\n  static create(options: CreateVirtualTextDocumentOptions): RenderFunctionTextDocument;\n  findExpression(offset: number, length: number): undefined | {\n        offset: number;\n        length: number;\n    };\n  protected generate(): string;\n  getAllGeneratedOffsetsAt(offset: number): undefined | Array<{\n        length: number;\n        offset: number;\n    }>;\n  getGeneratedOffsetAt(offset: number): undefined | {\n        length: number;\n        offset: number;\n    };\n  protected getKnownComponents(): Record<string, ComponentImport>;\n  getOriginalOffsetAt(offset: number): undefined | {\n        offset: number;\n        length: number;\n    };\n  isInGeneratedRange(offset: number): boolean;\n  isInTemplateIdentifierRange(offset: number): boolean;\n  get parserErrors(): CodegenResult['errors'];\n  get tagCompletionsTriggerOffset(): number;\n  toDisplayMappings(): string;\n  protected tryGenerate(): string;\n}\n```\n\n**Members:**\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-create-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-create-member-1-\"></a>\n\n#### [create](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-create-member-1-)\n\n\n\n**Signature:**\n```ts\nstatic create(options: CreateVirtualTextDocumentOptions): RenderFunctionTextDocument;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| options | <code><a href=\"#-vuedx-vue-virtual-textdocument--CreateVirtualTextDocumentOptions-interface\">CreateVirtualTextDocumentOptions</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-findExpression-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-findExpression-member-1-\"></a>\n\n#### [findExpression](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-findExpression-member-1-)\n\n\n\n**Signature:**\n```ts\nfindExpression(offset: number, length: number): undefined | {\n        offset: number;\n        length: number;\n    };\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n| length | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-generate-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-generate-member-1-\"></a>\n\n#### [generate](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-generate-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected generate(): string;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getAllGeneratedOffsetsAt-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getAllGeneratedOffsetsAt-member-1-\"></a>\n\n#### [getAllGeneratedOffsetsAt](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getAllGeneratedOffsetsAt-member-1-)\n\n\n\n**Signature:**\n```ts\ngetAllGeneratedOffsetsAt(offset: number): undefined | Array<{\n        length: number;\n        offset: number;\n    }>;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getGeneratedOffsetAt-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getGeneratedOffsetAt-member-1-\"></a>\n\n#### [getGeneratedOffsetAt](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getGeneratedOffsetAt-member-1-)\n\n\n\n**Signature:**\n```ts\ngetGeneratedOffsetAt(offset: number): undefined | {\n        length: number;\n        offset: number;\n    };\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getKnownComponents-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getKnownComponents-member-1-\"></a>\n\n#### [getKnownComponents](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getKnownComponents-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected getKnownComponents(): Record<string, ComponentImport>;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getOriginalOffsetAt-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getOriginalOffsetAt-member-1-\"></a>\n\n#### [getOriginalOffsetAt](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getOriginalOffsetAt-member-1-)\n\n\n\n**Signature:**\n```ts\ngetOriginalOffsetAt(offset: number): undefined | {\n        offset: number;\n        length: number;\n    };\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-isInGeneratedRange-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-isInGeneratedRange-member-1-\"></a>\n\n#### [isInGeneratedRange](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-isInGeneratedRange-member-1-)\n\n\n\n**Signature:**\n```ts\nisInGeneratedRange(offset: number): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-isInTemplateIdentifierRange-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-isInTemplateIdentifierRange-member-1-\"></a>\n\n#### [isInTemplateIdentifierRange](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-isInTemplateIdentifierRange-member-1-)\n\n\n\n**Signature:**\n```ts\nisInTemplateIdentifierRange(offset: number): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-toDisplayMappings-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-toDisplayMappings-member-1-\"></a>\n\n#### [toDisplayMappings](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-toDisplayMappings-member-1-)\n\n\n\n**Signature:**\n```ts\ntoDisplayMappings(): string;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-tryGenerate-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-tryGenerate-member-1-\"></a>\n\n#### [tryGenerate](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-tryGenerate-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected tryGenerate(): string;\n```\n\n\n<br>\n</details>\n\n<br>\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-class\" id=\"-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-class\"></a>\n\n### [TransformedBlockTextDocument](#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-class)\n\n\n\n<details><summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare class TransformedBlockTextDocument extends VirtualTextDocument {\n  protected constructor(container: VueTextDocument, selector: Selector, transformed: TextDocument, source: TextDocument | VirtualTextDocument, _transform: (document: TransformedBlockTextDocument) => BlockTransformResult);\n  static create(options: CreateTransformedBlockTextDocumentOptions): TransformedBlockTextDocument;\n  protected refresh(): void;\n  transform(): BlockTransformResult;\n  tryGetGeneratedOffset(offset: number): number | undefined;\n  tryGetSourceOffset(offset: number): number | undefined;\n}\n```\n\n**Members:**\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-create-member-1-\" id=\"-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-create-member-1-\"></a>\n\n#### [create](#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-create-member-1-)\n\n\n\n**Signature:**\n```ts\nstatic create(options: CreateTransformedBlockTextDocumentOptions): TransformedBlockTextDocument;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| options | <code><a href=\"#-vuedx-vue-virtual-textdocument--CreateTransformedBlockTextDocumentOptions-interface\">CreateTransformedBlockTextDocumentOptions</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-refresh-member-1-\" id=\"-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-refresh-member-1-\"></a>\n\n#### [refresh](#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-refresh-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected refresh(): void;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-transform-member-1-\" id=\"-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-transform-member-1-\"></a>\n\n#### [transform](#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-transform-member-1-)\n\n\n\n**Signature:**\n```ts\ntransform(): BlockTransformResult;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-tryGetGeneratedOffset-member-1-\" id=\"-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-tryGetGeneratedOffset-member-1-\"></a>\n\n#### [tryGetGeneratedOffset](#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-tryGetGeneratedOffset-member-1-)\n\n\n\n**Signature:**\n```ts\ntryGetGeneratedOffset(offset: number): number | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-tryGetSourceOffset-member-1-\" id=\"-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-tryGetSourceOffset-member-1-\"></a>\n\n#### [tryGetSourceOffset](#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-tryGetSourceOffset-member-1-)\n\n\n\n**Signature:**\n```ts\ntryGetSourceOffset(offset: number): number | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n</details>\n\n<br>\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VirtualTextDocument-class\" id=\"-vuedx-vue-virtual-textdocument-VirtualTextDocument-class\"></a>\n\n### [VirtualTextDocument](#-vuedx-vue-virtual-textdocument-VirtualTextDocument-class)\n\n\n\n<details><summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare class VirtualTextDocument extends ProxyTextDocument {\n  protected constructor(container: VueTextDocument, selector: Selector, doc: TextDocument);\n  readonly container: VueTextDocument;\n  static create(options: CreateVirtualTextDocumentOptions): VirtualTextDocument;\n  protected isDirty: boolean;\n  markDirty(): void;\n  protected refresh(): void;\n  readonly selector: Selector;\n}\n```\n\n**Members:**\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VirtualTextDocument-create-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VirtualTextDocument-create-member-1-\"></a>\n\n#### [create](#-vuedx-vue-virtual-textdocument-VirtualTextDocument-create-member-1-)\n\n\n\n**Signature:**\n```ts\nstatic create(options: CreateVirtualTextDocumentOptions): VirtualTextDocument;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| options | <code><a href=\"#-vuedx-vue-virtual-textdocument--CreateVirtualTextDocumentOptions-interface\">CreateVirtualTextDocumentOptions</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VirtualTextDocument-markDirty-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VirtualTextDocument-markDirty-member-1-\"></a>\n\n#### [markDirty](#-vuedx-vue-virtual-textdocument-VirtualTextDocument-markDirty-member-1-)\n\n\n\n**Signature:**\n```ts\nmarkDirty(): void;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VirtualTextDocument-refresh-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VirtualTextDocument-refresh-member-1-\"></a>\n\n#### [refresh](#-vuedx-vue-virtual-textdocument-VirtualTextDocument-refresh-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected refresh(): void;\n```\n\n\n<br>\n</details>\n\n<br>\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-class\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-class\"></a>\n\n### [VueTextDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-class)\n\n\n\n<details><summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare class VueTextDocument extends ProxyTextDocument {\n  constructor(doc: TextDocument, options?: VueTextDocumentOptions, parseOptions?: SFCParseOptions);\n  all(): VirtualTextDocument[];\n  blockAt(position: Position | number): SFCBlock | null | undefined;\n  static create(uri: string, languageId: string, version: number, content: string, options?: VueTextDocumentOptions, parseOptions?: SFCParseOptions): VueTextDocument;\n  protected createBlockDocument(selector: BlockSelector): VirtualTextDocument | undefined;\n  protected createInternalModuleDocument(): TransformedBlockTextDocument;\n  protected createModuleDocument(): TransformedBlockTextDocument;\n  protected createRenderDocument(): RenderFunctionTextDocument;\n  protected createTemplateASTDocument(): TransformedBlockTextDocument;\n  get descriptor(): SFCDescriptor;\n  documentAt(position: Position | number): VirtualTextDocument | undefined;\n  getBlock(selector: BlockSelector): SFCBlock | null | undefined;\n  getBlockSelector(block: SFCBlock): BlockSelector | undefined;\n  getDocument(selector: typeof RENDER_SELECTOR): RenderFunctionTextDocument;\n  getDocument(selector: SelectorLike): VirtualTextDocument;\n  getDocument(selector: string): VirtualTextDocument | undefined;\n  getDocumentFileName(selectorLike: SelectorLike): string;\n  protected getDocumentId(selector: Selector): string;\n  protected getDocumentLanguage(selector: Selector): string;\n  markDirty(): void;\n  readonly options: VueTextDocumentOptions;\n  protected parse(): void;\n  static update(document: VueTextDocument, changes: TextDocumentContentChangeEvent[], version: number): VueTextDocument;\n}\n```\n\n**Members:**\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-all-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-all-member-1-\"></a>\n\n#### [all](#-vuedx-vue-virtual-textdocument-VueTextDocument-all-member-1-)\n\n\n\n**Signature:**\n```ts\nall(): VirtualTextDocument[];\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-blockAt-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-blockAt-member-1-\"></a>\n\n#### [blockAt](#-vuedx-vue-virtual-textdocument-VueTextDocument-blockAt-member-1-)\n\n\n\n**Signature:**\n```ts\nblockAt(position: Position | number): SFCBlock | null | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| position | <code><a href=\"#vscode-languageserver-textdocument-Position-interface\">Position</a> &#124; number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-create-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-create-member-1-\"></a>\n\n#### [create](#-vuedx-vue-virtual-textdocument-VueTextDocument-create-member-1-)\n\n\n\n**Signature:**\n```ts\nstatic create(uri: string, languageId: string, version: number, content: string, options?: VueTextDocumentOptions, parseOptions?: SFCParseOptions): VueTextDocument;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n| languageId | <code>string</code> | - |\n| version | <code>number</code> | - |\n| content | <code>string</code> | - |\n| options | <code><a href=\"#-vuedx-vue-virtual-textdocument--VueTextDocumentOptions-interface\">VueTextDocumentOptions</a></code> | - |\n| parseOptions | <code><a href=\"#-vue-compiler-sfc-SFCParseOptions-interface\">SFCParseOptions</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-createBlockDocument-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-createBlockDocument-member-1-\"></a>\n\n#### [createBlockDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-createBlockDocument-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected createBlockDocument(selector: BlockSelector): VirtualTextDocument | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selector | <code><a href=\"#-vuedx-vue-virtual-textdocument--BlockSelector-type\">BlockSelector</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-createInternalModuleDocument-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-createInternalModuleDocument-member-1-\"></a>\n\n#### [createInternalModuleDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-createInternalModuleDocument-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected createInternalModuleDocument(): TransformedBlockTextDocument;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-createModuleDocument-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-createModuleDocument-member-1-\"></a>\n\n#### [createModuleDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-createModuleDocument-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected createModuleDocument(): TransformedBlockTextDocument;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-createRenderDocument-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-createRenderDocument-member-1-\"></a>\n\n#### [createRenderDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-createRenderDocument-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected createRenderDocument(): RenderFunctionTextDocument;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-createTemplateASTDocument-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-createTemplateASTDocument-member-1-\"></a>\n\n#### [createTemplateASTDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-createTemplateASTDocument-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected createTemplateASTDocument(): TransformedBlockTextDocument;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-documentAt-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-documentAt-member-1-\"></a>\n\n#### [documentAt](#-vuedx-vue-virtual-textdocument-VueTextDocument-documentAt-member-1-)\n\n\n\n**Signature:**\n```ts\ndocumentAt(position: Position | number): VirtualTextDocument | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| position | <code><a href=\"#vscode-languageserver-textdocument-Position-interface\">Position</a> &#124; number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getBlock-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getBlock-member-1-\"></a>\n\n#### [getBlock](#-vuedx-vue-virtual-textdocument-VueTextDocument-getBlock-member-1-)\n\n\n\n**Signature:**\n```ts\ngetBlock(selector: BlockSelector): SFCBlock | null | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selector | <code><a href=\"#-vuedx-vue-virtual-textdocument--BlockSelector-type\">BlockSelector</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getBlockSelector-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getBlockSelector-member-1-\"></a>\n\n#### [getBlockSelector](#-vuedx-vue-virtual-textdocument-VueTextDocument-getBlockSelector-member-1-)\n\n\n\n**Signature:**\n```ts\ngetBlockSelector(block: SFCBlock): BlockSelector | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| block | <code><a href=\"#-vue-compiler-sfc-SFCBlock-interface\">SFCBlock</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-1-\"></a>\n\n#### [getDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-1-)\n\n\n\n**Signature:**\n```ts\ngetDocument(selector: typeof RENDER_SELECTOR): RenderFunctionTextDocument;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selector | <code>typeof <a href=\"#-vuedx-vue-virtual-textdocument--RENDER-SELECTOR-var\">RENDER_SELECTOR</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-2-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-2-\"></a>\n\n#### [getDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-2-)\n\n\n\n**Signature:**\n```ts\ngetDocument(selector: SelectorLike): VirtualTextDocument;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selector | <code><a href=\"#-vuedx-vue-virtual-textdocument--SelectorLike-type\">SelectorLike</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-3-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-3-\"></a>\n\n#### [getDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-3-)\n\n\n\n**Signature:**\n```ts\ngetDocument(selector: string): VirtualTextDocument | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selector | <code>string</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentFileName-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentFileName-member-1-\"></a>\n\n#### [getDocumentFileName](#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentFileName-member-1-)\n\n\n\n**Signature:**\n```ts\ngetDocumentFileName(selectorLike: SelectorLike): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selectorLike | <code><a href=\"#-vuedx-vue-virtual-textdocument--SelectorLike-type\">SelectorLike</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentId-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentId-member-1-\"></a>\n\n#### [getDocumentId](#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentId-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected getDocumentId(selector: Selector): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selector | <code><a href=\"#-vuedx-vue-virtual-textdocument--Selector-type\">Selector</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentLanguage-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentLanguage-member-1-\"></a>\n\n#### [getDocumentLanguage](#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentLanguage-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected getDocumentLanguage(selector: Selector): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selector | <code><a href=\"#-vuedx-vue-virtual-textdocument--Selector-type\">Selector</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-markDirty-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-markDirty-member-1-\"></a>\n\n#### [markDirty](#-vuedx-vue-virtual-textdocument-VueTextDocument-markDirty-member-1-)\n\n\n\n**Signature:**\n```ts\nmarkDirty(): void;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-parse-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-parse-member-1-\"></a>\n\n#### [parse](#-vuedx-vue-virtual-textdocument-VueTextDocument-parse-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected parse(): void;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-update-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-update-member-1-\"></a>\n\n#### [update](#-vuedx-vue-virtual-textdocument-VueTextDocument-update-member-1-)\n\n\n\n**Signature:**\n```ts\nstatic update(document: VueTextDocument, changes: TextDocumentContentChangeEvent[], version: number): VueTextDocument;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| document | <code><a href=\"#-vuedx-vue-virtual-textdocument--VueTextDocument-class\">VueTextDocument</a></code> | - |\n| changes | <code><a href=\"#vscode-languageserver-textdocument-TextDocumentContentChangeEvent-type\">TextDocumentContentChangeEvent</a>[]</code> | - |\n| version | <code>number</code> | - |\n\n<br>\n</details>\n\n<br>\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-asFsPath-function-1-\" id=\"-vuedx-vue-virtual-textdocument-asFsPath-function-1-\"></a>\n\n### [asFsPath](#-vuedx-vue-virtual-textdocument-asFsPath-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function asFsPath(uri: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-asFsUri-function-1-\" id=\"-vuedx-vue-virtual-textdocument-asFsUri-function-1-\"></a>\n\n### [asFsUri](#-vuedx-vue-virtual-textdocument-asFsUri-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function asFsUri(fileName: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-asUri-function-1-\" id=\"-vuedx-vue-virtual-textdocument-asUri-function-1-\"></a>\n\n### [asUri](#-vuedx-vue-virtual-textdocument-asUri-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function asUri(fileNameOrUri: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileNameOrUri | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-basename-function-1-\" id=\"-vuedx-vue-virtual-textdocument-basename-function-1-\"></a>\n\n### [basename](#-vuedx-vue-virtual-textdocument-basename-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function basename(fileName: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-binarySearch-function-1-\" id=\"-vuedx-vue-virtual-textdocument-binarySearch-function-1-\"></a>\n\n### [binarySearch](#-vuedx-vue-virtual-textdocument-binarySearch-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function binarySearch<T>(array: T[], isMatch: (a: T) => number, returnMin?: boolean): T | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| array | <code>T[]</code> | - |\n| isMatch | <code>(a: T) => number</code> | - |\n| returnMin | <code>boolean</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-getBlockLanguage-function-1-\" id=\"-vuedx-vue-virtual-textdocument-getBlockLanguage-function-1-\"></a>\n\n### [getBlockLanguage](#-vuedx-vue-virtual-textdocument-getBlockLanguage-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function getBlockLanguage(block?: SFCBlock | null): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| block | <code><a href=\"#-vue-compiler-sfc-SFCBlock-interface\">SFCBlock</a> &#124; null</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-getContainingFile-function-1-\" id=\"-vuedx-vue-virtual-textdocument-getContainingFile-function-1-\"></a>\n\n### [getContainingFile](#-vuedx-vue-virtual-textdocument-getContainingFile-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function getContainingFile(fileName: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-getLanguageExtension-function-1-\" id=\"-vuedx-vue-virtual-textdocument-getLanguageExtension-function-1-\"></a>\n\n### [getLanguageExtension](#-vuedx-vue-virtual-textdocument-getLanguageExtension-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function getLanguageExtension(lang: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| lang | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-getLanguageIdFromExtension-function-1-\" id=\"-vuedx-vue-virtual-textdocument-getLanguageIdFromExtension-function-1-\"></a>\n\n### [getLanguageIdFromExtension](#-vuedx-vue-virtual-textdocument-getLanguageIdFromExtension-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function getLanguageIdFromExtension(ext: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| ext | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-isOffsetInBlock-function-1-\" id=\"-vuedx-vue-virtual-textdocument-isOffsetInBlock-function-1-\"></a>\n\n### [isOffsetInBlock](#-vuedx-vue-virtual-textdocument-isOffsetInBlock-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function isOffsetInBlock(offset: number, block?: SFCBlock | null): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n| block | <code><a href=\"#-vue-compiler-sfc-SFCBlock-interface\">SFCBlock</a> &#124; null</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-isVirtualFile-function-1-\" id=\"-vuedx-vue-virtual-textdocument-isVirtualFile-function-1-\"></a>\n\n### [isVirtualFile](#-vuedx-vue-virtual-textdocument-isVirtualFile-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function isVirtualFile(fileName: string): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-isVirtualFileOfType-function-1-\" id=\"-vuedx-vue-virtual-textdocument-isVirtualFileOfType-function-1-\"></a>\n\n### [isVirtualFileOfType](#-vuedx-vue-virtual-textdocument-isVirtualFileOfType-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function isVirtualFileOfType(fileName: string, type: '_render' | '_module' | '_internal' | 'script' | 'scriptSetup'): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n| type | <code>'_render' &#124; '_module' &#124; '_internal' &#124; 'script' &#124; 'scriptSetup'</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-isVueFile-function-1-\" id=\"-vuedx-vue-virtual-textdocument-isVueFile-function-1-\"></a>\n\n### [isVueFile](#-vuedx-vue-virtual-textdocument-isVueFile-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function isVueFile(fileName: string): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-parseVirtualFileName-function-1-\" id=\"-vuedx-vue-virtual-textdocument-parseVirtualFileName-function-1-\"></a>\n\n### [parseVirtualFileName](#-vuedx-vue-virtual-textdocument-parseVirtualFileName-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function parseVirtualFileName(fileName: string): {\n    uri: string;\n    selector: Selector;\n} | null;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-relativeVirtualImportPath-function-1-\" id=\"-vuedx-vue-virtual-textdocument-relativeVirtualImportPath-function-1-\"></a>\n\n### [relativeVirtualImportPath](#-vuedx-vue-virtual-textdocument-relativeVirtualImportPath-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function relativeVirtualImportPath(fileName: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-replaceSlashes-function-1-\" id=\"-vuedx-vue-virtual-textdocument-replaceSlashes-function-1-\"></a>\n\n### [replaceSlashes](#-vuedx-vue-virtual-textdocument-replaceSlashes-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function replaceSlashes(fileName: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n<!-- #region API-DOCS -->\n\n## Support\n\nThis package is part of [VueDX project](https://github.com/znck/vue-developer-experience), maintained by [Rahul Kadyan](https://github.com/znck). You can [💖 sponsor him](https://github.com/sponsors/znck) for continued development of this package and other VueDX tools.\n\n<p align=\"center\">\n  <a href=\"https://cdn.jsdelivr.net/gh/znck/sponsors@main/sponsors.svg\">\n    <img src='https://cdn.jsdelivr.net/gh/znck/sponsors@main/sponsors.png'/>\n  </a>\n</p>\n","readmeFilename":"readme.md","gitHead":"c9c96436e9bafe3c5213fb7fbcf5dde9e5b56f44","_id":"@vuedx/vue-virtual-textdocument@0.7.6-next-1651050089.0","_nodeVersion":"16.14.2","_npmVersion":"8.5.0","dist":{"integrity":"sha512-khgjtGArMyV0wNlklhTblht2Ibc9jSHPfzCjOzoJHWLlnm+1ksYBg9Goa25cAb7bDxmzRZQCvlKfam/K2zO7QQ==","shasum":"2c0b7c134cebf091714bd25a35b19706b1cd83ec","tarball":"https://registry.npmjs.org/@vuedx/vue-virtual-textdocument/-/vue-virtual-textdocument-0.7.6-next-1651050089.0.tgz","fileCount":8,"unpackedSize":236658,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIBp/ZIcRxtyoQR0TMJqy9gS2cVLytwdqMyNhpZBE+M1YAiBrvUnDUgJDOS564bX+zc/lTsGdssWzq4ZSW4gg55pQYw=="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiaQZ9ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpmHg//bZtSk6piIXI2p9xtNdiTOAh6tjGNh6cL+jxu79Fv4Mi7wIhg\r\ngww8RQ1rk6H7qzQdkQqADz1f7tUQaOESEotIAQ8YBfwXFOQMVRFZGtWDOBHt\r\nKC0DbcjRLE+XGlgCQCokGf/bTSnDVK6cW8DePZ/GNbb0YoYx3CQQlRqNstbw\r\nHik9cgbf44TdM2zNmGQUUp664yMjzD1iLba3iGFWg6egvfYlSpkyOzjShF13\r\nzUWk8TMYFLFJs7pRcjJk1eK+BqhaXQ53+CaT9Uzcd7+pgDFYXhFTCvXhxJBR\r\nRkOziwKfseR7tXfM1drul36Bnvji8Du+3OuNyHBSEi1dPwBxpPJxPmKpRl62\r\nhQmReJTJbQ8uHK7yqA2amrr84EAvv+1T859BZ1QMUoHoY4+z8yyHI+gMj21p\r\n3aDZkeNpscjgVqfRlLGfp/3ZZpOS2NtJeAS5L24ObizPdqcJ92+byYqxJWBI\r\nXXODcIgE4skdGHcK8d43r/fqfY1JlEesZkirF4PLKjFu/5qQHaDfErMFF7ES\r\nqIxVJjAh3cOme3StgiNWnoTg5EW1qJGHwnmcG/V0uMUd1/AlAmGZy581kqvF\r\nwPZqejxK4BLRA+UdDHQzMCTCTds6JmR9uEF7/uzCg3mXLXtZMVhUP+s6IZGF\r\nRKvBQ0Kf0TQN8uVGW836IrEBdGTrt3+JHqY=\r\n=RY8v\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"znck","email":"rahulkdn@gmail.com"},"directories":{},"maintainers":[{"name":"znck","email":"rahulkdn@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/vue-virtual-textdocument_0.7.6-next-1651050089.0_1651050109544_0.360286724333144"},"_hasShrinkwrap":false},"0.7.6-next-1651055813.0":{"name":"@vuedx/vue-virtual-textdocument","version":"0.7.6-next-1651055813.0","description":"A virtual filesystem to access blocks in SFC as files","main":"lib/index.js","module":"lib/index.mjs","types":"lib/index.d.ts","publishConfig":{"types":"lib/index.d.ts"},"private":false,"keywords":["vue","vue sfc","sfc","vue virtual files"],"repository":{"type":"git","url":"git+https://github.com/znck/vue-developer-experience.git"},"author":{"name":"Rahul Kadyan","email":"rahulkdn@gmail.com","url":"https://znck.me/"},"funding":{"type":"individual","url":"https://github.com/sponsors/znck"},"license":"MIT","bugs":{"url":"https://github.com/znck/vue-developer-experience/issues"},"homepage":"https://github.com/znck/vue-developer-experience#readme","dependencies":{"@vuedx/compiler-sfc":"0.7.2-next-1651055813.0","@vuedx/compiler-tsx":"0.8.1-next-1651055813.0","@vuedx/shared":"0.7.5-next-1651055813.0","@vuedx/template-ast-types":"0.7.4-next-1651055813.0","@vuedx/transforms":"0.7.6-next-1651055813.0","source-map":"^0.6.1","vscode-languageserver-textdocument":"^1.0.1","vscode-uri":"^2.1.2"},"devDependencies":{"typescript":"^4.6.3"},"scripts":{},"readme":"# Vue Virtual TextDocument\n\nAn implementation of virtual filesystem for accessing blocks in a `.vue` file as independent files.\n\n```\nnpm add @vuedx/vue-virtual-textdocument\n```\n<!-- #region API-DOCS -->\n<!-- Do not edit this file. It is a report generated by [scripts/docgen.js](https://github.com/znck/vue-developer-experience/tree/main/scripts/docgen.js). -->\n\n## API\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-AsyncDocumentStore-class\" id=\"-vuedx-vue-virtual-textdocument-AsyncDocumentStore-class\"></a>\n\n### [AsyncDocumentStore](#-vuedx-vue-virtual-textdocument-AsyncDocumentStore-class)\n\n\n\n<details><summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare class AsyncDocumentStore<T> extends DocumentStore<T> {\n  constructor(resolve: (uri: string) => T | Promise<T | null> | null, normalize?: (uri: string) => string);\n  get(uri: string): T | null;\n  get(uri: string): Promise<T | null>;\n}\n```\n\n**Members:**\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-AsyncDocumentStore-get-member-1-\" id=\"-vuedx-vue-virtual-textdocument-AsyncDocumentStore-get-member-1-\"></a>\n\n#### [get](#-vuedx-vue-virtual-textdocument-AsyncDocumentStore-get-member-1-)\n\n\n\n**Signature:**\n```ts\nget(uri: string): T | null;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-AsyncDocumentStore-get-member-2-\" id=\"-vuedx-vue-virtual-textdocument-AsyncDocumentStore-get-member-2-\"></a>\n\n#### [get](#-vuedx-vue-virtual-textdocument-AsyncDocumentStore-get-member-2-)\n\n\n\n**Signature:**\n```ts\nget(uri: string): Promise<T | null>;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n\n<br>\n</details>\n\n<br>\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-class\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-class\"></a>\n\n### [DocumentStore](#-vuedx-vue-virtual-textdocument-DocumentStore-class)\n\n\n\n<details><summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare class DocumentStore<T> {\n  constructor(resolve: (uri: string) => T | null, normalize?: (uri: string) => string);\n  all(): string[];\n  delete(uri: string): boolean;\n  dispose(): void;\n  get(uri: string): T | null;\n  protected getNormalizedUri(uri: string): string;\n  has(uri: string): boolean;\n  protected map: Map<string, T>;\n  normalize: (uri: string) => string;\n  protected resolve: (uri: string) => T | null;\n  protected reverseUriMap: Map<string, string>;\n  set(uri: string, document: T): void;\n}\n```\n\n**Members:**\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-all-member-1-\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-all-member-1-\"></a>\n\n#### [all](#-vuedx-vue-virtual-textdocument-DocumentStore-all-member-1-)\n\n\n\n**Signature:**\n```ts\nall(): string[];\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-delete-member-1-\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-delete-member-1-\"></a>\n\n#### [delete](#-vuedx-vue-virtual-textdocument-DocumentStore-delete-member-1-)\n\n\n\n**Signature:**\n```ts\ndelete(uri: string): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-dispose-member-1-\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-dispose-member-1-\"></a>\n\n#### [dispose](#-vuedx-vue-virtual-textdocument-DocumentStore-dispose-member-1-)\n\n\n\n**Signature:**\n```ts\ndispose(): void;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-get-member-1-\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-get-member-1-\"></a>\n\n#### [get](#-vuedx-vue-virtual-textdocument-DocumentStore-get-member-1-)\n\n\n\n**Signature:**\n```ts\nget(uri: string): T | null;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-getNormalizedUri-member-1-\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-getNormalizedUri-member-1-\"></a>\n\n#### [getNormalizedUri](#-vuedx-vue-virtual-textdocument-DocumentStore-getNormalizedUri-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected getNormalizedUri(uri: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-has-member-1-\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-has-member-1-\"></a>\n\n#### [has](#-vuedx-vue-virtual-textdocument-DocumentStore-has-member-1-)\n\n\n\n**Signature:**\n```ts\nhas(uri: string): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-DocumentStore-set-member-1-\" id=\"-vuedx-vue-virtual-textdocument-DocumentStore-set-member-1-\"></a>\n\n#### [set](#-vuedx-vue-virtual-textdocument-DocumentStore-set-member-1-)\n\n\n\n**Signature:**\n```ts\nset(uri: string, document: T): void;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n| document | <code>T</code> | - |\n\n<br>\n</details>\n\n<br>\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-class\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-class\"></a>\n\n### [RenderFunctionTextDocument](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-class)\n\n\n\n<details><summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare class RenderFunctionTextDocument extends TransformedBlockTextDocument {\n  constructor(container: VueTextDocument, selector: Selector, transformed: TextDocument, source: TextDocument);\n  get ast(): CodegenResult['ast'] | undefined;\n  get contextCompletionsTriggerOffset(): number;\n  static create(options: CreateVirtualTextDocumentOptions): RenderFunctionTextDocument;\n  findExpression(offset: number, length: number): undefined | {\n        offset: number;\n        length: number;\n    };\n  protected generate(): string;\n  getAllGeneratedOffsetsAt(offset: number): undefined | Array<{\n        length: number;\n        offset: number;\n    }>;\n  getGeneratedOffsetAt(offset: number): undefined | {\n        length: number;\n        offset: number;\n    };\n  protected getKnownComponents(): Record<string, ComponentImport>;\n  getOriginalOffsetAt(offset: number): undefined | {\n        offset: number;\n        length: number;\n    };\n  isInGeneratedRange(offset: number): boolean;\n  isInTemplateIdentifierRange(offset: number): boolean;\n  get parserErrors(): CodegenResult['errors'];\n  get tagCompletionsTriggerOffset(): number;\n  toDisplayMappings(): string;\n  protected tryGenerate(): string;\n}\n```\n\n**Members:**\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-create-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-create-member-1-\"></a>\n\n#### [create](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-create-member-1-)\n\n\n\n**Signature:**\n```ts\nstatic create(options: CreateVirtualTextDocumentOptions): RenderFunctionTextDocument;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| options | <code><a href=\"#-vuedx-vue-virtual-textdocument--CreateVirtualTextDocumentOptions-interface\">CreateVirtualTextDocumentOptions</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-findExpression-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-findExpression-member-1-\"></a>\n\n#### [findExpression](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-findExpression-member-1-)\n\n\n\n**Signature:**\n```ts\nfindExpression(offset: number, length: number): undefined | {\n        offset: number;\n        length: number;\n    };\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n| length | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-generate-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-generate-member-1-\"></a>\n\n#### [generate](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-generate-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected generate(): string;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getAllGeneratedOffsetsAt-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getAllGeneratedOffsetsAt-member-1-\"></a>\n\n#### [getAllGeneratedOffsetsAt](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getAllGeneratedOffsetsAt-member-1-)\n\n\n\n**Signature:**\n```ts\ngetAllGeneratedOffsetsAt(offset: number): undefined | Array<{\n        length: number;\n        offset: number;\n    }>;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getGeneratedOffsetAt-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getGeneratedOffsetAt-member-1-\"></a>\n\n#### [getGeneratedOffsetAt](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getGeneratedOffsetAt-member-1-)\n\n\n\n**Signature:**\n```ts\ngetGeneratedOffsetAt(offset: number): undefined | {\n        length: number;\n        offset: number;\n    };\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getKnownComponents-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getKnownComponents-member-1-\"></a>\n\n#### [getKnownComponents](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getKnownComponents-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected getKnownComponents(): Record<string, ComponentImport>;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getOriginalOffsetAt-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getOriginalOffsetAt-member-1-\"></a>\n\n#### [getOriginalOffsetAt](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-getOriginalOffsetAt-member-1-)\n\n\n\n**Signature:**\n```ts\ngetOriginalOffsetAt(offset: number): undefined | {\n        offset: number;\n        length: number;\n    };\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-isInGeneratedRange-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-isInGeneratedRange-member-1-\"></a>\n\n#### [isInGeneratedRange](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-isInGeneratedRange-member-1-)\n\n\n\n**Signature:**\n```ts\nisInGeneratedRange(offset: number): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-isInTemplateIdentifierRange-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-isInTemplateIdentifierRange-member-1-\"></a>\n\n#### [isInTemplateIdentifierRange](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-isInTemplateIdentifierRange-member-1-)\n\n\n\n**Signature:**\n```ts\nisInTemplateIdentifierRange(offset: number): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-toDisplayMappings-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-toDisplayMappings-member-1-\"></a>\n\n#### [toDisplayMappings](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-toDisplayMappings-member-1-)\n\n\n\n**Signature:**\n```ts\ntoDisplayMappings(): string;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-tryGenerate-member-1-\" id=\"-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-tryGenerate-member-1-\"></a>\n\n#### [tryGenerate](#-vuedx-vue-virtual-textdocument-RenderFunctionTextDocument-tryGenerate-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected tryGenerate(): string;\n```\n\n\n<br>\n</details>\n\n<br>\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-class\" id=\"-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-class\"></a>\n\n### [TransformedBlockTextDocument](#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-class)\n\n\n\n<details><summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare class TransformedBlockTextDocument extends VirtualTextDocument {\n  protected constructor(container: VueTextDocument, selector: Selector, transformed: TextDocument, source: TextDocument | VirtualTextDocument, _transform: (document: TransformedBlockTextDocument) => BlockTransformResult);\n  static create(options: CreateTransformedBlockTextDocumentOptions): TransformedBlockTextDocument;\n  protected refresh(): void;\n  transform(): BlockTransformResult;\n  tryGetGeneratedOffset(offset: number): number | undefined;\n  tryGetSourceOffset(offset: number): number | undefined;\n}\n```\n\n**Members:**\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-create-member-1-\" id=\"-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-create-member-1-\"></a>\n\n#### [create](#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-create-member-1-)\n\n\n\n**Signature:**\n```ts\nstatic create(options: CreateTransformedBlockTextDocumentOptions): TransformedBlockTextDocument;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| options | <code><a href=\"#-vuedx-vue-virtual-textdocument--CreateTransformedBlockTextDocumentOptions-interface\">CreateTransformedBlockTextDocumentOptions</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-refresh-member-1-\" id=\"-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-refresh-member-1-\"></a>\n\n#### [refresh](#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-refresh-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected refresh(): void;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-transform-member-1-\" id=\"-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-transform-member-1-\"></a>\n\n#### [transform](#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-transform-member-1-)\n\n\n\n**Signature:**\n```ts\ntransform(): BlockTransformResult;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-tryGetGeneratedOffset-member-1-\" id=\"-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-tryGetGeneratedOffset-member-1-\"></a>\n\n#### [tryGetGeneratedOffset](#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-tryGetGeneratedOffset-member-1-)\n\n\n\n**Signature:**\n```ts\ntryGetGeneratedOffset(offset: number): number | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-tryGetSourceOffset-member-1-\" id=\"-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-tryGetSourceOffset-member-1-\"></a>\n\n#### [tryGetSourceOffset](#-vuedx-vue-virtual-textdocument-TransformedBlockTextDocument-tryGetSourceOffset-member-1-)\n\n\n\n**Signature:**\n```ts\ntryGetSourceOffset(offset: number): number | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n</details>\n\n<br>\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VirtualTextDocument-class\" id=\"-vuedx-vue-virtual-textdocument-VirtualTextDocument-class\"></a>\n\n### [VirtualTextDocument](#-vuedx-vue-virtual-textdocument-VirtualTextDocument-class)\n\n\n\n<details><summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare class VirtualTextDocument extends ProxyTextDocument {\n  protected constructor(container: VueTextDocument, selector: Selector, doc: TextDocument);\n  readonly container: VueTextDocument;\n  static create(options: CreateVirtualTextDocumentOptions): VirtualTextDocument;\n  protected isDirty: boolean;\n  markDirty(): void;\n  protected refresh(): void;\n  readonly selector: Selector;\n}\n```\n\n**Members:**\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VirtualTextDocument-create-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VirtualTextDocument-create-member-1-\"></a>\n\n#### [create](#-vuedx-vue-virtual-textdocument-VirtualTextDocument-create-member-1-)\n\n\n\n**Signature:**\n```ts\nstatic create(options: CreateVirtualTextDocumentOptions): VirtualTextDocument;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| options | <code><a href=\"#-vuedx-vue-virtual-textdocument--CreateVirtualTextDocumentOptions-interface\">CreateVirtualTextDocumentOptions</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VirtualTextDocument-markDirty-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VirtualTextDocument-markDirty-member-1-\"></a>\n\n#### [markDirty](#-vuedx-vue-virtual-textdocument-VirtualTextDocument-markDirty-member-1-)\n\n\n\n**Signature:**\n```ts\nmarkDirty(): void;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VirtualTextDocument-refresh-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VirtualTextDocument-refresh-member-1-\"></a>\n\n#### [refresh](#-vuedx-vue-virtual-textdocument-VirtualTextDocument-refresh-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected refresh(): void;\n```\n\n\n<br>\n</details>\n\n<br>\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-class\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-class\"></a>\n\n### [VueTextDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-class)\n\n\n\n<details><summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare class VueTextDocument extends ProxyTextDocument {\n  constructor(doc: TextDocument, options?: VueTextDocumentOptions, parseOptions?: SFCParseOptions);\n  all(): VirtualTextDocument[];\n  blockAt(position: Position | number): SFCBlock | null | undefined;\n  static create(uri: string, languageId: string, version: number, content: string, options?: VueTextDocumentOptions, parseOptions?: SFCParseOptions): VueTextDocument;\n  protected createBlockDocument(selector: BlockSelector): VirtualTextDocument | undefined;\n  protected createInternalModuleDocument(): TransformedBlockTextDocument;\n  protected createModuleDocument(): TransformedBlockTextDocument;\n  protected createRenderDocument(): RenderFunctionTextDocument;\n  protected createTemplateASTDocument(): TransformedBlockTextDocument;\n  get descriptor(): SFCDescriptor;\n  documentAt(position: Position | number): VirtualTextDocument | undefined;\n  getBlock(selector: BlockSelector): SFCBlock | null | undefined;\n  getBlockSelector(block: SFCBlock): BlockSelector | undefined;\n  getDocument(selector: typeof RENDER_SELECTOR): RenderFunctionTextDocument;\n  getDocument(selector: SelectorLike): VirtualTextDocument;\n  getDocument(selector: string): VirtualTextDocument | undefined;\n  getDocumentFileName(selectorLike: SelectorLike): string;\n  protected getDocumentId(selector: Selector): string;\n  protected getDocumentLanguage(selector: Selector): string;\n  markDirty(): void;\n  readonly options: VueTextDocumentOptions;\n  protected parse(): void;\n  static update(document: VueTextDocument, changes: TextDocumentContentChangeEvent[], version: number): VueTextDocument;\n}\n```\n\n**Members:**\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-all-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-all-member-1-\"></a>\n\n#### [all](#-vuedx-vue-virtual-textdocument-VueTextDocument-all-member-1-)\n\n\n\n**Signature:**\n```ts\nall(): VirtualTextDocument[];\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-blockAt-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-blockAt-member-1-\"></a>\n\n#### [blockAt](#-vuedx-vue-virtual-textdocument-VueTextDocument-blockAt-member-1-)\n\n\n\n**Signature:**\n```ts\nblockAt(position: Position | number): SFCBlock | null | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| position | <code><a href=\"#vscode-languageserver-textdocument-Position-interface\">Position</a> &#124; number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-create-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-create-member-1-\"></a>\n\n#### [create](#-vuedx-vue-virtual-textdocument-VueTextDocument-create-member-1-)\n\n\n\n**Signature:**\n```ts\nstatic create(uri: string, languageId: string, version: number, content: string, options?: VueTextDocumentOptions, parseOptions?: SFCParseOptions): VueTextDocument;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n| languageId | <code>string</code> | - |\n| version | <code>number</code> | - |\n| content | <code>string</code> | - |\n| options | <code><a href=\"#-vuedx-vue-virtual-textdocument--VueTextDocumentOptions-interface\">VueTextDocumentOptions</a></code> | - |\n| parseOptions | <code><a href=\"#-vue-compiler-sfc-SFCParseOptions-interface\">SFCParseOptions</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-createBlockDocument-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-createBlockDocument-member-1-\"></a>\n\n#### [createBlockDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-createBlockDocument-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected createBlockDocument(selector: BlockSelector): VirtualTextDocument | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selector | <code><a href=\"#-vuedx-vue-virtual-textdocument--BlockSelector-type\">BlockSelector</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-createInternalModuleDocument-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-createInternalModuleDocument-member-1-\"></a>\n\n#### [createInternalModuleDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-createInternalModuleDocument-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected createInternalModuleDocument(): TransformedBlockTextDocument;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-createModuleDocument-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-createModuleDocument-member-1-\"></a>\n\n#### [createModuleDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-createModuleDocument-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected createModuleDocument(): TransformedBlockTextDocument;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-createRenderDocument-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-createRenderDocument-member-1-\"></a>\n\n#### [createRenderDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-createRenderDocument-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected createRenderDocument(): RenderFunctionTextDocument;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-createTemplateASTDocument-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-createTemplateASTDocument-member-1-\"></a>\n\n#### [createTemplateASTDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-createTemplateASTDocument-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected createTemplateASTDocument(): TransformedBlockTextDocument;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-documentAt-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-documentAt-member-1-\"></a>\n\n#### [documentAt](#-vuedx-vue-virtual-textdocument-VueTextDocument-documentAt-member-1-)\n\n\n\n**Signature:**\n```ts\ndocumentAt(position: Position | number): VirtualTextDocument | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| position | <code><a href=\"#vscode-languageserver-textdocument-Position-interface\">Position</a> &#124; number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getBlock-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getBlock-member-1-\"></a>\n\n#### [getBlock](#-vuedx-vue-virtual-textdocument-VueTextDocument-getBlock-member-1-)\n\n\n\n**Signature:**\n```ts\ngetBlock(selector: BlockSelector): SFCBlock | null | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selector | <code><a href=\"#-vuedx-vue-virtual-textdocument--BlockSelector-type\">BlockSelector</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getBlockSelector-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getBlockSelector-member-1-\"></a>\n\n#### [getBlockSelector](#-vuedx-vue-virtual-textdocument-VueTextDocument-getBlockSelector-member-1-)\n\n\n\n**Signature:**\n```ts\ngetBlockSelector(block: SFCBlock): BlockSelector | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| block | <code><a href=\"#-vue-compiler-sfc-SFCBlock-interface\">SFCBlock</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-1-\"></a>\n\n#### [getDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-1-)\n\n\n\n**Signature:**\n```ts\ngetDocument(selector: typeof RENDER_SELECTOR): RenderFunctionTextDocument;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selector | <code>typeof <a href=\"#-vuedx-vue-virtual-textdocument--RENDER-SELECTOR-var\">RENDER_SELECTOR</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-2-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-2-\"></a>\n\n#### [getDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-2-)\n\n\n\n**Signature:**\n```ts\ngetDocument(selector: SelectorLike): VirtualTextDocument;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selector | <code><a href=\"#-vuedx-vue-virtual-textdocument--SelectorLike-type\">SelectorLike</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-3-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-3-\"></a>\n\n#### [getDocument](#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocument-member-3-)\n\n\n\n**Signature:**\n```ts\ngetDocument(selector: string): VirtualTextDocument | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selector | <code>string</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentFileName-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentFileName-member-1-\"></a>\n\n#### [getDocumentFileName](#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentFileName-member-1-)\n\n\n\n**Signature:**\n```ts\ngetDocumentFileName(selectorLike: SelectorLike): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selectorLike | <code><a href=\"#-vuedx-vue-virtual-textdocument--SelectorLike-type\">SelectorLike</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentId-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentId-member-1-\"></a>\n\n#### [getDocumentId](#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentId-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected getDocumentId(selector: Selector): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selector | <code><a href=\"#-vuedx-vue-virtual-textdocument--Selector-type\">Selector</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentLanguage-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentLanguage-member-1-\"></a>\n\n#### [getDocumentLanguage](#-vuedx-vue-virtual-textdocument-VueTextDocument-getDocumentLanguage-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected getDocumentLanguage(selector: Selector): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| selector | <code><a href=\"#-vuedx-vue-virtual-textdocument--Selector-type\">Selector</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-markDirty-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-markDirty-member-1-\"></a>\n\n#### [markDirty](#-vuedx-vue-virtual-textdocument-VueTextDocument-markDirty-member-1-)\n\n\n\n**Signature:**\n```ts\nmarkDirty(): void;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-parse-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-parse-member-1-\"></a>\n\n#### [parse](#-vuedx-vue-virtual-textdocument-VueTextDocument-parse-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected parse(): void;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueTextDocument-update-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueTextDocument-update-member-1-\"></a>\n\n#### [update](#-vuedx-vue-virtual-textdocument-VueTextDocument-update-member-1-)\n\n\n\n**Signature:**\n```ts\nstatic update(document: VueTextDocument, changes: TextDocumentContentChangeEvent[], version: number): VueTextDocument;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| document | <code><a href=\"#-vuedx-vue-virtual-textdocument--VueTextDocument-class\">VueTextDocument</a></code> | - |\n| changes | <code><a href=\"#vscode-languageserver-textdocument-TextDocumentContentChangeEvent-type\">TextDocumentContentChangeEvent</a>[]</code> | - |\n| version | <code>number</code> | - |\n\n<br>\n</details>\n\n<br>\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-asFsPath-function-1-\" id=\"-vuedx-vue-virtual-textdocument-asFsPath-function-1-\"></a>\n\n### [asFsPath](#-vuedx-vue-virtual-textdocument-asFsPath-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function asFsPath(uri: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| uri | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-asFsUri-function-1-\" id=\"-vuedx-vue-virtual-textdocument-asFsUri-function-1-\"></a>\n\n### [asFsUri](#-vuedx-vue-virtual-textdocument-asFsUri-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function asFsUri(fileName: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-asUri-function-1-\" id=\"-vuedx-vue-virtual-textdocument-asUri-function-1-\"></a>\n\n### [asUri](#-vuedx-vue-virtual-textdocument-asUri-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function asUri(fileNameOrUri: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileNameOrUri | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-basename-function-1-\" id=\"-vuedx-vue-virtual-textdocument-basename-function-1-\"></a>\n\n### [basename](#-vuedx-vue-virtual-textdocument-basename-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function basename(fileName: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-binarySearch-function-1-\" id=\"-vuedx-vue-virtual-textdocument-binarySearch-function-1-\"></a>\n\n### [binarySearch](#-vuedx-vue-virtual-textdocument-binarySearch-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function binarySearch<T>(array: T[], isMatch: (a: T) => number, returnMin?: boolean): T | undefined;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| array | <code>T[]</code> | - |\n| isMatch | <code>(a: T) => number</code> | - |\n| returnMin | <code>boolean</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-getBlockLanguage-function-1-\" id=\"-vuedx-vue-virtual-textdocument-getBlockLanguage-function-1-\"></a>\n\n### [getBlockLanguage](#-vuedx-vue-virtual-textdocument-getBlockLanguage-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function getBlockLanguage(block?: SFCBlock | null): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| block | <code><a href=\"#-vue-compiler-sfc-SFCBlock-interface\">SFCBlock</a> &#124; null</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-getContainingFile-function-1-\" id=\"-vuedx-vue-virtual-textdocument-getContainingFile-function-1-\"></a>\n\n### [getContainingFile](#-vuedx-vue-virtual-textdocument-getContainingFile-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function getContainingFile(fileName: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-getLanguageExtension-function-1-\" id=\"-vuedx-vue-virtual-textdocument-getLanguageExtension-function-1-\"></a>\n\n### [getLanguageExtension](#-vuedx-vue-virtual-textdocument-getLanguageExtension-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function getLanguageExtension(lang: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| lang | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-getLanguageIdFromExtension-function-1-\" id=\"-vuedx-vue-virtual-textdocument-getLanguageIdFromExtension-function-1-\"></a>\n\n### [getLanguageIdFromExtension](#-vuedx-vue-virtual-textdocument-getLanguageIdFromExtension-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function getLanguageIdFromExtension(ext: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| ext | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-isOffsetInBlock-function-1-\" id=\"-vuedx-vue-virtual-textdocument-isOffsetInBlock-function-1-\"></a>\n\n### [isOffsetInBlock](#-vuedx-vue-virtual-textdocument-isOffsetInBlock-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function isOffsetInBlock(offset: number, block?: SFCBlock | null): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n| block | <code><a href=\"#-vue-compiler-sfc-SFCBlock-interface\">SFCBlock</a> &#124; null</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-isVirtualFile-function-1-\" id=\"-vuedx-vue-virtual-textdocument-isVirtualFile-function-1-\"></a>\n\n### [isVirtualFile](#-vuedx-vue-virtual-textdocument-isVirtualFile-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function isVirtualFile(fileName: string): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-isVirtualFileOfType-function-1-\" id=\"-vuedx-vue-virtual-textdocument-isVirtualFileOfType-function-1-\"></a>\n\n### [isVirtualFileOfType](#-vuedx-vue-virtual-textdocument-isVirtualFileOfType-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function isVirtualFileOfType(fileName: string, type: '_render' | '_module' | '_internal' | 'script' | 'scriptSetup'): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n| type | <code>'_render' &#124; '_module' &#124; '_internal' &#124; 'script' &#124; 'scriptSetup'</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-isVueFile-function-1-\" id=\"-vuedx-vue-virtual-textdocument-isVueFile-function-1-\"></a>\n\n### [isVueFile](#-vuedx-vue-virtual-textdocument-isVueFile-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function isVueFile(fileName: string): boolean;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-parseVirtualFileName-function-1-\" id=\"-vuedx-vue-virtual-textdocument-parseVirtualFileName-function-1-\"></a>\n\n### [parseVirtualFileName](#-vuedx-vue-virtual-textdocument-parseVirtualFileName-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function parseVirtualFileName(fileName: string): {\n    uri: string;\n    selector: Selector;\n} | null;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-relativeVirtualImportPath-function-1-\" id=\"-vuedx-vue-virtual-textdocument-relativeVirtualImportPath-function-1-\"></a>\n\n### [relativeVirtualImportPath](#-vuedx-vue-virtual-textdocument-relativeVirtualImportPath-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function relativeVirtualImportPath(fileName: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-replaceSlashes-function-1-\" id=\"-vuedx-vue-virtual-textdocument-replaceSlashes-function-1-\"></a>\n\n### [replaceSlashes](#-vuedx-vue-virtual-textdocument-replaceSlashes-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function replaceSlashes(fileName: string): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n</details>\n<br>\n<!-- #region API-DOCS -->\n\n## Support\n\nThis package is part of [VueDX project](https://github.com/znck/vue-developer-experience), maintained by [Rahul Kadyan](https://github.com/znck). You can [💖 sponsor him](https://github.com/sponsors/znck) for continued development of this package and other VueDX tools.\n\n<p align=\"center\">\n  <a href=\"https://cdn.jsdelivr.net/gh/znck/sponsors@main/sponsors.svg\">\n    <img src='https://cdn.jsdelivr.net/gh/znck/sponsors@main/sponsors.png'/>\n  </a>\n</p>\n","readmeFilename":"readme.md","gitHead":"1dc57633847dd68a03fd05e79bc031dabf3b9085","_id":"@vuedx/vue-virtual-textdocument@0.7.6-next-1651055813.0","_nodeVersion":"16.14.2","_npmVersion":"8.5.0","dist":{"integrity":"sha512-WPJNpeIG2hg0PS7EA47xLBjV/BqEFxMrGl6pBERDhqvwZkt7M6PyWL82jkw3pR9waBFmbzKTPfkW7aubaAsmhw==","shasum":"b40d7573b21f31fe5866a52b8832f96b77b462d5","tarball":"https://registry.npmjs.org/@vuedx/vue-virtual-textdocument/-/vue-virtual-textdocument-0.7.6-next-1651055813.0.tgz","fileCount":8,"unpackedSize":236950,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCuZ7Bp1j2r9DYLUYLh8KW4pMukXd7QaZYDyJl1srVNeAIhAM4xf9bWd93cvU4KBFCgZpCLqB22A28Jwjoa0EjbKBaj"}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiaRziACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmq6ow/8D1ZkIiA8zc6N1rEYWAuDcYdjww0+2LFme4b6JKs8J0RMtbT/\r\n7KkMrfQhTLp0N2WXUuqQCp7hg1IOuis+p4/x6+Mw1dqvsCxlK0I7OryLj7S9\r\nWzIvdpWY+Vwv4/LlMNCxvnmJFiEhqqKuvW6vHWKJMr3+NUwJfG/ItBO2q7EY\r\nwX2dU/swqXoLLxS6NibDlLu8RzgxsarcM+rr8NjeOk7Lqq6+ojSD6DiSjKQT\r\n9fMuL2/Fqcb4U57jrIpeFptTkYFCFpkjWBAELm2g016+EKZMQ3FWxD3+o618\r\nByR+e/3v5sz7aVKEGaURJgUA6/lMgoJn6tMkVC+MQ7Ok4Cmou7OXeUjuTDBc\r\nYPfL0kaZtkXntlAzknz/QDLiZS1Bv8e6f8Yv7MwDpo1PTRk1Tj1tHYrsBG4z\r\nKK0oq22R7H5PYv/rk4lDARieVbYIW9jXjOxvr6q8M34ZHyEt3JHXp2Okc4oX\r\nESMtnpJH3f5PjO2Se2QZUNdDVTXgh63c0XZKZYttoqLBosW4chsCitRW6r3A\r\ngA41nmJJK1SRr4EjxGx/hFVXnkFgS3nafqRhPflUb7GirLDFa0OSlYeBAxiR\r\noLiTkKUGETRtdPRi6nUZNOSZCh+QlB4HfshBpEpWOvvGXqjTnJafnOl1Giqx\r\nDgGiUbj547LD1Ok4WuM+uRCWowOv7vLQm7w=\r\n=lNPq\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"znck","email":"rahulkdn@gmail.com"},"directories":{},"maintainers":[{"name":"znck","email":"rahulkdn@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/vue-virtual-textdocument_0.7.6-next-1651055813.0_1651055841843_0.40240389575086954"},"_hasShrinkwrap":false},"0.7.6-next-1663917928.0":{"name":"@vuedx/vue-virtual-textdocument","version":"0.7.6-next-1663917928.0","description":"A virtual filesystem to access blocks in SFC as files","main":"lib/index.js","module":"lib/index.mjs","types":"lib/index.d.ts","private":false,"keywords":["vue","vue sfc","sfc","vue virtual files"],"repository":{"type":"git","url":"git+https://github.com/znck/vue-developer-experience.git"},"author":{"name":"Rahul Kadyan","email":"rahulkdn@gmail.com","url":"https://znck.me/"},"funding":{"type":"individual","url":"https://github.com/sponsors/znck"},"license":"MIT","bugs":{"url":"https://github.com/znck/vue-developer-experience/issues"},"homepage":"https://github.com/znck/vue-developer-experience#readme","dependencies":{"@vuedx/compiler-sfc":"0.7.2-next-1663917928.0","@vuedx/compiler-tsx":"0.8.1-next-1663917928.0","@vuedx/shared":"0.7.5-next-1663917928.0","@vuedx/template-ast-types":"0.7.4-next-1663917928.0","@vuedx/transforms":"0.7.6-next-1663917928.0","sourcemap-codec":"^1.4.8","vscode-languageserver-textdocument":"^1.0.1","vscode-uri":"^2.1.2"},"devDependencies":{"typescript":"^4.6.3"},"scripts":{},"readme":"# Vue Virtual TextDocument\n\nAn implementation of virtual filesystem for accessing blocks in a `.vue` file as independent files.\n\n```\nnpm add @vuedx/vue-virtual-textdocument\n```\n<!-- #region API-DOCS -->\n<!-- Do not edit this file. It is a report generated by [scripts/docgen.js](https://github.com/znck/vue-developer-experience/tree/main/scripts/docgen.js). -->\n\n## API\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueSFCDocument-class\" id=\"-vuedx-vue-virtual-textdocument-VueSFCDocument-class\"></a>\n\n### [VueSFCDocument](#-vuedx-vue-virtual-textdocument-VueSFCDocument-class)\n\n\n\n<details><summary>More info</summary>\n\n**Signature:**\n```ts\nexport declare class VueSFCDocument implements TextDocument {\n  get blocks(): SFCBlock[];\n  static create(fileName: string, content: string, options?: Omit<CompileOptions, 'cache' | 'fileName'>, version?: number): VueSFCDocument;\n  get descriptor(): SFCDescriptor;\n  get errors(): Array<CompilerError | SyntaxError>;\n  get fileName(): string;\n  findGeneratedTextSpan(spanInOriginalText: TextSpan): TextSpan | null;\n  findMapping(positionType: 'original' | 'generated', position: Position, searchBias?: SourceMapBiasType): Mapping | null;\n  findOriginalTextSpan(spanInGeneratedText: TextSpan): TextSpan | null;\n  get generated(): TextDocument;\n  readonly generatedFileName: string;\n  generatedOffsetAt(offset: number): number | null;\n  generatedPositionFor(position: Position): Position | null;\n  getBlockAt(offset: number): SFCBlock | null;\n  getLineAndCharacterOfPosition(position: number): Position;\n  getSourceFile(fileName?: string): {\n        fileName: string;\n        readonly text: string;\n        lineMap: unknown;\n        getLineAndCharacterOfPosition: (position: number) => Position;\n    };\n  getText(range?: Range): string;\n  get languageId(): string;\n  get lineCount(): number;\n  lineMap: unknown | undefined;\n  get map(): string;\n  offsetAt(position: Position): number;\n  readonly options: Required<CompileOptions>;\n  get original(): TextDocument;\n  readonly originalFileName: string;\n  originalOffsetAt(offset: number): number | null;\n  originalPositionFor(position: Position): Position | null;\n  positionAt(offset: number): Position;\n  get snapshot(): VueToTsxSnapshot;\n  get templateAST(): RootNode | undefined;\n  get text(): string;\n  update(changes: TextDocumentContentChangeEvent[], version: number): void;\n  get uri(): string;\n  get version(): number;\n}\n```\n\n**Members:**\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueSFCDocument-create-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueSFCDocument-create-member-1-\"></a>\n\n#### [create](#-vuedx-vue-virtual-textdocument-VueSFCDocument-create-member-1-)\n\n\n\n**Signature:**\n```ts\nstatic create(fileName: string, content: string, options?: Omit<CompileOptions, 'cache' | 'fileName'>, version?: number): VueSFCDocument;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n| content | <code>string</code> | - |\n| options | <code><a href=\"#-Omit-type\">Omit</a><<a href=\"#-vuedx-compiler-tsx-CompileOptions-interface\">CompileOptions</a>, 'cache' &#124; 'fileName'></code> | - |\n| version | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueSFCDocument-findGeneratedTextSpan-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueSFCDocument-findGeneratedTextSpan-member-1-\"></a>\n\n#### [findGeneratedTextSpan](#-vuedx-vue-virtual-textdocument-VueSFCDocument-findGeneratedTextSpan-member-1-)\n\n\n\n**Signature:**\n```ts\nfindGeneratedTextSpan(spanInOriginalText: TextSpan): TextSpan | null;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| spanInOriginalText | <code><a href=\"#-vuedx-vue-virtual-textdocument-TextSpan-interface\">TextSpan</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueSFCDocument-findMapping-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueSFCDocument-findMapping-member-1-\"></a>\n\n#### [findMapping](#-vuedx-vue-virtual-textdocument-VueSFCDocument-findMapping-member-1-)\n\n\n\n**Signature:**\n```ts\nfindMapping(positionType: 'original' | 'generated', position: Position, searchBias?: SourceMapBiasType): Mapping | null;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| positionType | <code>'original' &#124; 'generated'</code> | - |\n| position | <code><a href=\"#vscode-languageserver-textdocument-Position-interface\">Position</a></code> | - |\n| searchBias | <code><a href=\"#-vuedx-vue-virtual-textdocument--SourceMapBiasType-type\">SourceMapBiasType</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueSFCDocument-findOriginalTextSpan-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueSFCDocument-findOriginalTextSpan-member-1-\"></a>\n\n#### [findOriginalTextSpan](#-vuedx-vue-virtual-textdocument-VueSFCDocument-findOriginalTextSpan-member-1-)\n\n\n\n**Signature:**\n```ts\nfindOriginalTextSpan(spanInGeneratedText: TextSpan): TextSpan | null;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| spanInGeneratedText | <code><a href=\"#-vuedx-vue-virtual-textdocument-TextSpan-interface\">TextSpan</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueSFCDocument-generatedOffsetAt-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueSFCDocument-generatedOffsetAt-member-1-\"></a>\n\n#### [generatedOffsetAt](#-vuedx-vue-virtual-textdocument-VueSFCDocument-generatedOffsetAt-member-1-)\n\n\n\n**Signature:**\n```ts\ngeneratedOffsetAt(offset: number): number | null;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueSFCDocument-generatedPositionFor-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueSFCDocument-generatedPositionFor-member-1-\"></a>\n\n#### [generatedPositionFor](#-vuedx-vue-virtual-textdocument-VueSFCDocument-generatedPositionFor-member-1-)\n\n\n\n**Signature:**\n```ts\ngeneratedPositionFor(position: Position): Position | null;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| position | <code><a href=\"#vscode-languageserver-textdocument-Position-interface\">Position</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueSFCDocument-getBlockAt-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueSFCDocument-getBlockAt-member-1-\"></a>\n\n#### [getBlockAt](#-vuedx-vue-virtual-textdocument-VueSFCDocument-getBlockAt-member-1-)\n\n\n\n**Signature:**\n```ts\ngetBlockAt(offset: number): SFCBlock | null;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueSFCDocument-getLineAndCharacterOfPosition-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueSFCDocument-getLineAndCharacterOfPosition-member-1-\"></a>\n\n#### [getLineAndCharacterOfPosition](#-vuedx-vue-virtual-textdocument-VueSFCDocument-getLineAndCharacterOfPosition-member-1-)\n\n\n\n**Signature:**\n```ts\ngetLineAndCharacterOfPosition(position: number): Position;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| position | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueSFCDocument-getSourceFile-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueSFCDocument-getSourceFile-member-1-\"></a>\n\n#### [getSourceFile](#-vuedx-vue-virtual-textdocument-VueSFCDocument-getSourceFile-member-1-)\n\n\n\n**Signature:**\n```ts\ngetSourceFile(fileName?: string): {\n        fileName: string;\n        readonly text: string;\n        lineMap: unknown;\n        getLineAndCharacterOfPosition: (position: number) => Position;\n    };\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueSFCDocument-getText-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueSFCDocument-getText-member-1-\"></a>\n\n#### [getText](#-vuedx-vue-virtual-textdocument-VueSFCDocument-getText-member-1-)\n\n\n\n**Signature:**\n```ts\ngetText(range?: Range): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| range | <code><a href=\"#vscode-languageserver-textdocument-Range-interface\">Range</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueSFCDocument-offsetAt-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueSFCDocument-offsetAt-member-1-\"></a>\n\n#### [offsetAt](#-vuedx-vue-virtual-textdocument-VueSFCDocument-offsetAt-member-1-)\n\n\n\n**Signature:**\n```ts\noffsetAt(position: Position): number;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| position | <code><a href=\"#vscode-languageserver-textdocument-Position-interface\">Position</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueSFCDocument-originalOffsetAt-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueSFCDocument-originalOffsetAt-member-1-\"></a>\n\n#### [originalOffsetAt](#-vuedx-vue-virtual-textdocument-VueSFCDocument-originalOffsetAt-member-1-)\n\n\n\n**Signature:**\n```ts\noriginalOffsetAt(offset: number): number | null;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueSFCDocument-originalPositionFor-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueSFCDocument-originalPositionFor-member-1-\"></a>\n\n#### [originalPositionFor](#-vuedx-vue-virtual-textdocument-VueSFCDocument-originalPositionFor-member-1-)\n\n\n\n**Signature:**\n```ts\noriginalPositionFor(position: Position): Position | null;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| position | <code><a href=\"#vscode-languageserver-textdocument-Position-interface\">Position</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueSFCDocument-positionAt-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueSFCDocument-positionAt-member-1-\"></a>\n\n#### [positionAt](#-vuedx-vue-virtual-textdocument-VueSFCDocument-positionAt-member-1-)\n\n\n\n**Signature:**\n```ts\npositionAt(offset: number): Position;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueSFCDocument-update-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueSFCDocument-update-member-1-\"></a>\n\n#### [update](#-vuedx-vue-virtual-textdocument-VueSFCDocument-update-member-1-)\n\n\n\n**Signature:**\n```ts\nupdate(changes: TextDocumentContentChangeEvent[], version: number): void;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| changes | <code><a href=\"#vscode-languageserver-textdocument-TextDocumentContentChangeEvent-type\">TextDocumentContentChangeEvent</a>[]</code> | - |\n| version | <code>number</code> | - |\n\n<br>\n</details>\n\n<br>\n\n\n## Types\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-TextSpan-interface\" id=\"-vuedx-vue-virtual-textdocument-TextSpan-interface\"></a>\n\n### [TextSpan](#-vuedx-vue-virtual-textdocument-TextSpan-interface)\n\n\n\n```ts\nexport interface TextSpan {\n  length: number;\n  start: number;\n}\n```\n\n\n<br>\n<!-- #region API-DOCS -->\n\n## Support\n\nThis package is part of [VueDX project](https://github.com/znck/vue-developer-experience), maintained by [Rahul Kadyan](https://github.com/znck). You can [💖 sponsor him](https://github.com/sponsors/znck) for continued development of this package and other VueDX tools.\n\n<p align=\"center\">\n  <a href=\"https://cdn.jsdelivr.net/gh/znck/sponsors@main/sponsors.svg\">\n    <img src='https://cdn.jsdelivr.net/gh/znck/sponsors@main/sponsors.png'/>\n  </a>\n</p>\n","readmeFilename":"readme.md","_id":"@vuedx/vue-virtual-textdocument@0.7.6-next-1663917928.0","_integrity":"sha512-VkD6FmEHVRqFGNasJF0Y4HiywlAzLAu1cUm+ZWJYneJDCuYaB4KpuMEBrM8Ftle5BRHn8LlX047a72rStVpmVw==","_resolved":"/tmp/5e3c36e838f2c0487bcb4ccb5fd81ca9/vuedx-vue-virtual-textdocument-0.7.6-next-1663917928.0.tgz","_from":"file:vuedx-vue-virtual-textdocument-0.7.6-next-1663917928.0.tgz","_nodeVersion":"18.9.0","_npmVersion":"8.19.1","dist":{"integrity":"sha512-VkD6FmEHVRqFGNasJF0Y4HiywlAzLAu1cUm+ZWJYneJDCuYaB4KpuMEBrM8Ftle5BRHn8LlX047a72rStVpmVw==","shasum":"1cb3612a54c072064316cc9965a2efe093e896d6","tarball":"https://registry.npmjs.org/@vuedx/vue-virtual-textdocument/-/vue-virtual-textdocument-0.7.6-next-1663917928.0.tgz","fileCount":11,"unpackedSize":137352,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIClyT1ol24LKsZLHlIEw2zt4d9C4OTCpFD4U0JQHYv0UAiAdYa1fnny2AhrnuVd8q0H4QUXJST70FGJQ7YLqEFLNIA=="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjLV+AACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmqi7A//QI84Axd6wgCjIqu40faV3kRvJkecnqB5xyamn5WHahnibFKV\r\n96MuU7ZDthD0b/tpkSiju1qJb+Y8Z+pg3XDCgPG2nTx+qaQGcMPFPXirENt5\r\nyZwjpqJEbLYgBwWRbL5bRfUXuULnd5ECMFw9/qp4F447n2c5u//RS9+wGIep\r\nGBlATRRVyfrtUz9pmYoPEdtEJz541kjzfqSYRHoquGLJxOU3mQy031kSEk6C\r\n9yBN/qnC9w7HxbkTAmJMfEqLEAnspoXp0ieYw9hni25SXCm1Y7dVT2+/V262\r\ncoa4mVon2309vi0YreSGtzMJvbfuE5n+RGZ/3ATM6G5tDMF87hbwQmb2WVg1\r\nwHYppWBVaLiYP/ybaogCzpB8UZTHsppiaNKMdHtKuzbgjHOXhdKL+pUyC2m+\r\nwJYdf/QxGZMI2qgIJSh19gelEq/JpVXmSh0TL+P26wEc34viQCWSIp5W0uhx\r\nI9ytDyLEgMmkVvxZ3AcFJKw7ySLBKdmDFXWYFI86TDErobUXnJga1HOhReUb\r\nHY2u3eLdJd5C88yyVk/8QJ/7o3AHHOQxeKYJHjPhkEAE+qXYSqSG06grnszJ\r\ne59zPqst0Qb1U6jv5VRaJcK4BCID2xaWpZCyhOPn2J9QYaWYIWAlQMzvY+eS\r\nbn2h7QMvS/B88tDECh2UVIU0nLeuThgtD5M=\r\n=3YMM\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"znck","email":"rahulkdn@gmail.com"},"directories":{},"maintainers":[{"name":"znck","email":"rahulkdn@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/vue-virtual-textdocument_0.7.6-next-1663917928.0_1663917952120_0.5187052316564502"},"_hasShrinkwrap":false},"0.7.6-next-1663918844.0":{"name":"@vuedx/vue-virtual-textdocument","version":"0.7.6-next-1663918844.0","description":"A virtual filesystem to access blocks in SFC as files","main":"lib/index.js","module":"lib/index.mjs","types":"lib/index.d.ts","private":false,"keywords":["vue","vue sfc","sfc","vue virtual files"],"repository":{"type":"git","url":"git+https://github.com/znck/vue-developer-experience.git"},"author":{"name":"Rahul Kadyan","email":"rahulkdn@gmail.com","url":"https://znck.me/"},"funding":{"type":"individual","url":"https://github.com/sponsors/znck"},"license":"MIT","bugs":{"url":"https://github.com/znck/vue-developer-experience/issues"},"homepage":"https://github.com/znck/vue-developer-experience#readme","dependencies":{"@vuedx/compiler-sfc":"0.7.2-next-1663918844.0","@vuedx/compiler-tsx":"0.8.1-next-1663918844.0","@vuedx/shared":"0.7.5-next-1663918844.0","@vuedx/template-ast-types":"0.7.4-next-1663918844.0","@vuedx/transforms":"0.7.6-next-1663918844.0","sourcemap-codec":"^1.4.8","vscode-languageserver-textdocument":"^1.0.1","vscode-uri":"^2.1.2"},"devDependencies":{"typescript":"^4.6.3"},"scripts":{},"readme":"# Vue Virtual TextDocument\n\nAn implementation of virtual filesystem for accessing blocks in a `.vue` file as independent files.\n\n```\nnpm add @vuedx/vue-virtual-textdocument\n```\n<!-- #region API-DOCS -->\n<!-- Do not edit this file. It is a report generated by [scripts/docgen.js](https://github.com/znck/vue-developer-experience/tree/main/scripts/docgen.js). -->\n\n## API\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueSFCDocument-class\" id=\"-vuedx-vue-virtual-textdocument-VueSFCDocument-class\"></a>\n\n### [VueSFCDocument](#-vuedx-vue-virtual-textdocument-VueSFCDocument-class)\n\n\n\n<details><summary>More info</summary>\n\n**Signature:**\n```ts\nexport declare class VueSFCDocument implements TextDocument {\n  get blocks(): SFCBlock[];\n  static create(fileName: string, content: string, options?: Omit<CompileOptions, 'cache' | 'fileName'>, version?: number): VueSFCDocument;\n  get descriptor(): SFCDescriptor;\n  get errors(): Array<CompilerError | SyntaxError>;\n  get fileName(): string;\n  findGeneratedTextSpan(spanInOriginalText: TextSpan): TextSpan | null;\n  findMapping(positionType: 'original' | 'generated', position: Position, searchBias?: SourceMapBiasType): Mapping | null;\n  findOriginalTextSpan(spanInGeneratedText: TextSpan): TextSpan | null;\n  get generated(): TextDocument;\n  readonly generatedFileName: string;\n  generatedOffsetAt(offset: number): number | null;\n  generatedPositionFor(position: Position): Position | null;\n  getBlockAt(offset: number): SFCBlock | null;\n  getLineAndCharacterOfPosition(position: number): Position;\n  getSourceFile(fileName?: string): {\n        fileName: string;\n        readonly text: string;\n        lineMap: unknown;\n        getLineAndCharacterOfPosition: (position: number) => Position;\n    };\n  getText(range?: Range): string;\n  get languageId(): string;\n  get lineCount(): number;\n  lineMap: unknown | undefined;\n  get map(): string;\n  offsetAt(position: Position): number;\n  readonly options: Required<CompileOptions>;\n  get original(): TextDocument;\n  readonly originalFileName: string;\n  originalOffsetAt(offset: number): number | null;\n  originalPositionFor(position: Position): Position | null;\n  positionAt(offset: number): Position;\n  get snapshot(): VueToTsxSnapshot;\n  get templateAST(): RootNode | undefined;\n  get text(): string;\n  update(changes: TextDocumentContentChangeEvent[], version: number): void;\n  get uri(): string;\n  get version(): number;\n}\n```\n\n**Members:**\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueSFCDocument-create-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueSFCDocument-create-member-1-\"></a>\n\n#### [create](#-vuedx-vue-virtual-textdocument-VueSFCDocument-create-member-1-)\n\n\n\n**Signature:**\n```ts\nstatic create(fileName: string, content: string, options?: Omit<CompileOptions, 'cache' | 'fileName'>, version?: number): VueSFCDocument;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n| content | <code>string</code> | - |\n| options | <code><a href=\"#-Omit-type\">Omit</a><<a href=\"#-vuedx-compiler-tsx-CompileOptions-interface\">CompileOptions</a>, 'cache' &#124; 'fileName'></code> | - |\n| version | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueSFCDocument-findGeneratedTextSpan-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueSFCDocument-findGeneratedTextSpan-member-1-\"></a>\n\n#### [findGeneratedTextSpan](#-vuedx-vue-virtual-textdocument-VueSFCDocument-findGeneratedTextSpan-member-1-)\n\n\n\n**Signature:**\n```ts\nfindGeneratedTextSpan(spanInOriginalText: TextSpan): TextSpan | null;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| spanInOriginalText | <code><a href=\"#-vuedx-vue-virtual-textdocument-TextSpan-interface\">TextSpan</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueSFCDocument-findMapping-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueSFCDocument-findMapping-member-1-\"></a>\n\n#### [findMapping](#-vuedx-vue-virtual-textdocument-VueSFCDocument-findMapping-member-1-)\n\n\n\n**Signature:**\n```ts\nfindMapping(positionType: 'original' | 'generated', position: Position, searchBias?: SourceMapBiasType): Mapping | null;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| positionType | <code>'original' &#124; 'generated'</code> | - |\n| position | <code><a href=\"#vscode-languageserver-textdocument-Position-interface\">Position</a></code> | - |\n| searchBias | <code><a href=\"#-vuedx-vue-virtual-textdocument--SourceMapBiasType-type\">SourceMapBiasType</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueSFCDocument-findOriginalTextSpan-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueSFCDocument-findOriginalTextSpan-member-1-\"></a>\n\n#### [findOriginalTextSpan](#-vuedx-vue-virtual-textdocument-VueSFCDocument-findOriginalTextSpan-member-1-)\n\n\n\n**Signature:**\n```ts\nfindOriginalTextSpan(spanInGeneratedText: TextSpan): TextSpan | null;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| spanInGeneratedText | <code><a href=\"#-vuedx-vue-virtual-textdocument-TextSpan-interface\">TextSpan</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueSFCDocument-generatedOffsetAt-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueSFCDocument-generatedOffsetAt-member-1-\"></a>\n\n#### [generatedOffsetAt](#-vuedx-vue-virtual-textdocument-VueSFCDocument-generatedOffsetAt-member-1-)\n\n\n\n**Signature:**\n```ts\ngeneratedOffsetAt(offset: number): number | null;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueSFCDocument-generatedPositionFor-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueSFCDocument-generatedPositionFor-member-1-\"></a>\n\n#### [generatedPositionFor](#-vuedx-vue-virtual-textdocument-VueSFCDocument-generatedPositionFor-member-1-)\n\n\n\n**Signature:**\n```ts\ngeneratedPositionFor(position: Position): Position | null;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| position | <code><a href=\"#vscode-languageserver-textdocument-Position-interface\">Position</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueSFCDocument-getBlockAt-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueSFCDocument-getBlockAt-member-1-\"></a>\n\n#### [getBlockAt](#-vuedx-vue-virtual-textdocument-VueSFCDocument-getBlockAt-member-1-)\n\n\n\n**Signature:**\n```ts\ngetBlockAt(offset: number): SFCBlock | null;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueSFCDocument-getLineAndCharacterOfPosition-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueSFCDocument-getLineAndCharacterOfPosition-member-1-\"></a>\n\n#### [getLineAndCharacterOfPosition](#-vuedx-vue-virtual-textdocument-VueSFCDocument-getLineAndCharacterOfPosition-member-1-)\n\n\n\n**Signature:**\n```ts\ngetLineAndCharacterOfPosition(position: number): Position;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| position | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueSFCDocument-getSourceFile-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueSFCDocument-getSourceFile-member-1-\"></a>\n\n#### [getSourceFile](#-vuedx-vue-virtual-textdocument-VueSFCDocument-getSourceFile-member-1-)\n\n\n\n**Signature:**\n```ts\ngetSourceFile(fileName?: string): {\n        fileName: string;\n        readonly text: string;\n        lineMap: unknown;\n        getLineAndCharacterOfPosition: (position: number) => Position;\n    };\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueSFCDocument-getText-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueSFCDocument-getText-member-1-\"></a>\n\n#### [getText](#-vuedx-vue-virtual-textdocument-VueSFCDocument-getText-member-1-)\n\n\n\n**Signature:**\n```ts\ngetText(range?: Range): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| range | <code><a href=\"#vscode-languageserver-textdocument-Range-interface\">Range</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueSFCDocument-offsetAt-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueSFCDocument-offsetAt-member-1-\"></a>\n\n#### [offsetAt](#-vuedx-vue-virtual-textdocument-VueSFCDocument-offsetAt-member-1-)\n\n\n\n**Signature:**\n```ts\noffsetAt(position: Position): number;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| position | <code><a href=\"#vscode-languageserver-textdocument-Position-interface\">Position</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueSFCDocument-originalOffsetAt-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueSFCDocument-originalOffsetAt-member-1-\"></a>\n\n#### [originalOffsetAt](#-vuedx-vue-virtual-textdocument-VueSFCDocument-originalOffsetAt-member-1-)\n\n\n\n**Signature:**\n```ts\noriginalOffsetAt(offset: number): number | null;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueSFCDocument-originalPositionFor-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueSFCDocument-originalPositionFor-member-1-\"></a>\n\n#### [originalPositionFor](#-vuedx-vue-virtual-textdocument-VueSFCDocument-originalPositionFor-member-1-)\n\n\n\n**Signature:**\n```ts\noriginalPositionFor(position: Position): Position | null;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| position | <code><a href=\"#vscode-languageserver-textdocument-Position-interface\">Position</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueSFCDocument-positionAt-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueSFCDocument-positionAt-member-1-\"></a>\n\n#### [positionAt](#-vuedx-vue-virtual-textdocument-VueSFCDocument-positionAt-member-1-)\n\n\n\n**Signature:**\n```ts\npositionAt(offset: number): Position;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueSFCDocument-update-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueSFCDocument-update-member-1-\"></a>\n\n#### [update](#-vuedx-vue-virtual-textdocument-VueSFCDocument-update-member-1-)\n\n\n\n**Signature:**\n```ts\nupdate(changes: TextDocumentContentChangeEvent[], version: number): void;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| changes | <code><a href=\"#vscode-languageserver-textdocument-TextDocumentContentChangeEvent-type\">TextDocumentContentChangeEvent</a>[]</code> | - |\n| version | <code>number</code> | - |\n\n<br>\n</details>\n\n<br>\n\n\n## Types\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-TextSpan-interface\" id=\"-vuedx-vue-virtual-textdocument-TextSpan-interface\"></a>\n\n### [TextSpan](#-vuedx-vue-virtual-textdocument-TextSpan-interface)\n\n\n\n```ts\nexport interface TextSpan {\n  length: number;\n  start: number;\n}\n```\n\n\n<br>\n<!-- #region API-DOCS -->\n\n## Support\n\nThis package is part of [VueDX project](https://github.com/znck/vue-developer-experience), maintained by [Rahul Kadyan](https://github.com/znck). You can [💖 sponsor him](https://github.com/sponsors/znck) for continued development of this package and other VueDX tools.\n\n<p align=\"center\">\n  <a href=\"https://cdn.jsdelivr.net/gh/znck/sponsors@main/sponsors.svg\">\n    <img src='https://cdn.jsdelivr.net/gh/znck/sponsors@main/sponsors.png'/>\n  </a>\n</p>\n","readmeFilename":"readme.md","_id":"@vuedx/vue-virtual-textdocument@0.7.6-next-1663918844.0","_integrity":"sha512-isYFa1CxB3I6fmY++zj/FENfV0yzBMpB+ep76TnScmU+AmpIl4c76YlYThtQIDLe7op+Gk0wfcoTpTEH3/YX8w==","_resolved":"/tmp/618fee7c2f014c7d115629250cecf62e/vuedx-vue-virtual-textdocument-0.7.6-next-1663918844.0.tgz","_from":"file:vuedx-vue-virtual-textdocument-0.7.6-next-1663918844.0.tgz","_nodeVersion":"18.9.0","_npmVersion":"8.19.1","dist":{"integrity":"sha512-isYFa1CxB3I6fmY++zj/FENfV0yzBMpB+ep76TnScmU+AmpIl4c76YlYThtQIDLe7op+Gk0wfcoTpTEH3/YX8w==","shasum":"070327df364dd035b04767b9658dd59a6de0c53d","tarball":"https://registry.npmjs.org/@vuedx/vue-virtual-textdocument/-/vue-virtual-textdocument-0.7.6-next-1663918844.0.tgz","fileCount":11,"unpackedSize":137352,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCEgiLUzFDg2moF2blYLXKT+jHpmYI5fF6fUekRZJBLPQIhAI9uXeEdRboVOKwNK1LOqjd7UdgfFP9Dhz/aTORWyz8T"}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjLWMYACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrzvA//fKy4GD3qA9ZYgaZaGsBrVNh89uXrEan71Keiwaja2CEMcSxd\r\n0QZuckYU+Skf7rtcPp953vucRukdFVb2KmyRsvDSkSe5H6N6oZ6mdDegIrNr\r\nf/gDEJ1vDvNJdN0HYWlYXSh0jESyIyCouUoPArLgjccIVgWtgKjAYBJ+8AQz\r\nTkMjXGVMK8V/c+8K+iGjMExI8JOiGWwAZb7bgEB8pNPHMqiBL4zJhDSEgkUs\r\nAg3NYIkp8DmugIzpEmP3rS83joV5ZgiIzTEtf2BMlstP6y3RRHQ/zTYcyntx\r\nWpbdQGIwy23jHxU90MfpjPj2sWO9nXpglCyMW+LuOAbliEtT/EYbcw7yYrLN\r\n2uNnAhKtO5momUqel8w4fyzqLrCMDScvjkUgxYTg48tKz+lfSOpyo/0n6q/H\r\nvUyn7hWPmJ8kvt0nJioIi1CWEJou0MDLn169XevpEQlN2m+4jjjwocFJkDUj\r\nZUwgwGOyuQrD6s+Sa9XQzVNVvSnuHoJBq0c+s9kTS1GJHSRa1UC/L1jPWMCy\r\nXMi2anTplBONZf1d/Exdt6QkBevy22/5kMxAyOHtVRGOt2xNyLGz3z3NqJ0x\r\nIjG6+A6UZf/qlHJlZ/4yidvXRH3y/bbH1LLo78A0nG43po9SNqZqSRm7eG7P\r\n3pi1c+pHSik0AyGlfvv4UQ1nC+zMyH99BpM=\r\n=SQDS\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"znck","email":"rahulkdn@gmail.com"},"directories":{},"maintainers":[{"name":"znck","email":"rahulkdn@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/vue-virtual-textdocument_0.7.6-next-1663918844.0_1663918871810_0.8407185400574892"},"_hasShrinkwrap":false},"0.7.6-next-1664761915.0":{"name":"@vuedx/vue-virtual-textdocument","version":"0.7.6-next-1664761915.0","description":"A virtual filesystem to access blocks in SFC as files","main":"lib/index.js","module":"lib/index.mjs","types":"lib/index.d.ts","private":false,"keywords":["vue","vue sfc","sfc","vue virtual files"],"repository":{"type":"git","url":"git+https://github.com/znck/vue-developer-experience.git"},"author":{"name":"Rahul Kadyan","email":"rahulkdn@gmail.com","url":"https://znck.me/"},"funding":{"type":"individual","url":"https://github.com/sponsors/znck"},"license":"MIT","bugs":{"url":"https://github.com/znck/vue-developer-experience/issues"},"homepage":"https://github.com/znck/vue-developer-experience#readme","dependencies":{"@vuedx/compiler-sfc":"0.7.2-next-1664761915.0","@vuedx/compiler-tsx":"0.8.1-next-1664761915.0","@vuedx/shared":"0.7.5-next-1664761915.0","@vuedx/template-ast-types":"0.7.4-next-1664761915.0","@vuedx/transforms":"0.7.6-next-1664761915.0","sourcemap-codec":"^1.4.8","vscode-languageserver-textdocument":"^1.0.1","vscode-uri":"^2.1.2"},"devDependencies":{"typescript":"^4.6.3"},"scripts":{},"readme":"# Vue Virtual TextDocument\n\nAn implementation of virtual filesystem for accessing blocks in a `.vue` file as independent files.\n\n```\nnpm add @vuedx/vue-virtual-textdocument\n```\n<!-- #region API-DOCS -->\n<!-- Do not edit this file. It is a report generated by [scripts/docgen.js](https://github.com/znck/vue-developer-experience/tree/main/scripts/docgen.js). -->\n\n## API\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueSFCDocument-class\" id=\"-vuedx-vue-virtual-textdocument-VueSFCDocument-class\"></a>\n\n### [VueSFCDocument](#-vuedx-vue-virtual-textdocument-VueSFCDocument-class)\n\n\n\n<details><summary>More info</summary>\n\n**Signature:**\n```ts\nexport declare class VueSFCDocument implements TextDocument {\n  get blocks(): SFCBlock[];\n  static create(fileName: string, content: string, options?: Omit<CompileOptions, 'cache' | 'fileName'>, version?: number): VueSFCDocument;\n  get descriptor(): SFCDescriptor;\n  get errors(): Array<CompilerError | SyntaxError>;\n  get fileName(): string;\n  findGeneratedTextSpan(spanInOriginalText: TextSpan): TextSpan | null;\n  findMapping(positionType: 'original' | 'generated', position: Position, searchBias?: SourceMapBiasType): Mapping | null;\n  findOriginalTextSpan(spanInGeneratedText: TextSpan): TextSpan | null;\n  get generated(): TextDocument;\n  readonly generatedFileName: string;\n  generatedOffsetAt(offset: number): number | null;\n  generatedPositionFor(position: Position): Position | null;\n  getBlockAt(offset: number): SFCBlock | null;\n  getLineAndCharacterOfPosition(position: number): Position;\n  getSourceFile(fileName?: string): {\n        fileName: string;\n        readonly text: string;\n        lineMap: unknown;\n        getLineAndCharacterOfPosition: (position: number) => Position;\n    };\n  getText(range?: Range): string;\n  get languageId(): string;\n  get lineCount(): number;\n  lineMap: unknown | undefined;\n  get map(): string;\n  offsetAt(position: Position): number;\n  readonly options: Required<CompileOptions>;\n  get original(): TextDocument;\n  readonly originalFileName: string;\n  originalOffsetAt(offset: number): number | null;\n  originalPositionFor(position: Position): Position | null;\n  positionAt(offset: number): Position;\n  get snapshot(): VueToTsxSnapshot;\n  get templateAST(): RootNode | undefined;\n  get text(): string;\n  update(changes: TextDocumentContentChangeEvent[], version: number): void;\n  get uri(): string;\n  get version(): number;\n}\n```\n\n**Members:**\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueSFCDocument-create-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueSFCDocument-create-member-1-\"></a>\n\n#### [create](#-vuedx-vue-virtual-textdocument-VueSFCDocument-create-member-1-)\n\n\n\n**Signature:**\n```ts\nstatic create(fileName: string, content: string, options?: Omit<CompileOptions, 'cache' | 'fileName'>, version?: number): VueSFCDocument;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n| content | <code>string</code> | - |\n| options | <code><a href=\"#-Omit-type\">Omit</a><<a href=\"#-vuedx-compiler-tsx-CompileOptions-interface\">CompileOptions</a>, 'cache' &#124; 'fileName'></code> | - |\n| version | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueSFCDocument-findGeneratedTextSpan-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueSFCDocument-findGeneratedTextSpan-member-1-\"></a>\n\n#### [findGeneratedTextSpan](#-vuedx-vue-virtual-textdocument-VueSFCDocument-findGeneratedTextSpan-member-1-)\n\n\n\n**Signature:**\n```ts\nfindGeneratedTextSpan(spanInOriginalText: TextSpan): TextSpan | null;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| spanInOriginalText | <code><a href=\"#-vuedx-vue-virtual-textdocument-TextSpan-interface\">TextSpan</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueSFCDocument-findMapping-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueSFCDocument-findMapping-member-1-\"></a>\n\n#### [findMapping](#-vuedx-vue-virtual-textdocument-VueSFCDocument-findMapping-member-1-)\n\n\n\n**Signature:**\n```ts\nfindMapping(positionType: 'original' | 'generated', position: Position, searchBias?: SourceMapBiasType): Mapping | null;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| positionType | <code>'original' &#124; 'generated'</code> | - |\n| position | <code><a href=\"#vscode-languageserver-textdocument-Position-interface\">Position</a></code> | - |\n| searchBias | <code><a href=\"#-vuedx-vue-virtual-textdocument--SourceMapBiasType-type\">SourceMapBiasType</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueSFCDocument-findOriginalTextSpan-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueSFCDocument-findOriginalTextSpan-member-1-\"></a>\n\n#### [findOriginalTextSpan](#-vuedx-vue-virtual-textdocument-VueSFCDocument-findOriginalTextSpan-member-1-)\n\n\n\n**Signature:**\n```ts\nfindOriginalTextSpan(spanInGeneratedText: TextSpan): TextSpan | null;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| spanInGeneratedText | <code><a href=\"#-vuedx-vue-virtual-textdocument-TextSpan-interface\">TextSpan</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueSFCDocument-generatedOffsetAt-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueSFCDocument-generatedOffsetAt-member-1-\"></a>\n\n#### [generatedOffsetAt](#-vuedx-vue-virtual-textdocument-VueSFCDocument-generatedOffsetAt-member-1-)\n\n\n\n**Signature:**\n```ts\ngeneratedOffsetAt(offset: number): number | null;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueSFCDocument-generatedPositionFor-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueSFCDocument-generatedPositionFor-member-1-\"></a>\n\n#### [generatedPositionFor](#-vuedx-vue-virtual-textdocument-VueSFCDocument-generatedPositionFor-member-1-)\n\n\n\n**Signature:**\n```ts\ngeneratedPositionFor(position: Position): Position | null;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| position | <code><a href=\"#vscode-languageserver-textdocument-Position-interface\">Position</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueSFCDocument-getBlockAt-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueSFCDocument-getBlockAt-member-1-\"></a>\n\n#### [getBlockAt](#-vuedx-vue-virtual-textdocument-VueSFCDocument-getBlockAt-member-1-)\n\n\n\n**Signature:**\n```ts\ngetBlockAt(offset: number): SFCBlock | null;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueSFCDocument-getLineAndCharacterOfPosition-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueSFCDocument-getLineAndCharacterOfPosition-member-1-\"></a>\n\n#### [getLineAndCharacterOfPosition](#-vuedx-vue-virtual-textdocument-VueSFCDocument-getLineAndCharacterOfPosition-member-1-)\n\n\n\n**Signature:**\n```ts\ngetLineAndCharacterOfPosition(position: number): Position;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| position | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueSFCDocument-getSourceFile-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueSFCDocument-getSourceFile-member-1-\"></a>\n\n#### [getSourceFile](#-vuedx-vue-virtual-textdocument-VueSFCDocument-getSourceFile-member-1-)\n\n\n\n**Signature:**\n```ts\ngetSourceFile(fileName?: string): {\n        fileName: string;\n        readonly text: string;\n        lineMap: unknown;\n        getLineAndCharacterOfPosition: (position: number) => Position;\n    };\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueSFCDocument-getText-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueSFCDocument-getText-member-1-\"></a>\n\n#### [getText](#-vuedx-vue-virtual-textdocument-VueSFCDocument-getText-member-1-)\n\n\n\n**Signature:**\n```ts\ngetText(range?: Range): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| range | <code><a href=\"#vscode-languageserver-textdocument-Range-interface\">Range</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueSFCDocument-offsetAt-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueSFCDocument-offsetAt-member-1-\"></a>\n\n#### [offsetAt](#-vuedx-vue-virtual-textdocument-VueSFCDocument-offsetAt-member-1-)\n\n\n\n**Signature:**\n```ts\noffsetAt(position: Position): number;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| position | <code><a href=\"#vscode-languageserver-textdocument-Position-interface\">Position</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueSFCDocument-originalOffsetAt-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueSFCDocument-originalOffsetAt-member-1-\"></a>\n\n#### [originalOffsetAt](#-vuedx-vue-virtual-textdocument-VueSFCDocument-originalOffsetAt-member-1-)\n\n\n\n**Signature:**\n```ts\noriginalOffsetAt(offset: number): number | null;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueSFCDocument-originalPositionFor-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueSFCDocument-originalPositionFor-member-1-\"></a>\n\n#### [originalPositionFor](#-vuedx-vue-virtual-textdocument-VueSFCDocument-originalPositionFor-member-1-)\n\n\n\n**Signature:**\n```ts\noriginalPositionFor(position: Position): Position | null;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| position | <code><a href=\"#vscode-languageserver-textdocument-Position-interface\">Position</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueSFCDocument-positionAt-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueSFCDocument-positionAt-member-1-\"></a>\n\n#### [positionAt](#-vuedx-vue-virtual-textdocument-VueSFCDocument-positionAt-member-1-)\n\n\n\n**Signature:**\n```ts\npositionAt(offset: number): Position;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueSFCDocument-update-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueSFCDocument-update-member-1-\"></a>\n\n#### [update](#-vuedx-vue-virtual-textdocument-VueSFCDocument-update-member-1-)\n\n\n\n**Signature:**\n```ts\nupdate(changes: TextDocumentContentChangeEvent[], version: number): void;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| changes | <code><a href=\"#vscode-languageserver-textdocument-TextDocumentContentChangeEvent-type\">TextDocumentContentChangeEvent</a>[]</code> | - |\n| version | <code>number</code> | - |\n\n<br>\n</details>\n\n<br>\n\n\n## Types\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-TextSpan-interface\" id=\"-vuedx-vue-virtual-textdocument-TextSpan-interface\"></a>\n\n### [TextSpan](#-vuedx-vue-virtual-textdocument-TextSpan-interface)\n\n\n\n```ts\nexport interface TextSpan {\n  length: number;\n  start: number;\n}\n```\n\n\n<br>\n<!-- #region API-DOCS -->\n\n## Support\n\nThis package is part of [VueDX project](https://github.com/znck/vue-developer-experience), maintained by [Rahul Kadyan](https://github.com/znck). You can [💖 sponsor him](https://github.com/sponsors/znck) for continued development of this package and other VueDX tools.\n\n<p align=\"center\">\n  <a href=\"https://cdn.jsdelivr.net/gh/znck/sponsors@main/sponsors.svg\">\n    <img src='https://cdn.jsdelivr.net/gh/znck/sponsors@main/sponsors.png'/>\n  </a>\n</p>\n","readmeFilename":"readme.md","_id":"@vuedx/vue-virtual-textdocument@0.7.6-next-1664761915.0","_integrity":"sha512-agdnxa+qiA3z0nbQr52Gm9nl/qEcjfFRQ8raguNbSM33MbXMq9nhltnCgNI+qnMt5IUawmsVkhDebCQL0vXakQ==","_resolved":"/tmp/cbf4066663b25ed9ee7427da16e44810/vuedx-vue-virtual-textdocument-0.7.6-next-1664761915.0.tgz","_from":"file:vuedx-vue-virtual-textdocument-0.7.6-next-1664761915.0.tgz","_nodeVersion":"18.10.0","_npmVersion":"8.19.2","dist":{"integrity":"sha512-agdnxa+qiA3z0nbQr52Gm9nl/qEcjfFRQ8raguNbSM33MbXMq9nhltnCgNI+qnMt5IUawmsVkhDebCQL0vXakQ==","shasum":"71e8c6067422bdbc62879c0c0a0d864217489317","tarball":"https://registry.npmjs.org/@vuedx/vue-virtual-textdocument/-/vue-virtual-textdocument-0.7.6-next-1664761915.0.tgz","fileCount":11,"unpackedSize":136137,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCDcELenY20fiFMD2bkcrTkmiisfVxpBWBlLNIlR4Jg0AIgKjs0LHTu6E45FoH4B7A4Y6zCe3fIaKiXoqDAxTpDepc="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjOkBUACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpKuA//eW78mK8pmTnlQayY+mFCB+FmPxXU9W73C2iNdoptgJVbyGVX\r\n+q17XONwLiecSMTUn5n80x/VoVR41AwAylih8/qlO0ovXZUOE90ZQhvhG7D6\r\n18e1gTc+1UpL4H1B8kq9jxFLebFPLTts/iK+Rb28cvnP3Vxcvy+VuSXD6Q5e\r\nqBWJdZ2N0GxKpxPeZsTnWb7owU0NXv14phIbUFDHF8Q19x4gWmkvep3DejNJ\r\nE4EuIAFXJaF1EsL0TJrUEnRdT8vsCE8A1QLZu+44QRsmVuOS0HyWCAKpk3WM\r\nQbTUtMpozvPSy9sU3bnQ/5u1roNviK6qo3CqfLwV5W4Na8DH32TqDKky+eJF\r\n80sfNEk8UD5GRASuOeJr13rRG3DAxyCctubUP9kRIvKnCRuTwU/9riNyD9fd\r\nrwjMMKBVt3mGCbRFl4SNl8KE5eTFLvUI40/wNMJqzTGE+FGKVcd98tVmT95V\r\na+RxtyYRX9o9Q7Krs6Ax24KN4D5bhYDoZlwyTHst3tFdu2DgDIKJqSlTY0yy\r\nlM2qR8O7SOFKQ+P1DW0hK4ZIPfqRKb3G84CNLPY/Vy2zgeaybXX+UYDqaUmJ\r\nPpgBWJwWxpyWkuMtXOdNskpeelI8XsvWTzllkWPKPx7c+ERiw9etk1z9hz20\r\nhZsA07TyRwib5l0tlzSZlp9qujlUlGxMQFw=\r\n=tnP7\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"znck","email":"rahulkdn@gmail.com"},"directories":{},"maintainers":[{"name":"znck","email":"rahulkdn@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/vue-virtual-textdocument_0.7.6-next-1664761915.0_1664761940405_0.5930425929255998"},"_hasShrinkwrap":false},"0.7.6-next-1664775821.0":{"name":"@vuedx/vue-virtual-textdocument","version":"0.7.6-next-1664775821.0","description":"A virtual filesystem to access blocks in SFC as files","main":"lib/index.js","module":"lib/index.mjs","types":"lib/index.d.ts","private":false,"keywords":["vue","vue sfc","sfc","vue virtual files"],"repository":{"type":"git","url":"git+https://github.com/znck/vue-developer-experience.git"},"author":{"name":"Rahul Kadyan","email":"rahulkdn@gmail.com","url":"https://znck.me/"},"funding":{"type":"individual","url":"https://github.com/sponsors/znck"},"license":"MIT","bugs":{"url":"https://github.com/znck/vue-developer-experience/issues"},"homepage":"https://github.com/znck/vue-developer-experience#readme","dependencies":{"@vuedx/compiler-sfc":"0.7.2-next-1664775821.0","@vuedx/compiler-tsx":"0.8.1-next-1664775821.0","@vuedx/shared":"0.7.5-next-1664775821.0","@vuedx/template-ast-types":"0.7.4-next-1664775821.0","@vuedx/transforms":"0.7.6-next-1664775821.0","sourcemap-codec":"^1.4.8","vscode-languageserver-textdocument":"^1.0.1","vscode-uri":"^2.1.2"},"devDependencies":{"typescript":"^4.6.3"},"scripts":{},"readme":"# Vue Virtual TextDocument\n\nAn implementation of virtual filesystem for accessing blocks in a `.vue` file as independent files.\n\n```\nnpm add @vuedx/vue-virtual-textdocument\n```\n<!-- #region API-DOCS -->\n<!-- Do not edit this file. It is a report generated by [scripts/docgen.js](https://github.com/znck/vue-developer-experience/tree/main/scripts/docgen.js). -->\n\n## API\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueSFCDocument-class\" id=\"-vuedx-vue-virtual-textdocument-VueSFCDocument-class\"></a>\n\n### [VueSFCDocument](#-vuedx-vue-virtual-textdocument-VueSFCDocument-class)\n\n\n\n<details><summary>More info</summary>\n\n**Signature:**\n```ts\nexport declare class VueSFCDocument implements TextDocument {\n  get blocks(): SFCBlock[];\n  static create(fileName: string, content: string, options?: Omit<CompileOptions, 'cache' | 'fileName'>, version?: number): VueSFCDocument;\n  get descriptor(): SFCDescriptor;\n  get errors(): Array<CompilerError | SyntaxError>;\n  get fileName(): string;\n  findGeneratedTextSpan(spanInOriginalText: TextSpan): TextSpan | null;\n  findMapping(positionType: 'original' | 'generated', position: Position, searchBias?: SourceMapBiasType): Mapping | null;\n  findOriginalTextSpan(spanInGeneratedText: TextSpan): TextSpan | null;\n  get generated(): TextDocument;\n  readonly generatedFileName: string;\n  generatedOffsetAt(offset: number): number | null;\n  generatedPositionFor(position: Position): Position | null;\n  getBlockAt(offset: number): SFCBlock | null;\n  getLineAndCharacterOfPosition(position: number): Position;\n  getSourceFile(fileName?: string): {\n        fileName: string;\n        readonly text: string;\n        lineMap: unknown;\n        getLineAndCharacterOfPosition: (position: number) => Position;\n    };\n  getText(range?: Range): string;\n  get languageId(): string;\n  get lineCount(): number;\n  lineMap: unknown | undefined;\n  get map(): string;\n  offsetAt(position: Position): number;\n  readonly options: Required<CompileOptions>;\n  get original(): TextDocument;\n  readonly originalFileName: string;\n  originalOffsetAt(offset: number): number | null;\n  originalPositionFor(position: Position): Position | null;\n  positionAt(offset: number): Position;\n  get snapshot(): VueToTsxSnapshot;\n  get templateAST(): RootNode | undefined;\n  get text(): string;\n  update(changes: TextDocumentContentChangeEvent[], version: number): void;\n  get uri(): string;\n  get version(): number;\n}\n```\n\n**Members:**\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueSFCDocument-create-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueSFCDocument-create-member-1-\"></a>\n\n#### [create](#-vuedx-vue-virtual-textdocument-VueSFCDocument-create-member-1-)\n\n\n\n**Signature:**\n```ts\nstatic create(fileName: string, content: string, options?: Omit<CompileOptions, 'cache' | 'fileName'>, version?: number): VueSFCDocument;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n| content | <code>string</code> | - |\n| options | <code><a href=\"#-Omit-type\">Omit</a><<a href=\"#-vuedx-compiler-tsx-CompileOptions-interface\">CompileOptions</a>, 'cache' &#124; 'fileName'></code> | - |\n| version | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueSFCDocument-findGeneratedTextSpan-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueSFCDocument-findGeneratedTextSpan-member-1-\"></a>\n\n#### [findGeneratedTextSpan](#-vuedx-vue-virtual-textdocument-VueSFCDocument-findGeneratedTextSpan-member-1-)\n\n\n\n**Signature:**\n```ts\nfindGeneratedTextSpan(spanInOriginalText: TextSpan): TextSpan | null;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| spanInOriginalText | <code><a href=\"#-vuedx-vue-virtual-textdocument-TextSpan-interface\">TextSpan</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueSFCDocument-findMapping-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueSFCDocument-findMapping-member-1-\"></a>\n\n#### [findMapping](#-vuedx-vue-virtual-textdocument-VueSFCDocument-findMapping-member-1-)\n\n\n\n**Signature:**\n```ts\nfindMapping(positionType: 'original' | 'generated', position: Position, searchBias?: SourceMapBiasType): Mapping | null;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| positionType | <code>'original' &#124; 'generated'</code> | - |\n| position | <code><a href=\"#vscode-languageserver-textdocument-Position-interface\">Position</a></code> | - |\n| searchBias | <code><a href=\"#-vuedx-vue-virtual-textdocument--SourceMapBiasType-type\">SourceMapBiasType</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueSFCDocument-findOriginalTextSpan-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueSFCDocument-findOriginalTextSpan-member-1-\"></a>\n\n#### [findOriginalTextSpan](#-vuedx-vue-virtual-textdocument-VueSFCDocument-findOriginalTextSpan-member-1-)\n\n\n\n**Signature:**\n```ts\nfindOriginalTextSpan(spanInGeneratedText: TextSpan): TextSpan | null;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| spanInGeneratedText | <code><a href=\"#-vuedx-vue-virtual-textdocument-TextSpan-interface\">TextSpan</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueSFCDocument-generatedOffsetAt-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueSFCDocument-generatedOffsetAt-member-1-\"></a>\n\n#### [generatedOffsetAt](#-vuedx-vue-virtual-textdocument-VueSFCDocument-generatedOffsetAt-member-1-)\n\n\n\n**Signature:**\n```ts\ngeneratedOffsetAt(offset: number): number | null;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueSFCDocument-generatedPositionFor-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueSFCDocument-generatedPositionFor-member-1-\"></a>\n\n#### [generatedPositionFor](#-vuedx-vue-virtual-textdocument-VueSFCDocument-generatedPositionFor-member-1-)\n\n\n\n**Signature:**\n```ts\ngeneratedPositionFor(position: Position): Position | null;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| position | <code><a href=\"#vscode-languageserver-textdocument-Position-interface\">Position</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueSFCDocument-getBlockAt-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueSFCDocument-getBlockAt-member-1-\"></a>\n\n#### [getBlockAt](#-vuedx-vue-virtual-textdocument-VueSFCDocument-getBlockAt-member-1-)\n\n\n\n**Signature:**\n```ts\ngetBlockAt(offset: number): SFCBlock | null;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueSFCDocument-getLineAndCharacterOfPosition-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueSFCDocument-getLineAndCharacterOfPosition-member-1-\"></a>\n\n#### [getLineAndCharacterOfPosition](#-vuedx-vue-virtual-textdocument-VueSFCDocument-getLineAndCharacterOfPosition-member-1-)\n\n\n\n**Signature:**\n```ts\ngetLineAndCharacterOfPosition(position: number): Position;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| position | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueSFCDocument-getSourceFile-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueSFCDocument-getSourceFile-member-1-\"></a>\n\n#### [getSourceFile](#-vuedx-vue-virtual-textdocument-VueSFCDocument-getSourceFile-member-1-)\n\n\n\n**Signature:**\n```ts\ngetSourceFile(fileName?: string): {\n        fileName: string;\n        readonly text: string;\n        lineMap: unknown;\n        getLineAndCharacterOfPosition: (position: number) => Position;\n    };\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueSFCDocument-getText-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueSFCDocument-getText-member-1-\"></a>\n\n#### [getText](#-vuedx-vue-virtual-textdocument-VueSFCDocument-getText-member-1-)\n\n\n\n**Signature:**\n```ts\ngetText(range?: Range): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| range | <code><a href=\"#vscode-languageserver-textdocument-Range-interface\">Range</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueSFCDocument-offsetAt-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueSFCDocument-offsetAt-member-1-\"></a>\n\n#### [offsetAt](#-vuedx-vue-virtual-textdocument-VueSFCDocument-offsetAt-member-1-)\n\n\n\n**Signature:**\n```ts\noffsetAt(position: Position): number;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| position | <code><a href=\"#vscode-languageserver-textdocument-Position-interface\">Position</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueSFCDocument-originalOffsetAt-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueSFCDocument-originalOffsetAt-member-1-\"></a>\n\n#### [originalOffsetAt](#-vuedx-vue-virtual-textdocument-VueSFCDocument-originalOffsetAt-member-1-)\n\n\n\n**Signature:**\n```ts\noriginalOffsetAt(offset: number): number | null;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueSFCDocument-originalPositionFor-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueSFCDocument-originalPositionFor-member-1-\"></a>\n\n#### [originalPositionFor](#-vuedx-vue-virtual-textdocument-VueSFCDocument-originalPositionFor-member-1-)\n\n\n\n**Signature:**\n```ts\noriginalPositionFor(position: Position): Position | null;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| position | <code><a href=\"#vscode-languageserver-textdocument-Position-interface\">Position</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueSFCDocument-positionAt-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueSFCDocument-positionAt-member-1-\"></a>\n\n#### [positionAt](#-vuedx-vue-virtual-textdocument-VueSFCDocument-positionAt-member-1-)\n\n\n\n**Signature:**\n```ts\npositionAt(offset: number): Position;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueSFCDocument-update-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueSFCDocument-update-member-1-\"></a>\n\n#### [update](#-vuedx-vue-virtual-textdocument-VueSFCDocument-update-member-1-)\n\n\n\n**Signature:**\n```ts\nupdate(changes: TextDocumentContentChangeEvent[], version: number): void;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| changes | <code><a href=\"#vscode-languageserver-textdocument-TextDocumentContentChangeEvent-type\">TextDocumentContentChangeEvent</a>[]</code> | - |\n| version | <code>number</code> | - |\n\n<br>\n</details>\n\n<br>\n\n\n## Types\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-TextSpan-interface\" id=\"-vuedx-vue-virtual-textdocument-TextSpan-interface\"></a>\n\n### [TextSpan](#-vuedx-vue-virtual-textdocument-TextSpan-interface)\n\n\n\n```ts\nexport interface TextSpan {\n  length: number;\n  start: number;\n}\n```\n\n\n<br>\n<!-- #region API-DOCS -->\n\n## Support\n\nThis package is part of [VueDX project](https://github.com/znck/vue-developer-experience), maintained by [Rahul Kadyan](https://github.com/znck). You can [💖 sponsor him](https://github.com/sponsors/znck) for continued development of this package and other VueDX tools.\n\n<p align=\"center\">\n  <a href=\"https://cdn.jsdelivr.net/gh/znck/sponsors@main/sponsors.svg\">\n    <img src='https://cdn.jsdelivr.net/gh/znck/sponsors@main/sponsors.png'/>\n  </a>\n</p>\n","readmeFilename":"readme.md","_id":"@vuedx/vue-virtual-textdocument@0.7.6-next-1664775821.0","_integrity":"sha512-kCOwxUqlSogEXIEQG9O/pkHWGgWWE7PDszOiycWO5+8Ek3osCmG3k2ie9L/gYC3KGpFIx3TfegmAiuTX4Og6xg==","_resolved":"/tmp/b1de1412092dc483d1bac4cd03696ca1/vuedx-vue-virtual-textdocument-0.7.6-next-1664775821.0.tgz","_from":"file:vuedx-vue-virtual-textdocument-0.7.6-next-1664775821.0.tgz","_nodeVersion":"18.10.0","_npmVersion":"8.19.2","dist":{"integrity":"sha512-kCOwxUqlSogEXIEQG9O/pkHWGgWWE7PDszOiycWO5+8Ek3osCmG3k2ie9L/gYC3KGpFIx3TfegmAiuTX4Og6xg==","shasum":"06940f0d6b97ac4f03482e53b96b062952728750","tarball":"https://registry.npmjs.org/@vuedx/vue-virtual-textdocument/-/vue-virtual-textdocument-0.7.6-next-1664775821.0.tgz","fileCount":11,"unpackedSize":136137,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQD2WueYK0elOVKjUnd7+sDVvaiIYLUqIPZZ3ieFbf7pmwIgMVE8NaI8+Xn3pEytG90peLLFVaIeyhFI49K+Do3EB6Q="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjOnakACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmop1hAAn21vBQGNUkc82Y1CHVRgCYZJxbebbh1eoRYZfOCzx9ReFuok\r\nwboSgRD+Z5dbD0jBcATomI/7tSguSsg/hwdpiDLENge4G0I7PijRfDFy12xu\r\nbhMDTCQYxaZUDCY01TcuMN4FQ9kuOtFP6dFcYK9KfIJgJY/MKtnQMbMtJ7gR\r\nfw+prQ/ZbnbOm7bzth9ETaJMF+79f4EnvR33rvftkufN85juktVH+6qVj9SE\r\nucCAkW/U1uDnNqPLWhkIYBcHVw/tPXSo2qzRseZxaqxAomvv8nkJ+Jgn9r8Y\r\nkE3qNj1wMVE/0Q5DMOOzHMBwikf94TF0JjI3IL2a5kmwW0jUL7SpTa2pfg/D\r\n7q9HtqlDQV9oUjGtKyF7yYtieIVeH89MNU9uX42tMPl9RduT71f++OX43m7h\r\nNrlOuSraTk1A9HKrRzI2TCQSpwvYNvFPlT9/M2v3cVp5EyrBjcmxUK9AQqTt\r\nal167zASEeWz6s5OVkFR5U6pomDoIa8ygy/sBDlisxFU/WFDU74fLrFKbiz3\r\nYs/KFkoOeyZ1JrGmud3Vg3jrHjFzhZx8w1/Y53+j6DrXBpE3BSqyqAQpWcRB\r\n998ZoKXeoOX+HCZTLkzXaKka2+cjaGki3LsI56YopfW+nDqCyipNKghgEshN\r\nMa2g53OSosyLkMrYuXd4Tguf3DTFKjy45eo=\r\n=Raqy\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"znck","email":"rahulkdn@gmail.com"},"directories":{},"maintainers":[{"name":"znck","email":"rahulkdn@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/vue-virtual-textdocument_0.7.6-next-1664775821.0_1664775844613_0.4582036977719708"},"_hasShrinkwrap":false},"0.7.6-next-1664852417.0":{"name":"@vuedx/vue-virtual-textdocument","version":"0.7.6-next-1664852417.0","description":"A virtual filesystem to access blocks in SFC as files","main":"lib/index.js","module":"lib/index.mjs","types":"lib/index.d.ts","private":false,"keywords":["vue","vue sfc","sfc","vue virtual files"],"repository":{"type":"git","url":"git+https://github.com/znck/vue-developer-experience.git"},"author":{"name":"Rahul Kadyan","email":"rahulkdn@gmail.com","url":"https://znck.me/"},"funding":{"type":"individual","url":"https://github.com/sponsors/znck"},"license":"MIT","bugs":{"url":"https://github.com/znck/vue-developer-experience/issues"},"homepage":"https://github.com/znck/vue-developer-experience#readme","dependencies":{"@vuedx/compiler-sfc":"0.7.2-next-1664852417.0","@vuedx/compiler-tsx":"0.8.1-next-1664852417.0","@vuedx/shared":"0.7.5-next-1664852417.0","@vuedx/template-ast-types":"0.7.4-next-1664852417.0","@vuedx/transforms":"0.7.6-next-1664852417.0","sourcemap-codec":"^1.4.8","vscode-languageserver-textdocument":"^1.0.1","vscode-uri":"^2.1.2"},"devDependencies":{"typescript":"^4.6.3"},"scripts":{},"readme":"# Vue Virtual TextDocument\n\nAn implementation of virtual filesystem for accessing blocks in a `.vue` file as independent files.\n\n```\nnpm add @vuedx/vue-virtual-textdocument\n```\n<!-- #region API-DOCS -->\n<!-- Do not edit this file. It is a report generated by [scripts/docgen.js](https://github.com/znck/vue-developer-experience/tree/main/scripts/docgen.js). -->\n\n## API\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueSFCDocument-class\" id=\"-vuedx-vue-virtual-textdocument-VueSFCDocument-class\"></a>\n\n### [VueSFCDocument](#-vuedx-vue-virtual-textdocument-VueSFCDocument-class)\n\n\n\n<details><summary>More info</summary>\n\n**Signature:**\n```ts\nexport declare class VueSFCDocument implements TextDocument {\n  get blocks(): SFCBlock[];\n  static create(fileName: string, content: string, options?: Omit<CompileOptions, 'cache' | 'fileName'>, version?: number): VueSFCDocument;\n  get descriptor(): SFCDescriptor;\n  get errors(): Array<CompilerError | SyntaxError>;\n  get fileName(): string;\n  findGeneratedTextSpan(spanInOriginalText: TextSpan): TextSpan | null;\n  findMapping(positionType: 'original' | 'generated', position: Position, searchBias?: SourceMapBiasType): Mapping | null;\n  findOriginalTextSpan(spanInGeneratedText: TextSpan): TextSpan | null;\n  get generated(): TextDocument;\n  readonly generatedFileName: string;\n  generatedOffsetAt(offset: number): number | null;\n  generatedPositionFor(position: Position): Position | null;\n  getBlockAt(offset: number): SFCBlock | null;\n  getLineAndCharacterOfPosition(position: number): Position;\n  getSourceFile(fileName?: string): {\n        fileName: string;\n        readonly text: string;\n        lineMap: unknown;\n        getLineAndCharacterOfPosition: (position: number) => Position;\n    };\n  getText(range?: Range): string;\n  get languageId(): string;\n  get lineCount(): number;\n  lineMap: unknown | undefined;\n  get map(): string;\n  offsetAt(position: Position): number;\n  readonly options: Required<CompileOptions>;\n  get original(): TextDocument;\n  readonly originalFileName: string;\n  originalOffsetAt(offset: number): number | null;\n  originalPositionFor(position: Position): Position | null;\n  positionAt(offset: number): Position;\n  get snapshot(): VueToTsxSnapshot;\n  get templateAST(): RootNode | undefined;\n  get text(): string;\n  update(changes: TextDocumentContentChangeEvent[], version: number): void;\n  get uri(): string;\n  get version(): number;\n}\n```\n\n**Members:**\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueSFCDocument-create-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueSFCDocument-create-member-1-\"></a>\n\n#### [create](#-vuedx-vue-virtual-textdocument-VueSFCDocument-create-member-1-)\n\n\n\n**Signature:**\n```ts\nstatic create(fileName: string, content: string, options?: Omit<CompileOptions, 'cache' | 'fileName'>, version?: number): VueSFCDocument;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n| content | <code>string</code> | - |\n| options | <code><a href=\"#-Omit-type\">Omit</a><<a href=\"#-vuedx-compiler-tsx-CompileOptions-interface\">CompileOptions</a>, 'cache' &#124; 'fileName'></code> | - |\n| version | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueSFCDocument-findGeneratedTextSpan-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueSFCDocument-findGeneratedTextSpan-member-1-\"></a>\n\n#### [findGeneratedTextSpan](#-vuedx-vue-virtual-textdocument-VueSFCDocument-findGeneratedTextSpan-member-1-)\n\n\n\n**Signature:**\n```ts\nfindGeneratedTextSpan(spanInOriginalText: TextSpan): TextSpan | null;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| spanInOriginalText | <code><a href=\"#-vuedx-vue-virtual-textdocument-TextSpan-interface\">TextSpan</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueSFCDocument-findMapping-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueSFCDocument-findMapping-member-1-\"></a>\n\n#### [findMapping](#-vuedx-vue-virtual-textdocument-VueSFCDocument-findMapping-member-1-)\n\n\n\n**Signature:**\n```ts\nfindMapping(positionType: 'original' | 'generated', position: Position, searchBias?: SourceMapBiasType): Mapping | null;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| positionType | <code>'original' &#124; 'generated'</code> | - |\n| position | <code><a href=\"#vscode-languageserver-textdocument-Position-interface\">Position</a></code> | - |\n| searchBias | <code><a href=\"#-vuedx-vue-virtual-textdocument--SourceMapBiasType-type\">SourceMapBiasType</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueSFCDocument-findOriginalTextSpan-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueSFCDocument-findOriginalTextSpan-member-1-\"></a>\n\n#### [findOriginalTextSpan](#-vuedx-vue-virtual-textdocument-VueSFCDocument-findOriginalTextSpan-member-1-)\n\n\n\n**Signature:**\n```ts\nfindOriginalTextSpan(spanInGeneratedText: TextSpan): TextSpan | null;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| spanInGeneratedText | <code><a href=\"#-vuedx-vue-virtual-textdocument-TextSpan-interface\">TextSpan</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueSFCDocument-generatedOffsetAt-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueSFCDocument-generatedOffsetAt-member-1-\"></a>\n\n#### [generatedOffsetAt](#-vuedx-vue-virtual-textdocument-VueSFCDocument-generatedOffsetAt-member-1-)\n\n\n\n**Signature:**\n```ts\ngeneratedOffsetAt(offset: number): number | null;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueSFCDocument-generatedPositionFor-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueSFCDocument-generatedPositionFor-member-1-\"></a>\n\n#### [generatedPositionFor](#-vuedx-vue-virtual-textdocument-VueSFCDocument-generatedPositionFor-member-1-)\n\n\n\n**Signature:**\n```ts\ngeneratedPositionFor(position: Position): Position | null;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| position | <code><a href=\"#vscode-languageserver-textdocument-Position-interface\">Position</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueSFCDocument-getBlockAt-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueSFCDocument-getBlockAt-member-1-\"></a>\n\n#### [getBlockAt](#-vuedx-vue-virtual-textdocument-VueSFCDocument-getBlockAt-member-1-)\n\n\n\n**Signature:**\n```ts\ngetBlockAt(offset: number): SFCBlock | null;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueSFCDocument-getLineAndCharacterOfPosition-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueSFCDocument-getLineAndCharacterOfPosition-member-1-\"></a>\n\n#### [getLineAndCharacterOfPosition](#-vuedx-vue-virtual-textdocument-VueSFCDocument-getLineAndCharacterOfPosition-member-1-)\n\n\n\n**Signature:**\n```ts\ngetLineAndCharacterOfPosition(position: number): Position;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| position | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueSFCDocument-getSourceFile-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueSFCDocument-getSourceFile-member-1-\"></a>\n\n#### [getSourceFile](#-vuedx-vue-virtual-textdocument-VueSFCDocument-getSourceFile-member-1-)\n\n\n\n**Signature:**\n```ts\ngetSourceFile(fileName?: string): {\n        fileName: string;\n        readonly text: string;\n        lineMap: unknown;\n        getLineAndCharacterOfPosition: (position: number) => Position;\n    };\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueSFCDocument-getText-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueSFCDocument-getText-member-1-\"></a>\n\n#### [getText](#-vuedx-vue-virtual-textdocument-VueSFCDocument-getText-member-1-)\n\n\n\n**Signature:**\n```ts\ngetText(range?: Range): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| range | <code><a href=\"#vscode-languageserver-textdocument-Range-interface\">Range</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueSFCDocument-offsetAt-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueSFCDocument-offsetAt-member-1-\"></a>\n\n#### [offsetAt](#-vuedx-vue-virtual-textdocument-VueSFCDocument-offsetAt-member-1-)\n\n\n\n**Signature:**\n```ts\noffsetAt(position: Position): number;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| position | <code><a href=\"#vscode-languageserver-textdocument-Position-interface\">Position</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueSFCDocument-originalOffsetAt-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueSFCDocument-originalOffsetAt-member-1-\"></a>\n\n#### [originalOffsetAt](#-vuedx-vue-virtual-textdocument-VueSFCDocument-originalOffsetAt-member-1-)\n\n\n\n**Signature:**\n```ts\noriginalOffsetAt(offset: number): number | null;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueSFCDocument-originalPositionFor-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueSFCDocument-originalPositionFor-member-1-\"></a>\n\n#### [originalPositionFor](#-vuedx-vue-virtual-textdocument-VueSFCDocument-originalPositionFor-member-1-)\n\n\n\n**Signature:**\n```ts\noriginalPositionFor(position: Position): Position | null;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| position | <code><a href=\"#vscode-languageserver-textdocument-Position-interface\">Position</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueSFCDocument-positionAt-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueSFCDocument-positionAt-member-1-\"></a>\n\n#### [positionAt](#-vuedx-vue-virtual-textdocument-VueSFCDocument-positionAt-member-1-)\n\n\n\n**Signature:**\n```ts\npositionAt(offset: number): Position;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueSFCDocument-update-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueSFCDocument-update-member-1-\"></a>\n\n#### [update](#-vuedx-vue-virtual-textdocument-VueSFCDocument-update-member-1-)\n\n\n\n**Signature:**\n```ts\nupdate(changes: TextDocumentContentChangeEvent[], version: number): void;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| changes | <code><a href=\"#vscode-languageserver-textdocument-TextDocumentContentChangeEvent-type\">TextDocumentContentChangeEvent</a>[]</code> | - |\n| version | <code>number</code> | - |\n\n<br>\n</details>\n\n<br>\n\n\n## Types\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-TextSpan-interface\" id=\"-vuedx-vue-virtual-textdocument-TextSpan-interface\"></a>\n\n### [TextSpan](#-vuedx-vue-virtual-textdocument-TextSpan-interface)\n\n\n\n```ts\nexport interface TextSpan {\n  length: number;\n  start: number;\n}\n```\n\n\n<br>\n<!-- #region API-DOCS -->\n\n## Support\n\nThis package is part of [VueDX project](https://github.com/znck/vue-developer-experience), maintained by [Rahul Kadyan](https://github.com/znck). You can [💖 sponsor him](https://github.com/sponsors/znck) for continued development of this package and other VueDX tools.\n\n<p align=\"center\">\n  <a href=\"https://cdn.jsdelivr.net/gh/znck/sponsors@main/sponsors.svg\">\n    <img src='https://cdn.jsdelivr.net/gh/znck/sponsors@main/sponsors.png'/>\n  </a>\n</p>\n","readmeFilename":"readme.md","_id":"@vuedx/vue-virtual-textdocument@0.7.6-next-1664852417.0","_integrity":"sha512-V7/4w/jTny19w/XWmeTRq8WGcQNjWDfC+aSFjeJdNsE/Cz3xGG9WNjD0dFYCPVuvLT8pTFUx5GMqcmg85RR73Q==","_resolved":"/tmp/8f06627b44f662573a84de754ad0bc68/vuedx-vue-virtual-textdocument-0.7.6-next-1664852417.0.tgz","_from":"file:vuedx-vue-virtual-textdocument-0.7.6-next-1664852417.0.tgz","_nodeVersion":"18.10.0","_npmVersion":"8.19.2","dist":{"integrity":"sha512-V7/4w/jTny19w/XWmeTRq8WGcQNjWDfC+aSFjeJdNsE/Cz3xGG9WNjD0dFYCPVuvLT8pTFUx5GMqcmg85RR73Q==","shasum":"ec493ed7bf65be63c1dd0219090ada9fdd89694a","tarball":"https://registry.npmjs.org/@vuedx/vue-virtual-textdocument/-/vue-virtual-textdocument-0.7.6-next-1664852417.0.tgz","fileCount":11,"unpackedSize":136137,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIH32io5M8mJa0Q7vGeqxTHqv5u6c10oWVTEfGpfzugAXAiAJ9ddNVWYpRTP+CR1hE5uYjKnKyqlGiACUb8YWdAGqqA=="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjO6HhACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrM4w//VCDQDMLNnyYNg3W4ekfQBlBxWpNVNZyj6Az8TTr9Lvv1+8/P\r\nVwBsNXOsSv8gIJ4mTXWpYElg8HUSUlcJ+cVrgm8NmcJ1FExIDBVkExfceHbk\r\n5ux42Pjw/mb1hHdmbfqlJWm2FPIN9h/24KlYMFKWhmUTrHR7uMC55MlPw3PU\r\nJwM6HEmCImGdbQBgj2IIwazmOWJRs4kxkXKFoASmHbdUI4OfWJtm8oFX0eEm\r\nvPooaWrupR4vkxnddDZMQVOaMIgccu9lP3NGV6H0Z/SWZSwIsQF/YRUPTiLG\r\nhjngvsWIKbEzhwRgGACqXrUX6ESXwQfNHXH0s23AWT+5XEeOu2aU0b9vmB0X\r\nGLRGRMlCABXOf+SBW+ZcxBrgiK5J1YtyVK9MYF8jHj2QBEvA/04B4KQ6+MQW\r\nQ0U3A7dBM2YaIjygiTo4qKuT91EkFv0rrzK+3uut6kFDwl4t5PbgBqo89CaO\r\nvWaxzpN4XPjz+ZLaTZ9wT5Md/lbhp/v8MYL4W46q+YIaBYUVRVegCoLwbpVt\r\nEEQPD6sEQOMygvnjLKwzumUqM4N/S0AR2QoYNVDoQiKf+Ni+E6+781Eagzjm\r\nTyXXJ/gUlsl5ajeNNSmrAHr/OKvPeAFQdHK+LiU6Sm+GY8SKP/I9760gMpAT\r\n73c8JHjbG7CijfBoQIPf9Aa4IISJX2ksBbY=\r\n=K+C3\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"znck","email":"rahulkdn@gmail.com"},"directories":{},"maintainers":[{"name":"znck","email":"rahulkdn@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/vue-virtual-textdocument_0.7.6-next-1664852417.0_1664852449276_0.12172806939206593"},"_hasShrinkwrap":false},"0.7.6-next-1665816659.0":{"name":"@vuedx/vue-virtual-textdocument","version":"0.7.6-next-1665816659.0","description":"A virtual filesystem to access blocks in SFC as files","main":"lib/index.js","module":"lib/index.mjs","types":"lib/index.d.ts","private":false,"keywords":["vue","vue sfc","sfc","vue virtual files"],"repository":{"type":"git","url":"git+https://github.com/znck/vue-developer-experience.git"},"author":{"name":"Rahul Kadyan","email":"rahulkdn@gmail.com","url":"https://znck.me/"},"funding":{"type":"individual","url":"https://github.com/sponsors/znck"},"license":"MIT","bugs":{"url":"https://github.com/znck/vue-developer-experience/issues"},"homepage":"https://github.com/znck/vue-developer-experience#readme","dependencies":{"@vuedx/compiler-sfc":"0.7.2-next-1665816659.0","@vuedx/compiler-tsx":"0.8.1-next-1665816659.0","@vuedx/shared":"0.7.5-next-1665816659.0","@vuedx/template-ast-types":"0.7.4-next-1665816659.0","@vuedx/transforms":"0.7.6-next-1665816659.0","sourcemap-codec":"^1.4.8","vscode-languageserver-textdocument":"^1.0.1","vscode-uri":"^2.1.2"},"devDependencies":{"typescript":"^4.6.3"},"scripts":{},"readme":"# Vue Virtual TextDocument\n\nAn implementation of virtual filesystem for accessing blocks in a `.vue` file as independent files.\n\n```\nnpm add @vuedx/vue-virtual-textdocument\n```\n<!-- #region API-DOCS -->\n<!-- Do not edit this file. It is a report generated by [scripts/docgen.js](https://github.com/znck/vue-developer-experience/tree/main/scripts/docgen.js). -->\n\n## API\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueSFCDocument-class\" id=\"-vuedx-vue-virtual-textdocument-VueSFCDocument-class\"></a>\n\n### [VueSFCDocument](#-vuedx-vue-virtual-textdocument-VueSFCDocument-class)\n\n\n\n<details><summary>More info</summary>\n\n**Signature:**\n```ts\nexport declare class VueSFCDocument implements TextDocument {\n  get blocks(): SFCBlock[];\n  static create(fileName: string, content: string, options?: Omit<CompileOptions, 'cache' | 'fileName'>, version?: number): VueSFCDocument;\n  get descriptor(): SFCDescriptor;\n  get errors(): Array<CompilerError | SyntaxError>;\n  get fileName(): string;\n  findGeneratedTextSpan(spanInOriginalText: TextSpan): TextSpan | null;\n  findMapping(positionType: 'original' | 'generated', position: Position, searchBias?: SourceMapBiasType): Mapping | null;\n  findOriginalTextSpan(spanInGeneratedText: TextSpan): TextSpan | null;\n  get generated(): TextDocument;\n  readonly generatedFileName: string;\n  generatedOffsetAt(offset: number): number | null;\n  generatedPositionFor(position: Position): Position | null;\n  getBlockAt(offset: number): SFCBlock | null;\n  getLineAndCharacterOfPosition(position: number): Position;\n  getSourceFile(fileName?: string): {\n        fileName: string;\n        readonly text: string;\n        lineMap: unknown;\n        getLineAndCharacterOfPosition: (position: number) => Position;\n    };\n  getText(range?: Range): string;\n  get languageId(): string;\n  get lineCount(): number;\n  lineMap: unknown | undefined;\n  get map(): string;\n  offsetAt(position: Position): number;\n  readonly options: Required<CompileOptions>;\n  get original(): TextDocument;\n  readonly originalFileName: string;\n  originalOffsetAt(offset: number): number | null;\n  originalPositionFor(position: Position): Position | null;\n  positionAt(offset: number): Position;\n  get snapshot(): VueToTsxSnapshot;\n  get templateAST(): RootNode | undefined;\n  get text(): string;\n  update(changes: TextDocumentContentChangeEvent[], version: number): void;\n  get uri(): string;\n  get version(): number;\n}\n```\n\n**Members:**\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueSFCDocument-create-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueSFCDocument-create-member-1-\"></a>\n\n#### [create](#-vuedx-vue-virtual-textdocument-VueSFCDocument-create-member-1-)\n\n\n\n**Signature:**\n```ts\nstatic create(fileName: string, content: string, options?: Omit<CompileOptions, 'cache' | 'fileName'>, version?: number): VueSFCDocument;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n| content | <code>string</code> | - |\n| options | <code><a href=\"#-Omit-type\">Omit</a><<a href=\"#-vuedx-compiler-tsx-CompileOptions-interface\">CompileOptions</a>, 'cache' &#124; 'fileName'></code> | - |\n| version | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueSFCDocument-findGeneratedTextSpan-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueSFCDocument-findGeneratedTextSpan-member-1-\"></a>\n\n#### [findGeneratedTextSpan](#-vuedx-vue-virtual-textdocument-VueSFCDocument-findGeneratedTextSpan-member-1-)\n\n\n\n**Signature:**\n```ts\nfindGeneratedTextSpan(spanInOriginalText: TextSpan): TextSpan | null;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| spanInOriginalText | <code><a href=\"#-vuedx-vue-virtual-textdocument-TextSpan-interface\">TextSpan</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueSFCDocument-findMapping-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueSFCDocument-findMapping-member-1-\"></a>\n\n#### [findMapping](#-vuedx-vue-virtual-textdocument-VueSFCDocument-findMapping-member-1-)\n\n\n\n**Signature:**\n```ts\nfindMapping(positionType: 'original' | 'generated', position: Position, searchBias?: SourceMapBiasType): Mapping | null;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| positionType | <code>'original' &#124; 'generated'</code> | - |\n| position | <code><a href=\"#vscode-languageserver-textdocument-Position-interface\">Position</a></code> | - |\n| searchBias | <code><a href=\"#-vuedx-vue-virtual-textdocument--SourceMapBiasType-type\">SourceMapBiasType</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueSFCDocument-findOriginalTextSpan-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueSFCDocument-findOriginalTextSpan-member-1-\"></a>\n\n#### [findOriginalTextSpan](#-vuedx-vue-virtual-textdocument-VueSFCDocument-findOriginalTextSpan-member-1-)\n\n\n\n**Signature:**\n```ts\nfindOriginalTextSpan(spanInGeneratedText: TextSpan): TextSpan | null;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| spanInGeneratedText | <code><a href=\"#-vuedx-vue-virtual-textdocument-TextSpan-interface\">TextSpan</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueSFCDocument-generatedOffsetAt-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueSFCDocument-generatedOffsetAt-member-1-\"></a>\n\n#### [generatedOffsetAt](#-vuedx-vue-virtual-textdocument-VueSFCDocument-generatedOffsetAt-member-1-)\n\n\n\n**Signature:**\n```ts\ngeneratedOffsetAt(offset: number): number | null;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueSFCDocument-generatedPositionFor-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueSFCDocument-generatedPositionFor-member-1-\"></a>\n\n#### [generatedPositionFor](#-vuedx-vue-virtual-textdocument-VueSFCDocument-generatedPositionFor-member-1-)\n\n\n\n**Signature:**\n```ts\ngeneratedPositionFor(position: Position): Position | null;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| position | <code><a href=\"#vscode-languageserver-textdocument-Position-interface\">Position</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueSFCDocument-getBlockAt-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueSFCDocument-getBlockAt-member-1-\"></a>\n\n#### [getBlockAt](#-vuedx-vue-virtual-textdocument-VueSFCDocument-getBlockAt-member-1-)\n\n\n\n**Signature:**\n```ts\ngetBlockAt(offset: number): SFCBlock | null;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueSFCDocument-getLineAndCharacterOfPosition-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueSFCDocument-getLineAndCharacterOfPosition-member-1-\"></a>\n\n#### [getLineAndCharacterOfPosition](#-vuedx-vue-virtual-textdocument-VueSFCDocument-getLineAndCharacterOfPosition-member-1-)\n\n\n\n**Signature:**\n```ts\ngetLineAndCharacterOfPosition(position: number): Position;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| position | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueSFCDocument-getSourceFile-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueSFCDocument-getSourceFile-member-1-\"></a>\n\n#### [getSourceFile](#-vuedx-vue-virtual-textdocument-VueSFCDocument-getSourceFile-member-1-)\n\n\n\n**Signature:**\n```ts\ngetSourceFile(fileName?: string): {\n        fileName: string;\n        readonly text: string;\n        lineMap: unknown;\n        getLineAndCharacterOfPosition: (position: number) => Position;\n    };\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueSFCDocument-getText-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueSFCDocument-getText-member-1-\"></a>\n\n#### [getText](#-vuedx-vue-virtual-textdocument-VueSFCDocument-getText-member-1-)\n\n\n\n**Signature:**\n```ts\ngetText(range?: Range): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| range | <code><a href=\"#vscode-languageserver-textdocument-Range-interface\">Range</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueSFCDocument-offsetAt-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueSFCDocument-offsetAt-member-1-\"></a>\n\n#### [offsetAt](#-vuedx-vue-virtual-textdocument-VueSFCDocument-offsetAt-member-1-)\n\n\n\n**Signature:**\n```ts\noffsetAt(position: Position): number;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| position | <code><a href=\"#vscode-languageserver-textdocument-Position-interface\">Position</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueSFCDocument-originalOffsetAt-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueSFCDocument-originalOffsetAt-member-1-\"></a>\n\n#### [originalOffsetAt](#-vuedx-vue-virtual-textdocument-VueSFCDocument-originalOffsetAt-member-1-)\n\n\n\n**Signature:**\n```ts\noriginalOffsetAt(offset: number): number | null;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueSFCDocument-originalPositionFor-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueSFCDocument-originalPositionFor-member-1-\"></a>\n\n#### [originalPositionFor](#-vuedx-vue-virtual-textdocument-VueSFCDocument-originalPositionFor-member-1-)\n\n\n\n**Signature:**\n```ts\noriginalPositionFor(position: Position): Position | null;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| position | <code><a href=\"#vscode-languageserver-textdocument-Position-interface\">Position</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueSFCDocument-positionAt-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueSFCDocument-positionAt-member-1-\"></a>\n\n#### [positionAt](#-vuedx-vue-virtual-textdocument-VueSFCDocument-positionAt-member-1-)\n\n\n\n**Signature:**\n```ts\npositionAt(offset: number): Position;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueSFCDocument-update-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueSFCDocument-update-member-1-\"></a>\n\n#### [update](#-vuedx-vue-virtual-textdocument-VueSFCDocument-update-member-1-)\n\n\n\n**Signature:**\n```ts\nupdate(changes: TextDocumentContentChangeEvent[], version: number): void;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| changes | <code><a href=\"#vscode-languageserver-textdocument-TextDocumentContentChangeEvent-type\">TextDocumentContentChangeEvent</a>[]</code> | - |\n| version | <code>number</code> | - |\n\n<br>\n</details>\n\n<br>\n\n\n## Types\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-TextSpan-interface\" id=\"-vuedx-vue-virtual-textdocument-TextSpan-interface\"></a>\n\n### [TextSpan](#-vuedx-vue-virtual-textdocument-TextSpan-interface)\n\n\n\n```ts\nexport interface TextSpan {\n  length: number;\n  start: number;\n}\n```\n\n\n<br>\n<!-- #region API-DOCS -->\n\n## Support\n\nThis package is part of [VueDX project](https://github.com/znck/vue-developer-experience), maintained by [Rahul Kadyan](https://github.com/znck). You can [💖 sponsor him](https://github.com/sponsors/znck) for continued development of this package and other VueDX tools.\n\n<p align=\"center\">\n  <a href=\"https://cdn.jsdelivr.net/gh/znck/sponsors@main/sponsors.svg\">\n    <img src='https://cdn.jsdelivr.net/gh/znck/sponsors@main/sponsors.png'/>\n  </a>\n</p>\n","readmeFilename":"readme.md","_id":"@vuedx/vue-virtual-textdocument@0.7.6-next-1665816659.0","_integrity":"sha512-HXU52qTwHK658+8tNCGLYfl9E3GrrCPhCWcdBn/nnz5QG6iXu5x198DigITkWmsKSVGgW0ttXsVreLhsHfZb7Q==","_resolved":"/tmp/1a358939cf6ee766eafc8b67fb7f6026/vuedx-vue-virtual-textdocument-0.7.6-next-1665816659.0.tgz","_from":"file:vuedx-vue-virtual-textdocument-0.7.6-next-1665816659.0.tgz","_nodeVersion":"18.10.0","_npmVersion":"8.19.2","dist":{"integrity":"sha512-HXU52qTwHK658+8tNCGLYfl9E3GrrCPhCWcdBn/nnz5QG6iXu5x198DigITkWmsKSVGgW0ttXsVreLhsHfZb7Q==","shasum":"b54252e8ec45fdc8d6a4f5f330cceb8bcaced7af","tarball":"https://registry.npmjs.org/@vuedx/vue-virtual-textdocument/-/vue-virtual-textdocument-0.7.6-next-1665816659.0.tgz","fileCount":11,"unpackedSize":136137,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIHjua5Szc4RT3QKRkAfFBHdU5+XIQbDoKwfzWK0qbQN8AiEAxDDiXq2rJKajNUWFNATJ3HNx1wpd/oK7bmuPHYPM+3s="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjSlhwACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmoPBw//UtS6KQ2gT2P/GqWv1F5vSVg5W4xBBGgPPTiV/na4HM5srUOj\r\nJNetpq2nTr91Sj4ESFBlAzZ2bIn1amorFwU+HRejXEIHrUtubqU5gayr4mEz\r\n/Os3Ip3rlzJUQGkzE04o3r0jgT5+ObGh35BZBmsKMWKdbgBOJBGiNrT0JWjf\r\n/wsImuo7x2zNe/0ONUSxDOhhZMWu8BC54yD+NqhgntqIhj33istrGq01ExxQ\r\njPiit6PV650at9SAgAuozwkgfdkJTo6bGat2Y98xhBA6lpfj61SzEJ1MYFbL\r\ndXyHiv9BOmDY9lSeQqeYMv8WPZJ4mRJMcPm9P/vXIxweaiweW3aA/2uDfiht\r\nMmcpLuYxg4A4/0WhLwonTjqfUPOEDekiT41j1KG1dzVm9NhJrEbYSLhCUFQ+\r\nX3VBWEEIEcTJI3mT0UkxacsP2ZaknnyTBX42mBSw9Ejs9PLcSYctBLKuXfTf\r\nRj4xXgYkNQeDKvlvitpVSlS/8FAq3vNiFtXNeq1G0GmHg1E2kFLl6F2eSAqi\r\nPcd+jTrFksvdXole8ekgT3s04dKHeGaIeBx5X8nHFX1gFLBMkVaDDPX0ms+J\r\nV8wCDjtEvOVxTU6nUq5MRvIXDnjSn1Y/7fjJROl/fAQ+fLHVOWg3EPKB3ui5\r\n8ycs9TZ/B6Dx508u8/0ljgkNGZA/mHHlaxc=\r\n=rtUw\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"znck","email":"rahulkdn@gmail.com"},"directories":{},"maintainers":[{"name":"znck","email":"rahulkdn@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/vue-virtual-textdocument_0.7.6-next-1665816659.0_1665816687888_0.5535187047529979"},"_hasShrinkwrap":false},"0.7.6-next-1665904926.0":{"name":"@vuedx/vue-virtual-textdocument","version":"0.7.6-next-1665904926.0","description":"A virtual filesystem to access blocks in SFC as files","main":"lib/index.js","module":"lib/index.mjs","types":"lib/index.d.ts","private":false,"keywords":["vue","vue sfc","sfc","vue virtual files"],"repository":{"type":"git","url":"git+https://github.com/znck/vue-developer-experience.git"},"author":{"name":"Rahul Kadyan","email":"rahulkdn@gmail.com","url":"https://znck.me/"},"funding":{"type":"individual","url":"https://github.com/sponsors/znck"},"license":"MIT","bugs":{"url":"https://github.com/znck/vue-developer-experience/issues"},"homepage":"https://github.com/znck/vue-developer-experience#readme","dependencies":{"@vuedx/compiler-sfc":"0.7.2-next-1665904926.0","@vuedx/compiler-tsx":"0.8.1-next-1665904926.0","@vuedx/shared":"0.7.5-next-1665904926.0","@vuedx/template-ast-types":"0.7.4-next-1665904926.0","@vuedx/transforms":"0.7.6-next-1665904926.0","sourcemap-codec":"^1.4.8","vscode-languageserver-textdocument":"^1.0.1","vscode-uri":"^2.1.2"},"devDependencies":{"typescript":"^4.6.3"},"scripts":{},"readme":"# Vue Virtual TextDocument\n\nAn implementation of virtual filesystem for accessing blocks in a `.vue` file as independent files.\n\n```\nnpm add @vuedx/vue-virtual-textdocument\n```\n<!-- #region API-DOCS -->\n<!-- Do not edit this file. It is a report generated by [scripts/docgen.js](https://github.com/znck/vue-developer-experience/tree/main/scripts/docgen.js). -->\n\n## API\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueSFCDocument-class\" id=\"-vuedx-vue-virtual-textdocument-VueSFCDocument-class\"></a>\n\n### [VueSFCDocument](#-vuedx-vue-virtual-textdocument-VueSFCDocument-class)\n\n\n\n<details><summary>More info</summary>\n\n**Signature:**\n```ts\nexport declare class VueSFCDocument implements TextDocument {\n  get blocks(): SFCBlock[];\n  static create(fileName: string, content: string, options?: Omit<CompileOptions, 'cache' | 'fileName'>, version?: number): VueSFCDocument;\n  get descriptor(): SFCDescriptor;\n  get errors(): Array<CompilerError | SyntaxError>;\n  get fileName(): string;\n  findGeneratedTextSpan(spanInOriginalText: TextSpan): TextSpan | null;\n  findMapping(positionType: 'original' | 'generated', position: Position, searchBias?: SourceMapBiasType): Mapping | null;\n  findOriginalTextSpan(spanInGeneratedText: TextSpan): TextSpan | null;\n  get generated(): TextDocument;\n  readonly generatedFileName: string;\n  generatedOffsetAt(offset: number): number | null;\n  generatedPositionFor(position: Position): Position | null;\n  getBlockAt(offset: number): SFCBlock | null;\n  getLineAndCharacterOfPosition(position: number): Position;\n  getSourceFile(fileName?: string): {\n        fileName: string;\n        readonly text: string;\n        lineMap: unknown;\n        getLineAndCharacterOfPosition: (position: number) => Position;\n    };\n  getText(range?: Range): string;\n  get languageId(): string;\n  get lineCount(): number;\n  lineMap: unknown | undefined;\n  get map(): string;\n  offsetAt(position: Position): number;\n  readonly options: Required<CompileOptions>;\n  get original(): TextDocument;\n  readonly originalFileName: string;\n  originalOffsetAt(offset: number): number | null;\n  originalPositionFor(position: Position): Position | null;\n  positionAt(offset: number): Position;\n  get snapshot(): VueToTsxSnapshot;\n  get templateAST(): RootNode | undefined;\n  get text(): string;\n  update(changes: TextDocumentContentChangeEvent[], version: number): void;\n  get uri(): string;\n  get version(): number;\n}\n```\n\n**Members:**\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueSFCDocument-create-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueSFCDocument-create-member-1-\"></a>\n\n#### [create](#-vuedx-vue-virtual-textdocument-VueSFCDocument-create-member-1-)\n\n\n\n**Signature:**\n```ts\nstatic create(fileName: string, content: string, options?: Omit<CompileOptions, 'cache' | 'fileName'>, version?: number): VueSFCDocument;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n| content | <code>string</code> | - |\n| options | <code><a href=\"#-Omit-type\">Omit</a><<a href=\"#-vuedx-compiler-tsx-CompileOptions-interface\">CompileOptions</a>, 'cache' &#124; 'fileName'></code> | - |\n| version | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueSFCDocument-findGeneratedTextSpan-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueSFCDocument-findGeneratedTextSpan-member-1-\"></a>\n\n#### [findGeneratedTextSpan](#-vuedx-vue-virtual-textdocument-VueSFCDocument-findGeneratedTextSpan-member-1-)\n\n\n\n**Signature:**\n```ts\nfindGeneratedTextSpan(spanInOriginalText: TextSpan): TextSpan | null;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| spanInOriginalText | <code><a href=\"#-vuedx-vue-virtual-textdocument-TextSpan-interface\">TextSpan</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueSFCDocument-findMapping-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueSFCDocument-findMapping-member-1-\"></a>\n\n#### [findMapping](#-vuedx-vue-virtual-textdocument-VueSFCDocument-findMapping-member-1-)\n\n\n\n**Signature:**\n```ts\nfindMapping(positionType: 'original' | 'generated', position: Position, searchBias?: SourceMapBiasType): Mapping | null;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| positionType | <code>'original' &#124; 'generated'</code> | - |\n| position | <code><a href=\"#vscode-languageserver-textdocument-Position-interface\">Position</a></code> | - |\n| searchBias | <code><a href=\"#-vuedx-vue-virtual-textdocument--SourceMapBiasType-type\">SourceMapBiasType</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueSFCDocument-findOriginalTextSpan-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueSFCDocument-findOriginalTextSpan-member-1-\"></a>\n\n#### [findOriginalTextSpan](#-vuedx-vue-virtual-textdocument-VueSFCDocument-findOriginalTextSpan-member-1-)\n\n\n\n**Signature:**\n```ts\nfindOriginalTextSpan(spanInGeneratedText: TextSpan): TextSpan | null;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| spanInGeneratedText | <code><a href=\"#-vuedx-vue-virtual-textdocument-TextSpan-interface\">TextSpan</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueSFCDocument-generatedOffsetAt-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueSFCDocument-generatedOffsetAt-member-1-\"></a>\n\n#### [generatedOffsetAt](#-vuedx-vue-virtual-textdocument-VueSFCDocument-generatedOffsetAt-member-1-)\n\n\n\n**Signature:**\n```ts\ngeneratedOffsetAt(offset: number): number | null;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueSFCDocument-generatedPositionFor-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueSFCDocument-generatedPositionFor-member-1-\"></a>\n\n#### [generatedPositionFor](#-vuedx-vue-virtual-textdocument-VueSFCDocument-generatedPositionFor-member-1-)\n\n\n\n**Signature:**\n```ts\ngeneratedPositionFor(position: Position): Position | null;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| position | <code><a href=\"#vscode-languageserver-textdocument-Position-interface\">Position</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueSFCDocument-getBlockAt-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueSFCDocument-getBlockAt-member-1-\"></a>\n\n#### [getBlockAt](#-vuedx-vue-virtual-textdocument-VueSFCDocument-getBlockAt-member-1-)\n\n\n\n**Signature:**\n```ts\ngetBlockAt(offset: number): SFCBlock | null;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueSFCDocument-getLineAndCharacterOfPosition-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueSFCDocument-getLineAndCharacterOfPosition-member-1-\"></a>\n\n#### [getLineAndCharacterOfPosition](#-vuedx-vue-virtual-textdocument-VueSFCDocument-getLineAndCharacterOfPosition-member-1-)\n\n\n\n**Signature:**\n```ts\ngetLineAndCharacterOfPosition(position: number): Position;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| position | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueSFCDocument-getSourceFile-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueSFCDocument-getSourceFile-member-1-\"></a>\n\n#### [getSourceFile](#-vuedx-vue-virtual-textdocument-VueSFCDocument-getSourceFile-member-1-)\n\n\n\n**Signature:**\n```ts\ngetSourceFile(fileName?: string): {\n        fileName: string;\n        readonly text: string;\n        lineMap: unknown;\n        getLineAndCharacterOfPosition: (position: number) => Position;\n    };\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueSFCDocument-getText-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueSFCDocument-getText-member-1-\"></a>\n\n#### [getText](#-vuedx-vue-virtual-textdocument-VueSFCDocument-getText-member-1-)\n\n\n\n**Signature:**\n```ts\ngetText(range?: Range): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| range | <code><a href=\"#vscode-languageserver-textdocument-Range-interface\">Range</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueSFCDocument-offsetAt-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueSFCDocument-offsetAt-member-1-\"></a>\n\n#### [offsetAt](#-vuedx-vue-virtual-textdocument-VueSFCDocument-offsetAt-member-1-)\n\n\n\n**Signature:**\n```ts\noffsetAt(position: Position): number;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| position | <code><a href=\"#vscode-languageserver-textdocument-Position-interface\">Position</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueSFCDocument-originalOffsetAt-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueSFCDocument-originalOffsetAt-member-1-\"></a>\n\n#### [originalOffsetAt](#-vuedx-vue-virtual-textdocument-VueSFCDocument-originalOffsetAt-member-1-)\n\n\n\n**Signature:**\n```ts\noriginalOffsetAt(offset: number): number | null;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueSFCDocument-originalPositionFor-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueSFCDocument-originalPositionFor-member-1-\"></a>\n\n#### [originalPositionFor](#-vuedx-vue-virtual-textdocument-VueSFCDocument-originalPositionFor-member-1-)\n\n\n\n**Signature:**\n```ts\noriginalPositionFor(position: Position): Position | null;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| position | <code><a href=\"#vscode-languageserver-textdocument-Position-interface\">Position</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueSFCDocument-positionAt-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueSFCDocument-positionAt-member-1-\"></a>\n\n#### [positionAt](#-vuedx-vue-virtual-textdocument-VueSFCDocument-positionAt-member-1-)\n\n\n\n**Signature:**\n```ts\npositionAt(offset: number): Position;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueSFCDocument-update-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueSFCDocument-update-member-1-\"></a>\n\n#### [update](#-vuedx-vue-virtual-textdocument-VueSFCDocument-update-member-1-)\n\n\n\n**Signature:**\n```ts\nupdate(changes: TextDocumentContentChangeEvent[], version: number): void;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| changes | <code><a href=\"#vscode-languageserver-textdocument-TextDocumentContentChangeEvent-type\">TextDocumentContentChangeEvent</a>[]</code> | - |\n| version | <code>number</code> | - |\n\n<br>\n</details>\n\n<br>\n\n\n## Types\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-TextSpan-interface\" id=\"-vuedx-vue-virtual-textdocument-TextSpan-interface\"></a>\n\n### [TextSpan](#-vuedx-vue-virtual-textdocument-TextSpan-interface)\n\n\n\n```ts\nexport interface TextSpan {\n  length: number;\n  start: number;\n}\n```\n\n\n<br>\n<!-- #region API-DOCS -->\n\n## Support\n\nThis package is part of [VueDX project](https://github.com/znck/vue-developer-experience), maintained by [Rahul Kadyan](https://github.com/znck). You can [💖 sponsor him](https://github.com/sponsors/znck) for continued development of this package and other VueDX tools.\n\n<p align=\"center\">\n  <a href=\"https://cdn.jsdelivr.net/gh/znck/sponsors@main/sponsors.svg\">\n    <img src='https://cdn.jsdelivr.net/gh/znck/sponsors@main/sponsors.png'/>\n  </a>\n</p>\n","readmeFilename":"readme.md","_id":"@vuedx/vue-virtual-textdocument@0.7.6-next-1665904926.0","_integrity":"sha512-ptkgV7MBNxOoviIajCvc9Uhg2D2e2j9in/yLbwW7sZ2mEBO54RiB1JXKZIPxH5BL5pRjh9oOGgehXui38oRAfA==","_resolved":"/tmp/0e81ded86379ccc5ebf521e344df8cda/vuedx-vue-virtual-textdocument-0.7.6-next-1665904926.0.tgz","_from":"file:vuedx-vue-virtual-textdocument-0.7.6-next-1665904926.0.tgz","_nodeVersion":"18.10.0","_npmVersion":"8.19.2","dist":{"integrity":"sha512-ptkgV7MBNxOoviIajCvc9Uhg2D2e2j9in/yLbwW7sZ2mEBO54RiB1JXKZIPxH5BL5pRjh9oOGgehXui38oRAfA==","shasum":"06d778eef074c22d6e56da0725f9229b03f5f5d1","tarball":"https://registry.npmjs.org/@vuedx/vue-virtual-textdocument/-/vue-virtual-textdocument-0.7.6-next-1665904926.0.tgz","fileCount":11,"unpackedSize":139262,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCAhjoTvMTXCH/Z6J3AXD4HjTvtDM9+eGb8vSpfEZOn/wIhAJCudOcWjigaSmeduCX1/695fLIIVqUwYnI3DLjUMIvm"}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjS7E5ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmoElg//ReFU/fqizevdCuIDJTxR/dDUrtxavwtMTQIMbTYK2SXbgV4K\r\nxWqh6obwFUmTC+vos9qWfPAyCPRQX88HakblmlXvjsIqX8LmpWvtHxfDkQ0K\r\n0HrrRqrADza457TVh2oaTkR8asBB+WOHTjuKQiEbAVLmX2pLLDAtbhBQKmCi\r\nOt77USpC5uooxaKPrU10P/DL8NMni7xlolDL5KtAxoGP+X0/MTdgbY6/X/+p\r\nICNle47sxJM4w8VwbPxQ1O2EKcg1Z4aupLZae8huUqX4sMSp0VVyeOpVw4UD\r\nQdE5hGfwVxKTVRVu4XmJY+NYR9aSuZ3CvkLhceDk/Nb2elkAiJmfutAVOY4g\r\nvkMdyoS/LVCGENjTYdqYv2d2vCtmrlNmop9R8FVBX52453ovQrkPDx1ftMuE\r\nGIiXOXtnVq6+9PSVZ7ilcDhOXCZfWokCue3mWRW99Z3decxRRhiazeXCcWzs\r\n75WpuOlPwI9+NlOROfbqswl8BAt4OYmIK/k9qMF16zSTISHqHTfXe4KvotrU\r\nB365QcgI1tPiYsmSgUh/nHIgEA5H+oAbBWlTy1m7kdIerO9FfJBf+lf52Uly\r\ns9Z46wlu4NROGNr+uWgvvW/K5qdyvpt6m/CFzcIKtVvds5JDpNG/PdaSjuQN\r\nMnUUHna3zIjsSml+kXZK+en76Vaz8EaxBgY=\r\n=TXHn\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"znck","email":"rahulkdn@gmail.com"},"directories":{},"maintainers":[{"name":"znck","email":"rahulkdn@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/vue-virtual-textdocument_0.7.6-next-1665904926.0_1665904953128_0.9932665524070179"},"_hasShrinkwrap":false},"0.7.6-next-1665979403.0":{"name":"@vuedx/vue-virtual-textdocument","version":"0.7.6-next-1665979403.0","description":"A virtual filesystem to access blocks in SFC as files","main":"lib/index.js","module":"lib/index.mjs","types":"lib/index.d.ts","private":false,"keywords":["vue","vue sfc","sfc","vue virtual files"],"repository":{"type":"git","url":"git+https://github.com/znck/vue-developer-experience.git"},"author":{"name":"Rahul Kadyan","email":"rahulkdn@gmail.com","url":"https://znck.me/"},"funding":{"type":"individual","url":"https://github.com/sponsors/znck"},"license":"MIT","bugs":{"url":"https://github.com/znck/vue-developer-experience/issues"},"homepage":"https://github.com/znck/vue-developer-experience#readme","dependencies":{"@vuedx/compiler-sfc":"0.7.2-next-1665979403.0","@vuedx/compiler-tsx":"0.8.1-next-1665979403.0","@vuedx/shared":"0.7.5-next-1665979403.0","@vuedx/template-ast-types":"0.7.4-next-1665979403.0","@vuedx/transforms":"0.7.6-next-1665979403.0","sourcemap-codec":"^1.4.8","vscode-languageserver-textdocument":"^1.0.1","vscode-uri":"^2.1.2"},"devDependencies":{"typescript":"^4.6.3"},"scripts":{},"readme":"# Vue Virtual TextDocument\n\nAn implementation of virtual filesystem for accessing blocks in a `.vue` file as independent files.\n\n```\nnpm add @vuedx/vue-virtual-textdocument\n```\n<!-- #region API-DOCS -->\n<!-- Do not edit this file. It is a report generated by [scripts/docgen.js](https://github.com/znck/vue-developer-experience/tree/main/scripts/docgen.js). -->\n\n## API\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueSFCDocument-class\" id=\"-vuedx-vue-virtual-textdocument-VueSFCDocument-class\"></a>\n\n### [VueSFCDocument](#-vuedx-vue-virtual-textdocument-VueSFCDocument-class)\n\n\n\n<details><summary>More info</summary>\n\n**Signature:**\n```ts\nexport declare class VueSFCDocument implements TextDocument {\n  get blocks(): SFCBlock[];\n  static create(fileName: string, content: string, options?: Omit<CompileOptions, 'cache' | 'fileName'>, version?: number): VueSFCDocument;\n  get descriptor(): SFCDescriptor;\n  get errors(): Array<CompilerError | SyntaxError>;\n  get fileName(): string;\n  findGeneratedTextSpan(spanInOriginalText: TextSpan): TextSpan | null;\n  findMapping(positionType: 'original' | 'generated', position: Position, searchBias?: SourceMapBiasType): Mapping | null;\n  findOriginalTextSpan(spanInGeneratedText: TextSpan): TextSpan | null;\n  get generated(): TextDocument;\n  readonly generatedFileName: string;\n  generatedOffsetAt(offset: number): number | null;\n  generatedPositionFor(position: Position): Position | null;\n  getBlockAt(offset: number): SFCBlock | null;\n  getLineAndCharacterOfPosition(position: number): Position;\n  getSourceFile(fileName?: string): {\n        fileName: string;\n        readonly text: string;\n        lineMap: unknown;\n        getLineAndCharacterOfPosition: (position: number) => Position;\n    };\n  getText(range?: Range): string;\n  get languageId(): string;\n  get lineCount(): number;\n  lineMap: unknown | undefined;\n  get map(): string;\n  offsetAt(position: Position): number;\n  readonly options: Required<CompileOptions>;\n  get original(): TextDocument;\n  readonly originalFileName: string;\n  originalOffsetAt(offset: number): number | null;\n  originalPositionFor(position: Position): Position | null;\n  positionAt(offset: number): Position;\n  get snapshot(): VueToTsxSnapshot;\n  get templateAST(): RootNode | undefined;\n  get text(): string;\n  update(changes: TextDocumentContentChangeEvent[], version: number): void;\n  get uri(): string;\n  get version(): number;\n}\n```\n\n**Members:**\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueSFCDocument-create-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueSFCDocument-create-member-1-\"></a>\n\n#### [create](#-vuedx-vue-virtual-textdocument-VueSFCDocument-create-member-1-)\n\n\n\n**Signature:**\n```ts\nstatic create(fileName: string, content: string, options?: Omit<CompileOptions, 'cache' | 'fileName'>, version?: number): VueSFCDocument;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n| content | <code>string</code> | - |\n| options | <code><a href=\"#-Omit-type\">Omit</a><<a href=\"#-vuedx-compiler-tsx-CompileOptions-interface\">CompileOptions</a>, 'cache' &#124; 'fileName'></code> | - |\n| version | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueSFCDocument-findGeneratedTextSpan-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueSFCDocument-findGeneratedTextSpan-member-1-\"></a>\n\n#### [findGeneratedTextSpan](#-vuedx-vue-virtual-textdocument-VueSFCDocument-findGeneratedTextSpan-member-1-)\n\n\n\n**Signature:**\n```ts\nfindGeneratedTextSpan(spanInOriginalText: TextSpan): TextSpan | null;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| spanInOriginalText | <code><a href=\"#-vuedx-vue-virtual-textdocument-TextSpan-interface\">TextSpan</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueSFCDocument-findMapping-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueSFCDocument-findMapping-member-1-\"></a>\n\n#### [findMapping](#-vuedx-vue-virtual-textdocument-VueSFCDocument-findMapping-member-1-)\n\n\n\n**Signature:**\n```ts\nfindMapping(positionType: 'original' | 'generated', position: Position, searchBias?: SourceMapBiasType): Mapping | null;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| positionType | <code>'original' &#124; 'generated'</code> | - |\n| position | <code><a href=\"#vscode-languageserver-textdocument-Position-interface\">Position</a></code> | - |\n| searchBias | <code><a href=\"#-vuedx-vue-virtual-textdocument--SourceMapBiasType-type\">SourceMapBiasType</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueSFCDocument-findOriginalTextSpan-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueSFCDocument-findOriginalTextSpan-member-1-\"></a>\n\n#### [findOriginalTextSpan](#-vuedx-vue-virtual-textdocument-VueSFCDocument-findOriginalTextSpan-member-1-)\n\n\n\n**Signature:**\n```ts\nfindOriginalTextSpan(spanInGeneratedText: TextSpan): TextSpan | null;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| spanInGeneratedText | <code><a href=\"#-vuedx-vue-virtual-textdocument-TextSpan-interface\">TextSpan</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueSFCDocument-generatedOffsetAt-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueSFCDocument-generatedOffsetAt-member-1-\"></a>\n\n#### [generatedOffsetAt](#-vuedx-vue-virtual-textdocument-VueSFCDocument-generatedOffsetAt-member-1-)\n\n\n\n**Signature:**\n```ts\ngeneratedOffsetAt(offset: number): number | null;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueSFCDocument-generatedPositionFor-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueSFCDocument-generatedPositionFor-member-1-\"></a>\n\n#### [generatedPositionFor](#-vuedx-vue-virtual-textdocument-VueSFCDocument-generatedPositionFor-member-1-)\n\n\n\n**Signature:**\n```ts\ngeneratedPositionFor(position: Position): Position | null;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| position | <code><a href=\"#vscode-languageserver-textdocument-Position-interface\">Position</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueSFCDocument-getBlockAt-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueSFCDocument-getBlockAt-member-1-\"></a>\n\n#### [getBlockAt](#-vuedx-vue-virtual-textdocument-VueSFCDocument-getBlockAt-member-1-)\n\n\n\n**Signature:**\n```ts\ngetBlockAt(offset: number): SFCBlock | null;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueSFCDocument-getLineAndCharacterOfPosition-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueSFCDocument-getLineAndCharacterOfPosition-member-1-\"></a>\n\n#### [getLineAndCharacterOfPosition](#-vuedx-vue-virtual-textdocument-VueSFCDocument-getLineAndCharacterOfPosition-member-1-)\n\n\n\n**Signature:**\n```ts\ngetLineAndCharacterOfPosition(position: number): Position;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| position | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueSFCDocument-getSourceFile-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueSFCDocument-getSourceFile-member-1-\"></a>\n\n#### [getSourceFile](#-vuedx-vue-virtual-textdocument-VueSFCDocument-getSourceFile-member-1-)\n\n\n\n**Signature:**\n```ts\ngetSourceFile(fileName?: string): {\n        fileName: string;\n        readonly text: string;\n        lineMap: unknown;\n        getLineAndCharacterOfPosition: (position: number) => Position;\n    };\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueSFCDocument-getText-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueSFCDocument-getText-member-1-\"></a>\n\n#### [getText](#-vuedx-vue-virtual-textdocument-VueSFCDocument-getText-member-1-)\n\n\n\n**Signature:**\n```ts\ngetText(range?: Range): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| range | <code><a href=\"#vscode-languageserver-textdocument-Range-interface\">Range</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueSFCDocument-offsetAt-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueSFCDocument-offsetAt-member-1-\"></a>\n\n#### [offsetAt](#-vuedx-vue-virtual-textdocument-VueSFCDocument-offsetAt-member-1-)\n\n\n\n**Signature:**\n```ts\noffsetAt(position: Position): number;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| position | <code><a href=\"#vscode-languageserver-textdocument-Position-interface\">Position</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueSFCDocument-originalOffsetAt-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueSFCDocument-originalOffsetAt-member-1-\"></a>\n\n#### [originalOffsetAt](#-vuedx-vue-virtual-textdocument-VueSFCDocument-originalOffsetAt-member-1-)\n\n\n\n**Signature:**\n```ts\noriginalOffsetAt(offset: number): number | null;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueSFCDocument-originalPositionFor-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueSFCDocument-originalPositionFor-member-1-\"></a>\n\n#### [originalPositionFor](#-vuedx-vue-virtual-textdocument-VueSFCDocument-originalPositionFor-member-1-)\n\n\n\n**Signature:**\n```ts\noriginalPositionFor(position: Position): Position | null;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| position | <code><a href=\"#vscode-languageserver-textdocument-Position-interface\">Position</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueSFCDocument-positionAt-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueSFCDocument-positionAt-member-1-\"></a>\n\n#### [positionAt](#-vuedx-vue-virtual-textdocument-VueSFCDocument-positionAt-member-1-)\n\n\n\n**Signature:**\n```ts\npositionAt(offset: number): Position;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueSFCDocument-update-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueSFCDocument-update-member-1-\"></a>\n\n#### [update](#-vuedx-vue-virtual-textdocument-VueSFCDocument-update-member-1-)\n\n\n\n**Signature:**\n```ts\nupdate(changes: TextDocumentContentChangeEvent[], version: number): void;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| changes | <code><a href=\"#vscode-languageserver-textdocument-TextDocumentContentChangeEvent-type\">TextDocumentContentChangeEvent</a>[]</code> | - |\n| version | <code>number</code> | - |\n\n<br>\n</details>\n\n<br>\n\n\n## Types\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-TextSpan-interface\" id=\"-vuedx-vue-virtual-textdocument-TextSpan-interface\"></a>\n\n### [TextSpan](#-vuedx-vue-virtual-textdocument-TextSpan-interface)\n\n\n\n```ts\nexport interface TextSpan {\n  length: number;\n  start: number;\n}\n```\n\n\n<br>\n<!-- #region API-DOCS -->\n\n## Support\n\nThis package is part of [VueDX project](https://github.com/znck/vue-developer-experience), maintained by [Rahul Kadyan](https://github.com/znck). You can [💖 sponsor him](https://github.com/sponsors/znck) for continued development of this package and other VueDX tools.\n\n<p align=\"center\">\n  <a href=\"https://cdn.jsdelivr.net/gh/znck/sponsors@main/sponsors.svg\">\n    <img src='https://cdn.jsdelivr.net/gh/znck/sponsors@main/sponsors.png'/>\n  </a>\n</p>\n","readmeFilename":"readme.md","_id":"@vuedx/vue-virtual-textdocument@0.7.6-next-1665979403.0","_integrity":"sha512-F62szxaY8zZiZTsvESMjx4Ci+uSbbkJPJW9uugP4mbEpQHqp2lqt6n2pDTl/EK9UqQyqldzyS7urHlqR3K7Pew==","_resolved":"/tmp/f53bc31223b532f0ea73096fbe0084c2/vuedx-vue-virtual-textdocument-0.7.6-next-1665979403.0.tgz","_from":"file:vuedx-vue-virtual-textdocument-0.7.6-next-1665979403.0.tgz","_nodeVersion":"18.10.0","_npmVersion":"8.19.2","dist":{"integrity":"sha512-F62szxaY8zZiZTsvESMjx4Ci+uSbbkJPJW9uugP4mbEpQHqp2lqt6n2pDTl/EK9UqQyqldzyS7urHlqR3K7Pew==","shasum":"2cce52733635add0b2c7395f60104613da31f391","tarball":"https://registry.npmjs.org/@vuedx/vue-virtual-textdocument/-/vue-virtual-textdocument-0.7.6-next-1665979403.0.tgz","fileCount":11,"unpackedSize":139262,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIHoYx1guvztd+FOCCUCZoClPeQ10aMm5Eyf5lG9uS6epAiBPatHj5gOQT6ud17JYh3/7t/LqG16xvmyILE8Jn16lkA=="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjTNQqACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmoR2Q/5AeGZhqaWn2TQZGIttcQxQkEB+mg0cNaFDEKPQis/P+/Xa/q5\r\nGtJtn8weW5j55X4ANQOj8KiBIbsyTKj6TK2SC8HLuLnJI/4Ed/LHPChQ7JN3\r\n8mdX/61HG7nP3+k5NU/kj0kz3OmXA/Sjhfg4bpG+Jqg7RNuSYcDPr8h3Z63c\r\nDc3v+762rTsBrT4sjZ/tE0c6quTIiiLNH83CcE5Vox6xVFj2+D1huJlgrdbp\r\n5Dk0603xMAc2MQLcUbqb5LrBLPkQxy5ZffYa+X0I/R9Xkykh/DV0CGGlNwjH\r\nP8Uw2aGTQ5PTSSR2EYk5Bj98mGpb+zpQPvgS4uBDgUyIOF4GNe4T/SkcYogS\r\ntF/cMbWE9CsaK84DwU5w+Oz1oMVmvMgbJ+tgTGo+equIbCYkmEPr7++/8HFB\r\neArZv8Mz2VTLMQOVumYnQ/HAjY01ebivAFL5yzM8GryO03KPcJ5wLCsFSHVy\r\ncsU3ffcGEljr+dsI10vwqhFxGGLEtmyJXABVMm+tVETefjIk7c5OVUaiR/aS\r\nN0/7KUXNR7L23XkjEMaf+Qvdii+JjaywvBNeNwota/N3AhJOJOm9NIniKVu+\r\nfwOj6LZxnli2LztktNftQ47iS9fOeL3cY24QMsx4uKXfwMC/GZ7eMZwQQTUQ\r\nex8Xk0x5Pfgm7dqGg8QVz7yBJq/gbzDiTMU=\r\n=MLIu\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"znck","email":"rahulkdn@gmail.com"},"directories":{},"maintainers":[{"name":"znck","email":"rahulkdn@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/vue-virtual-textdocument_0.7.6-next-1665979403.0_1665979433915_0.8086638485745081"},"_hasShrinkwrap":false},"0.7.6-next-1665995999.0":{"name":"@vuedx/vue-virtual-textdocument","version":"0.7.6-next-1665995999.0","description":"A virtual filesystem to access blocks in SFC as files","main":"lib/index.js","module":"lib/index.mjs","types":"lib/index.d.ts","private":false,"keywords":["vue","vue sfc","sfc","vue virtual files"],"repository":{"type":"git","url":"git+https://github.com/znck/vue-developer-experience.git"},"author":{"name":"Rahul Kadyan","email":"rahulkdn@gmail.com","url":"https://znck.me/"},"funding":{"type":"individual","url":"https://github.com/sponsors/znck"},"license":"MIT","bugs":{"url":"https://github.com/znck/vue-developer-experience/issues"},"homepage":"https://github.com/znck/vue-developer-experience#readme","dependencies":{"@vuedx/compiler-sfc":"0.7.2-next-1665995999.0","@vuedx/compiler-tsx":"0.8.1-next-1665995999.0","@vuedx/shared":"0.7.5-next-1665995999.0","@vuedx/template-ast-types":"0.7.4-next-1665995999.0","@vuedx/transforms":"0.7.6-next-1665995999.0","sourcemap-codec":"^1.4.8","vscode-languageserver-textdocument":"^1.0.1","vscode-uri":"^2.1.2"},"devDependencies":{"typescript":"^4.6.3"},"scripts":{},"readme":"# Vue Virtual TextDocument\n\nAn implementation of virtual filesystem for accessing blocks in a `.vue` file as independent files.\n\n```\nnpm add @vuedx/vue-virtual-textdocument\n```\n<!-- #region API-DOCS -->\n<!-- Do not edit this file. It is a report generated by [scripts/docgen.js](https://github.com/znck/vue-developer-experience/tree/main/scripts/docgen.js). -->\n\n## API\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueSFCDocument-class\" id=\"-vuedx-vue-virtual-textdocument-VueSFCDocument-class\"></a>\n\n### [VueSFCDocument](#-vuedx-vue-virtual-textdocument-VueSFCDocument-class)\n\n\n\n<details><summary>More info</summary>\n\n**Signature:**\n```ts\nexport declare class VueSFCDocument implements TextDocument {\n  get blocks(): SFCBlock[];\n  static create(fileName: string, content: string, options?: Omit<CompileOptions, 'cache' | 'fileName'>, version?: number): VueSFCDocument;\n  get descriptor(): SFCDescriptor;\n  get errors(): Array<CompilerError | SyntaxError>;\n  get fileName(): string;\n  findGeneratedTextSpan(spanInOriginalText: TextSpan): TextSpan | null;\n  findMapping(positionType: 'original' | 'generated', position: Position, searchBias?: SourceMapBiasType): Mapping | null;\n  findOriginalTextSpan(spanInGeneratedText: TextSpan): TextSpan | null;\n  get generated(): TextDocument;\n  readonly generatedFileName: string;\n  generatedOffsetAt(offset: number): number | null;\n  generatedPositionFor(position: Position): Position | null;\n  getBlockAt(offset: number): SFCBlock | null;\n  getLineAndCharacterOfPosition(position: number): Position;\n  getSourceFile(fileName?: string): {\n        fileName: string;\n        readonly text: string;\n        lineMap: unknown;\n        getLineAndCharacterOfPosition: (position: number) => Position;\n    };\n  getText(range?: Range): string;\n  get languageId(): string;\n  get lineCount(): number;\n  lineMap: unknown | undefined;\n  get map(): string;\n  offsetAt(position: Position): number;\n  readonly options: Required<CompileOptions>;\n  get original(): TextDocument;\n  readonly originalFileName: string;\n  originalOffsetAt(offset: number): number | null;\n  originalPositionFor(position: Position): Position | null;\n  positionAt(offset: number): Position;\n  get snapshot(): VueToTsxSnapshot;\n  get templateAST(): RootNode | undefined;\n  get text(): string;\n  update(changes: TextDocumentContentChangeEvent[], version: number): void;\n  get uri(): string;\n  get version(): number;\n}\n```\n\n**Members:**\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueSFCDocument-create-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueSFCDocument-create-member-1-\"></a>\n\n#### [create](#-vuedx-vue-virtual-textdocument-VueSFCDocument-create-member-1-)\n\n\n\n**Signature:**\n```ts\nstatic create(fileName: string, content: string, options?: Omit<CompileOptions, 'cache' | 'fileName'>, version?: number): VueSFCDocument;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n| content | <code>string</code> | - |\n| options | <code><a href=\"#-Omit-type\">Omit</a><<a href=\"#-vuedx-compiler-tsx-CompileOptions-interface\">CompileOptions</a>, 'cache' &#124; 'fileName'></code> | - |\n| version | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueSFCDocument-findGeneratedTextSpan-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueSFCDocument-findGeneratedTextSpan-member-1-\"></a>\n\n#### [findGeneratedTextSpan](#-vuedx-vue-virtual-textdocument-VueSFCDocument-findGeneratedTextSpan-member-1-)\n\n\n\n**Signature:**\n```ts\nfindGeneratedTextSpan(spanInOriginalText: TextSpan): TextSpan | null;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| spanInOriginalText | <code><a href=\"#-vuedx-vue-virtual-textdocument-TextSpan-interface\">TextSpan</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueSFCDocument-findMapping-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueSFCDocument-findMapping-member-1-\"></a>\n\n#### [findMapping](#-vuedx-vue-virtual-textdocument-VueSFCDocument-findMapping-member-1-)\n\n\n\n**Signature:**\n```ts\nfindMapping(positionType: 'original' | 'generated', position: Position, searchBias?: SourceMapBiasType): Mapping | null;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| positionType | <code>'original' &#124; 'generated'</code> | - |\n| position | <code><a href=\"#vscode-languageserver-textdocument-Position-interface\">Position</a></code> | - |\n| searchBias | <code><a href=\"#-vuedx-vue-virtual-textdocument--SourceMapBiasType-type\">SourceMapBiasType</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueSFCDocument-findOriginalTextSpan-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueSFCDocument-findOriginalTextSpan-member-1-\"></a>\n\n#### [findOriginalTextSpan](#-vuedx-vue-virtual-textdocument-VueSFCDocument-findOriginalTextSpan-member-1-)\n\n\n\n**Signature:**\n```ts\nfindOriginalTextSpan(spanInGeneratedText: TextSpan): TextSpan | null;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| spanInGeneratedText | <code><a href=\"#-vuedx-vue-virtual-textdocument-TextSpan-interface\">TextSpan</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueSFCDocument-generatedOffsetAt-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueSFCDocument-generatedOffsetAt-member-1-\"></a>\n\n#### [generatedOffsetAt](#-vuedx-vue-virtual-textdocument-VueSFCDocument-generatedOffsetAt-member-1-)\n\n\n\n**Signature:**\n```ts\ngeneratedOffsetAt(offset: number): number | null;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueSFCDocument-generatedPositionFor-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueSFCDocument-generatedPositionFor-member-1-\"></a>\n\n#### [generatedPositionFor](#-vuedx-vue-virtual-textdocument-VueSFCDocument-generatedPositionFor-member-1-)\n\n\n\n**Signature:**\n```ts\ngeneratedPositionFor(position: Position): Position | null;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| position | <code><a href=\"#vscode-languageserver-textdocument-Position-interface\">Position</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueSFCDocument-getBlockAt-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueSFCDocument-getBlockAt-member-1-\"></a>\n\n#### [getBlockAt](#-vuedx-vue-virtual-textdocument-VueSFCDocument-getBlockAt-member-1-)\n\n\n\n**Signature:**\n```ts\ngetBlockAt(offset: number): SFCBlock | null;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueSFCDocument-getLineAndCharacterOfPosition-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueSFCDocument-getLineAndCharacterOfPosition-member-1-\"></a>\n\n#### [getLineAndCharacterOfPosition](#-vuedx-vue-virtual-textdocument-VueSFCDocument-getLineAndCharacterOfPosition-member-1-)\n\n\n\n**Signature:**\n```ts\ngetLineAndCharacterOfPosition(position: number): Position;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| position | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueSFCDocument-getSourceFile-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueSFCDocument-getSourceFile-member-1-\"></a>\n\n#### [getSourceFile](#-vuedx-vue-virtual-textdocument-VueSFCDocument-getSourceFile-member-1-)\n\n\n\n**Signature:**\n```ts\ngetSourceFile(fileName?: string): {\n        fileName: string;\n        readonly text: string;\n        lineMap: unknown;\n        getLineAndCharacterOfPosition: (position: number) => Position;\n    };\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueSFCDocument-getText-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueSFCDocument-getText-member-1-\"></a>\n\n#### [getText](#-vuedx-vue-virtual-textdocument-VueSFCDocument-getText-member-1-)\n\n\n\n**Signature:**\n```ts\ngetText(range?: Range): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| range | <code><a href=\"#vscode-languageserver-textdocument-Range-interface\">Range</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueSFCDocument-offsetAt-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueSFCDocument-offsetAt-member-1-\"></a>\n\n#### [offsetAt](#-vuedx-vue-virtual-textdocument-VueSFCDocument-offsetAt-member-1-)\n\n\n\n**Signature:**\n```ts\noffsetAt(position: Position): number;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| position | <code><a href=\"#vscode-languageserver-textdocument-Position-interface\">Position</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueSFCDocument-originalOffsetAt-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueSFCDocument-originalOffsetAt-member-1-\"></a>\n\n#### [originalOffsetAt](#-vuedx-vue-virtual-textdocument-VueSFCDocument-originalOffsetAt-member-1-)\n\n\n\n**Signature:**\n```ts\noriginalOffsetAt(offset: number): number | null;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueSFCDocument-originalPositionFor-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueSFCDocument-originalPositionFor-member-1-\"></a>\n\n#### [originalPositionFor](#-vuedx-vue-virtual-textdocument-VueSFCDocument-originalPositionFor-member-1-)\n\n\n\n**Signature:**\n```ts\noriginalPositionFor(position: Position): Position | null;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| position | <code><a href=\"#vscode-languageserver-textdocument-Position-interface\">Position</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueSFCDocument-positionAt-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueSFCDocument-positionAt-member-1-\"></a>\n\n#### [positionAt](#-vuedx-vue-virtual-textdocument-VueSFCDocument-positionAt-member-1-)\n\n\n\n**Signature:**\n```ts\npositionAt(offset: number): Position;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueSFCDocument-update-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueSFCDocument-update-member-1-\"></a>\n\n#### [update](#-vuedx-vue-virtual-textdocument-VueSFCDocument-update-member-1-)\n\n\n\n**Signature:**\n```ts\nupdate(changes: TextDocumentContentChangeEvent[], version: number): void;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| changes | <code><a href=\"#vscode-languageserver-textdocument-TextDocumentContentChangeEvent-type\">TextDocumentContentChangeEvent</a>[]</code> | - |\n| version | <code>number</code> | - |\n\n<br>\n</details>\n\n<br>\n\n\n## Types\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-TextSpan-interface\" id=\"-vuedx-vue-virtual-textdocument-TextSpan-interface\"></a>\n\n### [TextSpan](#-vuedx-vue-virtual-textdocument-TextSpan-interface)\n\n\n\n```ts\nexport interface TextSpan {\n  length: number;\n  start: number;\n}\n```\n\n\n<br>\n<!-- #region API-DOCS -->\n\n## Support\n\nThis package is part of [VueDX project](https://github.com/znck/vue-developer-experience), maintained by [Rahul Kadyan](https://github.com/znck). You can [💖 sponsor him](https://github.com/sponsors/znck) for continued development of this package and other VueDX tools.\n\n<p align=\"center\">\n  <a href=\"https://cdn.jsdelivr.net/gh/znck/sponsors@main/sponsors.svg\">\n    <img src='https://cdn.jsdelivr.net/gh/znck/sponsors@main/sponsors.png'/>\n  </a>\n</p>\n","readmeFilename":"readme.md","_id":"@vuedx/vue-virtual-textdocument@0.7.6-next-1665995999.0","_integrity":"sha512-qh9SMZwpuHIUJX2YNFA68u9l2ebTtN7+piogISTJtrxp5q8jsPKSBw83zTgYa76944HpCMt1uc2GRwZ7EDTw7g==","_resolved":"/tmp/472c768089a1b1d0374aa1dff375e250/vuedx-vue-virtual-textdocument-0.7.6-next-1665995999.0.tgz","_from":"file:vuedx-vue-virtual-textdocument-0.7.6-next-1665995999.0.tgz","_nodeVersion":"18.10.0","_npmVersion":"8.19.2","dist":{"integrity":"sha512-qh9SMZwpuHIUJX2YNFA68u9l2ebTtN7+piogISTJtrxp5q8jsPKSBw83zTgYa76944HpCMt1uc2GRwZ7EDTw7g==","shasum":"98879b386a3b44fc1008605644e527be4f798ada","tarball":"https://registry.npmjs.org/@vuedx/vue-virtual-textdocument/-/vue-virtual-textdocument-0.7.6-next-1665995999.0.tgz","fileCount":11,"unpackedSize":139262,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDNNar24TCw0qR8r5E6wRtNK+A6ea9iLwSsVjW1iDMVJwIhANzmyb68X/xA2MAjatkl/wIiTzZMn/6GvJYkt1UmfkOT"}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjTRT4ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrQHBAAiXbGDGfMiaW5Ja5o8dzFEs9glQJmjPzS69yxkXCFs2+Fr0pa\r\nGVdBjxdTrJh0yfc49zTARiQpkNRocGMzM3x672wQz+3D1nl6E5j/Y9wiUdlK\r\n4N6HZuM3VU9HtplTd7lXhfSsseJZAQmvz+AFVqY8UfmBSzpBaZZhCi+iNSaP\r\nCRYhDtXTbLRGmlaBHXdwMJCRXrNxiHCAg618dezCrUuBA0ygrZL6AchAzMMP\r\nLvXWaAInB9eTTfyrzJwn5/Jw4ujC5Ky0ICBc6+9XMvR+pED9utU6A6+TTBUM\r\n0xc4B01yrz5GP5rnxeFLKfXbX9KSurf7ghCoFHRnhO3OPNP2HiBtNTQDVvBA\r\nP5AhvnTz2EcdCTT1Kvtb/2MnscJeYmIhFZG2Wg+A5IKG7ZfQyY8Fl3IuN/7C\r\nqrBYQg96CHFT24jPLaqg3IV1XtNgg5+s2PAL3iDZcivv9+yYBWrsiC6ADKdz\r\ncOvrC3604dtdP8A6tkuILnxkzWlJZm88W8BrcARJnzSBj0qX0hOdw6MYnea8\r\n8xC1WxGwpBpoRobY4ssX5dZLv9dNk8shMmIPCXz1hJiIkslhx4Txweq5g3/T\r\nIhE3oU2YCv79UCPQIIC057XQ/oRfT81Ug9NfVGGVlBvRtrpx5XQIGreeoj0U\r\nuzyPLSNBQHXNKVRrYpxNsjvoz2YAoDDEJbY=\r\n=4Z7n\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"znck","email":"rahulkdn@gmail.com"},"directories":{},"maintainers":[{"name":"znck","email":"rahulkdn@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/vue-virtual-textdocument_0.7.6-next-1665995999.0_1665996024770_0.25726681437641497"},"_hasShrinkwrap":false},"0.7.6-next-1666119500.0":{"name":"@vuedx/vue-virtual-textdocument","version":"0.7.6-next-1666119500.0","description":"A virtual filesystem to access blocks in SFC as files","main":"lib/index.js","module":"lib/index.mjs","types":"lib/index.d.ts","private":false,"keywords":["vue","vue sfc","sfc","vue virtual files"],"repository":{"type":"git","url":"git+https://github.com/znck/vue-developer-experience.git"},"author":{"name":"Rahul Kadyan","email":"rahulkdn@gmail.com","url":"https://znck.me/"},"funding":{"type":"individual","url":"https://github.com/sponsors/znck"},"license":"MIT","bugs":{"url":"https://github.com/znck/vue-developer-experience/issues"},"homepage":"https://github.com/znck/vue-developer-experience#readme","dependencies":{"@vuedx/compiler-sfc":"0.7.2-next-1666119500.0","@vuedx/compiler-tsx":"0.8.1-next-1666119500.0","@vuedx/shared":"0.7.5-next-1666119500.0","@vuedx/template-ast-types":"0.7.4-next-1666119500.0","@vuedx/transforms":"0.7.6-next-1666119500.0","sourcemap-codec":"^1.4.8","vscode-languageserver-textdocument":"^1.0.1","vscode-uri":"^2.1.2"},"devDependencies":{"typescript":"^4.6.3"},"scripts":{},"readme":"# Vue Virtual TextDocument\n\nAn implementation of virtual filesystem for accessing blocks in a `.vue` file as independent files.\n\n```\nnpm add @vuedx/vue-virtual-textdocument\n```\n<!-- #region API-DOCS -->\n<!-- Do not edit this file. It is a report generated by [scripts/docgen.js](https://github.com/znck/vue-developer-experience/tree/main/scripts/docgen.js). -->\n\n## API\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueSFCDocument-class\" id=\"-vuedx-vue-virtual-textdocument-VueSFCDocument-class\"></a>\n\n### [VueSFCDocument](#-vuedx-vue-virtual-textdocument-VueSFCDocument-class)\n\n\n\n<details><summary>More info</summary>\n\n**Signature:**\n```ts\nexport declare class VueSFCDocument implements TextDocument {\n  get blocks(): SFCBlock[];\n  static create(fileName: string, content: string, options?: Omit<CompileOptions, 'cache' | 'fileName'>, version?: number): VueSFCDocument;\n  get descriptor(): SFCDescriptor;\n  get errors(): Array<CompilerError | SyntaxError>;\n  get fileName(): string;\n  findGeneratedTextSpan(spanInOriginalText: TextSpan): TextSpan | null;\n  findMapping(positionType: 'original' | 'generated', position: Position, searchBias?: SourceMapBiasType): Mapping | null;\n  findOriginalTextSpan(spanInGeneratedText: TextSpan): TextSpan | null;\n  get generated(): TextDocument;\n  readonly generatedFileName: string;\n  generatedOffsetAt(offset: number): number | null;\n  generatedPositionFor(position: Position): Position | null;\n  getBlockAt(offset: number): SFCBlock | null;\n  getLineAndCharacterOfPosition(position: number): Position;\n  getSourceFile(fileName?: string): {\n        fileName: string;\n        readonly text: string;\n        lineMap: unknown;\n        getLineAndCharacterOfPosition: (position: number) => Position;\n    };\n  getText(range?: Range): string;\n  get languageId(): string;\n  get lineCount(): number;\n  lineMap: unknown | undefined;\n  get map(): string;\n  offsetAt(position: Position): number;\n  readonly options: Required<CompileOptions>;\n  get original(): TextDocument;\n  readonly originalFileName: string;\n  originalOffsetAt(offset: number): number | null;\n  originalPositionFor(position: Position): Position | null;\n  positionAt(offset: number): Position;\n  get snapshot(): VueToTsxSnapshot;\n  get templateAST(): RootNode | undefined;\n  get text(): string;\n  update(changes: TextDocumentContentChangeEvent[], version: number): void;\n  get uri(): string;\n  get version(): number;\n}\n```\n\n**Members:**\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueSFCDocument-create-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueSFCDocument-create-member-1-\"></a>\n\n#### [create](#-vuedx-vue-virtual-textdocument-VueSFCDocument-create-member-1-)\n\n\n\n**Signature:**\n```ts\nstatic create(fileName: string, content: string, options?: Omit<CompileOptions, 'cache' | 'fileName'>, version?: number): VueSFCDocument;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n| content | <code>string</code> | - |\n| options | <code><a href=\"#-Omit-type\">Omit</a><<a href=\"#-vuedx-compiler-tsx-CompileOptions-interface\">CompileOptions</a>, 'cache' &#124; 'fileName'></code> | - |\n| version | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueSFCDocument-findGeneratedTextSpan-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueSFCDocument-findGeneratedTextSpan-member-1-\"></a>\n\n#### [findGeneratedTextSpan](#-vuedx-vue-virtual-textdocument-VueSFCDocument-findGeneratedTextSpan-member-1-)\n\n\n\n**Signature:**\n```ts\nfindGeneratedTextSpan(spanInOriginalText: TextSpan): TextSpan | null;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| spanInOriginalText | <code><a href=\"#-vuedx-vue-virtual-textdocument-TextSpan-interface\">TextSpan</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueSFCDocument-findMapping-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueSFCDocument-findMapping-member-1-\"></a>\n\n#### [findMapping](#-vuedx-vue-virtual-textdocument-VueSFCDocument-findMapping-member-1-)\n\n\n\n**Signature:**\n```ts\nfindMapping(positionType: 'original' | 'generated', position: Position, searchBias?: SourceMapBiasType): Mapping | null;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| positionType | <code>'original' &#124; 'generated'</code> | - |\n| position | <code><a href=\"#vscode-languageserver-textdocument-Position-interface\">Position</a></code> | - |\n| searchBias | <code><a href=\"#-vuedx-vue-virtual-textdocument--SourceMapBiasType-type\">SourceMapBiasType</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueSFCDocument-findOriginalTextSpan-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueSFCDocument-findOriginalTextSpan-member-1-\"></a>\n\n#### [findOriginalTextSpan](#-vuedx-vue-virtual-textdocument-VueSFCDocument-findOriginalTextSpan-member-1-)\n\n\n\n**Signature:**\n```ts\nfindOriginalTextSpan(spanInGeneratedText: TextSpan): TextSpan | null;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| spanInGeneratedText | <code><a href=\"#-vuedx-vue-virtual-textdocument-TextSpan-interface\">TextSpan</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueSFCDocument-generatedOffsetAt-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueSFCDocument-generatedOffsetAt-member-1-\"></a>\n\n#### [generatedOffsetAt](#-vuedx-vue-virtual-textdocument-VueSFCDocument-generatedOffsetAt-member-1-)\n\n\n\n**Signature:**\n```ts\ngeneratedOffsetAt(offset: number): number | null;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueSFCDocument-generatedPositionFor-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueSFCDocument-generatedPositionFor-member-1-\"></a>\n\n#### [generatedPositionFor](#-vuedx-vue-virtual-textdocument-VueSFCDocument-generatedPositionFor-member-1-)\n\n\n\n**Signature:**\n```ts\ngeneratedPositionFor(position: Position): Position | null;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| position | <code><a href=\"#vscode-languageserver-textdocument-Position-interface\">Position</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueSFCDocument-getBlockAt-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueSFCDocument-getBlockAt-member-1-\"></a>\n\n#### [getBlockAt](#-vuedx-vue-virtual-textdocument-VueSFCDocument-getBlockAt-member-1-)\n\n\n\n**Signature:**\n```ts\ngetBlockAt(offset: number): SFCBlock | null;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueSFCDocument-getLineAndCharacterOfPosition-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueSFCDocument-getLineAndCharacterOfPosition-member-1-\"></a>\n\n#### [getLineAndCharacterOfPosition](#-vuedx-vue-virtual-textdocument-VueSFCDocument-getLineAndCharacterOfPosition-member-1-)\n\n\n\n**Signature:**\n```ts\ngetLineAndCharacterOfPosition(position: number): Position;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| position | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueSFCDocument-getSourceFile-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueSFCDocument-getSourceFile-member-1-\"></a>\n\n#### [getSourceFile](#-vuedx-vue-virtual-textdocument-VueSFCDocument-getSourceFile-member-1-)\n\n\n\n**Signature:**\n```ts\ngetSourceFile(fileName?: string): {\n        fileName: string;\n        readonly text: string;\n        lineMap: unknown;\n        getLineAndCharacterOfPosition: (position: number) => Position;\n    };\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueSFCDocument-getText-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueSFCDocument-getText-member-1-\"></a>\n\n#### [getText](#-vuedx-vue-virtual-textdocument-VueSFCDocument-getText-member-1-)\n\n\n\n**Signature:**\n```ts\ngetText(range?: Range): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| range | <code><a href=\"#vscode-languageserver-textdocument-Range-interface\">Range</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueSFCDocument-offsetAt-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueSFCDocument-offsetAt-member-1-\"></a>\n\n#### [offsetAt](#-vuedx-vue-virtual-textdocument-VueSFCDocument-offsetAt-member-1-)\n\n\n\n**Signature:**\n```ts\noffsetAt(position: Position): number;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| position | <code><a href=\"#vscode-languageserver-textdocument-Position-interface\">Position</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueSFCDocument-originalOffsetAt-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueSFCDocument-originalOffsetAt-member-1-\"></a>\n\n#### [originalOffsetAt](#-vuedx-vue-virtual-textdocument-VueSFCDocument-originalOffsetAt-member-1-)\n\n\n\n**Signature:**\n```ts\noriginalOffsetAt(offset: number): number | null;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueSFCDocument-originalPositionFor-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueSFCDocument-originalPositionFor-member-1-\"></a>\n\n#### [originalPositionFor](#-vuedx-vue-virtual-textdocument-VueSFCDocument-originalPositionFor-member-1-)\n\n\n\n**Signature:**\n```ts\noriginalPositionFor(position: Position): Position | null;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| position | <code><a href=\"#vscode-languageserver-textdocument-Position-interface\">Position</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueSFCDocument-positionAt-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueSFCDocument-positionAt-member-1-\"></a>\n\n#### [positionAt](#-vuedx-vue-virtual-textdocument-VueSFCDocument-positionAt-member-1-)\n\n\n\n**Signature:**\n```ts\npositionAt(offset: number): Position;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueSFCDocument-update-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueSFCDocument-update-member-1-\"></a>\n\n#### [update](#-vuedx-vue-virtual-textdocument-VueSFCDocument-update-member-1-)\n\n\n\n**Signature:**\n```ts\nupdate(changes: TextDocumentContentChangeEvent[], version: number): void;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| changes | <code><a href=\"#vscode-languageserver-textdocument-TextDocumentContentChangeEvent-type\">TextDocumentContentChangeEvent</a>[]</code> | - |\n| version | <code>number</code> | - |\n\n<br>\n</details>\n\n<br>\n\n\n## Types\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-TextSpan-interface\" id=\"-vuedx-vue-virtual-textdocument-TextSpan-interface\"></a>\n\n### [TextSpan](#-vuedx-vue-virtual-textdocument-TextSpan-interface)\n\n\n\n```ts\nexport interface TextSpan {\n  length: number;\n  start: number;\n}\n```\n\n\n<br>\n<!-- #region API-DOCS -->\n\n## Support\n\nThis package is part of [VueDX project](https://github.com/znck/vue-developer-experience), maintained by [Rahul Kadyan](https://github.com/znck). You can [💖 sponsor him](https://github.com/sponsors/znck) for continued development of this package and other VueDX tools.\n\n<p align=\"center\">\n  <a href=\"https://cdn.jsdelivr.net/gh/znck/sponsors@main/sponsors.svg\">\n    <img src='https://cdn.jsdelivr.net/gh/znck/sponsors@main/sponsors.png'/>\n  </a>\n</p>\n","readmeFilename":"readme.md","_id":"@vuedx/vue-virtual-textdocument@0.7.6-next-1666119500.0","_integrity":"sha512-nHEygDDb+az8oeJ0NgUUud9lQ84Qj1Ll/cRaw5cGVkA12Vfv/Lj6v3y+iXkBy6qQwAkTgmImiZAdni9A/aNjZg==","_resolved":"/tmp/f8a5f02c6570b2ba92cafd585b95443a/vuedx-vue-virtual-textdocument-0.7.6-next-1666119500.0.tgz","_from":"file:vuedx-vue-virtual-textdocument-0.7.6-next-1666119500.0.tgz","_nodeVersion":"18.10.0","_npmVersion":"8.19.2","dist":{"integrity":"sha512-nHEygDDb+az8oeJ0NgUUud9lQ84Qj1Ll/cRaw5cGVkA12Vfv/Lj6v3y+iXkBy6qQwAkTgmImiZAdni9A/aNjZg==","shasum":"6c38dbfb35cedf2ee6999d974b4c8d75c37976d6","tarball":"https://registry.npmjs.org/@vuedx/vue-virtual-textdocument/-/vue-virtual-textdocument-0.7.6-next-1666119500.0.tgz","fileCount":11,"unpackedSize":139262,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIH6PdEXo9yvZ40rJTxOOeXW35AfPsFwVpm38VPRYOCWQAiAl9jNLwhxi9kdbCszD27Nj9b36yJdV9/zTdPGyRfw+Sg=="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjTvdvACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmr/zw//a6bdjSBbo99xT9wnGD2RIJ9uGtWef8o9rQQ4EiIq+qxGPimv\r\nfg3sAcUSVW8LVKHwrj20u/FZrU+kzZt+Izg9aUxFHt5f5UdbStfSwO9s775V\r\nv98tSObgLg1fInbAFtUj6kW+IvVg4XJIcklrLpQQoFXycIJHrbTOgNY5vYj4\r\nwq76Q97/mi8SLIazU5l+nuTdGx+Dj4q9LCN0gvUlqL3oUOgkld2xq7licN9r\r\nh3A5bqPDt9dpj38jQV0P58kD/z2XvY42Xdlmgahpi4/pVgA9+X4XdKiAb20K\r\nyCd0wuMjMcTJNNPPayy4z3L+lL5r51GEGqOiPxWH2SrU0IywiX28zMqSrVSq\r\n6VufKjVx0vdAP09rvRCmM1YcMEb5Q52po0DgeZy6jM/VTnVV43Pe7j9uGeFx\r\ncV1M4yxNS8On+Dzeo3ZsFheCAhnfTrruy2OXZUPpCUSvnmxAryAICEna1Q+S\r\ntFCN/Bd19k2TC4IRPXbJIBmPcFDtPOVTDS2wg1WASmx3sTRBoQGDIgRpRxqJ\r\npSGCwZAyVqLW41e1FsDeign6g8rj1w4iK38FmUKS+Jv9QqsWEqTbJOssANsx\r\n4XU1Liyr19u+PUqW+YdD1aoupULyhICfyZRGNHBlVmxyc3iGacfLEhk4Prc6\r\nt/FzaJiXXP4SIvvRJYcTQ+rx1Mac2ADSvW4=\r\n=05ol\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"znck","email":"rahulkdn@gmail.com"},"directories":{},"maintainers":[{"name":"znck","email":"rahulkdn@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/vue-virtual-textdocument_0.7.6-next-1666119500.0_1666119535336_0.14914787055436496"},"_hasShrinkwrap":false},"0.7.6-next-1666207395.0":{"name":"@vuedx/vue-virtual-textdocument","version":"0.7.6-next-1666207395.0","description":"A virtual filesystem to access blocks in SFC as files","main":"lib/index.js","module":"lib/index.mjs","types":"lib/index.d.ts","private":false,"keywords":["vue","vue sfc","sfc","vue virtual files"],"repository":{"type":"git","url":"git+https://github.com/znck/vue-developer-experience.git"},"author":{"name":"Rahul Kadyan","email":"rahulkdn@gmail.com","url":"https://znck.me/"},"funding":{"type":"individual","url":"https://github.com/sponsors/znck"},"license":"MIT","bugs":{"url":"https://github.com/znck/vue-developer-experience/issues"},"homepage":"https://github.com/znck/vue-developer-experience#readme","dependencies":{"@vuedx/compiler-sfc":"0.7.2-next-1666207395.0","@vuedx/compiler-tsx":"0.8.1-next-1666207395.0","@vuedx/shared":"0.7.5-next-1666207395.0","@vuedx/template-ast-types":"0.7.4-next-1666207395.0","@vuedx/transforms":"0.7.6-next-1666207395.0","sourcemap-codec":"^1.4.8","vscode-languageserver-textdocument":"^1.0.1","vscode-uri":"^2.1.2"},"devDependencies":{"typescript":"^4.6.3"},"scripts":{},"readme":"# Vue Virtual TextDocument\n\nAn implementation of virtual filesystem for accessing blocks in a `.vue` file as independent files.\n\n```\nnpm add @vuedx/vue-virtual-textdocument\n```\n<!-- #region API-DOCS -->\n<!-- Do not edit this file. It is a report generated by [scripts/docgen.js](https://github.com/znck/vue-developer-experience/tree/main/scripts/docgen.js). -->\n\n## API\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueSFCDocument-class\" id=\"-vuedx-vue-virtual-textdocument-VueSFCDocument-class\"></a>\n\n### [VueSFCDocument](#-vuedx-vue-virtual-textdocument-VueSFCDocument-class)\n\n\n\n<details><summary>More info</summary>\n\n**Signature:**\n```ts\nexport declare class VueSFCDocument implements TextDocument {\n  get blocks(): SFCBlock[];\n  static create(fileName: string, content: string, options?: Omit<CompileOptions, 'cache' | 'fileName'>, version?: number): VueSFCDocument;\n  get descriptor(): SFCDescriptor;\n  get errors(): Array<CompilerError | SyntaxError>;\n  get fileName(): string;\n  findGeneratedTextSpan(spanInOriginalText: TextSpan): TextSpan | null;\n  findMapping(positionType: 'original' | 'generated', position: Position, searchBias?: SourceMapBiasType): Mapping | null;\n  findOriginalTextSpan(spanInGeneratedText: TextSpan): TextSpan | null;\n  get generated(): TextDocument;\n  readonly generatedFileName: string;\n  generatedOffsetAt(offset: number): number | null;\n  generatedPositionFor(position: Position): Position | null;\n  getBlockAt(offset: number): SFCBlock | null;\n  getLineAndCharacterOfPosition(position: number): Position;\n  getSourceFile(fileName?: string): {\n        fileName: string;\n        readonly text: string;\n        lineMap: unknown;\n        getLineAndCharacterOfPosition: (position: number) => Position;\n    };\n  getText(range?: Range): string;\n  get languageId(): string;\n  get lineCount(): number;\n  lineMap: unknown | undefined;\n  get map(): string;\n  offsetAt(position: Position): number;\n  readonly options: Required<CompileOptions>;\n  get original(): TextDocument;\n  readonly originalFileName: string;\n  originalOffsetAt(offset: number): number | null;\n  originalPositionFor(position: Position): Position | null;\n  positionAt(offset: number): Position;\n  get snapshot(): VueToTsxSnapshot;\n  get templateAST(): RootNode | undefined;\n  get text(): string;\n  update(changes: TextDocumentContentChangeEvent[], version: number): void;\n  get uri(): string;\n  get version(): number;\n}\n```\n\n**Members:**\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueSFCDocument-create-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueSFCDocument-create-member-1-\"></a>\n\n#### [create](#-vuedx-vue-virtual-textdocument-VueSFCDocument-create-member-1-)\n\n\n\n**Signature:**\n```ts\nstatic create(fileName: string, content: string, options?: Omit<CompileOptions, 'cache' | 'fileName'>, version?: number): VueSFCDocument;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n| content | <code>string</code> | - |\n| options | <code><a href=\"#-Omit-type\">Omit</a><<a href=\"#-vuedx-compiler-tsx-CompileOptions-interface\">CompileOptions</a>, 'cache' &#124; 'fileName'></code> | - |\n| version | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueSFCDocument-findGeneratedTextSpan-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueSFCDocument-findGeneratedTextSpan-member-1-\"></a>\n\n#### [findGeneratedTextSpan](#-vuedx-vue-virtual-textdocument-VueSFCDocument-findGeneratedTextSpan-member-1-)\n\n\n\n**Signature:**\n```ts\nfindGeneratedTextSpan(spanInOriginalText: TextSpan): TextSpan | null;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| spanInOriginalText | <code><a href=\"#-vuedx-vue-virtual-textdocument-TextSpan-interface\">TextSpan</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueSFCDocument-findMapping-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueSFCDocument-findMapping-member-1-\"></a>\n\n#### [findMapping](#-vuedx-vue-virtual-textdocument-VueSFCDocument-findMapping-member-1-)\n\n\n\n**Signature:**\n```ts\nfindMapping(positionType: 'original' | 'generated', position: Position, searchBias?: SourceMapBiasType): Mapping | null;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| positionType | <code>'original' &#124; 'generated'</code> | - |\n| position | <code><a href=\"#vscode-languageserver-textdocument-Position-interface\">Position</a></code> | - |\n| searchBias | <code><a href=\"#-vuedx-vue-virtual-textdocument--SourceMapBiasType-type\">SourceMapBiasType</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueSFCDocument-findOriginalTextSpan-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueSFCDocument-findOriginalTextSpan-member-1-\"></a>\n\n#### [findOriginalTextSpan](#-vuedx-vue-virtual-textdocument-VueSFCDocument-findOriginalTextSpan-member-1-)\n\n\n\n**Signature:**\n```ts\nfindOriginalTextSpan(spanInGeneratedText: TextSpan): TextSpan | null;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| spanInGeneratedText | <code><a href=\"#-vuedx-vue-virtual-textdocument-TextSpan-interface\">TextSpan</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueSFCDocument-generatedOffsetAt-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueSFCDocument-generatedOffsetAt-member-1-\"></a>\n\n#### [generatedOffsetAt](#-vuedx-vue-virtual-textdocument-VueSFCDocument-generatedOffsetAt-member-1-)\n\n\n\n**Signature:**\n```ts\ngeneratedOffsetAt(offset: number): number | null;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueSFCDocument-generatedPositionFor-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueSFCDocument-generatedPositionFor-member-1-\"></a>\n\n#### [generatedPositionFor](#-vuedx-vue-virtual-textdocument-VueSFCDocument-generatedPositionFor-member-1-)\n\n\n\n**Signature:**\n```ts\ngeneratedPositionFor(position: Position): Position | null;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| position | <code><a href=\"#vscode-languageserver-textdocument-Position-interface\">Position</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueSFCDocument-getBlockAt-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueSFCDocument-getBlockAt-member-1-\"></a>\n\n#### [getBlockAt](#-vuedx-vue-virtual-textdocument-VueSFCDocument-getBlockAt-member-1-)\n\n\n\n**Signature:**\n```ts\ngetBlockAt(offset: number): SFCBlock | null;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueSFCDocument-getLineAndCharacterOfPosition-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueSFCDocument-getLineAndCharacterOfPosition-member-1-\"></a>\n\n#### [getLineAndCharacterOfPosition](#-vuedx-vue-virtual-textdocument-VueSFCDocument-getLineAndCharacterOfPosition-member-1-)\n\n\n\n**Signature:**\n```ts\ngetLineAndCharacterOfPosition(position: number): Position;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| position | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueSFCDocument-getSourceFile-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueSFCDocument-getSourceFile-member-1-\"></a>\n\n#### [getSourceFile](#-vuedx-vue-virtual-textdocument-VueSFCDocument-getSourceFile-member-1-)\n\n\n\n**Signature:**\n```ts\ngetSourceFile(fileName?: string): {\n        fileName: string;\n        readonly text: string;\n        lineMap: unknown;\n        getLineAndCharacterOfPosition: (position: number) => Position;\n    };\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueSFCDocument-getText-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueSFCDocument-getText-member-1-\"></a>\n\n#### [getText](#-vuedx-vue-virtual-textdocument-VueSFCDocument-getText-member-1-)\n\n\n\n**Signature:**\n```ts\ngetText(range?: Range): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| range | <code><a href=\"#vscode-languageserver-textdocument-Range-interface\">Range</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueSFCDocument-offsetAt-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueSFCDocument-offsetAt-member-1-\"></a>\n\n#### [offsetAt](#-vuedx-vue-virtual-textdocument-VueSFCDocument-offsetAt-member-1-)\n\n\n\n**Signature:**\n```ts\noffsetAt(position: Position): number;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| position | <code><a href=\"#vscode-languageserver-textdocument-Position-interface\">Position</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueSFCDocument-originalOffsetAt-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueSFCDocument-originalOffsetAt-member-1-\"></a>\n\n#### [originalOffsetAt](#-vuedx-vue-virtual-textdocument-VueSFCDocument-originalOffsetAt-member-1-)\n\n\n\n**Signature:**\n```ts\noriginalOffsetAt(offset: number): number | null;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueSFCDocument-originalPositionFor-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueSFCDocument-originalPositionFor-member-1-\"></a>\n\n#### [originalPositionFor](#-vuedx-vue-virtual-textdocument-VueSFCDocument-originalPositionFor-member-1-)\n\n\n\n**Signature:**\n```ts\noriginalPositionFor(position: Position): Position | null;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| position | <code><a href=\"#vscode-languageserver-textdocument-Position-interface\">Position</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueSFCDocument-positionAt-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueSFCDocument-positionAt-member-1-\"></a>\n\n#### [positionAt](#-vuedx-vue-virtual-textdocument-VueSFCDocument-positionAt-member-1-)\n\n\n\n**Signature:**\n```ts\npositionAt(offset: number): Position;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueSFCDocument-update-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueSFCDocument-update-member-1-\"></a>\n\n#### [update](#-vuedx-vue-virtual-textdocument-VueSFCDocument-update-member-1-)\n\n\n\n**Signature:**\n```ts\nupdate(changes: TextDocumentContentChangeEvent[], version: number): void;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| changes | <code><a href=\"#vscode-languageserver-textdocument-TextDocumentContentChangeEvent-type\">TextDocumentContentChangeEvent</a>[]</code> | - |\n| version | <code>number</code> | - |\n\n<br>\n</details>\n\n<br>\n\n\n## Types\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-TextSpan-interface\" id=\"-vuedx-vue-virtual-textdocument-TextSpan-interface\"></a>\n\n### [TextSpan](#-vuedx-vue-virtual-textdocument-TextSpan-interface)\n\n\n\n```ts\nexport interface TextSpan {\n  length: number;\n  start: number;\n}\n```\n\n\n<br>\n<!-- #region API-DOCS -->\n\n## Support\n\nThis package is part of [VueDX project](https://github.com/znck/vue-developer-experience), maintained by [Rahul Kadyan](https://github.com/znck). You can [💖 sponsor him](https://github.com/sponsors/znck) for continued development of this package and other VueDX tools.\n\n<p align=\"center\">\n  <a href=\"https://cdn.jsdelivr.net/gh/znck/sponsors@main/sponsors.svg\">\n    <img src='https://cdn.jsdelivr.net/gh/znck/sponsors@main/sponsors.png'/>\n  </a>\n</p>\n","readmeFilename":"readme.md","_id":"@vuedx/vue-virtual-textdocument@0.7.6-next-1666207395.0","_integrity":"sha512-HXhjPfKp9/MlpjQJ/EHfE/QcoaP1tLPMXJGgqH1+XTUBku5Feg7uAXJgGOIGvtbA00zAouzboOTGEB0XFb/KuA==","_resolved":"/tmp/d2ddc10b125e25ec01169b7f8a353b11/vuedx-vue-virtual-textdocument-0.7.6-next-1666207395.0.tgz","_from":"file:vuedx-vue-virtual-textdocument-0.7.6-next-1666207395.0.tgz","_nodeVersion":"18.10.0","_npmVersion":"8.19.2","dist":{"integrity":"sha512-HXhjPfKp9/MlpjQJ/EHfE/QcoaP1tLPMXJGgqH1+XTUBku5Feg7uAXJgGOIGvtbA00zAouzboOTGEB0XFb/KuA==","shasum":"dbea7ccab1dec2f7349a6b5fc9c391f1d54c3c7d","tarball":"https://registry.npmjs.org/@vuedx/vue-virtual-textdocument/-/vue-virtual-textdocument-0.7.6-next-1666207395.0.tgz","fileCount":11,"unpackedSize":139262,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQD9tvBh4asWqV1+nnxYzQX62/dkNJavjPhGPanvbM+iZwIgeNDhM49b/UT0ao533uIyXkuNGvRD64ZlvTvXlY8PXVA="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjUE6+ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrAlQ//XYQlMHM02Zel0R0wU72B1c60baAwiZ+307GKXgjw2SfBHRNl\r\nugjq9hm2FqbWrZoNJrdtjtpyOJPfhtMhaVgx7bOVhMaohR+VpbTs9uRtorDX\r\ny7ofuufjN/R0LC3WrA2BSpJEMCKzl422j0A+zG0MbNd8SpllpAvt8D+4wkFA\r\ncDbdkUV2sA7wd5ENp3M4dzg7sEhRDDJXLYnouiPuF/VOrgYVq8Zv1aS3N03g\r\nhFj7mZxMRR/yUgfDSz3dDu4cdyuK9h3tHAYgMHOAjcGxg80m1z5YiWvPf9yl\r\nC/MC3vb9ncPFliSVWOnXdaflUE4Rks02pBtYBFPZW6kZjgZqPy91mPQjIPA/\r\nttGWT1+T4u/8aPET9nk0Q8tnMFSUU9dRl2Y7Vlsa1VIpYLgiV8IwZsXiHY2z\r\nEGBXU6RySfVNcCSAyk1sNWvR4zrHJH76Zl9+AJuBnoiU0GJKbWbyazM6UDDc\r\nS8k0zhXzgjrv69E3Pfnmo1qoq5rK4Avj14Jkx9mTFBcY0Sm0sCAAm0yM0fE2\r\n46we2BZZCYLY2FT5MBhDbFtcv5w6oO0ozFzgLRr0kkFhNCTyLQxKVmYnRH9M\r\nF0qWRGLeN4n0i78LKMWcG2GA1g+qW9b+Uo5qsnAgGZeClp83LO7TVocYDSk2\r\nXRAGZvDGkTe6U3BRqs33vx8j0c9f+YAsu6s=\r\n=MJ6n\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"znck","email":"rahulkdn@gmail.com"},"directories":{},"maintainers":[{"name":"znck","email":"rahulkdn@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/vue-virtual-textdocument_0.7.6-next-1666207395.0_1666207422448_0.6530513367485504"},"_hasShrinkwrap":false},"0.7.6-next-1666251997.0":{"name":"@vuedx/vue-virtual-textdocument","version":"0.7.6-next-1666251997.0","description":"A virtual filesystem to access blocks in SFC as files","main":"lib/index.js","module":"lib/index.mjs","types":"lib/index.d.ts","private":false,"keywords":["vue","vue sfc","sfc","vue virtual files"],"repository":{"type":"git","url":"git+https://github.com/znck/vue-developer-experience.git"},"author":{"name":"Rahul Kadyan","email":"rahulkdn@gmail.com","url":"https://znck.me/"},"funding":{"type":"individual","url":"https://github.com/sponsors/znck"},"license":"MIT","bugs":{"url":"https://github.com/znck/vue-developer-experience/issues"},"homepage":"https://github.com/znck/vue-developer-experience#readme","dependencies":{"@vuedx/compiler-sfc":"0.7.2-next-1666251997.0","@vuedx/compiler-tsx":"0.8.1-next-1666251997.0","@vuedx/shared":"0.7.5-next-1666251997.0","@vuedx/template-ast-types":"0.7.4-next-1666251997.0","@vuedx/transforms":"0.7.6-next-1666251997.0","sourcemap-codec":"^1.4.8","vscode-languageserver-textdocument":"^1.0.1","vscode-uri":"^2.1.2"},"devDependencies":{"typescript":"^4.6.3"},"scripts":{},"readme":"# Vue Virtual TextDocument\n\nAn implementation of virtual filesystem for accessing blocks in a `.vue` file as independent files.\n\n```\nnpm add @vuedx/vue-virtual-textdocument\n```\n<!-- #region API-DOCS -->\n<!-- Do not edit this file. It is a report generated by [scripts/docgen.js](https://github.com/znck/vue-developer-experience/tree/main/scripts/docgen.js). -->\n\n## API\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueSFCDocument-class\" id=\"-vuedx-vue-virtual-textdocument-VueSFCDocument-class\"></a>\n\n### [VueSFCDocument](#-vuedx-vue-virtual-textdocument-VueSFCDocument-class)\n\n\n\n<details><summary>More info</summary>\n\n**Signature:**\n```ts\nexport declare class VueSFCDocument implements TextDocument {\n  get blocks(): SFCBlock[];\n  static create(fileName: string, content: string, options?: Omit<CompileOptions, 'cache' | 'fileName'>, version?: number): VueSFCDocument;\n  get descriptor(): SFCDescriptor;\n  get errors(): Array<CompilerError | SyntaxError>;\n  get fileName(): string;\n  findGeneratedTextSpan(spanInOriginalText: TextSpan): TextSpan | null;\n  findMapping(positionType: 'original' | 'generated', position: Position, searchBias?: SourceMapBiasType): Mapping | null;\n  findOriginalTextSpan(spanInGeneratedText: TextSpan): TextSpan | null;\n  get generated(): TextDocument;\n  readonly generatedFileName: string;\n  generatedOffsetAt(offset: number): number | null;\n  generatedPositionFor(position: Position): Position | null;\n  getBlockAt(offset: number): SFCBlock | null;\n  getLineAndCharacterOfPosition(position: number): Position;\n  getSourceFile(fileName?: string): {\n        fileName: string;\n        readonly text: string;\n        lineMap: unknown;\n        getLineAndCharacterOfPosition: (position: number) => Position;\n    };\n  getText(range?: Range): string;\n  get languageId(): string;\n  get lineCount(): number;\n  lineMap: unknown | undefined;\n  get map(): string;\n  offsetAt(position: Position): number;\n  readonly options: Required<CompileOptions>;\n  get original(): TextDocument;\n  readonly originalFileName: string;\n  originalOffsetAt(offset: number): number | null;\n  originalPositionFor(position: Position): Position | null;\n  positionAt(offset: number): Position;\n  get snapshot(): VueToTsxSnapshot;\n  get templateAST(): RootNode | undefined;\n  get text(): string;\n  update(changes: TextDocumentContentChangeEvent[], version: number): void;\n  get uri(): string;\n  get version(): number;\n}\n```\n\n**Members:**\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueSFCDocument-create-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueSFCDocument-create-member-1-\"></a>\n\n#### [create](#-vuedx-vue-virtual-textdocument-VueSFCDocument-create-member-1-)\n\n\n\n**Signature:**\n```ts\nstatic create(fileName: string, content: string, options?: Omit<CompileOptions, 'cache' | 'fileName'>, version?: number): VueSFCDocument;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n| content | <code>string</code> | - |\n| options | <code><a href=\"#-Omit-type\">Omit</a><<a href=\"#-vuedx-compiler-tsx-CompileOptions-interface\">CompileOptions</a>, 'cache' &#124; 'fileName'></code> | - |\n| version | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueSFCDocument-findGeneratedTextSpan-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueSFCDocument-findGeneratedTextSpan-member-1-\"></a>\n\n#### [findGeneratedTextSpan](#-vuedx-vue-virtual-textdocument-VueSFCDocument-findGeneratedTextSpan-member-1-)\n\n\n\n**Signature:**\n```ts\nfindGeneratedTextSpan(spanInOriginalText: TextSpan): TextSpan | null;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| spanInOriginalText | <code><a href=\"#-vuedx-vue-virtual-textdocument-TextSpan-interface\">TextSpan</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueSFCDocument-findMapping-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueSFCDocument-findMapping-member-1-\"></a>\n\n#### [findMapping](#-vuedx-vue-virtual-textdocument-VueSFCDocument-findMapping-member-1-)\n\n\n\n**Signature:**\n```ts\nfindMapping(positionType: 'original' | 'generated', position: Position, searchBias?: SourceMapBiasType): Mapping | null;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| positionType | <code>'original' &#124; 'generated'</code> | - |\n| position | <code><a href=\"#vscode-languageserver-textdocument-Position-interface\">Position</a></code> | - |\n| searchBias | <code><a href=\"#-vuedx-vue-virtual-textdocument--SourceMapBiasType-type\">SourceMapBiasType</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueSFCDocument-findOriginalTextSpan-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueSFCDocument-findOriginalTextSpan-member-1-\"></a>\n\n#### [findOriginalTextSpan](#-vuedx-vue-virtual-textdocument-VueSFCDocument-findOriginalTextSpan-member-1-)\n\n\n\n**Signature:**\n```ts\nfindOriginalTextSpan(spanInGeneratedText: TextSpan): TextSpan | null;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| spanInGeneratedText | <code><a href=\"#-vuedx-vue-virtual-textdocument-TextSpan-interface\">TextSpan</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueSFCDocument-generatedOffsetAt-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueSFCDocument-generatedOffsetAt-member-1-\"></a>\n\n#### [generatedOffsetAt](#-vuedx-vue-virtual-textdocument-VueSFCDocument-generatedOffsetAt-member-1-)\n\n\n\n**Signature:**\n```ts\ngeneratedOffsetAt(offset: number): number | null;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueSFCDocument-generatedPositionFor-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueSFCDocument-generatedPositionFor-member-1-\"></a>\n\n#### [generatedPositionFor](#-vuedx-vue-virtual-textdocument-VueSFCDocument-generatedPositionFor-member-1-)\n\n\n\n**Signature:**\n```ts\ngeneratedPositionFor(position: Position): Position | null;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| position | <code><a href=\"#vscode-languageserver-textdocument-Position-interface\">Position</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueSFCDocument-getBlockAt-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueSFCDocument-getBlockAt-member-1-\"></a>\n\n#### [getBlockAt](#-vuedx-vue-virtual-textdocument-VueSFCDocument-getBlockAt-member-1-)\n\n\n\n**Signature:**\n```ts\ngetBlockAt(offset: number): SFCBlock | null;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueSFCDocument-getLineAndCharacterOfPosition-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueSFCDocument-getLineAndCharacterOfPosition-member-1-\"></a>\n\n#### [getLineAndCharacterOfPosition](#-vuedx-vue-virtual-textdocument-VueSFCDocument-getLineAndCharacterOfPosition-member-1-)\n\n\n\n**Signature:**\n```ts\ngetLineAndCharacterOfPosition(position: number): Position;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| position | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueSFCDocument-getSourceFile-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueSFCDocument-getSourceFile-member-1-\"></a>\n\n#### [getSourceFile](#-vuedx-vue-virtual-textdocument-VueSFCDocument-getSourceFile-member-1-)\n\n\n\n**Signature:**\n```ts\ngetSourceFile(fileName?: string): {\n        fileName: string;\n        readonly text: string;\n        lineMap: unknown;\n        getLineAndCharacterOfPosition: (position: number) => Position;\n    };\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueSFCDocument-getText-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueSFCDocument-getText-member-1-\"></a>\n\n#### [getText](#-vuedx-vue-virtual-textdocument-VueSFCDocument-getText-member-1-)\n\n\n\n**Signature:**\n```ts\ngetText(range?: Range): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| range | <code><a href=\"#vscode-languageserver-textdocument-Range-interface\">Range</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueSFCDocument-offsetAt-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueSFCDocument-offsetAt-member-1-\"></a>\n\n#### [offsetAt](#-vuedx-vue-virtual-textdocument-VueSFCDocument-offsetAt-member-1-)\n\n\n\n**Signature:**\n```ts\noffsetAt(position: Position): number;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| position | <code><a href=\"#vscode-languageserver-textdocument-Position-interface\">Position</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueSFCDocument-originalOffsetAt-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueSFCDocument-originalOffsetAt-member-1-\"></a>\n\n#### [originalOffsetAt](#-vuedx-vue-virtual-textdocument-VueSFCDocument-originalOffsetAt-member-1-)\n\n\n\n**Signature:**\n```ts\noriginalOffsetAt(offset: number): number | null;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueSFCDocument-originalPositionFor-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueSFCDocument-originalPositionFor-member-1-\"></a>\n\n#### [originalPositionFor](#-vuedx-vue-virtual-textdocument-VueSFCDocument-originalPositionFor-member-1-)\n\n\n\n**Signature:**\n```ts\noriginalPositionFor(position: Position): Position | null;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| position | <code><a href=\"#vscode-languageserver-textdocument-Position-interface\">Position</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueSFCDocument-positionAt-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueSFCDocument-positionAt-member-1-\"></a>\n\n#### [positionAt](#-vuedx-vue-virtual-textdocument-VueSFCDocument-positionAt-member-1-)\n\n\n\n**Signature:**\n```ts\npositionAt(offset: number): Position;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueSFCDocument-update-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueSFCDocument-update-member-1-\"></a>\n\n#### [update](#-vuedx-vue-virtual-textdocument-VueSFCDocument-update-member-1-)\n\n\n\n**Signature:**\n```ts\nupdate(changes: TextDocumentContentChangeEvent[], version: number): void;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| changes | <code><a href=\"#vscode-languageserver-textdocument-TextDocumentContentChangeEvent-type\">TextDocumentContentChangeEvent</a>[]</code> | - |\n| version | <code>number</code> | - |\n\n<br>\n</details>\n\n<br>\n\n\n## Types\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-TextSpan-interface\" id=\"-vuedx-vue-virtual-textdocument-TextSpan-interface\"></a>\n\n### [TextSpan](#-vuedx-vue-virtual-textdocument-TextSpan-interface)\n\n\n\n```ts\nexport interface TextSpan {\n  length: number;\n  start: number;\n}\n```\n\n\n<br>\n<!-- #region API-DOCS -->\n\n## Support\n\nThis package is part of [VueDX project](https://github.com/znck/vue-developer-experience), maintained by [Rahul Kadyan](https://github.com/znck). You can [💖 sponsor him](https://github.com/sponsors/znck) for continued development of this package and other VueDX tools.\n\n<p align=\"center\">\n  <a href=\"https://cdn.jsdelivr.net/gh/znck/sponsors@main/sponsors.svg\">\n    <img src='https://cdn.jsdelivr.net/gh/znck/sponsors@main/sponsors.png'/>\n  </a>\n</p>\n","readmeFilename":"readme.md","_id":"@vuedx/vue-virtual-textdocument@0.7.6-next-1666251997.0","_integrity":"sha512-UEZer+7KGUp9U8eMtffLlzq1cL/a5A3Soa8qIvusjleoTXIWwsNymajZEd/HgNNH+KPsn5r2nuL1IaDqsg/EvA==","_resolved":"/tmp/8a57511a1e59e3a2d14b194a5dfc7377/vuedx-vue-virtual-textdocument-0.7.6-next-1666251997.0.tgz","_from":"file:vuedx-vue-virtual-textdocument-0.7.6-next-1666251997.0.tgz","_nodeVersion":"18.10.0","_npmVersion":"8.19.2","dist":{"integrity":"sha512-UEZer+7KGUp9U8eMtffLlzq1cL/a5A3Soa8qIvusjleoTXIWwsNymajZEd/HgNNH+KPsn5r2nuL1IaDqsg/EvA==","shasum":"449236ea67d587b29a7814e0de0b5d1875a4138a","tarball":"https://registry.npmjs.org/@vuedx/vue-virtual-textdocument/-/vue-virtual-textdocument-0.7.6-next-1666251997.0.tgz","fileCount":11,"unpackedSize":139262,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIEEYBad4UJvZ8hy2tDpAbrejGRWu+G2ECWIvX0ILFgAEAiEAu6v1Ibrfk0SjVk9RTrWTqxxpYBqBYYJE5tztLgpZHd0="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjUPz3ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmryrQ/9EcSAX9tltG/H2RJS+LMOWyFN1cvt8SlqxayJkf3FUAgKCyuD\r\naxGqfwUjBFqzqK9XMJWm9GjDnHMzr/Xpk4VqZNnDoCmtbyPmSLMoGSylre9n\r\nqM/zxBB9GOrqplBogjR5QermncTgHeO+Jl5jPNsope0kaImZCRJdJk+p8OGH\r\njctVMxqWgV+j4q+ygGnQCY7V/ZJIO09uQrfvNQwpy4+r/wXUmp5vHw7XCt0W\r\nBgKaV3fAS+36A8BFWlZIyruSAx5e2mLyCHGhXHYcsIiOxVxnZtESYmTpFWbv\r\nW50v8IMw2BH9/pEaBtZRc8m9PepNOqcBSSsmgGlTigZdM7kY44Lw9S2IVGuD\r\n/k4PhXA57yXIXq1S+e/tPQIXkNPh4dHmQY1LFigfKD+8nmtdEzBO4FBrOOpe\r\nUcpdu2agIzdDdTJF/AX6Xgod7uN7uFraj6SD8sv4WkurU9Wj0piQeaJuGdrf\r\nnFHEgqz2eTMy5TPoCbQvM1BsTc3tjQmJ0JtvNqP3y7nIUBEBulWI3USxXsDs\r\nhvCR/RMYiapreM5UVdfgTxwFEEhj3N6wYw75iFlaWCvWoViumatCjxBS0ta7\r\nkvHOc9Kj70cJ+xlVtpMvRkdIlE3GECHtE2LZebUwpwOlU+tnh8jfSIDg2fF0\r\nAfJsJnC5BIrmI1oRx3pCSf+kOuISxGPKi84=\r\n=X1a5\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"znck","email":"rahulkdn@gmail.com"},"directories":{},"maintainers":[{"name":"znck","email":"rahulkdn@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/vue-virtual-textdocument_0.7.6-next-1666251997.0_1666252023673_0.12502331203497086"},"_hasShrinkwrap":false},"0.7.6-next-1667343140.0":{"name":"@vuedx/vue-virtual-textdocument","version":"0.7.6-next-1667343140.0","description":"A virtual filesystem to access blocks in SFC as files","main":"lib/index.js","module":"lib/index.mjs","types":"lib/index.d.ts","private":false,"keywords":["vue","vue sfc","sfc","vue virtual files"],"repository":{"type":"git","url":"git+https://github.com/znck/vue-developer-experience.git"},"author":{"name":"Rahul Kadyan","email":"rahulkdn@gmail.com","url":"https://znck.me/"},"funding":{"type":"individual","url":"https://github.com/sponsors/znck"},"license":"MIT","bugs":{"url":"https://github.com/znck/vue-developer-experience/issues"},"homepage":"https://github.com/znck/vue-developer-experience#readme","dependencies":{"@vuedx/compiler-sfc":"0.7.2-next-1667343140.0","@vuedx/compiler-tsx":"0.8.1-next-1667343140.0","@vuedx/shared":"0.7.5-next-1667343140.0","@vuedx/template-ast-types":"0.7.4-next-1667343140.0","@vuedx/transforms":"0.7.6-next-1667343140.0","sourcemap-codec":"^1.4.8","vscode-languageserver-textdocument":"^1.0.1","vscode-uri":"^2.1.2"},"devDependencies":{"typescript":"^4.6.3"},"scripts":{},"readme":"# Vue Virtual TextDocument\n\nAn implementation of virtual filesystem for accessing blocks in a `.vue` file as independent files.\n\n```\nnpm add @vuedx/vue-virtual-textdocument\n```\n<!-- #region API-DOCS -->\n<!-- Do not edit this file. It is a report generated by [scripts/docgen.js](https://github.com/znck/vue-developer-experience/tree/main/scripts/docgen.js). -->\n\n## API\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueSFCDocument-class\" id=\"-vuedx-vue-virtual-textdocument-VueSFCDocument-class\"></a>\n\n### [VueSFCDocument](#-vuedx-vue-virtual-textdocument-VueSFCDocument-class)\n\n\n\n<details><summary>More info</summary>\n\n**Signature:**\n```ts\nexport declare class VueSFCDocument implements TextDocument {\n  get blocks(): SFCBlock[];\n  static create(fileName: string, content: string, options?: Omit<CompileOptions, 'cache' | 'fileName'>, version?: number): VueSFCDocument;\n  get descriptor(): SFCDescriptor;\n  get errors(): Array<CompilerError | SyntaxError>;\n  get fileName(): string;\n  findGeneratedTextSpan(spanInOriginalText: TextSpan): TextSpan | null;\n  findMapping(positionType: 'original' | 'generated', position: Position, searchBias?: SourceMapBiasType): Mapping | null;\n  findOriginalTextSpan(spanInGeneratedText: TextSpan): TextSpan | null;\n  get generated(): TextDocument;\n  readonly generatedFileName: string;\n  generatedOffsetAt(offset: number): number | null;\n  generatedPositionFor(position: Position): Position | null;\n  getBlockAt(offset: number): SFCBlock | null;\n  getLineAndCharacterOfPosition(position: number): Position;\n  getSourceFile(fileName?: string): {\n        fileName: string;\n        readonly text: string;\n        lineMap: unknown;\n        getLineAndCharacterOfPosition: (position: number) => Position;\n    };\n  getText(range?: Range): string;\n  get languageId(): string;\n  get lineCount(): number;\n  lineMap: unknown | undefined;\n  get map(): string;\n  offsetAt(position: Position): number;\n  readonly options: Required<CompileOptions>;\n  get original(): TextDocument;\n  readonly originalFileName: string;\n  originalOffsetAt(offset: number): number | null;\n  originalPositionFor(position: Position): Position | null;\n  positionAt(offset: number): Position;\n  get snapshot(): VueToTsxSnapshot;\n  get templateAST(): RootNode | undefined;\n  get text(): string;\n  update(changes: TextDocumentContentChangeEvent[], version: number): void;\n  get uri(): string;\n  get version(): number;\n}\n```\n\n**Members:**\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueSFCDocument-create-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueSFCDocument-create-member-1-\"></a>\n\n#### [create](#-vuedx-vue-virtual-textdocument-VueSFCDocument-create-member-1-)\n\n\n\n**Signature:**\n```ts\nstatic create(fileName: string, content: string, options?: Omit<CompileOptions, 'cache' | 'fileName'>, version?: number): VueSFCDocument;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n| content | <code>string</code> | - |\n| options | <code><a href=\"#-Omit-type\">Omit</a><<a href=\"#-vuedx-compiler-tsx-CompileOptions-interface\">CompileOptions</a>, 'cache' &#124; 'fileName'></code> | - |\n| version | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueSFCDocument-findGeneratedTextSpan-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueSFCDocument-findGeneratedTextSpan-member-1-\"></a>\n\n#### [findGeneratedTextSpan](#-vuedx-vue-virtual-textdocument-VueSFCDocument-findGeneratedTextSpan-member-1-)\n\n\n\n**Signature:**\n```ts\nfindGeneratedTextSpan(spanInOriginalText: TextSpan): TextSpan | null;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| spanInOriginalText | <code><a href=\"#-vuedx-vue-virtual-textdocument-TextSpan-interface\">TextSpan</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueSFCDocument-findMapping-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueSFCDocument-findMapping-member-1-\"></a>\n\n#### [findMapping](#-vuedx-vue-virtual-textdocument-VueSFCDocument-findMapping-member-1-)\n\n\n\n**Signature:**\n```ts\nfindMapping(positionType: 'original' | 'generated', position: Position, searchBias?: SourceMapBiasType): Mapping | null;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| positionType | <code>'original' &#124; 'generated'</code> | - |\n| position | <code><a href=\"#vscode-languageserver-textdocument-Position-interface\">Position</a></code> | - |\n| searchBias | <code><a href=\"#-vuedx-vue-virtual-textdocument--SourceMapBiasType-type\">SourceMapBiasType</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueSFCDocument-findOriginalTextSpan-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueSFCDocument-findOriginalTextSpan-member-1-\"></a>\n\n#### [findOriginalTextSpan](#-vuedx-vue-virtual-textdocument-VueSFCDocument-findOriginalTextSpan-member-1-)\n\n\n\n**Signature:**\n```ts\nfindOriginalTextSpan(spanInGeneratedText: TextSpan): TextSpan | null;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| spanInGeneratedText | <code><a href=\"#-vuedx-vue-virtual-textdocument-TextSpan-interface\">TextSpan</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueSFCDocument-generatedOffsetAt-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueSFCDocument-generatedOffsetAt-member-1-\"></a>\n\n#### [generatedOffsetAt](#-vuedx-vue-virtual-textdocument-VueSFCDocument-generatedOffsetAt-member-1-)\n\n\n\n**Signature:**\n```ts\ngeneratedOffsetAt(offset: number): number | null;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueSFCDocument-generatedPositionFor-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueSFCDocument-generatedPositionFor-member-1-\"></a>\n\n#### [generatedPositionFor](#-vuedx-vue-virtual-textdocument-VueSFCDocument-generatedPositionFor-member-1-)\n\n\n\n**Signature:**\n```ts\ngeneratedPositionFor(position: Position): Position | null;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| position | <code><a href=\"#vscode-languageserver-textdocument-Position-interface\">Position</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueSFCDocument-getBlockAt-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueSFCDocument-getBlockAt-member-1-\"></a>\n\n#### [getBlockAt](#-vuedx-vue-virtual-textdocument-VueSFCDocument-getBlockAt-member-1-)\n\n\n\n**Signature:**\n```ts\ngetBlockAt(offset: number): SFCBlock | null;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueSFCDocument-getLineAndCharacterOfPosition-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueSFCDocument-getLineAndCharacterOfPosition-member-1-\"></a>\n\n#### [getLineAndCharacterOfPosition](#-vuedx-vue-virtual-textdocument-VueSFCDocument-getLineAndCharacterOfPosition-member-1-)\n\n\n\n**Signature:**\n```ts\ngetLineAndCharacterOfPosition(position: number): Position;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| position | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueSFCDocument-getSourceFile-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueSFCDocument-getSourceFile-member-1-\"></a>\n\n#### [getSourceFile](#-vuedx-vue-virtual-textdocument-VueSFCDocument-getSourceFile-member-1-)\n\n\n\n**Signature:**\n```ts\ngetSourceFile(fileName?: string): {\n        fileName: string;\n        readonly text: string;\n        lineMap: unknown;\n        getLineAndCharacterOfPosition: (position: number) => Position;\n    };\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueSFCDocument-getText-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueSFCDocument-getText-member-1-\"></a>\n\n#### [getText](#-vuedx-vue-virtual-textdocument-VueSFCDocument-getText-member-1-)\n\n\n\n**Signature:**\n```ts\ngetText(range?: Range): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| range | <code><a href=\"#vscode-languageserver-textdocument-Range-interface\">Range</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueSFCDocument-offsetAt-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueSFCDocument-offsetAt-member-1-\"></a>\n\n#### [offsetAt](#-vuedx-vue-virtual-textdocument-VueSFCDocument-offsetAt-member-1-)\n\n\n\n**Signature:**\n```ts\noffsetAt(position: Position): number;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| position | <code><a href=\"#vscode-languageserver-textdocument-Position-interface\">Position</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueSFCDocument-originalOffsetAt-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueSFCDocument-originalOffsetAt-member-1-\"></a>\n\n#### [originalOffsetAt](#-vuedx-vue-virtual-textdocument-VueSFCDocument-originalOffsetAt-member-1-)\n\n\n\n**Signature:**\n```ts\noriginalOffsetAt(offset: number): number | null;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueSFCDocument-originalPositionFor-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueSFCDocument-originalPositionFor-member-1-\"></a>\n\n#### [originalPositionFor](#-vuedx-vue-virtual-textdocument-VueSFCDocument-originalPositionFor-member-1-)\n\n\n\n**Signature:**\n```ts\noriginalPositionFor(position: Position): Position | null;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| position | <code><a href=\"#vscode-languageserver-textdocument-Position-interface\">Position</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueSFCDocument-positionAt-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueSFCDocument-positionAt-member-1-\"></a>\n\n#### [positionAt](#-vuedx-vue-virtual-textdocument-VueSFCDocument-positionAt-member-1-)\n\n\n\n**Signature:**\n```ts\npositionAt(offset: number): Position;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueSFCDocument-update-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueSFCDocument-update-member-1-\"></a>\n\n#### [update](#-vuedx-vue-virtual-textdocument-VueSFCDocument-update-member-1-)\n\n\n\n**Signature:**\n```ts\nupdate(changes: TextDocumentContentChangeEvent[], version: number): void;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| changes | <code><a href=\"#vscode-languageserver-textdocument-TextDocumentContentChangeEvent-type\">TextDocumentContentChangeEvent</a>[]</code> | - |\n| version | <code>number</code> | - |\n\n<br>\n</details>\n\n<br>\n\n\n## Types\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-TextSpan-interface\" id=\"-vuedx-vue-virtual-textdocument-TextSpan-interface\"></a>\n\n### [TextSpan](#-vuedx-vue-virtual-textdocument-TextSpan-interface)\n\n\n\n```ts\nexport interface TextSpan {\n  length: number;\n  start: number;\n}\n```\n\n\n<br>\n<!-- #region API-DOCS -->\n\n## Support\n\nThis package is part of [VueDX project](https://github.com/znck/vue-developer-experience), maintained by [Rahul Kadyan](https://github.com/znck). You can [💖 sponsor him](https://github.com/sponsors/znck) for continued development of this package and other VueDX tools.\n\n<p align=\"center\">\n  <a href=\"https://cdn.jsdelivr.net/gh/znck/sponsors@main/sponsors.svg\">\n    <img src='https://cdn.jsdelivr.net/gh/znck/sponsors@main/sponsors.png'/>\n  </a>\n</p>\n","readmeFilename":"readme.md","_id":"@vuedx/vue-virtual-textdocument@0.7.6-next-1667343140.0","_integrity":"sha512-ZNZ55/W+1mn6O5u/O+kmuaSUnoOV+CjH57dcYMNEd9DLs+gHl0zWG04lJfVAnZJkb2gWvBlDEM+3w93LDajsmQ==","_resolved":"/tmp/83c905e0e9a6299ce216bd39320f4cad/vuedx-vue-virtual-textdocument-0.7.6-next-1667343140.0.tgz","_from":"file:vuedx-vue-virtual-textdocument-0.7.6-next-1667343140.0.tgz","_nodeVersion":"18.12.0","_npmVersion":"8.19.2","dist":{"integrity":"sha512-ZNZ55/W+1mn6O5u/O+kmuaSUnoOV+CjH57dcYMNEd9DLs+gHl0zWG04lJfVAnZJkb2gWvBlDEM+3w93LDajsmQ==","shasum":"66e190549b399b462579e1ed123b3b250827025b","tarball":"https://registry.npmjs.org/@vuedx/vue-virtual-textdocument/-/vue-virtual-textdocument-0.7.6-next-1667343140.0.tgz","fileCount":11,"unpackedSize":139262,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCS/eab3cPXN7E9yykzb+YggMVY363zUkb2qE1MbrsuawIgZXdRF/+xQDQGhJ95lS1wE/8fKEqXI6Ut/0E9sZNx+l4="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjYaM8ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqYpg//YICVG5X4ydkJuS2Uh1Uabib+3yQzyIyc0XVIjHpwwBDXZr/t\r\n1Zc8uPjKuSSsAdDkjB3qDaszSFM4+OORLN75yryKbPHO8uemwUeuDeFeskQY\r\nqSuONQtsnS39+G14zmzX5LbylVJuSNlHcM9n68KBXGJ8myRf3IIVrJceuKhz\r\nYb+ixS3Vzq1QoWMH+nA3urq3rcIiRx/ZknuGD8eLOkt0delm+wwQFaSskiK4\r\nbVT2ziRjJTf3RPNjwswPXUfKt/vqBP8A52oR3wryY8bcYxmLMoDJnamotmPn\r\n4bREJf3rbY12RN3J3vgA7vhnRskunJSIAF0KPTfk+VpGndOUvZX2ASTwbFgl\r\nIA7OoqctJPlTPMwdH4N9EJy0B/J0IicPyqf9ypmG3xMW/7LGnkkalsqlqG+b\r\nCUy/PJAgp4IrB7gOXjCrPjdJ6kk4upvNyORrmyKmVvSJrjnlBQhhitX5EJb3\r\n5SYCFlouE3eLhns3Ifr+szMOy4DQzRylUkfQPxqh4Vn1iQrwrD4BoBJYe/tm\r\nAaae1uZ3tAnOrLfKSmdHi5uy5wfh5wvsCfouKgVOyrqaFmUajUaFuj5IduDw\r\n+Chlp6CJGOaifikg0c6Z+8n9ZUO3l2j9ZzqsyInzumbaVD/pDEItLKmidrZI\r\nbZCeBhEkiALUqBXm8toJhcDuwoLCdiLAu3I=\r\n=UrJH\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"znck","email":"rahulkdn@gmail.com"},"directories":{},"maintainers":[{"name":"znck","email":"rahulkdn@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/vue-virtual-textdocument_0.7.6-next-1667343140.0_1667343164524_0.35953510473392347"},"_hasShrinkwrap":false},"0.7.6-next-1667343481.0":{"name":"@vuedx/vue-virtual-textdocument","version":"0.7.6-next-1667343481.0","description":"A virtual filesystem to access blocks in SFC as files","main":"lib/index.js","module":"lib/index.mjs","types":"lib/index.d.ts","private":false,"keywords":["vue","vue sfc","sfc","vue virtual files"],"repository":{"type":"git","url":"git+https://github.com/znck/vue-developer-experience.git"},"author":{"name":"Rahul Kadyan","email":"rahulkdn@gmail.com","url":"https://znck.me/"},"funding":{"type":"individual","url":"https://github.com/sponsors/znck"},"license":"MIT","bugs":{"url":"https://github.com/znck/vue-developer-experience/issues"},"homepage":"https://github.com/znck/vue-developer-experience#readme","dependencies":{"@vuedx/compiler-sfc":"0.7.2-next-1667343481.0","@vuedx/compiler-tsx":"0.8.1-next-1667343481.0","@vuedx/shared":"0.7.5-next-1667343481.0","@vuedx/template-ast-types":"0.7.4-next-1667343481.0","@vuedx/transforms":"0.7.6-next-1667343481.0","sourcemap-codec":"^1.4.8","vscode-languageserver-textdocument":"^1.0.1","vscode-uri":"^2.1.2"},"devDependencies":{"typescript":"^4.6.3"},"scripts":{},"readme":"# Vue Virtual TextDocument\n\nAn implementation of virtual filesystem for accessing blocks in a `.vue` file as independent files.\n\n```\nnpm add @vuedx/vue-virtual-textdocument\n```\n<!-- #region API-DOCS -->\n<!-- Do not edit this file. It is a report generated by [scripts/docgen.js](https://github.com/znck/vue-developer-experience/tree/main/scripts/docgen.js). -->\n\n## API\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueSFCDocument-class\" id=\"-vuedx-vue-virtual-textdocument-VueSFCDocument-class\"></a>\n\n### [VueSFCDocument](#-vuedx-vue-virtual-textdocument-VueSFCDocument-class)\n\n\n\n<details><summary>More info</summary>\n\n**Signature:**\n```ts\nexport declare class VueSFCDocument implements TextDocument {\n  get blocks(): SFCBlock[];\n  static create(fileName: string, content: string, options?: Omit<CompileOptions, 'cache' | 'fileName'>, version?: number): VueSFCDocument;\n  get descriptor(): SFCDescriptor;\n  get errors(): Array<CompilerError | SyntaxError>;\n  get fileName(): string;\n  findGeneratedTextSpan(spanInOriginalText: TextSpan): TextSpan | null;\n  findMapping(positionType: 'original' | 'generated', position: Position, searchBias?: SourceMapBiasType): Mapping | null;\n  findOriginalTextSpan(spanInGeneratedText: TextSpan): TextSpan | null;\n  get generated(): TextDocument;\n  readonly generatedFileName: string;\n  generatedOffsetAt(offset: number): number | null;\n  generatedPositionFor(position: Position): Position | null;\n  getBlockAt(offset: number): SFCBlock | null;\n  getLineAndCharacterOfPosition(position: number): Position;\n  getSourceFile(fileName?: string): {\n        fileName: string;\n        readonly text: string;\n        lineMap: unknown;\n        getLineAndCharacterOfPosition: (position: number) => Position;\n    };\n  getText(range?: Range): string;\n  get languageId(): string;\n  get lineCount(): number;\n  lineMap: unknown | undefined;\n  get map(): string;\n  offsetAt(position: Position): number;\n  readonly options: Required<CompileOptions>;\n  get original(): TextDocument;\n  readonly originalFileName: string;\n  originalOffsetAt(offset: number): number | null;\n  originalPositionFor(position: Position): Position | null;\n  positionAt(offset: number): Position;\n  get snapshot(): VueToTsxSnapshot;\n  get templateAST(): RootNode | undefined;\n  get text(): string;\n  update(changes: TextDocumentContentChangeEvent[], version: number): void;\n  get uri(): string;\n  get version(): number;\n}\n```\n\n**Members:**\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueSFCDocument-create-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueSFCDocument-create-member-1-\"></a>\n\n#### [create](#-vuedx-vue-virtual-textdocument-VueSFCDocument-create-member-1-)\n\n\n\n**Signature:**\n```ts\nstatic create(fileName: string, content: string, options?: Omit<CompileOptions, 'cache' | 'fileName'>, version?: number): VueSFCDocument;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n| content | <code>string</code> | - |\n| options | <code><a href=\"#-Omit-type\">Omit</a><<a href=\"#-vuedx-compiler-tsx-CompileOptions-interface\">CompileOptions</a>, 'cache' &#124; 'fileName'></code> | - |\n| version | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueSFCDocument-findGeneratedTextSpan-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueSFCDocument-findGeneratedTextSpan-member-1-\"></a>\n\n#### [findGeneratedTextSpan](#-vuedx-vue-virtual-textdocument-VueSFCDocument-findGeneratedTextSpan-member-1-)\n\n\n\n**Signature:**\n```ts\nfindGeneratedTextSpan(spanInOriginalText: TextSpan): TextSpan | null;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| spanInOriginalText | <code><a href=\"#-vuedx-vue-virtual-textdocument-TextSpan-interface\">TextSpan</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueSFCDocument-findMapping-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueSFCDocument-findMapping-member-1-\"></a>\n\n#### [findMapping](#-vuedx-vue-virtual-textdocument-VueSFCDocument-findMapping-member-1-)\n\n\n\n**Signature:**\n```ts\nfindMapping(positionType: 'original' | 'generated', position: Position, searchBias?: SourceMapBiasType): Mapping | null;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| positionType | <code>'original' &#124; 'generated'</code> | - |\n| position | <code><a href=\"#vscode-languageserver-textdocument-Position-interface\">Position</a></code> | - |\n| searchBias | <code><a href=\"#-vuedx-vue-virtual-textdocument--SourceMapBiasType-type\">SourceMapBiasType</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueSFCDocument-findOriginalTextSpan-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueSFCDocument-findOriginalTextSpan-member-1-\"></a>\n\n#### [findOriginalTextSpan](#-vuedx-vue-virtual-textdocument-VueSFCDocument-findOriginalTextSpan-member-1-)\n\n\n\n**Signature:**\n```ts\nfindOriginalTextSpan(spanInGeneratedText: TextSpan): TextSpan | null;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| spanInGeneratedText | <code><a href=\"#-vuedx-vue-virtual-textdocument-TextSpan-interface\">TextSpan</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueSFCDocument-generatedOffsetAt-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueSFCDocument-generatedOffsetAt-member-1-\"></a>\n\n#### [generatedOffsetAt](#-vuedx-vue-virtual-textdocument-VueSFCDocument-generatedOffsetAt-member-1-)\n\n\n\n**Signature:**\n```ts\ngeneratedOffsetAt(offset: number): number | null;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueSFCDocument-generatedPositionFor-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueSFCDocument-generatedPositionFor-member-1-\"></a>\n\n#### [generatedPositionFor](#-vuedx-vue-virtual-textdocument-VueSFCDocument-generatedPositionFor-member-1-)\n\n\n\n**Signature:**\n```ts\ngeneratedPositionFor(position: Position): Position | null;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| position | <code><a href=\"#vscode-languageserver-textdocument-Position-interface\">Position</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueSFCDocument-getBlockAt-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueSFCDocument-getBlockAt-member-1-\"></a>\n\n#### [getBlockAt](#-vuedx-vue-virtual-textdocument-VueSFCDocument-getBlockAt-member-1-)\n\n\n\n**Signature:**\n```ts\ngetBlockAt(offset: number): SFCBlock | null;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueSFCDocument-getLineAndCharacterOfPosition-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueSFCDocument-getLineAndCharacterOfPosition-member-1-\"></a>\n\n#### [getLineAndCharacterOfPosition](#-vuedx-vue-virtual-textdocument-VueSFCDocument-getLineAndCharacterOfPosition-member-1-)\n\n\n\n**Signature:**\n```ts\ngetLineAndCharacterOfPosition(position: number): Position;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| position | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueSFCDocument-getSourceFile-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueSFCDocument-getSourceFile-member-1-\"></a>\n\n#### [getSourceFile](#-vuedx-vue-virtual-textdocument-VueSFCDocument-getSourceFile-member-1-)\n\n\n\n**Signature:**\n```ts\ngetSourceFile(fileName?: string): {\n        fileName: string;\n        readonly text: string;\n        lineMap: unknown;\n        getLineAndCharacterOfPosition: (position: number) => Position;\n    };\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueSFCDocument-getText-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueSFCDocument-getText-member-1-\"></a>\n\n#### [getText](#-vuedx-vue-virtual-textdocument-VueSFCDocument-getText-member-1-)\n\n\n\n**Signature:**\n```ts\ngetText(range?: Range): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| range | <code><a href=\"#vscode-languageserver-textdocument-Range-interface\">Range</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueSFCDocument-offsetAt-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueSFCDocument-offsetAt-member-1-\"></a>\n\n#### [offsetAt](#-vuedx-vue-virtual-textdocument-VueSFCDocument-offsetAt-member-1-)\n\n\n\n**Signature:**\n```ts\noffsetAt(position: Position): number;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| position | <code><a href=\"#vscode-languageserver-textdocument-Position-interface\">Position</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueSFCDocument-originalOffsetAt-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueSFCDocument-originalOffsetAt-member-1-\"></a>\n\n#### [originalOffsetAt](#-vuedx-vue-virtual-textdocument-VueSFCDocument-originalOffsetAt-member-1-)\n\n\n\n**Signature:**\n```ts\noriginalOffsetAt(offset: number): number | null;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueSFCDocument-originalPositionFor-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueSFCDocument-originalPositionFor-member-1-\"></a>\n\n#### [originalPositionFor](#-vuedx-vue-virtual-textdocument-VueSFCDocument-originalPositionFor-member-1-)\n\n\n\n**Signature:**\n```ts\noriginalPositionFor(position: Position): Position | null;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| position | <code><a href=\"#vscode-languageserver-textdocument-Position-interface\">Position</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueSFCDocument-positionAt-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueSFCDocument-positionAt-member-1-\"></a>\n\n#### [positionAt](#-vuedx-vue-virtual-textdocument-VueSFCDocument-positionAt-member-1-)\n\n\n\n**Signature:**\n```ts\npositionAt(offset: number): Position;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueSFCDocument-update-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueSFCDocument-update-member-1-\"></a>\n\n#### [update](#-vuedx-vue-virtual-textdocument-VueSFCDocument-update-member-1-)\n\n\n\n**Signature:**\n```ts\nupdate(changes: TextDocumentContentChangeEvent[], version: number): void;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| changes | <code><a href=\"#vscode-languageserver-textdocument-TextDocumentContentChangeEvent-type\">TextDocumentContentChangeEvent</a>[]</code> | - |\n| version | <code>number</code> | - |\n\n<br>\n</details>\n\n<br>\n\n\n## Types\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-TextSpan-interface\" id=\"-vuedx-vue-virtual-textdocument-TextSpan-interface\"></a>\n\n### [TextSpan](#-vuedx-vue-virtual-textdocument-TextSpan-interface)\n\n\n\n```ts\nexport interface TextSpan {\n  length: number;\n  start: number;\n}\n```\n\n\n<br>\n<!-- #region API-DOCS -->\n\n## Support\n\nThis package is part of [VueDX project](https://github.com/znck/vue-developer-experience), maintained by [Rahul Kadyan](https://github.com/znck). You can [💖 sponsor him](https://github.com/sponsors/znck) for continued development of this package and other VueDX tools.\n\n<p align=\"center\">\n  <a href=\"https://cdn.jsdelivr.net/gh/znck/sponsors@main/sponsors.svg\">\n    <img src='https://cdn.jsdelivr.net/gh/znck/sponsors@main/sponsors.png'/>\n  </a>\n</p>\n","readmeFilename":"readme.md","_id":"@vuedx/vue-virtual-textdocument@0.7.6-next-1667343481.0","_integrity":"sha512-ZbGFWMqRJClp+6nOnv3F9uQXuCB/lvHetqD8SmOyHuhq0rNgM4QJYHXiybwMYz+NJDMC5Y71KMcd9AHzn65KsQ==","_resolved":"/tmp/59507adfe3ec64d5bce9cc56ef3bf700/vuedx-vue-virtual-textdocument-0.7.6-next-1667343481.0.tgz","_from":"file:vuedx-vue-virtual-textdocument-0.7.6-next-1667343481.0.tgz","_nodeVersion":"18.12.0","_npmVersion":"8.19.2","dist":{"integrity":"sha512-ZbGFWMqRJClp+6nOnv3F9uQXuCB/lvHetqD8SmOyHuhq0rNgM4QJYHXiybwMYz+NJDMC5Y71KMcd9AHzn65KsQ==","shasum":"abb1c15b30542bbb4216185ae421b7a468c34922","tarball":"https://registry.npmjs.org/@vuedx/vue-virtual-textdocument/-/vue-virtual-textdocument-0.7.6-next-1667343481.0.tgz","fileCount":11,"unpackedSize":139262,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIHAmQOQCsYNjsy0a6ukZTxZGQImAKmITXgmRt6u9ysL9AiEA4TnQtqEiqmV/1eRHQA3VWfy7i8W+R/1JclSeHS/zBu8="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjYaSXACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmoikxAAjefEA9oX979cmvUgC3WCMQ/pNcEgZNx4LUB2/EM4oZrZyxuJ\r\nRtKrNltUvwv4Y9YkFhaQ/+TN3z2xGLeuJQiKN48IYd+QenusYV1XUKX+C3Tb\r\nVEou6AKAogqo3xzqzNKew1T0m66MfJz6j1hBuCWiUcXLRZQes0X3g0lM9HX1\r\nVmzmAzJDaBow7ysT1rhorb/CuthRKmNTMowVNLXRSVbe55E9jFLVFl6F14MS\r\n2fcBG6JgXFJzAKPHbuXHO3LZSS7YvsM7zuu+Zbj5aGgG69sVVm/C7cBro19o\r\nQ1X06D+q5eJuRNzKDHsfM8Y722uDlDLt7RJ/PL8cnyvAJWOE2VWFflIdiqiv\r\nAoyk56Qwq2XWaETs6K5Nt0RA2ZsY9/UiwYOpMa3SRSDZdhoaFoWvs5rbKgQ/\r\nswJXkvfOj0cGkH78JvLkblANFCfezCLywa7HyW85JAJmFQYNUG6pOE+LSdhq\r\nZFcAQnRU5Ne35qxWkbbckYNr41pMPUvAWZILGPUZEngC9PPGtWHIzUVvhyTm\r\n/ALvIZl7Ijc+Pyu/hjG8Pn2/30to4xXZuHxPBZlZPs2Gw8nv23YqC4+Ppak7\r\nn7CwznLGROUuQzeEoYmSsDDVNyXAbGEGMa5nvtq0Oz0+eP+e0Cym8vudiNDA\r\nCjzHsYr7JsmZXmPjq2ZbKj1JxXFZoS13MxM=\r\n=7eFS\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"znck","email":"rahulkdn@gmail.com"},"directories":{},"maintainers":[{"name":"znck","email":"rahulkdn@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/vue-virtual-textdocument_0.7.6-next-1667343481.0_1667343511397_0.827729248029577"},"_hasShrinkwrap":false},"0.7.6-next-1667345249.0":{"name":"@vuedx/vue-virtual-textdocument","version":"0.7.6-next-1667345249.0","description":"A virtual filesystem to access blocks in SFC as files","main":"lib/index.js","module":"lib/index.mjs","types":"lib/index.d.ts","private":false,"keywords":["vue","vue sfc","sfc","vue virtual files"],"repository":{"type":"git","url":"git+https://github.com/znck/vue-developer-experience.git"},"author":{"name":"Rahul Kadyan","email":"rahulkdn@gmail.com","url":"https://znck.me/"},"funding":{"type":"individual","url":"https://github.com/sponsors/znck"},"license":"MIT","bugs":{"url":"https://github.com/znck/vue-developer-experience/issues"},"homepage":"https://github.com/znck/vue-developer-experience#readme","dependencies":{"@vuedx/compiler-sfc":"0.7.2-next-1667345249.0","@vuedx/compiler-tsx":"0.8.1-next-1667345249.0","@vuedx/shared":"0.7.5-next-1667345249.0","@vuedx/template-ast-types":"0.7.4-next-1667345249.0","@vuedx/transforms":"0.7.6-next-1667345249.0","sourcemap-codec":"^1.4.8","vscode-languageserver-textdocument":"^1.0.1","vscode-uri":"^2.1.2"},"devDependencies":{"typescript":"^4.6.3"},"scripts":{},"readme":"# Vue Virtual TextDocument\n\nAn implementation of virtual filesystem for accessing blocks in a `.vue` file as independent files.\n\n```\nnpm add @vuedx/vue-virtual-textdocument\n```\n<!-- #region API-DOCS -->\n<!-- Do not edit this file. It is a report generated by [scripts/docgen.js](https://github.com/znck/vue-developer-experience/tree/main/scripts/docgen.js). -->\n\n## API\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueSFCDocument-class\" id=\"-vuedx-vue-virtual-textdocument-VueSFCDocument-class\"></a>\n\n### [VueSFCDocument](#-vuedx-vue-virtual-textdocument-VueSFCDocument-class)\n\n\n\n<details><summary>More info</summary>\n\n**Signature:**\n```ts\nexport declare class VueSFCDocument implements TextDocument {\n  get blocks(): SFCBlock[];\n  static create(fileName: string, content: string, options?: Omit<CompileOptions, 'cache' | 'fileName'>, version?: number): VueSFCDocument;\n  get descriptor(): SFCDescriptor;\n  get errors(): Array<CompilerError | SyntaxError>;\n  get fileName(): string;\n  findGeneratedTextSpan(spanInOriginalText: TextSpan): TextSpan | null;\n  findMapping(positionType: 'original' | 'generated', position: Position, searchBias?: SourceMapBiasType): Mapping | null;\n  findOriginalTextSpan(spanInGeneratedText: TextSpan): TextSpan | null;\n  get generated(): TextDocument;\n  readonly generatedFileName: string;\n  generatedOffsetAt(offset: number): number | null;\n  generatedPositionFor(position: Position): Position | null;\n  getBlockAt(offset: number): SFCBlock | null;\n  getLineAndCharacterOfPosition(position: number): Position;\n  getSourceFile(fileName?: string): {\n        fileName: string;\n        readonly text: string;\n        lineMap: unknown;\n        getLineAndCharacterOfPosition: (position: number) => Position;\n    };\n  getText(range?: Range): string;\n  get languageId(): string;\n  get lineCount(): number;\n  lineMap: unknown | undefined;\n  get map(): string;\n  offsetAt(position: Position): number;\n  readonly options: Required<CompileOptions>;\n  get original(): TextDocument;\n  readonly originalFileName: string;\n  originalOffsetAt(offset: number): number | null;\n  originalPositionFor(position: Position): Position | null;\n  positionAt(offset: number): Position;\n  get snapshot(): VueToTsxSnapshot;\n  get templateAST(): RootNode | undefined;\n  get text(): string;\n  update(changes: TextDocumentContentChangeEvent[], version: number): void;\n  get uri(): string;\n  get version(): number;\n}\n```\n\n**Members:**\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueSFCDocument-create-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueSFCDocument-create-member-1-\"></a>\n\n#### [create](#-vuedx-vue-virtual-textdocument-VueSFCDocument-create-member-1-)\n\n\n\n**Signature:**\n```ts\nstatic create(fileName: string, content: string, options?: Omit<CompileOptions, 'cache' | 'fileName'>, version?: number): VueSFCDocument;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n| content | <code>string</code> | - |\n| options | <code><a href=\"#-Omit-type\">Omit</a><<a href=\"#-vuedx-compiler-tsx-CompileOptions-interface\">CompileOptions</a>, 'cache' &#124; 'fileName'></code> | - |\n| version | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueSFCDocument-findGeneratedTextSpan-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueSFCDocument-findGeneratedTextSpan-member-1-\"></a>\n\n#### [findGeneratedTextSpan](#-vuedx-vue-virtual-textdocument-VueSFCDocument-findGeneratedTextSpan-member-1-)\n\n\n\n**Signature:**\n```ts\nfindGeneratedTextSpan(spanInOriginalText: TextSpan): TextSpan | null;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| spanInOriginalText | <code><a href=\"#-vuedx-vue-virtual-textdocument-TextSpan-interface\">TextSpan</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueSFCDocument-findMapping-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueSFCDocument-findMapping-member-1-\"></a>\n\n#### [findMapping](#-vuedx-vue-virtual-textdocument-VueSFCDocument-findMapping-member-1-)\n\n\n\n**Signature:**\n```ts\nfindMapping(positionType: 'original' | 'generated', position: Position, searchBias?: SourceMapBiasType): Mapping | null;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| positionType | <code>'original' &#124; 'generated'</code> | - |\n| position | <code><a href=\"#vscode-languageserver-textdocument-Position-interface\">Position</a></code> | - |\n| searchBias | <code><a href=\"#-vuedx-vue-virtual-textdocument--SourceMapBiasType-type\">SourceMapBiasType</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueSFCDocument-findOriginalTextSpan-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueSFCDocument-findOriginalTextSpan-member-1-\"></a>\n\n#### [findOriginalTextSpan](#-vuedx-vue-virtual-textdocument-VueSFCDocument-findOriginalTextSpan-member-1-)\n\n\n\n**Signature:**\n```ts\nfindOriginalTextSpan(spanInGeneratedText: TextSpan): TextSpan | null;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| spanInGeneratedText | <code><a href=\"#-vuedx-vue-virtual-textdocument-TextSpan-interface\">TextSpan</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueSFCDocument-generatedOffsetAt-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueSFCDocument-generatedOffsetAt-member-1-\"></a>\n\n#### [generatedOffsetAt](#-vuedx-vue-virtual-textdocument-VueSFCDocument-generatedOffsetAt-member-1-)\n\n\n\n**Signature:**\n```ts\ngeneratedOffsetAt(offset: number): number | null;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueSFCDocument-generatedPositionFor-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueSFCDocument-generatedPositionFor-member-1-\"></a>\n\n#### [generatedPositionFor](#-vuedx-vue-virtual-textdocument-VueSFCDocument-generatedPositionFor-member-1-)\n\n\n\n**Signature:**\n```ts\ngeneratedPositionFor(position: Position): Position | null;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| position | <code><a href=\"#vscode-languageserver-textdocument-Position-interface\">Position</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueSFCDocument-getBlockAt-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueSFCDocument-getBlockAt-member-1-\"></a>\n\n#### [getBlockAt](#-vuedx-vue-virtual-textdocument-VueSFCDocument-getBlockAt-member-1-)\n\n\n\n**Signature:**\n```ts\ngetBlockAt(offset: number): SFCBlock | null;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueSFCDocument-getLineAndCharacterOfPosition-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueSFCDocument-getLineAndCharacterOfPosition-member-1-\"></a>\n\n#### [getLineAndCharacterOfPosition](#-vuedx-vue-virtual-textdocument-VueSFCDocument-getLineAndCharacterOfPosition-member-1-)\n\n\n\n**Signature:**\n```ts\ngetLineAndCharacterOfPosition(position: number): Position;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| position | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueSFCDocument-getSourceFile-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueSFCDocument-getSourceFile-member-1-\"></a>\n\n#### [getSourceFile](#-vuedx-vue-virtual-textdocument-VueSFCDocument-getSourceFile-member-1-)\n\n\n\n**Signature:**\n```ts\ngetSourceFile(fileName?: string): {\n        fileName: string;\n        readonly text: string;\n        lineMap: unknown;\n        getLineAndCharacterOfPosition: (position: number) => Position;\n    };\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueSFCDocument-getText-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueSFCDocument-getText-member-1-\"></a>\n\n#### [getText](#-vuedx-vue-virtual-textdocument-VueSFCDocument-getText-member-1-)\n\n\n\n**Signature:**\n```ts\ngetText(range?: Range): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| range | <code><a href=\"#vscode-languageserver-textdocument-Range-interface\">Range</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueSFCDocument-offsetAt-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueSFCDocument-offsetAt-member-1-\"></a>\n\n#### [offsetAt](#-vuedx-vue-virtual-textdocument-VueSFCDocument-offsetAt-member-1-)\n\n\n\n**Signature:**\n```ts\noffsetAt(position: Position): number;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| position | <code><a href=\"#vscode-languageserver-textdocument-Position-interface\">Position</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueSFCDocument-originalOffsetAt-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueSFCDocument-originalOffsetAt-member-1-\"></a>\n\n#### [originalOffsetAt](#-vuedx-vue-virtual-textdocument-VueSFCDocument-originalOffsetAt-member-1-)\n\n\n\n**Signature:**\n```ts\noriginalOffsetAt(offset: number): number | null;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueSFCDocument-originalPositionFor-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueSFCDocument-originalPositionFor-member-1-\"></a>\n\n#### [originalPositionFor](#-vuedx-vue-virtual-textdocument-VueSFCDocument-originalPositionFor-member-1-)\n\n\n\n**Signature:**\n```ts\noriginalPositionFor(position: Position): Position | null;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| position | <code><a href=\"#vscode-languageserver-textdocument-Position-interface\">Position</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueSFCDocument-positionAt-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueSFCDocument-positionAt-member-1-\"></a>\n\n#### [positionAt](#-vuedx-vue-virtual-textdocument-VueSFCDocument-positionAt-member-1-)\n\n\n\n**Signature:**\n```ts\npositionAt(offset: number): Position;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueSFCDocument-update-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueSFCDocument-update-member-1-\"></a>\n\n#### [update](#-vuedx-vue-virtual-textdocument-VueSFCDocument-update-member-1-)\n\n\n\n**Signature:**\n```ts\nupdate(changes: TextDocumentContentChangeEvent[], version: number): void;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| changes | <code><a href=\"#vscode-languageserver-textdocument-TextDocumentContentChangeEvent-type\">TextDocumentContentChangeEvent</a>[]</code> | - |\n| version | <code>number</code> | - |\n\n<br>\n</details>\n\n<br>\n\n\n## Types\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-TextSpan-interface\" id=\"-vuedx-vue-virtual-textdocument-TextSpan-interface\"></a>\n\n### [TextSpan](#-vuedx-vue-virtual-textdocument-TextSpan-interface)\n\n\n\n```ts\nexport interface TextSpan {\n  length: number;\n  start: number;\n}\n```\n\n\n<br>\n<!-- #region API-DOCS -->\n\n## Support\n\nThis package is part of [VueDX project](https://github.com/znck/vue-developer-experience), maintained by [Rahul Kadyan](https://github.com/znck). You can [💖 sponsor him](https://github.com/sponsors/znck) for continued development of this package and other VueDX tools.\n\n<p align=\"center\">\n  <a href=\"https://cdn.jsdelivr.net/gh/znck/sponsors@main/sponsors.svg\">\n    <img src='https://cdn.jsdelivr.net/gh/znck/sponsors@main/sponsors.png'/>\n  </a>\n</p>\n","readmeFilename":"readme.md","_id":"@vuedx/vue-virtual-textdocument@0.7.6-next-1667345249.0","_integrity":"sha512-jKN+izDAqoYwnhmVAv7xLBpyMMMxeGZmJP3ikm+gj9cm9JaOaj68k9hVUXPsKvcCVrQeWPlHiB9iY4BfeTzK1Q==","_resolved":"/tmp/7bf5e81a8e1e72ecb4eead858a39970a/vuedx-vue-virtual-textdocument-0.7.6-next-1667345249.0.tgz","_from":"file:vuedx-vue-virtual-textdocument-0.7.6-next-1667345249.0.tgz","_nodeVersion":"18.12.0","_npmVersion":"8.19.2","dist":{"integrity":"sha512-jKN+izDAqoYwnhmVAv7xLBpyMMMxeGZmJP3ikm+gj9cm9JaOaj68k9hVUXPsKvcCVrQeWPlHiB9iY4BfeTzK1Q==","shasum":"ab595bb6bc35a3e107de06a962c38238f145d104","tarball":"https://registry.npmjs.org/@vuedx/vue-virtual-textdocument/-/vue-virtual-textdocument-0.7.6-next-1667345249.0.tgz","fileCount":11,"unpackedSize":139262,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCGTM6XbnQrZ4z+gQt7T/e2+kLWRWb7HIMUU3V3InZ6pgIhAJh/NBFvBpc56UKfoQMXiMfYSiFH87EY2K16QByhZzT8"}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjYat7ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqCPQ//UVrals3mRCHTWA0af3BJepuSWIgEE8+u6tp4LpY6nhS8QQVt\r\n8KPhap4pZ15cP0g5Y2dJ9EO1yj1UyhVJAAsG2KVZnjsSQbi5UpwElB2EqyDB\r\nATN8DMgqvz/MbVbjCK4z4yakG3f67KbAB3Haqu9Jt+8mXvvNhEdh6lBYn+0H\r\neptT4FLR6xllqxXqV54ryJ9L2P8RXWQ3WUjlLWZTUJ4VeRZyOeyM0DLyF/hU\r\nNX0XFBD7EQcfTOf1LSny1tu2VWtMQYmetQBXIipSUFIU9lBHmZkDmfZ1zsaD\r\nPzmXL9J2RrtZUnv3UqOp5HMbBQC4/2yc57r2jFA7BzQm91+bjy2NpyQXHOMB\r\n1yiC24YuTRv8Ple8s1EfG/Sh9OfXa9Gr+l+50tkNk1nARyopDwGbRQ8tnl/5\r\nDlaEMp2eXlxjg9BJ+n6RZ+r3Fid4EejsjAVN6Bh1JQDKFE8qnUwOwIwAiix6\r\nsqVxxpjGk4cnRabb/otdhqv3rGDWPkstu4KfoF/4LkFzSu0sVoHV+M6Dgoj+\r\nHJWgNP5CEpYzDakem9uO9N+ZZ/p2PgdKkEPDz7Y3IgGAKUy9wRbyYv/SPsuS\r\n8jzMWrwf6qUAZmeFFuabxHPZlxBkMm63HtEbXWptrA6cHg/VNvOdpMfglfWZ\r\nV8I703IrM3QKFJ69qS01LGkqw4WV6vt0Rac=\r\n=7sAz\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"znck","email":"rahulkdn@gmail.com"},"directories":{},"maintainers":[{"name":"znck","email":"rahulkdn@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/vue-virtual-textdocument_0.7.6-next-1667345249.0_1667345275018_0.17696553912891"},"_hasShrinkwrap":false},"0.7.7-next-1667345594.0":{"name":"@vuedx/vue-virtual-textdocument","version":"0.7.7-next-1667345594.0","description":"A virtual filesystem to access blocks in SFC as files","main":"lib/index.js","module":"lib/index.mjs","types":"lib/index.d.ts","private":false,"keywords":["vue","vue sfc","sfc","vue virtual files"],"repository":{"type":"git","url":"git+https://github.com/znck/vue-developer-experience.git"},"author":{"name":"Rahul Kadyan","email":"rahulkdn@gmail.com","url":"https://znck.me/"},"funding":{"type":"individual","url":"https://github.com/sponsors/znck"},"license":"MIT","bugs":{"url":"https://github.com/znck/vue-developer-experience/issues"},"homepage":"https://github.com/znck/vue-developer-experience#readme","dependencies":{"@vuedx/compiler-sfc":"0.7.3-next-1667345594.0","@vuedx/compiler-tsx":"0.8.2-next-1667345594.0","@vuedx/shared":"0.7.6-next-1667345594.0","@vuedx/template-ast-types":"0.7.5-next-1667345594.0","@vuedx/transforms":"0.7.7-next-1667345594.0","sourcemap-codec":"^1.4.8","vscode-languageserver-textdocument":"^1.0.1","vscode-uri":"^2.1.2"},"devDependencies":{"typescript":"^4.6.3"},"scripts":{},"readme":"# Vue Virtual TextDocument\n\nAn implementation of virtual filesystem for accessing blocks in a `.vue` file as independent files.\n\n```\nnpm add @vuedx/vue-virtual-textdocument\n```\n<!-- #region API-DOCS -->\n<!-- Do not edit this file. It is a report generated by [scripts/docgen.js](https://github.com/znck/vue-developer-experience/tree/main/scripts/docgen.js). -->\n\n## API\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueSFCDocument-class\" id=\"-vuedx-vue-virtual-textdocument-VueSFCDocument-class\"></a>\n\n### [VueSFCDocument](#-vuedx-vue-virtual-textdocument-VueSFCDocument-class)\n\n\n\n<details><summary>More info</summary>\n\n**Signature:**\n```ts\nexport declare class VueSFCDocument implements TextDocument {\n  get blocks(): SFCBlock[];\n  static create(fileName: string, content: string, options?: Omit<CompileOptions, 'cache' | 'fileName'>, version?: number): VueSFCDocument;\n  get descriptor(): SFCDescriptor;\n  get errors(): Array<CompilerError | SyntaxError>;\n  get fileName(): string;\n  findGeneratedTextSpan(spanInOriginalText: TextSpan): TextSpan | null;\n  findMapping(positionType: 'original' | 'generated', position: Position, searchBias?: SourceMapBiasType): Mapping | null;\n  findOriginalTextSpan(spanInGeneratedText: TextSpan): TextSpan | null;\n  get generated(): TextDocument;\n  readonly generatedFileName: string;\n  generatedOffsetAt(offset: number): number | null;\n  generatedPositionFor(position: Position): Position | null;\n  getBlockAt(offset: number): SFCBlock | null;\n  getLineAndCharacterOfPosition(position: number): Position;\n  getSourceFile(fileName?: string): {\n        fileName: string;\n        readonly text: string;\n        lineMap: unknown;\n        getLineAndCharacterOfPosition: (position: number) => Position;\n    };\n  getText(range?: Range): string;\n  get languageId(): string;\n  get lineCount(): number;\n  lineMap: unknown | undefined;\n  get map(): string;\n  offsetAt(position: Position): number;\n  readonly options: Required<CompileOptions>;\n  get original(): TextDocument;\n  readonly originalFileName: string;\n  originalOffsetAt(offset: number): number | null;\n  originalPositionFor(position: Position): Position | null;\n  positionAt(offset: number): Position;\n  get snapshot(): VueToTsxSnapshot;\n  get templateAST(): RootNode | undefined;\n  get text(): string;\n  update(changes: TextDocumentContentChangeEvent[], version: number): void;\n  get uri(): string;\n  get version(): number;\n}\n```\n\n**Members:**\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueSFCDocument-create-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueSFCDocument-create-member-1-\"></a>\n\n#### [create](#-vuedx-vue-virtual-textdocument-VueSFCDocument-create-member-1-)\n\n\n\n**Signature:**\n```ts\nstatic create(fileName: string, content: string, options?: Omit<CompileOptions, 'cache' | 'fileName'>, version?: number): VueSFCDocument;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n| content | <code>string</code> | - |\n| options | <code><a href=\"#-Omit-type\">Omit</a><<a href=\"#-vuedx-compiler-tsx-CompileOptions-interface\">CompileOptions</a>, 'cache' &#124; 'fileName'></code> | - |\n| version | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueSFCDocument-findGeneratedTextSpan-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueSFCDocument-findGeneratedTextSpan-member-1-\"></a>\n\n#### [findGeneratedTextSpan](#-vuedx-vue-virtual-textdocument-VueSFCDocument-findGeneratedTextSpan-member-1-)\n\n\n\n**Signature:**\n```ts\nfindGeneratedTextSpan(spanInOriginalText: TextSpan): TextSpan | null;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| spanInOriginalText | <code><a href=\"#-vuedx-vue-virtual-textdocument-TextSpan-interface\">TextSpan</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueSFCDocument-findMapping-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueSFCDocument-findMapping-member-1-\"></a>\n\n#### [findMapping](#-vuedx-vue-virtual-textdocument-VueSFCDocument-findMapping-member-1-)\n\n\n\n**Signature:**\n```ts\nfindMapping(positionType: 'original' | 'generated', position: Position, searchBias?: SourceMapBiasType): Mapping | null;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| positionType | <code>'original' &#124; 'generated'</code> | - |\n| position | <code><a href=\"#vscode-languageserver-textdocument-Position-interface\">Position</a></code> | - |\n| searchBias | <code><a href=\"#-vuedx-vue-virtual-textdocument--SourceMapBiasType-type\">SourceMapBiasType</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueSFCDocument-findOriginalTextSpan-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueSFCDocument-findOriginalTextSpan-member-1-\"></a>\n\n#### [findOriginalTextSpan](#-vuedx-vue-virtual-textdocument-VueSFCDocument-findOriginalTextSpan-member-1-)\n\n\n\n**Signature:**\n```ts\nfindOriginalTextSpan(spanInGeneratedText: TextSpan): TextSpan | null;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| spanInGeneratedText | <code><a href=\"#-vuedx-vue-virtual-textdocument-TextSpan-interface\">TextSpan</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueSFCDocument-generatedOffsetAt-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueSFCDocument-generatedOffsetAt-member-1-\"></a>\n\n#### [generatedOffsetAt](#-vuedx-vue-virtual-textdocument-VueSFCDocument-generatedOffsetAt-member-1-)\n\n\n\n**Signature:**\n```ts\ngeneratedOffsetAt(offset: number): number | null;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueSFCDocument-generatedPositionFor-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueSFCDocument-generatedPositionFor-member-1-\"></a>\n\n#### [generatedPositionFor](#-vuedx-vue-virtual-textdocument-VueSFCDocument-generatedPositionFor-member-1-)\n\n\n\n**Signature:**\n```ts\ngeneratedPositionFor(position: Position): Position | null;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| position | <code><a href=\"#vscode-languageserver-textdocument-Position-interface\">Position</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueSFCDocument-getBlockAt-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueSFCDocument-getBlockAt-member-1-\"></a>\n\n#### [getBlockAt](#-vuedx-vue-virtual-textdocument-VueSFCDocument-getBlockAt-member-1-)\n\n\n\n**Signature:**\n```ts\ngetBlockAt(offset: number): SFCBlock | null;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueSFCDocument-getLineAndCharacterOfPosition-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueSFCDocument-getLineAndCharacterOfPosition-member-1-\"></a>\n\n#### [getLineAndCharacterOfPosition](#-vuedx-vue-virtual-textdocument-VueSFCDocument-getLineAndCharacterOfPosition-member-1-)\n\n\n\n**Signature:**\n```ts\ngetLineAndCharacterOfPosition(position: number): Position;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| position | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueSFCDocument-getSourceFile-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueSFCDocument-getSourceFile-member-1-\"></a>\n\n#### [getSourceFile](#-vuedx-vue-virtual-textdocument-VueSFCDocument-getSourceFile-member-1-)\n\n\n\n**Signature:**\n```ts\ngetSourceFile(fileName?: string): {\n        fileName: string;\n        readonly text: string;\n        lineMap: unknown;\n        getLineAndCharacterOfPosition: (position: number) => Position;\n    };\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueSFCDocument-getText-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueSFCDocument-getText-member-1-\"></a>\n\n#### [getText](#-vuedx-vue-virtual-textdocument-VueSFCDocument-getText-member-1-)\n\n\n\n**Signature:**\n```ts\ngetText(range?: Range): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| range | <code><a href=\"#vscode-languageserver-textdocument-Range-interface\">Range</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueSFCDocument-offsetAt-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueSFCDocument-offsetAt-member-1-\"></a>\n\n#### [offsetAt](#-vuedx-vue-virtual-textdocument-VueSFCDocument-offsetAt-member-1-)\n\n\n\n**Signature:**\n```ts\noffsetAt(position: Position): number;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| position | <code><a href=\"#vscode-languageserver-textdocument-Position-interface\">Position</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueSFCDocument-originalOffsetAt-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueSFCDocument-originalOffsetAt-member-1-\"></a>\n\n#### [originalOffsetAt](#-vuedx-vue-virtual-textdocument-VueSFCDocument-originalOffsetAt-member-1-)\n\n\n\n**Signature:**\n```ts\noriginalOffsetAt(offset: number): number | null;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueSFCDocument-originalPositionFor-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueSFCDocument-originalPositionFor-member-1-\"></a>\n\n#### [originalPositionFor](#-vuedx-vue-virtual-textdocument-VueSFCDocument-originalPositionFor-member-1-)\n\n\n\n**Signature:**\n```ts\noriginalPositionFor(position: Position): Position | null;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| position | <code><a href=\"#vscode-languageserver-textdocument-Position-interface\">Position</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueSFCDocument-positionAt-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueSFCDocument-positionAt-member-1-\"></a>\n\n#### [positionAt](#-vuedx-vue-virtual-textdocument-VueSFCDocument-positionAt-member-1-)\n\n\n\n**Signature:**\n```ts\npositionAt(offset: number): Position;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueSFCDocument-update-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueSFCDocument-update-member-1-\"></a>\n\n#### [update](#-vuedx-vue-virtual-textdocument-VueSFCDocument-update-member-1-)\n\n\n\n**Signature:**\n```ts\nupdate(changes: TextDocumentContentChangeEvent[], version: number): void;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| changes | <code><a href=\"#vscode-languageserver-textdocument-TextDocumentContentChangeEvent-type\">TextDocumentContentChangeEvent</a>[]</code> | - |\n| version | <code>number</code> | - |\n\n<br>\n</details>\n\n<br>\n\n\n## Types\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-TextSpan-interface\" id=\"-vuedx-vue-virtual-textdocument-TextSpan-interface\"></a>\n\n### [TextSpan](#-vuedx-vue-virtual-textdocument-TextSpan-interface)\n\n\n\n```ts\nexport interface TextSpan {\n  length: number;\n  start: number;\n}\n```\n\n\n<br>\n<!-- #region API-DOCS -->\n\n## Support\n\nThis package is part of [VueDX project](https://github.com/znck/vue-developer-experience), maintained by [Rahul Kadyan](https://github.com/znck). You can [💖 sponsor him](https://github.com/sponsors/znck) for continued development of this package and other VueDX tools.\n\n<p align=\"center\">\n  <a href=\"https://cdn.jsdelivr.net/gh/znck/sponsors@main/sponsors.svg\">\n    <img src='https://cdn.jsdelivr.net/gh/znck/sponsors@main/sponsors.png'/>\n  </a>\n</p>\n","readmeFilename":"readme.md","_id":"@vuedx/vue-virtual-textdocument@0.7.7-next-1667345594.0","_integrity":"sha512-xj9WGAO3N/I4uBWhNo79VvHB9rX5gwBeVpBe51EvqBGxsnvFP+GN48edYBtAtwwG/8A+uLDcdeEMa6szuLn1OA==","_resolved":"/tmp/6b50f7ab348bf71c298b47212fb4fb8b/vuedx-vue-virtual-textdocument-0.7.7-next-1667345594.0.tgz","_from":"file:vuedx-vue-virtual-textdocument-0.7.7-next-1667345594.0.tgz","_nodeVersion":"18.12.0","_npmVersion":"8.19.2","dist":{"integrity":"sha512-xj9WGAO3N/I4uBWhNo79VvHB9rX5gwBeVpBe51EvqBGxsnvFP+GN48edYBtAtwwG/8A+uLDcdeEMa6szuLn1OA==","shasum":"82a181e36a9c38ac3cfc3fdf4695d40010878d6a","tarball":"https://registry.npmjs.org/@vuedx/vue-virtual-textdocument/-/vue-virtual-textdocument-0.7.7-next-1667345594.0.tgz","fileCount":11,"unpackedSize":139262,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDAzWaUkx9I2/IfH52BsLHuJ2fB2bixhuhvGacrMEc7jQIgergXSUHYhrdtS4JlYSIrepbhE6eyqQ0CwoPeXEVHaNA="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjYazVACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqPkg//bMHj1qiDOFTwr9zLvlXJ/jAW03O9VjlYvgoqx8tHORa+g1wB\r\nC0Zj1jnpVD1ZihY0ru150Q4t+9nK+m4ykkAbPU0t6rBK0nUFIt8GJ5OFcCx4\r\n5pmpGPWJF8M1Y1hhAV3mLF1HidBErZy7CsQjF783zy1HegnBeFg8YOW36yjl\r\n/bP7TD/lkbaIFYw1SFGEGbLalwjZ/XdLFW6t5oveC3lK7ve2YDBaTcFLqR1L\r\njWUA6itRhaUfBAOmoh3SmbnTtBn2Q/Zobu6f2kB8u8fh5rsTGjwTqo7bKdJd\r\na6DpNWU97hxu9AZttxxurcsYyRVHhLm+gauIO3cyS6buo2jnGRi2/aNOOKZH\r\nWSzb/FAdXiNUzxKpD5mYTYs5kzQvm/G91Y3GUSeamcu5IvTTliCCdpesrCrK\r\n0JKRmytyqutLpPP1tQbViQOgPNNEf8rpGgM6HTvBKlwBqofTJNYNi9RRDuQE\r\nLIl1HXl1NTB0TDlGL9U+P+OWvGiPmZLXg9d+ZV0xmbAHtro653+yrh3+gzq9\r\nCGRe+UGwDnP2pHW7ug/YhtiXRV4uxaPdcrqNyr4rBw5gCIAH78mjo1Ox9Zab\r\ndihd2ylXajNA3cu5tLwx/RXRVFurBfCSuliE4ev0+uuPzdA+XMvpwq35DiQo\r\nnJ82RYd1kO+UuYcgaFd8kyeYgtMYMut+HjY=\r\n=fBRW\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"znck","email":"rahulkdn@gmail.com"},"directories":{},"maintainers":[{"name":"znck","email":"rahulkdn@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/vue-virtual-textdocument_0.7.7-next-1667345594.0_1667345621204_0.10751970457580251"},"_hasShrinkwrap":false},"0.7.6":{"name":"@vuedx/vue-virtual-textdocument","version":"0.7.6","description":"A virtual filesystem to access blocks in SFC as files","main":"lib/index.js","module":"lib/index.mjs","types":"lib/index.d.ts","private":false,"keywords":["vue","vue sfc","sfc","vue virtual files"],"repository":{"type":"git","url":"git+https://github.com/znck/vue-developer-experience.git"},"author":{"name":"Rahul Kadyan","email":"rahulkdn@gmail.com","url":"https://znck.me/"},"funding":{"type":"individual","url":"https://github.com/sponsors/znck"},"license":"MIT","bugs":{"url":"https://github.com/znck/vue-developer-experience/issues"},"homepage":"https://github.com/znck/vue-developer-experience#readme","dependencies":{"@vuedx/compiler-sfc":"0.7.2","@vuedx/compiler-tsx":"0.8.1","@vuedx/shared":"0.7.5","@vuedx/template-ast-types":"0.7.4","@vuedx/transforms":"0.7.6","sourcemap-codec":"^1.4.8","vscode-languageserver-textdocument":"^1.0.1","vscode-uri":"^2.1.2"},"devDependencies":{"typescript":"^4.6.3"},"scripts":{},"_id":"@vuedx/vue-virtual-textdocument@0.7.6","_integrity":"sha512-atPX5dgH/iOYG8uyaKXy3ra7Lc6F73WQBIj7uAXJM39fabi83rkQXljG0qbIA1O/dePAU/Z+bbT3zUU/vza0Xw==","_resolved":"/tmp/3ec2b567df49202ca25a96fb19573edd/vuedx-vue-virtual-textdocument-0.7.6.tgz","_from":"file:vuedx-vue-virtual-textdocument-0.7.6.tgz","_nodeVersion":"18.12.0","_npmVersion":"8.19.2","dist":{"integrity":"sha512-atPX5dgH/iOYG8uyaKXy3ra7Lc6F73WQBIj7uAXJM39fabi83rkQXljG0qbIA1O/dePAU/Z+bbT3zUU/vza0Xw==","shasum":"d6a3f747700a55b7e6ea0a020972640a2d63c6cd","tarball":"https://registry.npmjs.org/@vuedx/vue-virtual-textdocument/-/vue-virtual-textdocument-0.7.6.tgz","fileCount":11,"unpackedSize":139154,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDESk/+pXCgbGllVMz3yJVJKg2uFSt513jY1+YjyhoL9AIgaExA3u2k9ERuYi3umFuWQ/C+d7muu58rZ+h3FG5uYZA="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjYazgACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpAkBAAmdkCvudo5U8OGK5i8KcBzWzeVz0cJMyc96tQPvOhuClw/IFX\r\nMzh6vs4/5Mk4EvCG3wqVfvkSa23KmneUxNtsj/6JL0xvI6IP9Pkl1MOeZDht\r\njDzPyVUGFcGjJx+SuKqKCy36CrBPxc7gWgEUSt8cP9wxXFrv1FNG0Vyqu0Wi\r\nJN0NVfrBSNnuWMXBQMkdAjwNr9kux0/pymcLzwBE1dfPB2TpfQJzpeMw/9R/\r\nQdjOokAZS9PgiD8kqFlZ+udTACXysjydhU3uVPbDHGdWqMPFunx4Ak1CrLZx\r\nVEDMilFBru8vuZL0QLMMEZjyfvHn7N7SwdSRZqaVmDk+Q8FnTav5oJYWz0LF\r\n8z0cmM1m4LNp0bmvnDgrqERSYFdPxqN9m1wjxWkZLxzhP8b0Ei9PPSk7Ug/q\r\nvHm0K9vOl8WKlY+IT+OepY6AlRYNuSxKAW+g4fv9/WKHduDIgVaCjZ9sL1Jw\r\nfIPt+5VwPsAR66QMN63FFIt1cTW9zamRwRon9CV4MWynDNn6HvdzGe8DoT/y\r\nWC1wa1DHyJGO06lyX9kLkEASGPu+pgFGqPBg1PQE3WyjE1Z4B2mIXFYRIAgY\r\nFFxe3pDJPoQu0IxhbNtmYuhGtVNA7Tq0siaF27OEcWcl4Yt+W6xX+1vEnXo9\r\n/fUXQATyKGxS1JzSPHvHA9HYIQhHUpPwxzE=\r\n=eZ4p\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"znck","email":"rahulkdn@gmail.com"},"directories":{},"maintainers":[{"name":"znck","email":"rahulkdn@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/vue-virtual-textdocument_0.7.6_1667345631969_0.5946762190779127"},"_hasShrinkwrap":false},"0.7.7-next-1667540051.0":{"name":"@vuedx/vue-virtual-textdocument","version":"0.7.7-next-1667540051.0","description":"A virtual filesystem to access blocks in SFC as files","main":"lib/index.js","module":"lib/index.mjs","types":"lib/index.d.ts","private":false,"keywords":["vue","vue sfc","sfc","vue virtual files"],"repository":{"type":"git","url":"git+https://github.com/znck/vue-developer-experience.git"},"author":{"name":"Rahul Kadyan","email":"rahulkdn@gmail.com","url":"https://znck.me/"},"funding":{"type":"individual","url":"https://github.com/sponsors/znck"},"license":"MIT","bugs":{"url":"https://github.com/znck/vue-developer-experience/issues"},"homepage":"https://github.com/znck/vue-developer-experience#readme","dependencies":{"@vuedx/compiler-sfc":"0.7.3-next-1667540051.0","@vuedx/compiler-tsx":"0.8.2-next-1667540051.0","@vuedx/shared":"0.7.6-next-1667540051.0","@vuedx/template-ast-types":"0.7.5-next-1667540051.0","@vuedx/transforms":"0.7.7-next-1667540051.0","sourcemap-codec":"^1.4.8","vscode-languageserver-textdocument":"^1.0.1","vscode-uri":"^2.1.2"},"devDependencies":{"typescript":"^4.6.3"},"scripts":{},"readme":"# Vue Virtual TextDocument\n\nAn implementation of virtual filesystem for accessing blocks in a `.vue` file as independent files.\n\n```\nnpm add @vuedx/vue-virtual-textdocument\n```\n<!-- #region API-DOCS -->\n<!-- Do not edit this file. It is a report generated by [scripts/docgen.js](https://github.com/znck/vue-developer-experience/tree/main/scripts/docgen.js). -->\n\n## API\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueSFCDocument-class\" id=\"-vuedx-vue-virtual-textdocument-VueSFCDocument-class\"></a>\n\n### [VueSFCDocument](#-vuedx-vue-virtual-textdocument-VueSFCDocument-class)\n\n\n\n<details><summary>More info</summary>\n\n**Signature:**\n```ts\nexport declare class VueSFCDocument implements TextDocument {\n  get blocks(): SFCBlock[];\n  static create(fileName: string, content: string, options?: Omit<CompileOptions, 'cache' | 'fileName'>, version?: number): VueSFCDocument;\n  get descriptor(): SFCDescriptor;\n  get errors(): Array<CompilerError | SyntaxError>;\n  get fileName(): string;\n  findGeneratedTextSpan(spanInOriginalText: TextSpan): TextSpan | null;\n  findMapping(positionType: 'original' | 'generated', position: Position, searchBias?: SourceMapBiasType): Mapping | null;\n  findOriginalTextSpan(spanInGeneratedText: TextSpan): TextSpan | null;\n  get generated(): TextDocument;\n  readonly generatedFileName: string;\n  generatedOffsetAt(offset: number): number | null;\n  generatedPositionFor(position: Position): Position | null;\n  getBlockAt(offset: number): SFCBlock | null;\n  getLineAndCharacterOfPosition(position: number): Position;\n  getSourceFile(fileName?: string): {\n        fileName: string;\n        readonly text: string;\n        lineMap: unknown;\n        getLineAndCharacterOfPosition: (position: number) => Position;\n    };\n  getText(range?: Range): string;\n  get languageId(): string;\n  get lineCount(): number;\n  lineMap: unknown | undefined;\n  get map(): string;\n  offsetAt(position: Position): number;\n  readonly options: Required<CompileOptions>;\n  get original(): TextDocument;\n  readonly originalFileName: string;\n  originalOffsetAt(offset: number): number | null;\n  originalPositionFor(position: Position): Position | null;\n  positionAt(offset: number): Position;\n  get snapshot(): VueToTsxSnapshot;\n  get templateAST(): RootNode | undefined;\n  get text(): string;\n  update(changes: TextDocumentContentChangeEvent[], version: number): void;\n  get uri(): string;\n  get version(): number;\n}\n```\n\n**Members:**\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueSFCDocument-create-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueSFCDocument-create-member-1-\"></a>\n\n#### [create](#-vuedx-vue-virtual-textdocument-VueSFCDocument-create-member-1-)\n\n\n\n**Signature:**\n```ts\nstatic create(fileName: string, content: string, options?: Omit<CompileOptions, 'cache' | 'fileName'>, version?: number): VueSFCDocument;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n| content | <code>string</code> | - |\n| options | <code><a href=\"#-Omit-type\">Omit</a><<a href=\"#-vuedx-compiler-tsx-CompileOptions-interface\">CompileOptions</a>, 'cache' &#124; 'fileName'></code> | - |\n| version | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueSFCDocument-findGeneratedTextSpan-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueSFCDocument-findGeneratedTextSpan-member-1-\"></a>\n\n#### [findGeneratedTextSpan](#-vuedx-vue-virtual-textdocument-VueSFCDocument-findGeneratedTextSpan-member-1-)\n\n\n\n**Signature:**\n```ts\nfindGeneratedTextSpan(spanInOriginalText: TextSpan): TextSpan | null;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| spanInOriginalText | <code><a href=\"#-vuedx-vue-virtual-textdocument-TextSpan-interface\">TextSpan</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueSFCDocument-findMapping-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueSFCDocument-findMapping-member-1-\"></a>\n\n#### [findMapping](#-vuedx-vue-virtual-textdocument-VueSFCDocument-findMapping-member-1-)\n\n\n\n**Signature:**\n```ts\nfindMapping(positionType: 'original' | 'generated', position: Position, searchBias?: SourceMapBiasType): Mapping | null;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| positionType | <code>'original' &#124; 'generated'</code> | - |\n| position | <code><a href=\"#vscode-languageserver-textdocument-Position-interface\">Position</a></code> | - |\n| searchBias | <code><a href=\"#-vuedx-vue-virtual-textdocument--SourceMapBiasType-type\">SourceMapBiasType</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueSFCDocument-findOriginalTextSpan-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueSFCDocument-findOriginalTextSpan-member-1-\"></a>\n\n#### [findOriginalTextSpan](#-vuedx-vue-virtual-textdocument-VueSFCDocument-findOriginalTextSpan-member-1-)\n\n\n\n**Signature:**\n```ts\nfindOriginalTextSpan(spanInGeneratedText: TextSpan): TextSpan | null;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| spanInGeneratedText | <code><a href=\"#-vuedx-vue-virtual-textdocument-TextSpan-interface\">TextSpan</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueSFCDocument-generatedOffsetAt-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueSFCDocument-generatedOffsetAt-member-1-\"></a>\n\n#### [generatedOffsetAt](#-vuedx-vue-virtual-textdocument-VueSFCDocument-generatedOffsetAt-member-1-)\n\n\n\n**Signature:**\n```ts\ngeneratedOffsetAt(offset: number): number | null;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueSFCDocument-generatedPositionFor-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueSFCDocument-generatedPositionFor-member-1-\"></a>\n\n#### [generatedPositionFor](#-vuedx-vue-virtual-textdocument-VueSFCDocument-generatedPositionFor-member-1-)\n\n\n\n**Signature:**\n```ts\ngeneratedPositionFor(position: Position): Position | null;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| position | <code><a href=\"#vscode-languageserver-textdocument-Position-interface\">Position</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueSFCDocument-getBlockAt-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueSFCDocument-getBlockAt-member-1-\"></a>\n\n#### [getBlockAt](#-vuedx-vue-virtual-textdocument-VueSFCDocument-getBlockAt-member-1-)\n\n\n\n**Signature:**\n```ts\ngetBlockAt(offset: number): SFCBlock | null;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueSFCDocument-getLineAndCharacterOfPosition-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueSFCDocument-getLineAndCharacterOfPosition-member-1-\"></a>\n\n#### [getLineAndCharacterOfPosition](#-vuedx-vue-virtual-textdocument-VueSFCDocument-getLineAndCharacterOfPosition-member-1-)\n\n\n\n**Signature:**\n```ts\ngetLineAndCharacterOfPosition(position: number): Position;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| position | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueSFCDocument-getSourceFile-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueSFCDocument-getSourceFile-member-1-\"></a>\n\n#### [getSourceFile](#-vuedx-vue-virtual-textdocument-VueSFCDocument-getSourceFile-member-1-)\n\n\n\n**Signature:**\n```ts\ngetSourceFile(fileName?: string): {\n        fileName: string;\n        readonly text: string;\n        lineMap: unknown;\n        getLineAndCharacterOfPosition: (position: number) => Position;\n    };\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueSFCDocument-getText-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueSFCDocument-getText-member-1-\"></a>\n\n#### [getText](#-vuedx-vue-virtual-textdocument-VueSFCDocument-getText-member-1-)\n\n\n\n**Signature:**\n```ts\ngetText(range?: Range): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| range | <code><a href=\"#vscode-languageserver-textdocument-Range-interface\">Range</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueSFCDocument-offsetAt-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueSFCDocument-offsetAt-member-1-\"></a>\n\n#### [offsetAt](#-vuedx-vue-virtual-textdocument-VueSFCDocument-offsetAt-member-1-)\n\n\n\n**Signature:**\n```ts\noffsetAt(position: Position): number;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| position | <code><a href=\"#vscode-languageserver-textdocument-Position-interface\">Position</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueSFCDocument-originalOffsetAt-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueSFCDocument-originalOffsetAt-member-1-\"></a>\n\n#### [originalOffsetAt](#-vuedx-vue-virtual-textdocument-VueSFCDocument-originalOffsetAt-member-1-)\n\n\n\n**Signature:**\n```ts\noriginalOffsetAt(offset: number): number | null;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueSFCDocument-originalPositionFor-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueSFCDocument-originalPositionFor-member-1-\"></a>\n\n#### [originalPositionFor](#-vuedx-vue-virtual-textdocument-VueSFCDocument-originalPositionFor-member-1-)\n\n\n\n**Signature:**\n```ts\noriginalPositionFor(position: Position): Position | null;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| position | <code><a href=\"#vscode-languageserver-textdocument-Position-interface\">Position</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueSFCDocument-positionAt-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueSFCDocument-positionAt-member-1-\"></a>\n\n#### [positionAt](#-vuedx-vue-virtual-textdocument-VueSFCDocument-positionAt-member-1-)\n\n\n\n**Signature:**\n```ts\npositionAt(offset: number): Position;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueSFCDocument-update-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueSFCDocument-update-member-1-\"></a>\n\n#### [update](#-vuedx-vue-virtual-textdocument-VueSFCDocument-update-member-1-)\n\n\n\n**Signature:**\n```ts\nupdate(changes: TextDocumentContentChangeEvent[], version: number): void;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| changes | <code><a href=\"#vscode-languageserver-textdocument-TextDocumentContentChangeEvent-type\">TextDocumentContentChangeEvent</a>[]</code> | - |\n| version | <code>number</code> | - |\n\n<br>\n</details>\n\n<br>\n\n\n## Types\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-TextSpan-interface\" id=\"-vuedx-vue-virtual-textdocument-TextSpan-interface\"></a>\n\n### [TextSpan](#-vuedx-vue-virtual-textdocument-TextSpan-interface)\n\n\n\n```ts\nexport interface TextSpan {\n  length: number;\n  start: number;\n}\n```\n\n\n<br>\n<!-- #region API-DOCS -->\n\n## Support\n\nThis package is part of [VueDX project](https://github.com/znck/vue-developer-experience), maintained by [Rahul Kadyan](https://github.com/znck). You can [💖 sponsor him](https://github.com/sponsors/znck) for continued development of this package and other VueDX tools.\n\n<p align=\"center\">\n  <a href=\"https://cdn.jsdelivr.net/gh/znck/sponsors@main/sponsors.svg\">\n    <img src='https://cdn.jsdelivr.net/gh/znck/sponsors@main/sponsors.png'/>\n  </a>\n</p>\n","readmeFilename":"readme.md","_id":"@vuedx/vue-virtual-textdocument@0.7.7-next-1667540051.0","_integrity":"sha512-ZFYO+X40li9rOqzamu4vwz43XId0BorHn65HxEhd7pNULL+H6Kc8Tg5U1pChcoi5RJygHQH8O84nMvxmWnzFaQ==","_resolved":"/tmp/fa5f3a94192f4caa3f05657b5a6d6efd/vuedx-vue-virtual-textdocument-0.7.7-next-1667540051.0.tgz","_from":"file:vuedx-vue-virtual-textdocument-0.7.7-next-1667540051.0.tgz","_nodeVersion":"18.12.0","_npmVersion":"8.19.2","dist":{"integrity":"sha512-ZFYO+X40li9rOqzamu4vwz43XId0BorHn65HxEhd7pNULL+H6Kc8Tg5U1pChcoi5RJygHQH8O84nMvxmWnzFaQ==","shasum":"971012a8b08604670027435e24925642f0dd95e9","tarball":"https://registry.npmjs.org/@vuedx/vue-virtual-textdocument/-/vue-virtual-textdocument-0.7.7-next-1667540051.0.tgz","fileCount":11,"unpackedSize":139262,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIEqI9Zxqx/OLKN9TxfKU1DonyqaLMSBUFyO8L2Gj/VBWAiBm/kQLXYoN0onz51NuN6V8lH+Kk9XdWIKDC2ZJp9+Y3A=="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjZKRwACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmowZg/+IomLdc0UfaP6GntOFokKO7EF4XNDuIRYDf01II+XfveB6QLq\r\niHKDOT+WxjXkqrKmgYNPgeIsmzeY4DQ8qgPNUsz/hzjhSmXvioSgC/if9Pki\r\nvTpBGng4OXq+ybGxaj5WWW6+wxIe+BTdi+X/tRm0kj6JiqTUgg5HKT0Lacvf\r\nnia3DGGNAqF+3g2MMoa6P/LNSbm/Ew+VJQw2ONaz3ntcXvRVSxkJ9Y9hpiJt\r\nOnsk5117CzV/Zjc9lgF4yWmlPhmfrLYcqm0FnjFDI/es1xM8OVrCtvs3sOef\r\nY6czRN8URIR3dFnkihwMnmZFQ6cE7LLOstQe+qXzoUCxb/1a0S29NtECFZSe\r\nqjmtHGVGFiLWDIreeAALtX3z5sfHU7G8Se0oC9i9UxS9eQKfGJMSJelCt6nD\r\n8IeDkgUtUp/daDAasRoJtJDIWuaSh21/Y+ltPME0okMTYUZuObZalZLdDTKm\r\nlgOdzI3yNVSGsBWf/o8YwzvSXakUOaC9UQNbBu9ZI2vxwERz3GSLLYlxQ9zn\r\nwzTtPKX+DzwPaLj2+MpCJNSsrzK2gSHmZTNbLWAbbHcUFWvuz9CR/3R66tF7\r\nway5h3aYlZIwSXdufC57zOdfboDUif0lO2Mp20kbf8Xovt5p0e2UO4eHkN9F\r\nr+jvucJnDv/zSH9Z550fyvLKNeyWB1/Ubo4=\r\n=nBlo\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"znck","email":"rahulkdn@gmail.com"},"directories":{},"maintainers":[{"name":"znck","email":"rahulkdn@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/vue-virtual-textdocument_0.7.7-next-1667540051.0_1667540080181_0.48408227274485416"},"_hasShrinkwrap":false},"0.7.7-next-1667576550.0":{"name":"@vuedx/vue-virtual-textdocument","version":"0.7.7-next-1667576550.0","description":"A virtual filesystem to access blocks in SFC as files","main":"lib/index.js","module":"lib/index.mjs","types":"lib/index.d.ts","private":false,"keywords":["vue","vue sfc","sfc","vue virtual files"],"repository":{"type":"git","url":"git+https://github.com/znck/vue-developer-experience.git"},"author":{"name":"Rahul Kadyan","email":"rahulkdn@gmail.com","url":"https://znck.me/"},"funding":{"type":"individual","url":"https://github.com/sponsors/znck"},"license":"MIT","bugs":{"url":"https://github.com/znck/vue-developer-experience/issues"},"homepage":"https://github.com/znck/vue-developer-experience#readme","dependencies":{"@vuedx/compiler-sfc":"0.7.3-next-1667576550.0","@vuedx/compiler-tsx":"0.8.2-next-1667576550.0","@vuedx/shared":"0.7.6-next-1667576550.0","@vuedx/template-ast-types":"0.7.5-next-1667576550.0","@vuedx/transforms":"0.7.7-next-1667576550.0","sourcemap-codec":"^1.4.8","vscode-languageserver-textdocument":"^1.0.1","vscode-uri":"^2.1.2"},"devDependencies":{"typescript":"^4.6.3"},"scripts":{},"readme":"# Vue Virtual TextDocument\n\nAn implementation of virtual filesystem for accessing blocks in a `.vue` file as independent files.\n\n```\nnpm add @vuedx/vue-virtual-textdocument\n```\n<!-- #region API-DOCS -->\n<!-- Do not edit this file. It is a report generated by [scripts/docgen.js](https://github.com/znck/vue-developer-experience/tree/main/scripts/docgen.js). -->\n\n## API\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueSFCDocument-class\" id=\"-vuedx-vue-virtual-textdocument-VueSFCDocument-class\"></a>\n\n### [VueSFCDocument](#-vuedx-vue-virtual-textdocument-VueSFCDocument-class)\n\n\n\n<details><summary>More info</summary>\n\n**Signature:**\n```ts\nexport declare class VueSFCDocument implements TextDocument {\n  get blocks(): SFCBlock[];\n  static create(fileName: string, content: string, options?: Omit<CompileOptions, 'cache' | 'fileName'>, version?: number): VueSFCDocument;\n  get descriptor(): SFCDescriptor;\n  get errors(): Array<CompilerError | SyntaxError>;\n  get fileName(): string;\n  findGeneratedTextSpan(spanInOriginalText: TextSpan): TextSpan | null;\n  findMapping(positionType: 'original' | 'generated', position: Position, searchBias?: SourceMapBiasType): Mapping | null;\n  findOriginalTextSpan(spanInGeneratedText: TextSpan): TextSpan | null;\n  get generated(): TextDocument;\n  readonly generatedFileName: string;\n  generatedOffsetAt(offset: number): number | null;\n  generatedPositionFor(position: Position): Position | null;\n  getBlockAt(offset: number): SFCBlock | null;\n  getLineAndCharacterOfPosition(position: number): Position;\n  getSourceFile(fileName?: string): {\n        fileName: string;\n        readonly text: string;\n        lineMap: unknown;\n        getLineAndCharacterOfPosition: (position: number) => Position;\n    };\n  getText(range?: Range): string;\n  get languageId(): string;\n  get lineCount(): number;\n  lineMap: unknown | undefined;\n  get map(): string;\n  offsetAt(position: Position): number;\n  readonly options: Required<CompileOptions>;\n  get original(): TextDocument;\n  readonly originalFileName: string;\n  originalOffsetAt(offset: number): number | null;\n  originalPositionFor(position: Position): Position | null;\n  positionAt(offset: number): Position;\n  get snapshot(): VueToTsxSnapshot;\n  get templateAST(): RootNode | undefined;\n  get text(): string;\n  update(changes: TextDocumentContentChangeEvent[], version: number): void;\n  get uri(): string;\n  get version(): number;\n}\n```\n\n**Members:**\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueSFCDocument-create-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueSFCDocument-create-member-1-\"></a>\n\n#### [create](#-vuedx-vue-virtual-textdocument-VueSFCDocument-create-member-1-)\n\n\n\n**Signature:**\n```ts\nstatic create(fileName: string, content: string, options?: Omit<CompileOptions, 'cache' | 'fileName'>, version?: number): VueSFCDocument;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n| content | <code>string</code> | - |\n| options | <code><a href=\"#-Omit-type\">Omit</a><<a href=\"#-vuedx-compiler-tsx-CompileOptions-interface\">CompileOptions</a>, 'cache' &#124; 'fileName'></code> | - |\n| version | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueSFCDocument-findGeneratedTextSpan-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueSFCDocument-findGeneratedTextSpan-member-1-\"></a>\n\n#### [findGeneratedTextSpan](#-vuedx-vue-virtual-textdocument-VueSFCDocument-findGeneratedTextSpan-member-1-)\n\n\n\n**Signature:**\n```ts\nfindGeneratedTextSpan(spanInOriginalText: TextSpan): TextSpan | null;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| spanInOriginalText | <code><a href=\"#-vuedx-vue-virtual-textdocument-TextSpan-interface\">TextSpan</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueSFCDocument-findMapping-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueSFCDocument-findMapping-member-1-\"></a>\n\n#### [findMapping](#-vuedx-vue-virtual-textdocument-VueSFCDocument-findMapping-member-1-)\n\n\n\n**Signature:**\n```ts\nfindMapping(positionType: 'original' | 'generated', position: Position, searchBias?: SourceMapBiasType): Mapping | null;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| positionType | <code>'original' &#124; 'generated'</code> | - |\n| position | <code><a href=\"#vscode-languageserver-textdocument-Position-interface\">Position</a></code> | - |\n| searchBias | <code><a href=\"#-vuedx-vue-virtual-textdocument--SourceMapBiasType-type\">SourceMapBiasType</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueSFCDocument-findOriginalTextSpan-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueSFCDocument-findOriginalTextSpan-member-1-\"></a>\n\n#### [findOriginalTextSpan](#-vuedx-vue-virtual-textdocument-VueSFCDocument-findOriginalTextSpan-member-1-)\n\n\n\n**Signature:**\n```ts\nfindOriginalTextSpan(spanInGeneratedText: TextSpan): TextSpan | null;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| spanInGeneratedText | <code><a href=\"#-vuedx-vue-virtual-textdocument-TextSpan-interface\">TextSpan</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueSFCDocument-generatedOffsetAt-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueSFCDocument-generatedOffsetAt-member-1-\"></a>\n\n#### [generatedOffsetAt](#-vuedx-vue-virtual-textdocument-VueSFCDocument-generatedOffsetAt-member-1-)\n\n\n\n**Signature:**\n```ts\ngeneratedOffsetAt(offset: number): number | null;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueSFCDocument-generatedPositionFor-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueSFCDocument-generatedPositionFor-member-1-\"></a>\n\n#### [generatedPositionFor](#-vuedx-vue-virtual-textdocument-VueSFCDocument-generatedPositionFor-member-1-)\n\n\n\n**Signature:**\n```ts\ngeneratedPositionFor(position: Position): Position | null;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| position | <code><a href=\"#vscode-languageserver-textdocument-Position-interface\">Position</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueSFCDocument-getBlockAt-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueSFCDocument-getBlockAt-member-1-\"></a>\n\n#### [getBlockAt](#-vuedx-vue-virtual-textdocument-VueSFCDocument-getBlockAt-member-1-)\n\n\n\n**Signature:**\n```ts\ngetBlockAt(offset: number): SFCBlock | null;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueSFCDocument-getLineAndCharacterOfPosition-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueSFCDocument-getLineAndCharacterOfPosition-member-1-\"></a>\n\n#### [getLineAndCharacterOfPosition](#-vuedx-vue-virtual-textdocument-VueSFCDocument-getLineAndCharacterOfPosition-member-1-)\n\n\n\n**Signature:**\n```ts\ngetLineAndCharacterOfPosition(position: number): Position;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| position | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueSFCDocument-getSourceFile-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueSFCDocument-getSourceFile-member-1-\"></a>\n\n#### [getSourceFile](#-vuedx-vue-virtual-textdocument-VueSFCDocument-getSourceFile-member-1-)\n\n\n\n**Signature:**\n```ts\ngetSourceFile(fileName?: string): {\n        fileName: string;\n        readonly text: string;\n        lineMap: unknown;\n        getLineAndCharacterOfPosition: (position: number) => Position;\n    };\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueSFCDocument-getText-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueSFCDocument-getText-member-1-\"></a>\n\n#### [getText](#-vuedx-vue-virtual-textdocument-VueSFCDocument-getText-member-1-)\n\n\n\n**Signature:**\n```ts\ngetText(range?: Range): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| range | <code><a href=\"#vscode-languageserver-textdocument-Range-interface\">Range</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueSFCDocument-offsetAt-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueSFCDocument-offsetAt-member-1-\"></a>\n\n#### [offsetAt](#-vuedx-vue-virtual-textdocument-VueSFCDocument-offsetAt-member-1-)\n\n\n\n**Signature:**\n```ts\noffsetAt(position: Position): number;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| position | <code><a href=\"#vscode-languageserver-textdocument-Position-interface\">Position</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueSFCDocument-originalOffsetAt-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueSFCDocument-originalOffsetAt-member-1-\"></a>\n\n#### [originalOffsetAt](#-vuedx-vue-virtual-textdocument-VueSFCDocument-originalOffsetAt-member-1-)\n\n\n\n**Signature:**\n```ts\noriginalOffsetAt(offset: number): number | null;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueSFCDocument-originalPositionFor-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueSFCDocument-originalPositionFor-member-1-\"></a>\n\n#### [originalPositionFor](#-vuedx-vue-virtual-textdocument-VueSFCDocument-originalPositionFor-member-1-)\n\n\n\n**Signature:**\n```ts\noriginalPositionFor(position: Position): Position | null;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| position | <code><a href=\"#vscode-languageserver-textdocument-Position-interface\">Position</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueSFCDocument-positionAt-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueSFCDocument-positionAt-member-1-\"></a>\n\n#### [positionAt](#-vuedx-vue-virtual-textdocument-VueSFCDocument-positionAt-member-1-)\n\n\n\n**Signature:**\n```ts\npositionAt(offset: number): Position;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueSFCDocument-update-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueSFCDocument-update-member-1-\"></a>\n\n#### [update](#-vuedx-vue-virtual-textdocument-VueSFCDocument-update-member-1-)\n\n\n\n**Signature:**\n```ts\nupdate(changes: TextDocumentContentChangeEvent[], version: number): void;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| changes | <code><a href=\"#vscode-languageserver-textdocument-TextDocumentContentChangeEvent-type\">TextDocumentContentChangeEvent</a>[]</code> | - |\n| version | <code>number</code> | - |\n\n<br>\n</details>\n\n<br>\n\n\n## Types\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-TextSpan-interface\" id=\"-vuedx-vue-virtual-textdocument-TextSpan-interface\"></a>\n\n### [TextSpan](#-vuedx-vue-virtual-textdocument-TextSpan-interface)\n\n\n\n```ts\nexport interface TextSpan {\n  length: number;\n  start: number;\n}\n```\n\n\n<br>\n<!-- #region API-DOCS -->\n\n## Support\n\nThis package is part of [VueDX project](https://github.com/znck/vue-developer-experience), maintained by [Rahul Kadyan](https://github.com/znck). You can [💖 sponsor him](https://github.com/sponsors/znck) for continued development of this package and other VueDX tools.\n\n<p align=\"center\">\n  <a href=\"https://cdn.jsdelivr.net/gh/znck/sponsors@main/sponsors.svg\">\n    <img src='https://cdn.jsdelivr.net/gh/znck/sponsors@main/sponsors.png'/>\n  </a>\n</p>\n","readmeFilename":"readme.md","_id":"@vuedx/vue-virtual-textdocument@0.7.7-next-1667576550.0","_integrity":"sha512-TJcT+B84oLnMDBMF9MPXmVkN9Z4/HGjKc1lQNmvCiE6bdUHPEjZuqmiQIOwq2QPk5YuHRYoQ2Lqu9ukR6AVZTw==","_resolved":"/tmp/4e9d14cdb639c9bedf2d05de37721098/vuedx-vue-virtual-textdocument-0.7.7-next-1667576550.0.tgz","_from":"file:vuedx-vue-virtual-textdocument-0.7.7-next-1667576550.0.tgz","_nodeVersion":"18.12.0","_npmVersion":"8.19.2","dist":{"integrity":"sha512-TJcT+B84oLnMDBMF9MPXmVkN9Z4/HGjKc1lQNmvCiE6bdUHPEjZuqmiQIOwq2QPk5YuHRYoQ2Lqu9ukR6AVZTw==","shasum":"5a6ba868c3e097c3768dc1566c9699f068d800f9","tarball":"https://registry.npmjs.org/@vuedx/vue-virtual-textdocument/-/vue-virtual-textdocument-0.7.7-next-1667576550.0.tgz","fileCount":11,"unpackedSize":139262,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIBad70OO+foBPCQnmB8g9BxtemE/IG69BtlXFq2aAiLUAiBlhR3LODl9ObyYONma1w14l053ZIMpX+G1nRrbdljS5g=="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjZTMJACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpOTRAAhzGYXejMXmDHpTMLmo8mV9wd7JUrqyU0as57PoMqbypkZ9Y9\r\nfwzpFsCrB31VCh9caUDT3hseeCTnvtKz+VMWpJJ5R/As7wAwSpJmV3zckHNz\r\nT9hJPYPtGc0yed3eJEfciCmy7MMK7jIP+B2bJbKQ1wBRXdg5Vho170FaKrEc\r\nCo29D7yYvQUf4KJqUOJRS3hH5BAE1co/cXQ6is34c8HnLlZkP3nvAakPB6vj\r\nubWeE8M06Fs1mr46QRJdpC7mDEcnHJDwGbdijP5+3bv3c0PeFANbcV+MMLDB\r\nB1KiGoxkNKcXz16gKGjWEbs5IqnV91m052cTWMSd7Pbx3+XgzS9kVYYRCQGF\r\neczsXbuou2O/+zM4jr8glaYIwzR5W4YZgXKhl0LZ1c+k2LrJ6hrLsdBx7uSG\r\nqN5JwNerXxsqtkI2e/iCaXDoe9alfNrFszR6XoM6CLp72/t4qW7idQciS/Yh\r\nZ4TTlGYl9A4Kms9VE0PbhQ2lJRn8KOwHDCk0zYeWBkPdJjKztvq7venivRVI\r\nRmlsbJvn3oF0exJxKaKFjBLrTQQvFuMkis2BQykM/iaarsvV0Dh3RPWY+jYu\r\nVrs3/U+z4AkAHI2qrINtO9bX92ccQBA8f0kxUmOPMmXRq1I+cNmDYzFun5H+\r\nsnkoOQxilje98IT6j3Zk9Q9LfnnEq5+l+Es=\r\n=f9Yj\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"znck","email":"rahulkdn@gmail.com"},"directories":{},"maintainers":[{"name":"znck","email":"rahulkdn@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/vue-virtual-textdocument_0.7.7-next-1667576550.0_1667576585194_0.7896543540990804"},"_hasShrinkwrap":false},"0.7.7-next-1667925330.0":{"name":"@vuedx/vue-virtual-textdocument","version":"0.7.7-next-1667925330.0","description":"A virtual filesystem to access blocks in SFC as files","main":"lib/index.js","module":"lib/index.mjs","types":"lib/index.d.ts","private":false,"keywords":["vue","vue sfc","sfc","vue virtual files"],"repository":{"type":"git","url":"git+https://github.com/znck/vue-developer-experience.git"},"author":{"name":"Rahul Kadyan","email":"rahulkdn@gmail.com","url":"https://znck.me/"},"funding":{"type":"individual","url":"https://github.com/sponsors/znck"},"license":"MIT","bugs":{"url":"https://github.com/znck/vue-developer-experience/issues"},"homepage":"https://github.com/znck/vue-developer-experience#readme","dependencies":{"@vuedx/compiler-sfc":"0.7.3-next-1667925330.0","@vuedx/compiler-tsx":"0.8.2-next-1667925330.0","@vuedx/shared":"0.7.6-next-1667925330.0","@vuedx/template-ast-types":"0.7.5-next-1667925330.0","@vuedx/transforms":"0.7.7-next-1667925330.0","sourcemap-codec":"^1.4.8","vscode-languageserver-textdocument":"^1.0.1","vscode-uri":"^2.1.2"},"devDependencies":{"typescript":"^4.6.3"},"scripts":{},"readme":"# Vue Virtual TextDocument\n\nAn implementation of virtual filesystem for accessing blocks in a `.vue` file as independent files.\n\n```\nnpm add @vuedx/vue-virtual-textdocument\n```\n<!-- #region API-DOCS -->\n<!-- Do not edit this file. It is a report generated by [scripts/docgen.js](https://github.com/znck/vue-developer-experience/tree/main/scripts/docgen.js). -->\n\n## API\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueSFCDocument-class\" id=\"-vuedx-vue-virtual-textdocument-VueSFCDocument-class\"></a>\n\n### [VueSFCDocument](#-vuedx-vue-virtual-textdocument-VueSFCDocument-class)\n\n\n\n<details><summary>More info</summary>\n\n**Signature:**\n```ts\nexport declare class VueSFCDocument implements TextDocument {\n  get blocks(): SFCBlock[];\n  static create(fileName: string, content: string, options?: Omit<CompileOptions, 'cache' | 'fileName'>, version?: number): VueSFCDocument;\n  get descriptor(): SFCDescriptor;\n  get errors(): Array<CompilerError | SyntaxError>;\n  get fileName(): string;\n  findGeneratedTextSpan(spanInOriginalText: TextSpan): TextSpan | null;\n  findMapping(positionType: 'original' | 'generated', position: Position, searchBias?: SourceMapBiasType): Mapping | null;\n  findOriginalTextSpan(spanInGeneratedText: TextSpan): TextSpan | null;\n  get generated(): TextDocument;\n  readonly generatedFileName: string;\n  generatedOffsetAt(offset: number): number | null;\n  generatedPositionFor(position: Position): Position | null;\n  getBlockAt(offset: number): SFCBlock | null;\n  getLineAndCharacterOfPosition(position: number): Position;\n  getSourceFile(fileName?: string): {\n        fileName: string;\n        readonly text: string;\n        lineMap: unknown;\n        getLineAndCharacterOfPosition: (position: number) => Position;\n    };\n  getText(range?: Range): string;\n  get languageId(): string;\n  get lineCount(): number;\n  lineMap: unknown | undefined;\n  get map(): string;\n  offsetAt(position: Position): number;\n  readonly options: Required<CompileOptions>;\n  get original(): TextDocument;\n  readonly originalFileName: string;\n  originalOffsetAt(offset: number): number | null;\n  originalPositionFor(position: Position): Position | null;\n  positionAt(offset: number): Position;\n  get snapshot(): VueToTsxSnapshot;\n  get templateAST(): RootNode | undefined;\n  get text(): string;\n  update(changes: TextDocumentContentChangeEvent[], version: number): void;\n  get uri(): string;\n  get version(): number;\n}\n```\n\n**Members:**\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueSFCDocument-create-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueSFCDocument-create-member-1-\"></a>\n\n#### [create](#-vuedx-vue-virtual-textdocument-VueSFCDocument-create-member-1-)\n\n\n\n**Signature:**\n```ts\nstatic create(fileName: string, content: string, options?: Omit<CompileOptions, 'cache' | 'fileName'>, version?: number): VueSFCDocument;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n| content | <code>string</code> | - |\n| options | <code><a href=\"#-Omit-type\">Omit</a><<a href=\"#-vuedx-compiler-tsx-CompileOptions-interface\">CompileOptions</a>, 'cache' &#124; 'fileName'></code> | - |\n| version | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueSFCDocument-findGeneratedTextSpan-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueSFCDocument-findGeneratedTextSpan-member-1-\"></a>\n\n#### [findGeneratedTextSpan](#-vuedx-vue-virtual-textdocument-VueSFCDocument-findGeneratedTextSpan-member-1-)\n\n\n\n**Signature:**\n```ts\nfindGeneratedTextSpan(spanInOriginalText: TextSpan): TextSpan | null;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| spanInOriginalText | <code><a href=\"#-vuedx-vue-virtual-textdocument-TextSpan-interface\">TextSpan</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueSFCDocument-findMapping-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueSFCDocument-findMapping-member-1-\"></a>\n\n#### [findMapping](#-vuedx-vue-virtual-textdocument-VueSFCDocument-findMapping-member-1-)\n\n\n\n**Signature:**\n```ts\nfindMapping(positionType: 'original' | 'generated', position: Position, searchBias?: SourceMapBiasType): Mapping | null;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| positionType | <code>'original' &#124; 'generated'</code> | - |\n| position | <code><a href=\"#vscode-languageserver-textdocument-Position-interface\">Position</a></code> | - |\n| searchBias | <code><a href=\"#-vuedx-vue-virtual-textdocument--SourceMapBiasType-type\">SourceMapBiasType</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueSFCDocument-findOriginalTextSpan-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueSFCDocument-findOriginalTextSpan-member-1-\"></a>\n\n#### [findOriginalTextSpan](#-vuedx-vue-virtual-textdocument-VueSFCDocument-findOriginalTextSpan-member-1-)\n\n\n\n**Signature:**\n```ts\nfindOriginalTextSpan(spanInGeneratedText: TextSpan): TextSpan | null;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| spanInGeneratedText | <code><a href=\"#-vuedx-vue-virtual-textdocument-TextSpan-interface\">TextSpan</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueSFCDocument-generatedOffsetAt-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueSFCDocument-generatedOffsetAt-member-1-\"></a>\n\n#### [generatedOffsetAt](#-vuedx-vue-virtual-textdocument-VueSFCDocument-generatedOffsetAt-member-1-)\n\n\n\n**Signature:**\n```ts\ngeneratedOffsetAt(offset: number): number | null;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueSFCDocument-generatedPositionFor-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueSFCDocument-generatedPositionFor-member-1-\"></a>\n\n#### [generatedPositionFor](#-vuedx-vue-virtual-textdocument-VueSFCDocument-generatedPositionFor-member-1-)\n\n\n\n**Signature:**\n```ts\ngeneratedPositionFor(position: Position): Position | null;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| position | <code><a href=\"#vscode-languageserver-textdocument-Position-interface\">Position</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueSFCDocument-getBlockAt-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueSFCDocument-getBlockAt-member-1-\"></a>\n\n#### [getBlockAt](#-vuedx-vue-virtual-textdocument-VueSFCDocument-getBlockAt-member-1-)\n\n\n\n**Signature:**\n```ts\ngetBlockAt(offset: number): SFCBlock | null;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueSFCDocument-getLineAndCharacterOfPosition-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueSFCDocument-getLineAndCharacterOfPosition-member-1-\"></a>\n\n#### [getLineAndCharacterOfPosition](#-vuedx-vue-virtual-textdocument-VueSFCDocument-getLineAndCharacterOfPosition-member-1-)\n\n\n\n**Signature:**\n```ts\ngetLineAndCharacterOfPosition(position: number): Position;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| position | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueSFCDocument-getSourceFile-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueSFCDocument-getSourceFile-member-1-\"></a>\n\n#### [getSourceFile](#-vuedx-vue-virtual-textdocument-VueSFCDocument-getSourceFile-member-1-)\n\n\n\n**Signature:**\n```ts\ngetSourceFile(fileName?: string): {\n        fileName: string;\n        readonly text: string;\n        lineMap: unknown;\n        getLineAndCharacterOfPosition: (position: number) => Position;\n    };\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueSFCDocument-getText-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueSFCDocument-getText-member-1-\"></a>\n\n#### [getText](#-vuedx-vue-virtual-textdocument-VueSFCDocument-getText-member-1-)\n\n\n\n**Signature:**\n```ts\ngetText(range?: Range): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| range | <code><a href=\"#vscode-languageserver-textdocument-Range-interface\">Range</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueSFCDocument-offsetAt-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueSFCDocument-offsetAt-member-1-\"></a>\n\n#### [offsetAt](#-vuedx-vue-virtual-textdocument-VueSFCDocument-offsetAt-member-1-)\n\n\n\n**Signature:**\n```ts\noffsetAt(position: Position): number;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| position | <code><a href=\"#vscode-languageserver-textdocument-Position-interface\">Position</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueSFCDocument-originalOffsetAt-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueSFCDocument-originalOffsetAt-member-1-\"></a>\n\n#### [originalOffsetAt](#-vuedx-vue-virtual-textdocument-VueSFCDocument-originalOffsetAt-member-1-)\n\n\n\n**Signature:**\n```ts\noriginalOffsetAt(offset: number): number | null;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueSFCDocument-originalPositionFor-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueSFCDocument-originalPositionFor-member-1-\"></a>\n\n#### [originalPositionFor](#-vuedx-vue-virtual-textdocument-VueSFCDocument-originalPositionFor-member-1-)\n\n\n\n**Signature:**\n```ts\noriginalPositionFor(position: Position): Position | null;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| position | <code><a href=\"#vscode-languageserver-textdocument-Position-interface\">Position</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueSFCDocument-positionAt-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueSFCDocument-positionAt-member-1-\"></a>\n\n#### [positionAt](#-vuedx-vue-virtual-textdocument-VueSFCDocument-positionAt-member-1-)\n\n\n\n**Signature:**\n```ts\npositionAt(offset: number): Position;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueSFCDocument-update-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueSFCDocument-update-member-1-\"></a>\n\n#### [update](#-vuedx-vue-virtual-textdocument-VueSFCDocument-update-member-1-)\n\n\n\n**Signature:**\n```ts\nupdate(changes: TextDocumentContentChangeEvent[], version: number): void;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| changes | <code><a href=\"#vscode-languageserver-textdocument-TextDocumentContentChangeEvent-type\">TextDocumentContentChangeEvent</a>[]</code> | - |\n| version | <code>number</code> | - |\n\n<br>\n</details>\n\n<br>\n\n\n## Types\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-TextSpan-interface\" id=\"-vuedx-vue-virtual-textdocument-TextSpan-interface\"></a>\n\n### [TextSpan](#-vuedx-vue-virtual-textdocument-TextSpan-interface)\n\n\n\n```ts\nexport interface TextSpan {\n  length: number;\n  start: number;\n}\n```\n\n\n<br>\n<!-- #region API-DOCS -->\n\n## Support\n\nThis package is part of [VueDX project](https://github.com/znck/vue-developer-experience), maintained by [Rahul Kadyan](https://github.com/znck). You can [💖 sponsor him](https://github.com/sponsors/znck) for continued development of this package and other VueDX tools.\n\n<p align=\"center\">\n  <a href=\"https://cdn.jsdelivr.net/gh/znck/sponsors@main/sponsors.svg\">\n    <img src='https://cdn.jsdelivr.net/gh/znck/sponsors@main/sponsors.png'/>\n  </a>\n</p>\n","readmeFilename":"readme.md","_id":"@vuedx/vue-virtual-textdocument@0.7.7-next-1667925330.0","_integrity":"sha512-RQnzb/cNsjoyuMn+Zqpvhx+U/ghBTRxNuuNEYdWOou0DCWmShlCROjBK/1IOPcuKslBliswU68dChNN6OQvQaw==","_resolved":"/tmp/b9414e7e8dc5cc0da641d33daf6080b6/vuedx-vue-virtual-textdocument-0.7.7-next-1667925330.0.tgz","_from":"file:vuedx-vue-virtual-textdocument-0.7.7-next-1667925330.0.tgz","_nodeVersion":"18.12.0","_npmVersion":"8.19.2","dist":{"integrity":"sha512-RQnzb/cNsjoyuMn+Zqpvhx+U/ghBTRxNuuNEYdWOou0DCWmShlCROjBK/1IOPcuKslBliswU68dChNN6OQvQaw==","shasum":"2cf16c59e1461c6060890db9a7e1aa7256e3507e","tarball":"https://registry.npmjs.org/@vuedx/vue-virtual-textdocument/-/vue-virtual-textdocument-0.7.7-next-1667925330.0.tgz","fileCount":11,"unpackedSize":139262,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCICuOXE1LZ4b21ZzHLEOpLI5NqeEdqge5/iSUxEDUWH/0AiEA0Vpnbfg3jBlFxLMwJ2nOwGmM67leXhs30UHAbb4NixI="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjaoVwACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqyhA//TWO0k5kbrxEXX5OCffE/wlQ6piVYJRsygpMrBfdGd7yYcSYv\r\nuJS9YCTLh0I6yd0iQ/WfkdpN4ulmdeGw5+IywUeVTUxls37WuCoRqkbt1XhM\r\neBzKXt8o2JtdkM6eD0sPFvbIlmdl8/ocf0iZlweTccUHddzRbgZeYXZFNqcU\r\nmumZy0jL2VdqhjcTgxZck7FOrLaNsY1ibyuOBB5+HLeJQjNk/7S85w4rUo7L\r\nnyDFMmiCIKsFshOW68UnJRP8lXaobFctTeq/I1ANHU7GRTaSVZ1EC6vPKgAA\r\nT8D5kgpRNoIbylrh9tXd0yn2uAw0AQTyOts4Svpw3GI+mIgucqA/dsab6IK6\r\nRodOYHLdUtdY1qgSd1+z7K+UCx8my9Ab5IT7TDY0Z0Fbyb/7+R7tIcYyRZxA\r\ncyDMKE6tB+nf5XRyR5gW4nwmuHk5n2LzuomYte+JYTD/phi/JfHFZ3XQJpLc\r\n8yEyGIHtffwHwO2egPPn85m/48TfKYTYMx9Op8XCl1ZjlDXy5TO2GxLtlrHh\r\nCy8o9WG8Zz36jlq6+fO3kyKzSqddqSnKpFs2UvJLheBpt5mlyf7nPqRZuwWz\r\nKllu+vNYU6KhB+pdBpouus6F4zzLEyZee2aRvV1B06j1NN4VrgJTN5hzFJH8\r\nNk340uxzfc4F9O0FhY7ecic9QZDK0IV/DP0=\r\n=B/ih\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"znck","email":"rahulkdn@gmail.com"},"directories":{},"maintainers":[{"name":"znck","email":"rahulkdn@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/vue-virtual-textdocument_0.7.7-next-1667925330.0_1667925360073_0.17323840910853194"},"_hasShrinkwrap":false},"0.7.7-next-1667938774.0":{"name":"@vuedx/vue-virtual-textdocument","version":"0.7.7-next-1667938774.0","description":"A virtual filesystem to access blocks in SFC as files","main":"lib/index.js","module":"lib/index.mjs","types":"lib/index.d.ts","private":false,"keywords":["vue","vue sfc","sfc","vue virtual files"],"repository":{"type":"git","url":"git+https://github.com/znck/vue-developer-experience.git"},"author":{"name":"Rahul Kadyan","email":"rahulkdn@gmail.com","url":"https://znck.me/"},"funding":{"type":"individual","url":"https://github.com/sponsors/znck"},"license":"MIT","bugs":{"url":"https://github.com/znck/vue-developer-experience/issues"},"homepage":"https://github.com/znck/vue-developer-experience#readme","dependencies":{"@vuedx/compiler-sfc":"0.7.3-next-1667938774.0","@vuedx/compiler-tsx":"0.8.2-next-1667938774.0","@vuedx/shared":"0.7.6-next-1667938774.0","@vuedx/template-ast-types":"0.7.5-next-1667938774.0","@vuedx/transforms":"0.7.7-next-1667938774.0","sourcemap-codec":"^1.4.8","vscode-languageserver-textdocument":"^1.0.1","vscode-uri":"^2.1.2"},"devDependencies":{"typescript":"^4.6.3"},"scripts":{},"readme":"# Vue Virtual TextDocument\n\nAn implementation of virtual filesystem for accessing blocks in a `.vue` file as independent files.\n\n```\nnpm add @vuedx/vue-virtual-textdocument\n```\n<!-- #region API-DOCS -->\n<!-- Do not edit this file. It is a report generated by [scripts/docgen.js](https://github.com/znck/vue-developer-experience/tree/main/scripts/docgen.js). -->\n\n## API\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueSFCDocument-class\" id=\"-vuedx-vue-virtual-textdocument-VueSFCDocument-class\"></a>\n\n### [VueSFCDocument](#-vuedx-vue-virtual-textdocument-VueSFCDocument-class)\n\n\n\n<details><summary>More info</summary>\n\n**Signature:**\n```ts\nexport declare class VueSFCDocument implements TextDocument {\n  get blocks(): SFCBlock[];\n  static create(fileName: string, content: string, options?: Omit<CompileOptions, 'cache' | 'fileName'>, version?: number): VueSFCDocument;\n  get descriptor(): SFCDescriptor;\n  get errors(): Array<CompilerError | SyntaxError>;\n  get fileName(): string;\n  findGeneratedTextSpan(spanInOriginalText: TextSpan): TextSpan | null;\n  findMapping(positionType: 'original' | 'generated', position: Position, searchBias?: SourceMapBiasType): Mapping | null;\n  findOriginalTextSpan(spanInGeneratedText: TextSpan): TextSpan | null;\n  get generated(): TextDocument;\n  readonly generatedFileName: string;\n  generatedOffsetAt(offset: number): number | null;\n  generatedPositionFor(position: Position): Position | null;\n  getBlockAt(offset: number): SFCBlock | null;\n  getLineAndCharacterOfPosition(position: number): Position;\n  getSourceFile(fileName?: string): {\n        fileName: string;\n        readonly text: string;\n        lineMap: unknown;\n        getLineAndCharacterOfPosition: (position: number) => Position;\n    };\n  getText(range?: Range): string;\n  get languageId(): string;\n  get lineCount(): number;\n  lineMap: unknown | undefined;\n  get map(): string;\n  offsetAt(position: Position): number;\n  readonly options: Required<CompileOptions>;\n  get original(): TextDocument;\n  readonly originalFileName: string;\n  originalOffsetAt(offset: number): number | null;\n  originalPositionFor(position: Position): Position | null;\n  positionAt(offset: number): Position;\n  get snapshot(): VueToTsxSnapshot;\n  get templateAST(): RootNode | undefined;\n  get text(): string;\n  update(changes: TextDocumentContentChangeEvent[], version: number): void;\n  get uri(): string;\n  get version(): number;\n}\n```\n\n**Members:**\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueSFCDocument-create-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueSFCDocument-create-member-1-\"></a>\n\n#### [create](#-vuedx-vue-virtual-textdocument-VueSFCDocument-create-member-1-)\n\n\n\n**Signature:**\n```ts\nstatic create(fileName: string, content: string, options?: Omit<CompileOptions, 'cache' | 'fileName'>, version?: number): VueSFCDocument;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n| content | <code>string</code> | - |\n| options | <code><a href=\"#-Omit-type\">Omit</a><<a href=\"#-vuedx-compiler-tsx-CompileOptions-interface\">CompileOptions</a>, 'cache' &#124; 'fileName'></code> | - |\n| version | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueSFCDocument-findGeneratedTextSpan-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueSFCDocument-findGeneratedTextSpan-member-1-\"></a>\n\n#### [findGeneratedTextSpan](#-vuedx-vue-virtual-textdocument-VueSFCDocument-findGeneratedTextSpan-member-1-)\n\n\n\n**Signature:**\n```ts\nfindGeneratedTextSpan(spanInOriginalText: TextSpan): TextSpan | null;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| spanInOriginalText | <code><a href=\"#-vuedx-vue-virtual-textdocument-TextSpan-interface\">TextSpan</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueSFCDocument-findMapping-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueSFCDocument-findMapping-member-1-\"></a>\n\n#### [findMapping](#-vuedx-vue-virtual-textdocument-VueSFCDocument-findMapping-member-1-)\n\n\n\n**Signature:**\n```ts\nfindMapping(positionType: 'original' | 'generated', position: Position, searchBias?: SourceMapBiasType): Mapping | null;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| positionType | <code>'original' &#124; 'generated'</code> | - |\n| position | <code><a href=\"#vscode-languageserver-textdocument-Position-interface\">Position</a></code> | - |\n| searchBias | <code><a href=\"#-vuedx-vue-virtual-textdocument--SourceMapBiasType-type\">SourceMapBiasType</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueSFCDocument-findOriginalTextSpan-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueSFCDocument-findOriginalTextSpan-member-1-\"></a>\n\n#### [findOriginalTextSpan](#-vuedx-vue-virtual-textdocument-VueSFCDocument-findOriginalTextSpan-member-1-)\n\n\n\n**Signature:**\n```ts\nfindOriginalTextSpan(spanInGeneratedText: TextSpan): TextSpan | null;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| spanInGeneratedText | <code><a href=\"#-vuedx-vue-virtual-textdocument-TextSpan-interface\">TextSpan</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueSFCDocument-generatedOffsetAt-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueSFCDocument-generatedOffsetAt-member-1-\"></a>\n\n#### [generatedOffsetAt](#-vuedx-vue-virtual-textdocument-VueSFCDocument-generatedOffsetAt-member-1-)\n\n\n\n**Signature:**\n```ts\ngeneratedOffsetAt(offset: number): number | null;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueSFCDocument-generatedPositionFor-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueSFCDocument-generatedPositionFor-member-1-\"></a>\n\n#### [generatedPositionFor](#-vuedx-vue-virtual-textdocument-VueSFCDocument-generatedPositionFor-member-1-)\n\n\n\n**Signature:**\n```ts\ngeneratedPositionFor(position: Position): Position | null;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| position | <code><a href=\"#vscode-languageserver-textdocument-Position-interface\">Position</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueSFCDocument-getBlockAt-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueSFCDocument-getBlockAt-member-1-\"></a>\n\n#### [getBlockAt](#-vuedx-vue-virtual-textdocument-VueSFCDocument-getBlockAt-member-1-)\n\n\n\n**Signature:**\n```ts\ngetBlockAt(offset: number): SFCBlock | null;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueSFCDocument-getLineAndCharacterOfPosition-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueSFCDocument-getLineAndCharacterOfPosition-member-1-\"></a>\n\n#### [getLineAndCharacterOfPosition](#-vuedx-vue-virtual-textdocument-VueSFCDocument-getLineAndCharacterOfPosition-member-1-)\n\n\n\n**Signature:**\n```ts\ngetLineAndCharacterOfPosition(position: number): Position;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| position | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueSFCDocument-getSourceFile-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueSFCDocument-getSourceFile-member-1-\"></a>\n\n#### [getSourceFile](#-vuedx-vue-virtual-textdocument-VueSFCDocument-getSourceFile-member-1-)\n\n\n\n**Signature:**\n```ts\ngetSourceFile(fileName?: string): {\n        fileName: string;\n        readonly text: string;\n        lineMap: unknown;\n        getLineAndCharacterOfPosition: (position: number) => Position;\n    };\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueSFCDocument-getText-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueSFCDocument-getText-member-1-\"></a>\n\n#### [getText](#-vuedx-vue-virtual-textdocument-VueSFCDocument-getText-member-1-)\n\n\n\n**Signature:**\n```ts\ngetText(range?: Range): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| range | <code><a href=\"#vscode-languageserver-textdocument-Range-interface\">Range</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueSFCDocument-offsetAt-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueSFCDocument-offsetAt-member-1-\"></a>\n\n#### [offsetAt](#-vuedx-vue-virtual-textdocument-VueSFCDocument-offsetAt-member-1-)\n\n\n\n**Signature:**\n```ts\noffsetAt(position: Position): number;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| position | <code><a href=\"#vscode-languageserver-textdocument-Position-interface\">Position</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueSFCDocument-originalOffsetAt-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueSFCDocument-originalOffsetAt-member-1-\"></a>\n\n#### [originalOffsetAt](#-vuedx-vue-virtual-textdocument-VueSFCDocument-originalOffsetAt-member-1-)\n\n\n\n**Signature:**\n```ts\noriginalOffsetAt(offset: number): number | null;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueSFCDocument-originalPositionFor-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueSFCDocument-originalPositionFor-member-1-\"></a>\n\n#### [originalPositionFor](#-vuedx-vue-virtual-textdocument-VueSFCDocument-originalPositionFor-member-1-)\n\n\n\n**Signature:**\n```ts\noriginalPositionFor(position: Position): Position | null;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| position | <code><a href=\"#vscode-languageserver-textdocument-Position-interface\">Position</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueSFCDocument-positionAt-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueSFCDocument-positionAt-member-1-\"></a>\n\n#### [positionAt](#-vuedx-vue-virtual-textdocument-VueSFCDocument-positionAt-member-1-)\n\n\n\n**Signature:**\n```ts\npositionAt(offset: number): Position;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueSFCDocument-update-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueSFCDocument-update-member-1-\"></a>\n\n#### [update](#-vuedx-vue-virtual-textdocument-VueSFCDocument-update-member-1-)\n\n\n\n**Signature:**\n```ts\nupdate(changes: TextDocumentContentChangeEvent[], version: number): void;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| changes | <code><a href=\"#vscode-languageserver-textdocument-TextDocumentContentChangeEvent-type\">TextDocumentContentChangeEvent</a>[]</code> | - |\n| version | <code>number</code> | - |\n\n<br>\n</details>\n\n<br>\n\n\n## Types\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-TextSpan-interface\" id=\"-vuedx-vue-virtual-textdocument-TextSpan-interface\"></a>\n\n### [TextSpan](#-vuedx-vue-virtual-textdocument-TextSpan-interface)\n\n\n\n```ts\nexport interface TextSpan {\n  length: number;\n  start: number;\n}\n```\n\n\n<br>\n<!-- #region API-DOCS -->\n\n## Support\n\nThis package is part of [VueDX project](https://github.com/znck/vue-developer-experience), maintained by [Rahul Kadyan](https://github.com/znck). You can [💖 sponsor him](https://github.com/sponsors/znck) for continued development of this package and other VueDX tools.\n\n<p align=\"center\">\n  <a href=\"https://cdn.jsdelivr.net/gh/znck/sponsors@main/sponsors.svg\">\n    <img src='https://cdn.jsdelivr.net/gh/znck/sponsors@main/sponsors.png'/>\n  </a>\n</p>\n","readmeFilename":"readme.md","_id":"@vuedx/vue-virtual-textdocument@0.7.7-next-1667938774.0","_integrity":"sha512-OcLGjufK6zbty1q3ZbkvPDtz0db9RKBB3HjwdVUknX7WUl94GhmldPNaRbTfElfVsWuL5B/0ti4dpPZhWPcqqA==","_resolved":"/tmp/1a5eaeb5796abb319a81c3c98920d1e3/vuedx-vue-virtual-textdocument-0.7.7-next-1667938774.0.tgz","_from":"file:vuedx-vue-virtual-textdocument-0.7.7-next-1667938774.0.tgz","_nodeVersion":"18.12.0","_npmVersion":"8.19.2","dist":{"integrity":"sha512-OcLGjufK6zbty1q3ZbkvPDtz0db9RKBB3HjwdVUknX7WUl94GhmldPNaRbTfElfVsWuL5B/0ti4dpPZhWPcqqA==","shasum":"fbbf3365ef8e28b988480940fb9e705bf32d9fd8","tarball":"https://registry.npmjs.org/@vuedx/vue-virtual-textdocument/-/vue-virtual-textdocument-0.7.7-next-1667938774.0.tgz","fileCount":11,"unpackedSize":139262,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDOc2kusPa3K6nU4OjUA4Uvz8duOrL7gzR9IVFdcRTMLwIhAP2AGnDgiZFWX2sftkKnhOIuKCytdC5DQwOYjiIMT6u8"}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjarn2ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmq+mw/+Ozp3QrusbNcmIxfuv8TlhRtCPlLB1Ozdiunb2TAqZrjqRpcR\r\njQXJsSyAzdVrFCb9KpWJAmosOQ+Mm5VsEfd7qjVV2armm9NELPUsxZGimASa\r\nLc7wmn9tjRfOlxdtmcV8EGqFP/yAXwienqmOn7t1E3Dss4DBJWhQFwcC6kje\r\ntl/iA3Z5eR7Ie0JtrYcsYvIdraa2VKzyAoXZnhoCkJrmDzn09qbAJnGMbOyi\r\nMNOqf//N1dmfLjY1bFz2PzJEMHt4HIei8p5HQkT2qwmj7NsAGl4QkF0gLz6Q\r\nUN+Vw8Te8L2LW9twkI/yKVFHoUa2pn01UeqxlIuqDQbv0RqPhK8vomHlzFbH\r\nCfQs6KuTpOB7wKVb+rNe5467aJ+RfmUPsVfqgU+OsX7LeHhavy1h4i/qtFM1\r\nXg9exK4egVxDgV3e+JsbSkM1RAQBXQ/xGWTxo5GaoRr2/0j4YN0YGnrPSuMt\r\nt/LWqaRBdAn1B0To6O0YBpRdLNQUQ96YhknVmCZGebXK1DD4yECaVCHk3/Bi\r\noyf2etmDIreRReuO9W2P8qo78LkDwpy0yiHuCfyt+LKc69vMuwUqxnucghz2\r\njSsTFBZpaNScM4W2+oIKIcl88NhCRoK/f264BIGCqJMfH2faDEO8vAgola1K\r\nAeTzH+alGjaXjtz/VRvpaMQFhoDHH1fgxOA=\r\n=z3c0\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"znck","email":"rahulkdn@gmail.com"},"directories":{},"maintainers":[{"name":"znck","email":"rahulkdn@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/vue-virtual-textdocument_0.7.7-next-1667938774.0_1667938805972_0.7200997749290403"},"_hasShrinkwrap":false},"0.7.7-next-1667939290.0":{"name":"@vuedx/vue-virtual-textdocument","version":"0.7.7-next-1667939290.0","description":"A virtual filesystem to access blocks in SFC as files","main":"lib/index.js","module":"lib/index.mjs","types":"lib/index.d.ts","private":false,"keywords":["vue","vue sfc","sfc","vue virtual files"],"repository":{"type":"git","url":"git+https://github.com/znck/vue-developer-experience.git"},"author":{"name":"Rahul Kadyan","email":"rahulkdn@gmail.com","url":"https://znck.me/"},"funding":{"type":"individual","url":"https://github.com/sponsors/znck"},"license":"MIT","bugs":{"url":"https://github.com/znck/vue-developer-experience/issues"},"homepage":"https://github.com/znck/vue-developer-experience#readme","dependencies":{"@vuedx/compiler-sfc":"0.7.3-next-1667939290.0","@vuedx/compiler-tsx":"0.8.2-next-1667939290.0","@vuedx/shared":"0.7.6-next-1667939290.0","@vuedx/template-ast-types":"0.7.5-next-1667939290.0","@vuedx/transforms":"0.7.7-next-1667939290.0","sourcemap-codec":"^1.4.8","vscode-languageserver-textdocument":"^1.0.1","vscode-uri":"^2.1.2"},"devDependencies":{"typescript":"^4.6.3"},"scripts":{},"readme":"# Vue Virtual TextDocument\n\nAn implementation of virtual filesystem for accessing blocks in a `.vue` file as independent files.\n\n```\nnpm add @vuedx/vue-virtual-textdocument\n```\n<!-- #region API-DOCS -->\n<!-- Do not edit this file. It is a report generated by [scripts/docgen.js](https://github.com/znck/vue-developer-experience/tree/main/scripts/docgen.js). -->\n\n## API\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueSFCDocument-class\" id=\"-vuedx-vue-virtual-textdocument-VueSFCDocument-class\"></a>\n\n### [VueSFCDocument](#-vuedx-vue-virtual-textdocument-VueSFCDocument-class)\n\n\n\n<details><summary>More info</summary>\n\n**Signature:**\n```ts\nexport declare class VueSFCDocument implements TextDocument {\n  get blocks(): SFCBlock[];\n  static create(fileName: string, content: string, options?: Omit<CompileOptions, 'cache' | 'fileName'>, version?: number): VueSFCDocument;\n  get descriptor(): SFCDescriptor;\n  get errors(): Array<CompilerError | SyntaxError>;\n  get fileName(): string;\n  findGeneratedTextSpan(spanInOriginalText: TextSpan): TextSpan | null;\n  findMapping(positionType: 'original' | 'generated', position: Position, searchBias?: SourceMapBiasType): Mapping | null;\n  findOriginalTextSpan(spanInGeneratedText: TextSpan): TextSpan | null;\n  get generated(): TextDocument;\n  readonly generatedFileName: string;\n  generatedOffsetAt(offset: number): number | null;\n  generatedPositionFor(position: Position): Position | null;\n  getBlockAt(offset: number): SFCBlock | null;\n  getLineAndCharacterOfPosition(position: number): Position;\n  getSourceFile(fileName?: string): {\n        fileName: string;\n        readonly text: string;\n        lineMap: unknown;\n        getLineAndCharacterOfPosition: (position: number) => Position;\n    };\n  getText(range?: Range): string;\n  get languageId(): string;\n  get lineCount(): number;\n  lineMap: unknown | undefined;\n  get map(): string;\n  offsetAt(position: Position): number;\n  readonly options: Required<CompileOptions>;\n  get original(): TextDocument;\n  readonly originalFileName: string;\n  originalOffsetAt(offset: number): number | null;\n  originalPositionFor(position: Position): Position | null;\n  positionAt(offset: number): Position;\n  get snapshot(): VueToTsxSnapshot;\n  get templateAST(): RootNode | undefined;\n  get text(): string;\n  update(changes: TextDocumentContentChangeEvent[], version: number): void;\n  get uri(): string;\n  get version(): number;\n}\n```\n\n**Members:**\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueSFCDocument-create-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueSFCDocument-create-member-1-\"></a>\n\n#### [create](#-vuedx-vue-virtual-textdocument-VueSFCDocument-create-member-1-)\n\n\n\n**Signature:**\n```ts\nstatic create(fileName: string, content: string, options?: Omit<CompileOptions, 'cache' | 'fileName'>, version?: number): VueSFCDocument;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n| content | <code>string</code> | - |\n| options | <code><a href=\"#-Omit-type\">Omit</a><<a href=\"#-vuedx-compiler-tsx-CompileOptions-interface\">CompileOptions</a>, 'cache' &#124; 'fileName'></code> | - |\n| version | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueSFCDocument-findGeneratedTextSpan-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueSFCDocument-findGeneratedTextSpan-member-1-\"></a>\n\n#### [findGeneratedTextSpan](#-vuedx-vue-virtual-textdocument-VueSFCDocument-findGeneratedTextSpan-member-1-)\n\n\n\n**Signature:**\n```ts\nfindGeneratedTextSpan(spanInOriginalText: TextSpan): TextSpan | null;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| spanInOriginalText | <code><a href=\"#-vuedx-vue-virtual-textdocument-TextSpan-interface\">TextSpan</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueSFCDocument-findMapping-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueSFCDocument-findMapping-member-1-\"></a>\n\n#### [findMapping](#-vuedx-vue-virtual-textdocument-VueSFCDocument-findMapping-member-1-)\n\n\n\n**Signature:**\n```ts\nfindMapping(positionType: 'original' | 'generated', position: Position, searchBias?: SourceMapBiasType): Mapping | null;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| positionType | <code>'original' &#124; 'generated'</code> | - |\n| position | <code><a href=\"#vscode-languageserver-textdocument-Position-interface\">Position</a></code> | - |\n| searchBias | <code><a href=\"#-vuedx-vue-virtual-textdocument--SourceMapBiasType-type\">SourceMapBiasType</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueSFCDocument-findOriginalTextSpan-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueSFCDocument-findOriginalTextSpan-member-1-\"></a>\n\n#### [findOriginalTextSpan](#-vuedx-vue-virtual-textdocument-VueSFCDocument-findOriginalTextSpan-member-1-)\n\n\n\n**Signature:**\n```ts\nfindOriginalTextSpan(spanInGeneratedText: TextSpan): TextSpan | null;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| spanInGeneratedText | <code><a href=\"#-vuedx-vue-virtual-textdocument-TextSpan-interface\">TextSpan</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueSFCDocument-generatedOffsetAt-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueSFCDocument-generatedOffsetAt-member-1-\"></a>\n\n#### [generatedOffsetAt](#-vuedx-vue-virtual-textdocument-VueSFCDocument-generatedOffsetAt-member-1-)\n\n\n\n**Signature:**\n```ts\ngeneratedOffsetAt(offset: number): number | null;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueSFCDocument-generatedPositionFor-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueSFCDocument-generatedPositionFor-member-1-\"></a>\n\n#### [generatedPositionFor](#-vuedx-vue-virtual-textdocument-VueSFCDocument-generatedPositionFor-member-1-)\n\n\n\n**Signature:**\n```ts\ngeneratedPositionFor(position: Position): Position | null;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| position | <code><a href=\"#vscode-languageserver-textdocument-Position-interface\">Position</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueSFCDocument-getBlockAt-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueSFCDocument-getBlockAt-member-1-\"></a>\n\n#### [getBlockAt](#-vuedx-vue-virtual-textdocument-VueSFCDocument-getBlockAt-member-1-)\n\n\n\n**Signature:**\n```ts\ngetBlockAt(offset: number): SFCBlock | null;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueSFCDocument-getLineAndCharacterOfPosition-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueSFCDocument-getLineAndCharacterOfPosition-member-1-\"></a>\n\n#### [getLineAndCharacterOfPosition](#-vuedx-vue-virtual-textdocument-VueSFCDocument-getLineAndCharacterOfPosition-member-1-)\n\n\n\n**Signature:**\n```ts\ngetLineAndCharacterOfPosition(position: number): Position;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| position | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueSFCDocument-getSourceFile-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueSFCDocument-getSourceFile-member-1-\"></a>\n\n#### [getSourceFile](#-vuedx-vue-virtual-textdocument-VueSFCDocument-getSourceFile-member-1-)\n\n\n\n**Signature:**\n```ts\ngetSourceFile(fileName?: string): {\n        fileName: string;\n        readonly text: string;\n        lineMap: unknown;\n        getLineAndCharacterOfPosition: (position: number) => Position;\n    };\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileName | <code>string</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueSFCDocument-getText-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueSFCDocument-getText-member-1-\"></a>\n\n#### [getText](#-vuedx-vue-virtual-textdocument-VueSFCDocument-getText-member-1-)\n\n\n\n**Signature:**\n```ts\ngetText(range?: Range): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| range | <code><a href=\"#vscode-languageserver-textdocument-Range-interface\">Range</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueSFCDocument-offsetAt-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueSFCDocument-offsetAt-member-1-\"></a>\n\n#### [offsetAt](#-vuedx-vue-virtual-textdocument-VueSFCDocument-offsetAt-member-1-)\n\n\n\n**Signature:**\n```ts\noffsetAt(position: Position): number;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| position | <code><a href=\"#vscode-languageserver-textdocument-Position-interface\">Position</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueSFCDocument-originalOffsetAt-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueSFCDocument-originalOffsetAt-member-1-\"></a>\n\n#### [originalOffsetAt](#-vuedx-vue-virtual-textdocument-VueSFCDocument-originalOffsetAt-member-1-)\n\n\n\n**Signature:**\n```ts\noriginalOffsetAt(offset: number): number | null;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueSFCDocument-originalPositionFor-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueSFCDocument-originalPositionFor-member-1-\"></a>\n\n#### [originalPositionFor](#-vuedx-vue-virtual-textdocument-VueSFCDocument-originalPositionFor-member-1-)\n\n\n\n**Signature:**\n```ts\noriginalPositionFor(position: Position): Position | null;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| position | <code><a href=\"#vscode-languageserver-textdocument-Position-interface\">Position</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueSFCDocument-positionAt-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueSFCDocument-positionAt-member-1-\"></a>\n\n#### [positionAt](#-vuedx-vue-virtual-textdocument-VueSFCDocument-positionAt-member-1-)\n\n\n\n**Signature:**\n```ts\npositionAt(offset: number): Position;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| offset | <code>number</code> | - |\n\n<br>\n\n<a href=\"#-vuedx-vue-virtual-textdocument-VueSFCDocument-update-member-1-\" id=\"-vuedx-vue-virtual-textdocument-VueSFCDocument-update-member-1-\"></a>\n\n#### [update](#-vuedx-vue-virtual-textdocument-VueSFCDocument-update-member-1-)\n\n\n\n**Signature:**\n```ts\nupdate(changes: TextDocumentContentChangeEvent[], version: number): void;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| changes | <code><a href=\"#vscode-languageserver-textdocument-TextDocumentContentChangeEvent-type\">TextDocumentContentChangeEvent</a>[]</code> | - |\n| version | <code>number</code> | - |\n\n<br>\n</details>\n\n<br>\n\n\n## Types\n\n\n<a href=\"#-vuedx-vue-virtual-textdocument-TextSpan-interface\" id=\"-vuedx-vue-virtual-textdocument-TextSpan-interface\"></a>\n\n### [TextSpan](#-vuedx-vue-virtual-textdocument-TextSpan-interface)\n\n\n\n```ts\nexport interface TextSpan {\n  length: number;\n  start: number;\n}\n```\n\n\n<br>\n<!-- #region API-DOCS -->\n\n## Support\n\nThis package is part of [VueDX project](https://github.com/znck/vue-developer-experience), maintained by [Rahul Kadyan](https://github.com/znck). You can [💖 sponsor him](https://github.com/sponsors/znck) for continued development of this package and other VueDX tools.\n\n<p align=\"center\">\n  <a href=\"https://cdn.jsdelivr.net/gh/znck/sponsors@main/sponsors.svg\">\n    <img src='https://cdn.jsdelivr.net/gh/znck/sponsors@main/sponsors.png'/>\n  </a>\n</p>\n","readmeFilename":"readme.md","_id":"@vuedx/vue-virtual-textdocument@0.7.7-next-1667939290.0","_integrity":"sha512-4ZnM17qJd2TFJjist6NA8/UN/SiSt1hF7wx6sZZXnhliLYJyg/7lOyCP7k9LBYzFXPgLbBdGken+Hfr9eS8wjg==","_resolved":"/tmp/e74d8ad3f0c3f0016916fce977b5d249/vuedx-vue-virtual-textdocument-0.7.7-next-1667939290.0.tgz","_from":"file:vuedx-vue-virtual-textdocument-0.7.7-next-1667939290.0.tgz","_nodeVersion":"18.12.0","_npmVersion":"8.19.2","dist":{"integrity":"sha512-4ZnM17qJd2TFJjist6NA8/UN/SiSt1hF7wx6sZZXnhliLYJyg/7lOyCP7k9LBYzFXPgLbBdGken+Hfr9eS8wjg==","shasum":"509045caa8b6a876683897c7653b94c7f5ac86c3","tarball":"https://registry.npmjs.org/@vuedx/vue-virtual-textdocument/-/vue-virtual-textdocument-0.7.7-next-1667939290.0.tgz","fileCount":11,"unpackedSize":139262,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDL5DB4ASy0z3mFSNKH8sf8AULHpNDAKUh2p9wynu4K/gIhAMcRb9Y941p+JZBvkVxHiR9Ew1yLwLT0VkOclHociiZi"}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjarv6ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpxLRAAnlxt41QRDSYKztKjfE9bTN+ChddUMYywf3GfpShfM9GASvvM\r\nJnzcVlKJa7XN0iIVlqamyfCsU7M0HDdFeYIKgpQYnxePh+ktXPrxgeQxPu2N\r\njTq5+wbFwCmSbW8YgisHKpssIbjdpmaexFnRHEoI3SyPzgOd0WyVsfexdwq/\r\nLT6zAe4jHCcyt7hsI4XJoOUDYd9ow1qs07i7S6yLkqscMZ/wDts7rDnoJu41\r\nE2DE09tbm5f5+w9p8wiOqSImP+AfkRqpDXYai7YgKsqA68UTVsB+KMPPYxfn\r\nB7lRDPZCQnlqh+Y0DQkYMzucIS0OaHqUMJW0jeEfOlLBXL5HgVjYRLYf7oc9\r\nmBvVCNUPET5a1yyxmep58E1C0x7o+2G7KIQlHcbXEYMa2O82Yoat2mGJK998\r\n7C439pjQn8Nt/w1N+JyrzwqNHunE1JXwAHN8geH3QhqvRFGdbPtrHHC0eFLd\r\n2i05pfIHQ7aBJbqrWw7RvCDNRcIZFLcPHxkpfaEx0zHdcPmCLXxknLMSisA0\r\nHSPdmwv0YKuQksGGgqSVlSH1kMSSxKfVlf4d+gBl0mnRNWgAfWe+Y6czeChO\r\n2llUZgAEH5YEamFx9XNiR2l5NoLCnB2H1fLX+o76S302Iv/WvRQZZqlhSOt1\r\n6d4M9OawHC9u5Ouu1Aqwi9gsZdEAfdON1Gs=\r\n=mAG2\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"znck","email":"rahulkdn@gmail.com"},"directories":{},"maintainers":[{"name":"znck","email":"rahulkdn@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/vue-virtual-textdocument_0.7.7-next-1667939290.0_1667939322586_0.586223298602105"},"_hasShrinkwrap":false}},"time":{"created":"2020-03-21T21:26:49.124Z","0.1.0":"2020-03-21T21:26:49.492Z","modified":"2022-11-08T20:28:42.863Z","0.1.0-alpha.0":"2020-04-09T11:22:11.093Z","0.1.0-alpha.1":"2020-04-09T16:55:30.067Z","0.1.0-alpha.2":"2020-04-09T20:23:51.392Z","0.1.0-alpha.3":"2020-04-11T05:14:11.048Z","0.1.0-alpha.4":"2020-04-11T08:09:58.478Z","0.1.0-alpha.5":"2020-04-12T09:39:36.830Z","0.1.0-alpha.7":"2020-04-16T16:51:37.643Z","0.1.0-alpha.8":"2020-04-19T13:15:29.450Z","0.1.0-alpha.9":"2020-05-23T09:56:56.539Z","0.1.0-alpha.10":"2020-05-23T10:17:46.990Z","0.1.0-alpha.11":"2020-05-23T11:25:22.751Z","0.1.0-alpha.12":"2020-05-23T15:10:42.560Z","0.1.0-alpha.13":"2020-07-08T07:18:47.282Z","0.1.1":"2020-08-03T07:58:15.496Z","0.1.2":"2020-08-03T11:05:05.711Z","0.1.3":"2020-08-03T11:06:33.376Z","0.1.4":"2020-08-03T13:22:44.182Z","0.1.5":"2020-08-04T10:01:03.039Z","0.2.0":"2020-08-08T12:27:34.065Z","0.2.1":"2020-08-08T14:52:18.184Z","0.2.2":"2020-08-09T01:31:32.448Z","0.2.3":"2020-08-09T01:52:23.620Z","0.2.4-0":"2020-09-16T02:00:37.243Z","0.3.1-insiders-1604106530.0":"2020-10-31T01:11:25.013Z","0.3.1-insiders-1604576237.0":"2020-11-05T11:39:21.120Z","0.3.1-insiders-1604891675.0":"2020-11-09T03:14:56.170Z","0.3.1-insiders-1605496438.0":"2020-11-16T03:14:20.094Z","0.3.1-insiders-1605961078.0":"2020-11-21T12:18:24.036Z","0.3.1-insiders-1606047354.0":"2020-11-22T12:16:23.581Z","0.3.1-insiders-1606101276.0":"2020-11-23T03:15:05.995Z","0.3.1-insiders-1606300525.0":"2020-11-25T10:35:52.140Z","0.3.1-insiders-1606311019.0":"2020-11-25T13:30:45.094Z","0.3.1-insiders-1606467106.0":"2020-11-27T08:52:13.701Z","0.3.1-insiders-1606884529.0":"2020-12-02T04:49:15.578Z","0.3.1-insiders-1607121235.0":"2020-12-04T22:34:21.506Z","0.3.1-insiders-1607543873.0":"2020-12-09T19:58:20.818Z","0.3.1-insiders-1607576406.0":"2020-12-10T05:00:33.851Z","0.3.1-insiders-1607576746.0":"2020-12-10T05:06:13.126Z","0.3.1-insiders-1607577772.0":"2020-12-10T05:23:18.143Z","0.3.1-insiders-1607631204.0":"2020-12-10T20:13:51.320Z","0.3.1-insiders-1607632537.0":"2020-12-10T20:36:04.486Z","0.3.1-insiders-1608185511.0":"2020-12-17T06:12:17.985Z","0.3.1-insiders-1608281809.0":"2020-12-18T08:57:14.937Z","0.3.1-insiders-1608285835.0":"2020-12-18T10:04:24.128Z","0.3.1-insiders-1608294809.0":"2020-12-18T12:33:54.574Z","0.3.1-insiders-1608632613.0":"2020-12-22T10:23:59.859Z","0.3.1-insiders-1608642006.0":"2020-12-22T13:00:30.952Z","0.3.1-insiders-1608679071.0":"2020-12-22T23:18:17.743Z","0.3.1-insiders-1608679989.0":"2020-12-22T23:33:39.350Z","0.3.1-insiders-1608682132.0":"2020-12-23T00:09:20.488Z","0.3.1-insiders-1609032938.0":"2020-12-27T01:36:03.326Z","0.3.1-insiders-1609034385.0":"2020-12-27T02:00:10.492Z","0.3.1-insiders-1609155664.0":"2020-12-28T11:41:27.921Z","0.4.1-insiders-1609180156.0":"2020-12-28T18:29:46.697Z","0.4.0":"2020-12-28T18:30:07.628Z","0.4.1-insiders-1609336775.0":"2020-12-30T14:00:05.363Z","0.4.1":"2020-12-30T14:01:42.030Z","0.4.2-insiders-1609376449.0":"2020-12-31T01:01:19.133Z","0.4.2-insiders-1609376781.0":"2020-12-31T01:06:50.375Z","0.4.2-insiders-1609385764.0":"2020-12-31T03:36:36.036Z","0.4.2-insiders-1609436485.0":"2020-12-31T17:41:55.385Z","0.4.2-insiders-1609479032.0":"2021-01-01T05:31:01.163Z","0.4.2-insiders-1609960000.0":"2021-01-06T19:07:11.741Z","0.4.2-insiders-1610169628.0":"2021-01-09T05:21:00.294Z","0.4.2-insiders-1610448877.0":"2021-01-12T10:55:08.823Z","0.5.1-insiders-1610450632.0":"2021-01-12T11:24:28.977Z","0.5.0":"2021-01-12T11:28:29.049Z","0.5.1-insiders-1610688008.0":"2021-01-15T05:20:43.054Z","0.5.1-insiders-1610735282.0":"2021-01-15T18:28:32.784Z","0.5.1-insiders-1610828338.0":"2021-01-16T20:19:33.505Z","0.6.1-insiders-1610883378.0":"2021-01-17T11:36:51.656Z","0.6.0":"2021-01-17T11:39:21.722Z","0.6.1-insiders-1610891537.0":"2021-01-17T13:52:49.871Z","0.6.1-insiders-1610911987.0":"2021-01-17T19:33:39.615Z","0.6.1-insiders-1611324083.0":"2021-01-22T14:01:59.574Z","0.6.1-insiders-1611498830.0":"2021-01-24T14:34:21.113Z","0.6.2-insiders-1611564162.0":"2021-01-25T08:43:14.503Z","0.6.3":"2021-01-25T09:18:47.308Z","0.6.4-insiders-1611829384.0":"2021-01-28T10:23:38.299Z","0.7.1-insiders-1623221784.0":"2021-06-09T06:57:01.542Z","0.7.0":"2021-06-09T06:58:04.464Z","0.7.1":"2021-06-09T07:45:22.264Z","0.7.2-insiders-1623224804.0":"2021-06-09T07:47:15.646Z","0.7.2":"2021-06-09T18:11:12.474Z","0.7.3-insiders-1623262375.0":"2021-06-09T18:13:26.383Z","0.7.3-insiders-1623383290.0":"2021-06-11T03:48:46.701Z","0.7.3-insiders-1623383952.0":"2021-06-11T04:01:18.448Z","0.7.3-insiders-1623384696.0":"2021-06-11T04:12:13.196Z","0.7.3":"2021-06-11T04:54:00.641Z","0.7.4-insiders-1623387961.0":"2021-06-11T05:06:34.836Z","0.7.5-insiders-1623390917.0":"2021-06-11T05:55:49.207Z","0.7.4":"2021-06-11T06:02:32.982Z","0.7.5-insiders-1623394946.0":"2021-06-11T07:03:01.713Z","0.7.5-insiders-1623402835.0":"2021-06-11T09:14:30.251Z","0.7.5-insiders-1630600136.0":"2021-09-02T16:29:30.669Z","0.7.5-insiders-1630601239.0":"2021-09-02T16:48:01.000Z","0.7.5-insiders-1630604709.0":"2021-09-02T17:45:42.497Z","0.7.5-next-1646032139.0":"2022-02-28T07:09:21.633Z","0.7.5-next-1646814663.0":"2022-03-09T08:31:23.013Z","0.7.5-next-1647274818.0":"2022-03-14T16:20:42.469Z","0.7.5-next-1647442110.0":"2022-03-16T14:48:51.618Z","0.7.5-next-1647674505.0":"2022-03-19T07:22:06.778Z","0.7.5-next-1647768616.0":"2022-03-20T09:30:36.941Z","0.7.5-next-1647933433.0":"2022-03-22T07:17:33.399Z","0.7.5-next-1648400394.0":"2022-03-27T17:00:16.188Z","0.7.5-next-1648409815.0":"2022-03-27T19:37:14.358Z","0.7.5-next-1648411566.0":"2022-03-27T20:06:26.639Z","0.7.5-next-1648440991.0":"2022-03-28T04:17:02.246Z","0.7.5-next-1648822539.0":"2022-04-01T14:16:01.983Z","0.7.5-next-1648824950.0":"2022-04-01T14:56:12.902Z","0.7.5-next-1649087720.0":"2022-04-04T15:55:44.306Z","0.7.5-next-1649225489.0":"2022-04-06T06:11:51.401Z","0.7.5-next-1649228283.0":"2022-04-06T06:58:25.808Z","0.7.5-next-1649315434.0":"2022-04-07T07:10:54.771Z","0.7.5-next-1649381954.0":"2022-04-08T01:39:36.604Z","0.7.5-next-1649388850.0":"2022-04-08T03:34:30.630Z","0.7.5-next-1649398416.0":"2022-04-08T06:13:59.842Z","0.7.5-next-1649493814.0":"2022-04-09T08:43:55.606Z","0.7.5-next-1649577134.0":"2022-04-10T07:52:39.549Z","0.7.5-next-1649578076.0":"2022-04-10T08:08:19.573Z","0.7.5-next-1649583602.0":"2022-04-10T09:40:25.937Z","0.7.5-next-1649585554.0":"2022-04-10T10:12:56.797Z","0.7.5-next-1649614433.0":"2022-04-10T18:14:13.953Z","0.7.5-next-1649653313.0":"2022-04-11T05:02:16.899Z","0.7.5-next-1649654649.0":"2022-04-11T05:24:29.579Z","0.7.5-next-1649655181.0":"2022-04-11T05:33:21.694Z","0.7.5-next-1649663515.0":"2022-04-11T07:52:16.886Z","0.7.5-next-1650753481.0":"2022-04-23T22:38:20.755Z","0.7.5":"2022-04-27T07:41:28.866Z","0.7.6-next-1651048177.0":"2022-04-27T08:29:59.198Z","0.7.6-next-1651050089.0":"2022-04-27T09:01:49.748Z","0.7.6-next-1651055813.0":"2022-04-27T10:37:21.973Z","0.7.6-next-1663917928.0":"2022-09-23T07:25:52.325Z","0.7.6-next-1663918844.0":"2022-09-23T07:41:11.978Z","0.7.6-next-1664761915.0":"2022-10-03T01:52:20.619Z","0.7.6-next-1664775821.0":"2022-10-03T05:44:04.792Z","0.7.6-next-1664852417.0":"2022-10-04T03:00:49.421Z","0.7.6-next-1665816659.0":"2022-10-15T06:51:28.018Z","0.7.6-next-1665904926.0":"2022-10-16T07:22:33.334Z","0.7.6-next-1665979403.0":"2022-10-17T04:03:54.178Z","0.7.6-next-1665995999.0":"2022-10-17T08:40:24.947Z","0.7.6-next-1666119500.0":"2022-10-18T18:58:55.641Z","0.7.6-next-1666207395.0":"2022-10-19T19:23:42.662Z","0.7.6-next-1666251997.0":"2022-10-20T07:47:03.828Z","0.7.6-next-1667343140.0":"2022-11-01T22:52:44.737Z","0.7.6-next-1667343481.0":"2022-11-01T22:58:31.561Z","0.7.6-next-1667345249.0":"2022-11-01T23:27:55.160Z","0.7.7-next-1667345594.0":"2022-11-01T23:33:41.384Z","0.7.6":"2022-11-01T23:33:52.112Z","0.7.7-next-1667540051.0":"2022-11-04T05:34:40.457Z","0.7.7-next-1667576550.0":"2022-11-04T15:43:05.387Z","0.7.7-next-1667925330.0":"2022-11-08T16:36:00.252Z","0.7.7-next-1667938774.0":"2022-11-08T20:20:06.187Z","0.7.7-next-1667939290.0":"2022-11-08T20:28:42.774Z"},"maintainers":[{"name":"znck","email":"rahulkdn@gmail.com"}],"keywords":["vue","vue sfc","sfc","vue virtual files"],"author":{"name":"Rahul Kadyan","email":"rahulkdn@gmail.com","url":"https://znck.me/"},"license":"MIT","readme":"","readmeFilename":"","description":"A virtual filesystem to access blocks in SFC as files","homepage":"https://github.com/znck/vue-developer-experience#readme","repository":{"type":"git","url":"git+https://github.com/znck/vue-developer-experience.git"},"bugs":{"url":"https://github.com/znck/vue-developer-experience/issues"}}