{"_id":"@0x77/frame-sdk","name":"@0x77/frame-sdk","dist-tags":{"latest":"0.0.0"},"versions":{"0.0.0":{"dependencies":{"debug":"^4.3.7","strongly-typed-events":"^3.0.11","zod":"^3.23.8"},"devDependencies":{"@eslint/compat":"^1.1.1","@eslint/js":"^9.10.0","@types/bun":"latest","@types/debug":"^4.1.12","@types/web-bluetooth":"^0.0.20","bun-plugin-dts":"^0.2.3","eslint":"^9.10.0","eslint-config-standard":"^17.1.0","globals":"^15.9.0","husky":"^9.1.6","lint-staged":"^15.2.10","typescript-eslint":"^8.5.0"},"license":"MIT","lint-staged":{"*.ts":"bun run lint"},"main":"dist/index.js","module":"dist/index.js","name":"@0x77/frame-sdk","peerDependencies":{"typescript":"5.5.4","@abandonware/noble":"1.9.2-25","webbluetooth":"3.2.1"},"scripts":{"build":"bun run build.ts","lint":"eslint --cache --fix","prepare":"husky","test":"bun run lint"},"trustedDependencies":["@abandonware/noble","esbuild","usb"],"type":"module","types":"dist/index.d.ts","version":"0.0.0","workspaces":["example/*"],"husky":{"hooks":{"commit-msg":"commitlint -E HUSKY_GIT_PARAMS","pre-commit":"bunx lint-staged"}},"_id":"@0x77/frame-sdk@0.0.0","gitHead":"cc02dce8b7aac83ab3c61701e5bed2f6133e5161","description":"[![npm](https://img.shields.io/npm/v/@0x77/frame-sdk.svg)](https://www.npmjs.com/package/@0x77/frame-sdk)","_nodeVersion":"20.17.0","_npmVersion":"10.8.2","dist":{"integrity":"sha512-RPKUFI1ZITkmqWW0ahV+H9Eveap/Tj+CeYs2uU+MSOP/rOPoMN+aDRf2QH9VVujlDb3DieEjL/gi3a/rV5t2Ng==","shasum":"3cad0cb0a9cd80065161bf85a39044c027fef660","tarball":"https://registry.npmjs.org/@0x77/frame-sdk/-/frame-sdk-0.0.0.tgz","fileCount":19,"unpackedSize":29232,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDWeANVGH3qFVL278eavzLOKMQsBxIMADnSVjrRDhFFEAIhAJVJiFatr9jI2k0g+Qzvu7RvS6SVo+JxFH2ZMzH4lV3I"}]},"_npmUser":{"name":"0x77","email":"0x77dev@protonmail.com"},"directories":{},"maintainers":[{"name":"0x77","email":"0x77dev@protonmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/frame-sdk_0.0.0_1726118125632_0.2377534139296016"},"_hasShrinkwrap":false}},"time":{"created":"2024-09-12T05:15:25.550Z","0.0.0":"2024-09-12T05:15:25.813Z","modified":"2024-09-12T05:15:26.070Z"},"maintainers":[{"name":"0x77","email":"0x77dev@protonmail.com"}],"description":"[![npm](https://img.shields.io/npm/v/@0x77/frame-sdk.svg)](https://www.npmjs.com/package/@0x77/frame-sdk)","license":"MIT","readme":"# frame-sdk\n\n[![npm](https://img.shields.io/npm/v/@0x77/frame-sdk.svg)](https://www.npmjs.com/package/@0x77/frame-sdk)\n\n![Standard](https://img.shields.io/badge/code_style-standard-brightgreen.svg)\n\nJavaScript SDK for [Brilliant Labs Frame](https://docs.brilliant.xyz/frame/building-apps) with support for Browser and Node.js\n\n_(Work in progress for React Native support)_\n\n## Examples\n\n- [Node.js / Bun](./example/node/index.ts)\n- [Browser](./example/vite/src/main.ts)\n\n## Usage\n\n### Initialize\n\n```ts\nimport { Frame } from \"@0x77/frame-sdk\";\n\nconst frame = new Frame();\n```\n\nOr using a custom Bluetooth implementation:\n\n```ts\nimport { Frame } from \"@0x77/frame-sdk\";\nimport { NobleTransport } from \"@0x77/frame-sdk/dist/transport/noble\";\n\nconst frame = new Frame({\n  transport: new NobleTransport(),\n});\n```\n\n### Connect\n\n```ts\nawait frame.connect();\n```\n\n### Disconnect\n\n```ts\nawait frame.disconnect();\n```\n\n### Display Text\n\n```ts\nawait frame.display.text({ text: \"hello world\" });\nawait frame.display.show();\n```\n\n### Receive Data\n\n```ts\nframe.onData.subscribe((data: string) => {\n  console.log(data);\n});\n```\n\n### Send Lua Code\n\n```ts\nawait frame.sendData(\"print('Hello, World!')\");\n```\n","readmeFilename":"README.md"}