{"_id":"@data-vegle/serial","_rev":"9-e10f459f1b6b57c401d87a084858fd9a","name":"@data-vegle/serial","dist-tags":{"latest":"1.4.1"},"versions":{"0.1.0":{"name":"@data-vegle/serial","version":"0.1.0","keywords":["roblox","roblox-ts","flamework","buffer","serialization"],"license":"MIT","_id":"@data-vegle/serial@0.1.0","maintainers":[{"name":"__datax__","email":"aloisroberjot13@gmail.com"}],"dist":{"shasum":"998a76802b8f14b5b65e26922b6e5de993d383ee","tarball":"https://registry.npmjs.org/@data-vegle/serial/-/serial-0.1.0.tgz","fileCount":24,"integrity":"sha512-ogDN0qFY3AVlitsmIqlVwKoPqedN5GbaUXVQ1aHFDZJ79nVI25Nkr1VUEZQZIWUHsERoN/CDsAm3kN40MhbbPg==","signatures":[{"sig":"MEYCIQDEbYBW2h7dBuRo7HPP7JFg9MDUmLE4WuJyoUKXQ1nvzQIhAJgPuScQUEac5iLswEaikM7r7dpr8Tf4lSK09BUy5XQH","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":35587},"main":"out/init.luau","types":"out/index.d.ts","gitHead":"28bb980863d0d76071a30aa228a2a562d5059e28","scripts":{"build":"rbxtsc && npm run minify","clean":"rimraf out include","watch":"rbxtsc --type=package -w","format":"prettier --write \"src/**/*.ts\"","minify":"node scripts/minify.js","format:check":"prettier --check \"src/**/*.ts\"","prepublishOnly":"npm run clean && npm run build"},"_npmUser":{"name":"__datax__","email":"aloisroberjot13@gmail.com"},"_npmVersion":"11.16.0","description":"Serialize roblox-ts types into buffers.","directories":{},"_nodeVersion":"22.13.1","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"rimraf":"^6.0.1","prettier":"^3.3.3","roblox-ts":"^3.0.0","typescript":"=5.5.3","@rbxts/types":"^1.0.943","darklua-wasm":"^0.1.0","@rbxts/compiler-types":"3.0.0-types.0","rbxts-transformer-flamework":"^1.3.2"},"peerDependencies":{"@flamework/core":"^1.3.2"},"_npmOperationalInternal":{"tmp":"tmp/serial_0.1.0_1787818155008_0.4869017292498903","host":"s3://npm-registry-packages-npm-production"}},"0.1.5":{"name":"@data-vegle/serial","version":"0.1.5","keywords":["roblox","roblox-ts","flamework","buffer","serialization"],"license":"MIT","_id":"@data-vegle/serial@0.1.5","maintainers":[{"name":"__datax__","email":"aloisroberjot13@gmail.com"}],"dist":{"shasum":"cf4d7952bfb23272bf325703114dac8975cedf3f","tarball":"https://registry.npmjs.org/@data-vegle/serial/-/serial-0.1.5.tgz","fileCount":24,"integrity":"sha512-eoIaGcsgYr95nfcZ2UPORUXvY2t6Js2S8fWMygNEtzgb5b8CmqEaPeyvE8HCWNYJOBEs26vBBqmzai56lz2izQ==","signatures":[{"sig":"MEQCIA+84l377b2D1cgMTeFFRSTbEu+3LishDFPDHeirwLK+AiAaoL5vKMoT/kmPPvkfz++YudnZy/0wJB23PLkgCyN0yA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":36071},"main":"out/init.luau","types":"out/index.d.ts","gitHead":"738f07d121210b2bf51d9a7341b0490dc872e446","scripts":{"build":"rbxtsc && npm run minify","clean":"rimraf out include","watch":"rbxtsc --type=package -w","format":"prettier --write \"src/**/*.ts\"","minify":"node scripts/minify.js","format:check":"prettier --check \"src/**/*.ts\"","prepublishOnly":"npm run clean && npm run build"},"_npmUser":{"name":"__datax__","email":"aloisroberjot13@gmail.com"},"_npmVersion":"11.16.0","description":"Serialize roblox-ts types into buffers.","directories":{},"_nodeVersion":"22.13.1","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"rimraf":"^6.0.1","prettier":"^3.3.3","roblox-ts":"^3.0.0","typescript":"=5.5.3","@rbxts/types":"^1.0.943","darklua-wasm":"^0.1.0","@rbxts/compiler-types":"3.0.0-types.0","rbxts-transformer-flamework":"^1.3.2"},"peerDependencies":{"@flamework/core":"^1.3.2"},"_npmOperationalInternal":{"tmp":"tmp/serial_0.1.5_1787924725498_0.15431990369160387","host":"s3://npm-registry-packages-npm-production"}},"0.2.0":{"name":"@data-vegle/serial","version":"0.2.0","keywords":["roblox","roblox-ts","flamework","buffer","serialization"],"license":"MIT","_id":"@data-vegle/serial@0.2.0","maintainers":[{"name":"__datax__","email":"aloisroberjot13@gmail.com"}],"dist":{"shasum":"55876aef8db02fbe7ff97df21a6a2563980f1f72","tarball":"https://registry.npmjs.org/@data-vegle/serial/-/serial-0.2.0.tgz","fileCount":24,"integrity":"sha512-/Knm3dr6sUikUGsNuLy163uCRdrj7WLF3r5/E/fVAlpffCv2wCuf4GGs6cowvNYAQaH4TYXm9oF8aXhD/W3GfQ==","signatures":[{"sig":"MEYCIQCfFWIU3Qg4NxOCs230usZiL4xc32Dr1UIHE8oJ14ronAIhAPgNjNuRxRkIX/9lNQvtqdyOt+qfT78sefu5TlcgaajI","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":35616},"main":"out/init.luau","types":"out/index.d.ts","gitHead":"81c4c735640ad49acbe7882bbddb87544bd020a7","scripts":{"build":"rbxtsc && npm run minify","clean":"rimraf out include","watch":"rbxtsc --type=package -w","format":"prettier --write \"src/**/*.ts\"","minify":"node scripts/minify.js","format:check":"prettier --check \"src/**/*.ts\"","prepublishOnly":"npm run clean && npm run build"},"_npmUser":{"name":"__datax__","email":"aloisroberjot13@gmail.com"},"_npmVersion":"11.16.0","description":"Serialize roblox-ts types into buffers.","directories":{},"_nodeVersion":"22.13.1","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"rimraf":"^6.0.1","prettier":"^3.3.3","roblox-ts":"^3.0.0","typescript":"=5.5.3","@rbxts/types":"^1.0.943","darklua-wasm":"^0.1.0","@rbxts/compiler-types":"3.0.0-types.0","rbxts-transformer-flamework":"^1.3.2"},"peerDependencies":{"@flamework/core":"^1.3.2"},"_npmOperationalInternal":{"tmp":"tmp/serial_0.2.0_1787928240867_0.4269153944116726","host":"s3://npm-registry-packages-npm-production"}},"1.0.0":{"name":"@data-vegle/serial","version":"1.0.0","keywords":["roblox","roblox-ts","flamework","buffer","serialization"],"license":"MIT","_id":"@data-vegle/serial@1.0.0","maintainers":[{"name":"__datax__","email":"aloisroberjot13@gmail.com"}],"dist":{"shasum":"8bb03211efc9d4bc36ff71c61eb91f1b7b47d294","tarball":"https://registry.npmjs.org/@data-vegle/serial/-/serial-1.0.0.tgz","fileCount":26,"integrity":"sha512-3AMfTIp5ySJ28bFhRqM4Iyca8Kw3oisfQiZ+P4ZuZmiJ6pdbJ1Sa/V9pw7akFn+9TvQuC1FiccWOLllGam26Cw==","signatures":[{"sig":"MEQCIFGXER25tnH5i6zy+gFFGhACsBHUoPt15kzRTpzh4XjWAiB8whWCIPmoBlzuVhPwSoYctw6vaitQzWAPt68Hhbsjpw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEYCIQCWmB81rk63Yz/G9jCaB2TfMRnvzlHPEQeTYEd6yGYtdwIhAO2f2lhWnSJYVI7JbLsKuE/s75XHhYbXz+DF5xz4Q4bF","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":46567},"main":"out/init.luau","types":"out/index.d.ts","gitHead":"33423bd410fc166445f5212586f88c93e2b1edec","scripts":{"test":"npm run build && npm run build:bench && lune run bench/lune.luau test","bench":"npm run build && npm run build:bench && lune run bench/lune.luau","build":"rbxtsc && npm run minify","clean":"rimraf out include bench/out","watch":"rbxtsc --type=package -w","format":"prettier --write \"src/**/*.ts\" \"bench/src/**/*.ts\"","minify":"node scripts/minify.js","test:lune":"npm run build:bench && lune run bench/lune.luau test","bench:lune":"npm run build:bench && lune run bench/lune.luau","build:bench":"rbxtsc -p bench --rojo bench/test.project.json --type package","bench:studio":"npm run build && npm run build:bench && rojo build bench/test.project.json -o serial-test.rbxl && run-in-roblox --place serial-test.rbxl --script bench/studio.server.luau","format:check":"prettier --check \"src/**/*.ts\" \"bench/src/**/*.ts\"","prepublishOnly":"npm run clean && npm run build"},"_npmUser":{"name":"__datax__","email":"aloisroberjot13@gmail.com"},"_npmVersion":"11.16.0","description":"Serialize roblox-ts types into buffers.","directories":{},"_nodeVersion":"22.13.1","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"rimraf":"^6.0.1","prettier":"^3.3.3","roblox-ts":"^3.0.0","typescript":"=5.5.3","@rbxts/types":"^1.0.943","darklua-wasm":"^0.1.0","@rbxts/compiler-types":"3.0.0-types.0","rbxts-transformer-flamework":"^1.3.2"},"peerDependencies":{"@flamework/core":"^1.3.2"},"_npmOperationalInternal":{"tmp":"tmp/serial_1.0.0_1788527662213_0.2059858828515153","host":"s3://npm-registry-packages-npm-production"}},"1.1.0":{"name":"@data-vegle/serial","version":"1.1.0","keywords":["roblox","roblox-ts","flamework","buffer","serialization"],"license":"MIT","_id":"@data-vegle/serial@1.1.0","maintainers":[{"name":"__datax__","email":"aloisroberjot13@gmail.com"}],"dist":{"shasum":"39511661eab313d546dcec2468481018da0bc87a","tarball":"https://registry.npmjs.org/@data-vegle/serial/-/serial-1.1.0.tgz","fileCount":26,"integrity":"sha512-WZ/5tpOnRci2oPYFcAnZ0e61QsuiWy5Q0ZCaGyHgojEyHX5b0Klk1c124OUNFw4uYUP1k2Gc+51nvN0Ts4nyIg==","signatures":[{"sig":"MEYCIQC7MudWOnDrUOYTjhMIDLRqX2Stn9vxJE5NmNzKRTY95wIhAJv2/34L74D34SW8fBsMV0HuNUCCe9kxyofL3Rlnk51A","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCIEeLXRgRvHOH/LR3foeocMT/6RatVDbNIPK65+/dPBW8AiAn+l1qDHxplYdVzGv5vWSpeP945Vg2RcM5OLpys9Lq/Q==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":47039},"main":"out/init.luau","types":"out/index.d.ts","gitHead":"10e2388b694e116a50613d042530d7b35db9f341","scripts":{"test":"npm run build && npm run build:bench && lune run bench/lune.luau test","bench":"npm run build && npm run build:bench && lune run bench/lune.luau","build":"rbxtsc && npm run minify","clean":"rimraf out include bench/out","watch":"rbxtsc --type=package -w","format":"prettier --write \"src/**/*.ts\" \"bench/src/**/*.ts\"","minify":"node scripts/minify.js","test:lune":"npm run build:bench && lune run bench/lune.luau test","bench:lune":"npm run build:bench && lune run bench/lune.luau","build:bench":"rbxtsc -p bench --rojo bench/test.project.json --type package","bench:studio":"npm run build && npm run build:bench && rojo build bench/test.project.json -o serial-test.rbxl && run-in-roblox --place serial-test.rbxl --script bench/studio.server.luau","format:check":"prettier --check \"src/**/*.ts\" \"bench/src/**/*.ts\"","prepublishOnly":"npm run clean && npm run build"},"_npmUser":{"name":"__datax__","email":"aloisroberjot13@gmail.com"},"_npmVersion":"11.16.0","description":"Serialize roblox-ts types into buffers.","directories":{},"_nodeVersion":"22.13.1","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"rimraf":"^6.0.1","prettier":"^3.3.3","roblox-ts":"^3.0.0","typescript":"=5.5.3","@rbxts/types":"^1.0.943","darklua-wasm":"^0.1.0","@rbxts/compiler-types":"3.0.0-types.0","rbxts-transformer-flamework":"^1.3.2"},"peerDependencies":{"@flamework/core":"^1.3.2"},"_npmOperationalInternal":{"tmp":"tmp/serial_1.1.0_1788558989681_0.7963131490688486","host":"s3://npm-registry-packages-npm-production"}},"1.2.0":{"name":"@data-vegle/serial","version":"1.2.0","keywords":["roblox","roblox-ts","flamework","buffer","serialization"],"license":"MIT","_id":"@data-vegle/serial@1.2.0","maintainers":[{"name":"__datax__","email":"aloisroberjot13@gmail.com"}],"dist":{"shasum":"78344740478891d18b808d1cc48a9fdac993eef8","tarball":"https://registry.npmjs.org/@data-vegle/serial/-/serial-1.2.0.tgz","fileCount":28,"integrity":"sha512-SMimX8GcQWmK29LsSBFDMPNbbfnPbryoG/92tZPEzs+GBSENASx46E17jpVwfRrDtHrFaYRTeno0yWKzuiZlIA==","signatures":[{"sig":"MEUCID68wXcy71gupwV1pJDDWGPMnRAvE2JCrp+2Hewrr5AnAiEAp/9H/s43iRLDe1+RpSGNHarB+jCdoSpFHZE67sYhQZw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCIAGFhOr1SqDKy7m2tFcPCsHueLCNseaepPKjeSSn9yJ7AiAG1zVNd56eMpN16L+OhFB0ocopYcW1CF/lJKy05HppuA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":59700},"main":"out/init.luau","types":"out/index.d.ts","gitHead":"29c2594b33cde06bd7ebfa5eb42e58530c985803","scripts":{"test":"npm run build && npm run build:bench && lune run bench/lune.luau test","bench":"npm run build && npm run build:bench && lune run bench/lune.luau","build":"rbxtsc && npm run minify","clean":"rimraf out include bench/out","watch":"rbxtsc --type=package -w","format":"prettier --write \"src/**/*.ts\" \"bench/src/**/*.ts\"","minify":"darklua process --config darklua.config.json out out","test:lune":"npm run build:bench && lune run bench/lune.luau test","bench:lune":"npm run build:bench && lune run bench/lune.luau","build:bench":"rbxtsc -p bench --rojo bench/test.project.json --type package","bench:studio":"npm run build && npm run build:bench && rojo build bench/test.project.json -o serial-test.rbxl && run-in-roblox --place serial-test.rbxl --script bench/studio.server.luau","format:check":"prettier --check \"src/**/*.ts\" \"bench/src/**/*.ts\"","prepublishOnly":"npm run clean && npm run build"},"_npmUser":{"name":"__datax__","email":"aloisroberjot13@gmail.com"},"_npmVersion":"11.16.0","description":"Serialize roblox-ts types into buffers.","directories":{},"_nodeVersion":"22.13.1","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"rimraf":"^6.0.1","prettier":"^3.3.3","roblox-ts":"^3.0.0","typescript":"=5.5.3","@rbxts/types":"^1.0.943","rbxts-transform-luau":"^1.0.1","@rbxts/compiler-types":"3.0.0-types.0","rbxts-transform-boost":"^2.0.1","rbxts-transformer-flamework":"^1.3.2"},"peerDependencies":{"@flamework/core":"^1.3.2"},"_npmOperationalInternal":{"tmp":"tmp/serial_1.2.0_1788566223712_0.5076199629567775","host":"s3://npm-registry-packages-npm-production"}},"1.3.0":{"name":"@data-vegle/serial","version":"1.3.0","keywords":["roblox","roblox-ts","flamework","buffer","serialization"],"license":"MIT","_id":"@data-vegle/serial@1.3.0","maintainers":[{"name":"__datax__","email":"aloisroberjot13@gmail.com"}],"dist":{"shasum":"7db2f8b8b9cf725b815ebd20a9fd870a35c810c4","tarball":"https://registry.npmjs.org/@data-vegle/serial/-/serial-1.3.0.tgz","fileCount":26,"integrity":"sha512-ZKcb+mesgMsN+KKSFPONsEesMG4m0oZs7SmoaBJrGcwHCz/mdDOS4uEMb+0M9WaGgbo8tm6D+eZs1StoUdXAzA==","signatures":[{"sig":"MEUCIE1hbpoXVOJ01XMEhNZNMy5nQl+YcAsaN4W/CNXPBKjGAiEA7rEmftSXl+XKfbuwY+uUfg2j7eUEuUqSORbPtaxdZV0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIQDPvRYpIbZ20KxhNq3fML5cKiQ8EUA3mfUF0zlhiyOonQIgH26yvPhTqgL/eMp5P8KpjJTvBNG3Zr8cSjvKkM7uDYU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":55219},"main":"out/init.luau","types":"out/index.d.ts","gitHead":"e2db91ddb5581dfd7261fd1a28cae67ae432f1f8","scripts":{"test":"npm run build && npm run build:bench && lune run bench/lune.luau test","bench":"npm run build && npm run build:bench && lune run bench/lune.luau","build":"rbxtsc && npm run minify","clean":"rimraf out include bench/out","watch":"rbxtsc --type=package -w","format":"prettier --write \"src/**/*.ts\" \"bench/src/**/*.ts\"","minify":"darklua process --config darklua.config.json out out","test:lune":"npm run build:bench && lune run bench/lune.luau test","bench:lune":"npm run build:bench && lune run bench/lune.luau","build:bench":"rbxtsc -p bench --rojo bench/test.project.json --type package","bench:studio":"npm run build && npm run build:bench && rojo build bench/test.project.json -o serial-test.rbxl && run-in-roblox --place serial-test.rbxl --script bench/studio.server.luau","format:check":"prettier --check \"src/**/*.ts\" \"bench/src/**/*.ts\"","prepublishOnly":"npm run clean && npm run build"},"_npmUser":{"name":"__datax__","email":"aloisroberjot13@gmail.com"},"_npmVersion":"11.16.0","description":"Serialize roblox-ts types into buffers.","directories":{},"_nodeVersion":"22.13.1","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"rimraf":"^6.0.1","prettier":"^3.3.3","roblox-ts":"^3.0.0","typescript":"=5.5.3","@rbxts/types":"^1.0.943","rbxts-transform-luau":"^1.0.1","@rbxts/compiler-types":"3.0.0-types.0","rbxts-transform-boost":"^2.0.1","rbxts-transformer-flamework":"^1.3.2"},"peerDependencies":{"@flamework/core":"^1.3.2"},"_npmOperationalInternal":{"tmp":"tmp/serial_1.3.0_1788703344697_0.8428958377178684","host":"s3://npm-registry-packages-npm-production"}},"1.4.0":{"name":"@data-vegle/serial","version":"1.4.0","keywords":["roblox","roblox-ts","flamework","buffer","serialization"],"license":"MIT","_id":"@data-vegle/serial@1.4.0","maintainers":[{"name":"__datax__","email":"aloisroberjot13@gmail.com"}],"dist":{"shasum":"3cfbe5abcd0e54bf0db1608a5124ee3813c4777a","tarball":"https://registry.npmjs.org/@data-vegle/serial/-/serial-1.4.0.tgz","fileCount":26,"integrity":"sha512-wYjmp4F9VZd7kDxVIK2dYtnGGMrKw2KNx2Q+iLfjLPf7Fk+n0oQ1ORBPo61wRys1zIOEJiGF1k2Onjci9sxoKw==","signatures":[{"sig":"MEQCIDLTqG5RXFMLIEeRWBLH698wygoR4fa4k2RYHkk0zkPnAiAROypQqcI+Wf5QCKxJpq0O1/SmjxUlJ3MdU0vtOEddtA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIB9aTKN3Fa1HPCLGuknUIgjkJ2ZD3csjrYDgawTn6ml6AiEAz17I8j66BgQZdITmhznXU9SQXlYGdf67ZEI6McLz+WE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":56489},"main":"out/init.luau","types":"out/index.d.ts","gitHead":"c2391ea672637e9408650586d2a3bc8eb2e8a2d4","scripts":{"test":"npm run build && npm run build:bench && lune run bench/lune.luau test","bench":"npm run build && npm run build:bench && lune run bench/lune.luau","build":"rbxtsc && npm run minify","clean":"rimraf out include bench/out","watch":"rbxtsc --type=package -w","format":"prettier --write \"src/**/*.ts\" \"bench/src/**/*.ts\"","minify":"darklua process --config darklua.config.json out out","test:lune":"npm run build:bench && lune run bench/lune.luau test","bench:lune":"npm run build:bench && lune run bench/lune.luau","build:bench":"rbxtsc -p bench --rojo bench/test.project.json --type package","bench:studio":"npm run build && npm run build:bench && rojo build bench/test.project.json -o serial-test.rbxl && run-in-roblox --place serial-test.rbxl --script bench/studio.server.luau","format:check":"prettier --check \"src/**/*.ts\" \"bench/src/**/*.ts\"","prepublishOnly":"npm run clean && npm run build"},"_npmUser":{"name":"__datax__","email":"aloisroberjot13@gmail.com"},"_npmVersion":"11.16.0","description":"Serialize roblox-ts types into buffers.","directories":{},"_nodeVersion":"22.13.1","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"rimraf":"^6.0.1","prettier":"^3.3.3","roblox-ts":"^3.0.0","typescript":"=5.5.3","@rbxts/types":"^1.0.943","rbxts-transform-luau":"^1.0.1","@rbxts/compiler-types":"3.0.0-types.0","rbxts-transform-boost":"^2.0.1","rbxts-transformer-flamework":"^1.3.2"},"peerDependencies":{"@flamework/core":"^1.3.2"},"_npmOperationalInternal":{"tmp":"tmp/serial_1.4.0_1789225739847_0.1528741149018038","host":"s3://npm-registry-packages-npm-production"}},"1.4.1":{"_id":"@data-vegle/serial@1.4.1","dist":{"shasum":"1968d8b9857f23e0fdf2625fd5a9cf2eab339d62","tarball":"https://registry.npmjs.org/@data-vegle/serial/-/serial-1.4.1.tgz","fileCount":26,"integrity":"sha512-NJAtxVWcG62uvWu5SQWkDvZ8bniXiOO4+NJtAhOtj3cuanRW3gOy+CaEjBxa3f4Q3qTzJsawVmNuw70NFb1W0w==","signatures":[{"sig":"MEYCIQCOFnbotuqpxUR0aoaCAzvYCcb2XRVxOYtk496JG8CkzwIhAPwyzFf+ZWjdOXjiZxKDm4vI4aQoIeYLoQDENuV+EDpn","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEYCIQD7bxb5lHrpgtLfeqQr7GuLx3hdy9+IqkDf1j8u0F+sJwIhAIV08RPgcISh7W5Mvej5gdfX4bWBEOa2ztYDrb0A2XOe"}],"unpackedSize":56491},"main":"out/init.luau","name":"@data-vegle/serial","types":"out/index.d.ts","gitHead":"c7b1d2d86607b789db9adedefc8e8b806769dd4c","license":"MIT","scripts":{"test":"npm run build && npm run build:bench && lune run bench/lune.luau test","bench":"npm run build && npm run build:bench && lune run bench/lune.luau","build":"rbxtsc && npm run minify","clean":"rimraf out include bench/out","watch":"rbxtsc --type=package -w","format":"prettier --write \"src/**/*.ts\" \"bench/src/**/*.ts\"","minify":"darklua process --config darklua.config.json out out","test:lune":"npm run build:bench && lune run bench/lune.luau test","bench:lune":"npm run build:bench && lune run bench/lune.luau","build:bench":"rbxtsc -p bench --rojo bench/test.project.json --type package","bench:studio":"npm run build && npm run build:bench && rojo build bench/test.project.json -o serial-test.rbxl && run-in-roblox --place serial-test.rbxl --script bench/studio.server.luau","format:check":"prettier --check \"src/**/*.ts\" \"bench/src/**/*.ts\"","prepublishOnly":"npm run clean && npm run build"},"version":"1.4.1","_npmUser":{"name":"__datax__","email":"aloisroberjot13@gmail.com"},"keywords":["roblox","roblox-ts","flamework","buffer","serialization"],"_npmVersion":"11.16.0","description":"Serialize roblox-ts types into buffers.","directories":{},"maintainers":[{"name":"__datax__","email":"aloisroberjot13@gmail.com"}],"_nodeVersion":"22.13.1","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"rimraf":"^6.0.1","prettier":"^3.3.3","roblox-ts":"^3.0.0","typescript":"=5.5.3","@rbxts/types":"^1.0.943","rbxts-transform-luau":"^1.0.1","@rbxts/compiler-types":"3.0.0-types.0","rbxts-transform-boost":"^2.0.1","rbxts-transformer-flamework":"^1.3.2"},"peerDependencies":{"@flamework/core":"^1.3.2"},"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/serial_1.4.1_1789506899079_0.4642552087621141"}}},"time":{"created":"2026-08-27T08:09:14.752Z","modified":"2026-09-15T21:14:59.345Z","0.1.0":"2026-08-27T08:09:15.159Z","0.1.5":"2026-08-28T13:45:25.634Z","0.2.0":"2026-08-28T14:44:01.009Z","1.0.0":"2026-09-04T13:14:22.312Z","1.1.0":"2026-09-04T21:56:29.782Z","1.2.0":"2026-09-04T23:57:03.804Z","1.3.0":"2026-09-06T14:02:24.781Z","1.4.0":"2026-09-12T15:08:59.933Z","1.4.1":"2026-09-15T21:14:59.160Z"},"license":"MIT","keywords":["roblox","roblox-ts","flamework","buffer","serialization"],"description":"Serialize roblox-ts types into buffers.","maintainers":[{"name":"__datax__","email":"aloisroberjot13@gmail.com"}],"readme":"# @rbxts/serial\r\n\r\nSerialize roblox-ts types into buffers.\r\n\r\n> **Status:** scaffolding only. The toolchain is set up and verified; the serializer\r\n> itself is not written yet.\r\n\r\n## Toolchain\r\n\r\n| Piece                                                                      | Why it's here                                                                  |\r\n| -------------------------------------------------------------------------- | ------------------------------------------------------------------------------ |\r\n| [roblox-ts](https://roblox-ts.com) 3.0                                     | TypeScript → Luau compiler                                                     |\r\n| [Flamework](https://flamework.fireboltofdeath.dev) 1.3                     | its transformer exposes compile-time type metadata (user macros)               |\r\n| [Rojo](https://rojo.space) 7                                               | syncs the compiled output into Studio                                          |\r\n| [Prettier](https://prettier.io)                                            | formatting, enforced in CI                                                     |\r\n\r\nFlamework is the reason this project isn't a plain roblox-ts package. Its\r\ntransformer can hand you a type's identity, a printed form of the type, and a\r\ngenerated runtime guard — all derived from a TypeScript type at build time. That\r\nis what the serializer templates will be generated from, instead of asking\r\ncallers to hand-write a schema next to every interface.\r\n\r\n## Setup\r\n\r\n```sh\r\nnpm install\r\nnpm run build\r\n```\r\n\r\nStudio-side tooling is pinned in `rokit.toml`:\r\n\r\n```sh\r\nrokit install   # installs Rojo\r\n```\r\n\r\n## Scripts\r\n\r\n| Script                | What it does                                                            |\r\n| --------------------- | ----------------------------------------------------------------------- |\r\n| `npm run build`       | compile `src/` → `out/` as a package                                    |\r\n| `npm run watch`       | same, in watch mode                                                     |\r\n| `npm run build:place` | compile as a game instead, emitting the `include/` runtime              |\r\n| `npm run place`       | build the place and pack it into `serial-test.rbxl` for Studio          |\r\n| `npm run clean`       | remove `out/` and `include/`                                            |\r\n| `npm run format`      | run Prettier over `src/`                                                |\r\n\r\n`build` and `build:place` write to the same `out/` directory, so `build:place`\r\ncleans first. Run `npm run build` again before publishing.\r\n\r\n## Layout\r\n\r\n```\r\nsrc/                  library source, compiled to out/\r\ndefault.project.json  Rojo project for the package itself\r\nbench/                benchmark: its own roblox-ts project (src/ → out/) plus the Lune and Studio runners\r\nbench/test.project.json  Rojo place used to run the benchmark (and try the library) in Studio\r\nflamework.build       Flamework's identifier table — commit it, don't edit it\r\n```\r\n\r\n`flamework.build` holds the stable ids the transformer hands out. It is tracked\r\nin git and shipped in the published package on purpose; deleting it makes\r\npreviously generated ids drift.\r\n\r\n## Writing a type macro\r\n\r\nFlamework user macros need two things: the `plugins` entry in `tsconfig.json`\r\n(already there), and a `@metadata macro` JSDoc tag on the function. Without the\r\ntag the transformer silently skips the call and the parameter arrives as\r\n`undefined`.\r\n\r\n`src/index.ts` has the minimal working example:\r\n\r\n```ts\r\n/** @metadata macro */\r\nexport function typeIdOf<T>(id?: Modding.Generic<T, \"id\">): string {\r\n\tassert(id !== undefined, \"typeIdOf<T>() was called without the Flamework transformer\");\r\n\treturn id;\r\n}\r\n```\r\n\r\nCallers just write `typeIdOf<PlayerState>()` and the transformer rewrites it to\r\n`typeIdOf(\"@rbxts/serial:src/index@PlayerState\")`. Swapping `\"id\"` for `\"text\"`\r\nor `\"guard\"` in `Modding.Generic` gives the printed type or a runtime type guard\r\ninstead — those are the hooks the buffer serializer will be built from.\r\n\r\n## Benchmark\r\n\r\n`bench/src/bench.ts` serializes and deserializes a set of representative types\r\nagainst the compiled library in `out/` and prints bytes per payload, microseconds\r\nper call and a round-trip check. It is a roblox-ts project of its own\r\n(`bench/tsconfig.json`, compiled to `bench/out/`): every schema is generated by\r\nthe Flamework transformer from a real TypeScript type, and the library is imported\r\nthrough the declarations in `out/`, so the benchmark exercises the package exactly\r\nthe way a consumer does. The compiled module is then required from plain Luau:\r\n\r\n| Command                | Where it runs                                                                  |\r\n| ---------------------- | ------------------------------------------------------------------------------ |\r\n| `npm run build:bench`  | compiles `bench/src/` → `bench/out/` (needs `out/` from `npm run build`)       |\r\n| `npm run bench`        | builds both, then [Lune](https://lune-org.github.io/docs) runs `bench/lune.luau` |\r\n| `npm run bench:lune`   | same, without rebuilding the library first                                     |\r\n| `npm run bench:studio` | builds `serial-test.rbxl` and runs `bench/studio.server.luau` through `run-in-roblox` |\r\n| `npm run test`         | builds both, then Lune runs only the test suite (`bench/src/test.ts`)          |\r\n| `npm run test:lune`    | same, without rebuilding the library first                                     |\r\n\r\nBoth runners execute the test suite before the benchmark and stop when a case\r\nfails. The suite round-trips deliberately awkward values (NaN, negative zero,\r\nNUL bytes, varuint boundaries, empty and table-keyed collections, blobs,\r\nserializers and serialized payloads used as data) and asserts the error text of\r\ninvalid inputs; `npm run test:lune -- <text>` keeps only matching cases.\r\n\r\nBoth runners need `rokit install` (Lune and run-in-roblox are pinned in\r\n`rokit.toml`). Pass a filter to keep only matching cases:\r\n`npm run bench:lune -- list`. Pass `native` to run with Luau native code\r\ngeneration (`npm run bench:lune -- native`); the results then go to\r\n`<version>-lune-native.md` and must not be compared with interpreted files.\r\n\r\n`bench/test.project.json` describes the Studio place and doubles as the Rojo\r\nproject roblox-ts uses to resolve the `../../out` import: `serial` (`out/`) and\r\n`bench` (`bench/out/`) sit side by side under ReplicatedStorage, so the compiled\r\nbench reaches the library through `script.Parent.Parent.serial`. The Lune runner\r\nmirrors that tree with fake instances. The compiled bench is loaded with a\r\nstand-in for the roblox-ts runtime that only implements `TS.import`, so\r\n`bench.ts` must avoid anything that needs RuntimeLib (try/catch, async,\r\ngenerators, `instanceof`, spread).\r\n\r\nA full Lune run writes its table to `bench/bench_results/<version>-lune.md`, keyed\r\non the version in `package.json` and stamped with the commit hash, so the numbers\r\nfor each release stay in the repository. The Studio run prints the same Markdown to\r\nthe Output window for pasting into `bench/bench_results/<version>-studio.md`.\r\n\r\nLune numbers are good for comparing one commit against another. Use the Studio\r\nrun for absolute numbers: Studio has a native `vector` type and Lune does not,\r\nso Vector3/CFrame heavy cases are slower under Lune than they will be in game.\r\n\r\n## License\r\n\r\nMIT\r\n","readmeFilename":"README.md"}