{"id":20279733,"url":"https://github.com/genieframework/stippletypedarrays.jl","last_synced_at":"2026-02-17T22:32:36.588Z","repository":{"id":210125157,"uuid":"725804830","full_name":"GenieFramework/StippleTypedArrays.jl","owner":"GenieFramework","description":"Add TypedArray support for Genie/Stipple apps","archived":false,"fork":false,"pushed_at":"2024-12-20T23:11:11.000Z","size":18,"stargazers_count":0,"open_issues_count":1,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-11-10T01:20:03.629Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Julia","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/GenieFramework.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2023-11-30T22:57:35.000Z","updated_at":"2024-12-20T23:11:14.000Z","dependencies_parsed_at":"2023-12-01T00:21:58.603Z","dependency_job_id":"aec9676a-6dd5-416c-8596-1c9d01c66a9f","html_url":"https://github.com/GenieFramework/StippleTypedArrays.jl","commit_stats":null,"previous_names":["genieframework/stippletypedarrays.jl"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/GenieFramework/StippleTypedArrays.jl","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/GenieFramework%2FStippleTypedArrays.jl","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/GenieFramework%2FStippleTypedArrays.jl/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/GenieFramework%2FStippleTypedArrays.jl/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/GenieFramework%2FStippleTypedArrays.jl/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/GenieFramework","download_url":"https://codeload.github.com/GenieFramework/StippleTypedArrays.jl/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/GenieFramework%2FStippleTypedArrays.jl/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29560828,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-17T21:50:49.831Z","status":"ssl_error","status_checked_at":"2026-02-17T21:46:15.313Z","response_time":100,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-11-14T13:32:46.622Z","updated_at":"2026-02-17T22:32:36.569Z","avatar_url":"https://github.com/GenieFramework.png","language":"Julia","funding_links":[],"categories":[],"sub_categories":[],"readme":"# StippleTypedArrays\n\nStippleTypedArrays is a Stipple plugin to integrate Javascript TypedArrays.\n\nTypical use cases are buffers that are used, e.g. for downloading files or processing and sending information via binary channels.\n\nStippleTypedArrays introduces an Vector wrapper `TypedArray` that can be used in type declarations for app variables.\n\nCaveat:\n\nOn the backend side all handlers work as normal. However, on the client side javascript cannot watch typed arrays, so any change of the buffer on the client side will not be automatically synchronised.\n\nIf you want to sync your data to the server, you have to do it by callin `this.push('data')` after updating the value.\n\n## Demo App\n```julia\nusing Stipple, Stipple.ReactiveTools\nusing StippleUI\n\nusing StippleTypedArrays\nusing StippleDownloads\n\n@app begin\n    @in data = TypedArray(UInt8[])\n    @in data64 = TypedArray(UInt64[])\n\n    @in add_data = false\n    @in clear_data = false\n\n    @onbutton add_data begin\n        x = rand(0:255)\n        push!(data, x)\n        notify(data)\n        push!(data64, x + 1000)\n        notify(data64)\n    end\n\n    @onbutton clear_data begin\n        data = data64 = []\n    end\nend\n\n@deps StippleTypedArrays\n\nfunction ui()\n    row(cell(class = \"st-module q-ma-md\", [\n      \n        row(class = \"q-pa-md bg-green-2\", \"Data: [{{ data }}]\")\n        row(class = \"q-pa-md q-my-lg bg-green-4\", \"Data64: [{{ data64 }}]\")\n\n        row([\n            btn(\"Add data\", icon = \"add\", @click(:add_data), color = \"primary\", nocaps = true)\n            btn(class = \"q-ml-lg\", \"Clear data\", icon = \"delete_forever\", @click(:clear_data), color = \"primary\", nocaps = true)\n        ])\n    ]))\nend\n\n@page(\"/\", ui)\n\nup(open_browser = true)\n```\n\n![Demo App](./docs/demo.png)","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgenieframework%2Fstippletypedarrays.jl","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fgenieframework%2Fstippletypedarrays.jl","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgenieframework%2Fstippletypedarrays.jl/lists"}