├── .github └── workflows │ └── ci-release.yaml ├── .gitignore ├── CHANGELOG.md ├── LICENSE.md ├── README.md ├── examples ├── README.md ├── bun │ ├── README.md │ ├── http-stream │ │ ├── .gitignore │ │ ├── README.md │ │ ├── bun.lockb │ │ ├── index.ts │ │ ├── package.json │ │ └── tsconfig.json │ └── websocket │ │ ├── .gitignore │ │ ├── README.md │ │ ├── bun.lockb │ │ ├── index.ts │ │ ├── package.json │ │ └── tsconfig.json ├── cloudflare-workers │ ├── README.md │ ├── http-stream │ │ ├── .gitignore │ │ ├── README.md │ │ ├── package-lock.json │ │ ├── package.json │ │ ├── src │ │ │ └── index.ts │ │ ├── tsconfig.json │ │ └── wrangler.toml │ └── websocket │ │ ├── .gitignore │ │ ├── README.md │ │ ├── package-lock.json │ │ ├── package.json │ │ ├── src │ │ └── index.ts │ │ ├── tsconfig.json │ │ └── wrangler.toml ├── deno │ ├── README.md │ ├── http-stream │ │ ├── README.md │ │ ├── deno.json │ │ ├── deno.lock │ │ ├── import_map.json │ │ └── index.ts │ └── websocket │ │ ├── README.md │ │ ├── deno.json │ │ ├── deno.lock │ │ ├── import_map.json │ │ └── index.ts ├── fastly-compute │ ├── README.md │ ├── http-stream │ │ ├── .gitignore │ │ ├── README.md │ │ ├── fastly.toml │ │ ├── package-lock.json │ │ ├── package.json │ │ └── src │ │ │ └── index.js │ └── websocket │ │ ├── .gitignore │ │ ├── README.md │ │ ├── fastly.toml │ │ ├── package-lock.json │ │ ├── package.json │ │ └── src │ │ └── index.js ├── nextjs │ ├── README.md │ ├── http-stream │ │ ├── .gitignore │ │ ├── README.md │ │ ├── next.config.mjs │ │ ├── package-lock.json │ │ ├── package.json │ │ ├── src │ │ │ ├── app │ │ │ │ └── api │ │ │ │ │ ├── publish │ │ │ │ │ └── route.ts │ │ │ │ │ └── stream │ │ │ │ │ └── route.ts │ │ │ └── utils │ │ │ │ └── publisher.ts │ │ └── tsconfig.json │ └── websocket │ │ ├── .gitignore │ │ ├── README.md │ │ ├── next.config.mjs │ │ ├── package-lock.json │ │ ├── package.json │ │ ├── src │ │ ├── app │ │ │ └── api │ │ │ │ ├── broadcast │ │ │ │ └── route.ts │ │ │ │ └── websocket │ │ │ │ └── route.ts │ │ └── utils │ │ │ └── publisher.ts │ │ └── tsconfig.json ├── nodejs │ ├── README.md │ ├── http-stream │ │ ├── .gitignore │ │ ├── README.md │ │ ├── index.js │ │ ├── package-lock.json │ │ └── package.json │ └── websocket │ │ ├── .gitignore │ │ ├── README.md │ │ ├── index.js │ │ ├── package-lock.json │ │ └── package.json └── remix │ ├── README.md │ ├── http-stream │ ├── .gitignore │ ├── README.md │ ├── app │ │ ├── root.tsx │ │ ├── routes │ │ │ ├── api.publish.ts │ │ │ └── api.stream.ts │ │ └── utils │ │ │ └── publisher.ts │ ├── package-lock.json │ ├── package.json │ ├── remix.config.js │ ├── remix.env.d.ts │ └── tsconfig.json │ └── websocket │ ├── .gitignore │ ├── README.md │ ├── app │ ├── root.tsx │ ├── routes │ │ ├── api.broadcast.ts │ │ └── api.websocket.ts │ └── utils │ │ └── publisher.ts │ ├── package-lock.json │ ├── package.json │ ├── remix.config.js │ ├── remix.env.d.ts │ └── tsconfig.json ├── package.json ├── src ├── auth │ ├── Basic.ts │ ├── Bearer.ts │ ├── IAuth.ts │ ├── Jwt.ts │ └── index.ts ├── data │ ├── Channel.ts │ ├── Format.ts │ ├── GripInstruct.ts │ ├── IExportedChannel.ts │ ├── IFormat.ts │ ├── IFormatExport.ts │ ├── IItem.ts │ ├── IItemExport.ts │ ├── Item.ts │ ├── http │ │ ├── HttpResponseFormat.ts │ │ ├── HttpStreamFormat.ts │ │ └── index.ts │ ├── index.ts │ └── websocket │ │ ├── ConnectionIdMissingException.ts │ │ ├── IWebSocketEvent.ts │ │ ├── WebSocketContext.ts │ │ ├── WebSocketDecodeEventException.ts │ │ ├── WebSocketEvent.ts │ │ ├── WebSocketException.ts │ │ ├── WebSocketMessageFormat.ts │ │ └── index.ts ├── engine │ ├── IGripConfig.ts │ ├── IPublisherClient.ts │ ├── PublishException.ts │ ├── Publisher.ts │ ├── PublisherClient.ts │ └── index.ts ├── fastly-fanout │ ├── index.ts │ ├── keys.ts │ └── utils.ts ├── index-node.ts ├── index.ts ├── node │ ├── index.ts │ └── utilities │ │ ├── index.ts │ │ └── ws-over-http.ts └── utilities │ ├── base64.ts │ ├── debug.ts │ ├── grip.ts │ ├── http.ts │ ├── index.ts │ ├── jwt.ts │ ├── keys.ts │ ├── string.ts │ ├── typedarray.ts │ ├── webSocketEvents.ts │ └── ws-over-http.ts ├── test └── unit │ ├── auth │ └── Auth.test.ts │ ├── data │ ├── Channel.test.ts │ ├── GripInstruct.test.ts │ ├── Item.test.ts │ ├── http │ │ ├── HttpResponseFormat.test.ts │ │ └── HttpStreamFormat.test.ts │ └── websocket │ │ ├── WebSocketContext.test.ts │ │ ├── WebSocketEvent.test.ts │ │ └── WebSocketMessageFormat.test.ts │ ├── engine │ ├── Publisher.test.ts │ └── PublisherClient.test.ts │ ├── fastly-fanout │ └── utils.test.ts │ ├── sampleKeys.ts │ └── utilities │ ├── base64.test.ts │ ├── grip.test.ts │ ├── http.test.ts │ ├── jwt.test.ts │ ├── keys.test.ts │ ├── string.test.ts │ ├── typedarray.test.ts │ ├── webSocketEvents.test.ts │ └── ws-over-http.test.ts ├── tsconfig.build.json ├── tsconfig.json └── types └── jspack.d.ts /.github/workflows/ci-release.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fanout/js-grip/HEAD/.github/workflows/ci-release.yaml -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fanout/js-grip/HEAD/.gitignore -------------------------------------------------------------------------------- /CHANGELOG.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fanout/js-grip/HEAD/CHANGELOG.md -------------------------------------------------------------------------------- /LICENSE.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fanout/js-grip/HEAD/LICENSE.md -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fanout/js-grip/HEAD/README.md -------------------------------------------------------------------------------- /examples/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fanout/js-grip/HEAD/examples/README.md -------------------------------------------------------------------------------- /examples/bun/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fanout/js-grip/HEAD/examples/bun/README.md -------------------------------------------------------------------------------- /examples/bun/http-stream/.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fanout/js-grip/HEAD/examples/bun/http-stream/.gitignore -------------------------------------------------------------------------------- /examples/bun/http-stream/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fanout/js-grip/HEAD/examples/bun/http-stream/README.md -------------------------------------------------------------------------------- /examples/bun/http-stream/bun.lockb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fanout/js-grip/HEAD/examples/bun/http-stream/bun.lockb -------------------------------------------------------------------------------- /examples/bun/http-stream/index.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fanout/js-grip/HEAD/examples/bun/http-stream/index.ts -------------------------------------------------------------------------------- /examples/bun/http-stream/package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fanout/js-grip/HEAD/examples/bun/http-stream/package.json -------------------------------------------------------------------------------- /examples/bun/http-stream/tsconfig.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fanout/js-grip/HEAD/examples/bun/http-stream/tsconfig.json -------------------------------------------------------------------------------- /examples/bun/websocket/.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fanout/js-grip/HEAD/examples/bun/websocket/.gitignore -------------------------------------------------------------------------------- /examples/bun/websocket/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fanout/js-grip/HEAD/examples/bun/websocket/README.md -------------------------------------------------------------------------------- /examples/bun/websocket/bun.lockb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fanout/js-grip/HEAD/examples/bun/websocket/bun.lockb -------------------------------------------------------------------------------- /examples/bun/websocket/index.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fanout/js-grip/HEAD/examples/bun/websocket/index.ts -------------------------------------------------------------------------------- /examples/bun/websocket/package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fanout/js-grip/HEAD/examples/bun/websocket/package.json -------------------------------------------------------------------------------- /examples/bun/websocket/tsconfig.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fanout/js-grip/HEAD/examples/bun/websocket/tsconfig.json -------------------------------------------------------------------------------- /examples/cloudflare-workers/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fanout/js-grip/HEAD/examples/cloudflare-workers/README.md -------------------------------------------------------------------------------- /examples/cloudflare-workers/http-stream/.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fanout/js-grip/HEAD/examples/cloudflare-workers/http-stream/.gitignore -------------------------------------------------------------------------------- /examples/cloudflare-workers/http-stream/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fanout/js-grip/HEAD/examples/cloudflare-workers/http-stream/README.md -------------------------------------------------------------------------------- /examples/cloudflare-workers/http-stream/package-lock.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fanout/js-grip/HEAD/examples/cloudflare-workers/http-stream/package-lock.json -------------------------------------------------------------------------------- /examples/cloudflare-workers/http-stream/package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fanout/js-grip/HEAD/examples/cloudflare-workers/http-stream/package.json -------------------------------------------------------------------------------- /examples/cloudflare-workers/http-stream/src/index.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fanout/js-grip/HEAD/examples/cloudflare-workers/http-stream/src/index.ts -------------------------------------------------------------------------------- /examples/cloudflare-workers/http-stream/tsconfig.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fanout/js-grip/HEAD/examples/cloudflare-workers/http-stream/tsconfig.json -------------------------------------------------------------------------------- /examples/cloudflare-workers/http-stream/wrangler.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fanout/js-grip/HEAD/examples/cloudflare-workers/http-stream/wrangler.toml -------------------------------------------------------------------------------- /examples/cloudflare-workers/websocket/.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fanout/js-grip/HEAD/examples/cloudflare-workers/websocket/.gitignore -------------------------------------------------------------------------------- /examples/cloudflare-workers/websocket/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fanout/js-grip/HEAD/examples/cloudflare-workers/websocket/README.md -------------------------------------------------------------------------------- /examples/cloudflare-workers/websocket/package-lock.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fanout/js-grip/HEAD/examples/cloudflare-workers/websocket/package-lock.json -------------------------------------------------------------------------------- /examples/cloudflare-workers/websocket/package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fanout/js-grip/HEAD/examples/cloudflare-workers/websocket/package.json -------------------------------------------------------------------------------- /examples/cloudflare-workers/websocket/src/index.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fanout/js-grip/HEAD/examples/cloudflare-workers/websocket/src/index.ts -------------------------------------------------------------------------------- /examples/cloudflare-workers/websocket/tsconfig.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fanout/js-grip/HEAD/examples/cloudflare-workers/websocket/tsconfig.json -------------------------------------------------------------------------------- /examples/cloudflare-workers/websocket/wrangler.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fanout/js-grip/HEAD/examples/cloudflare-workers/websocket/wrangler.toml -------------------------------------------------------------------------------- /examples/deno/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fanout/js-grip/HEAD/examples/deno/README.md -------------------------------------------------------------------------------- /examples/deno/http-stream/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fanout/js-grip/HEAD/examples/deno/http-stream/README.md -------------------------------------------------------------------------------- /examples/deno/http-stream/deno.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fanout/js-grip/HEAD/examples/deno/http-stream/deno.json -------------------------------------------------------------------------------- /examples/deno/http-stream/deno.lock: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fanout/js-grip/HEAD/examples/deno/http-stream/deno.lock -------------------------------------------------------------------------------- /examples/deno/http-stream/import_map.json: -------------------------------------------------------------------------------- 1 | { 2 | } 3 | -------------------------------------------------------------------------------- /examples/deno/http-stream/index.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fanout/js-grip/HEAD/examples/deno/http-stream/index.ts -------------------------------------------------------------------------------- /examples/deno/websocket/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fanout/js-grip/HEAD/examples/deno/websocket/README.md -------------------------------------------------------------------------------- /examples/deno/websocket/deno.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fanout/js-grip/HEAD/examples/deno/websocket/deno.json -------------------------------------------------------------------------------- /examples/deno/websocket/deno.lock: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fanout/js-grip/HEAD/examples/deno/websocket/deno.lock -------------------------------------------------------------------------------- /examples/deno/websocket/import_map.json: -------------------------------------------------------------------------------- 1 | { 2 | } 3 | -------------------------------------------------------------------------------- /examples/deno/websocket/index.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fanout/js-grip/HEAD/examples/deno/websocket/index.ts -------------------------------------------------------------------------------- /examples/fastly-compute/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fanout/js-grip/HEAD/examples/fastly-compute/README.md -------------------------------------------------------------------------------- /examples/fastly-compute/http-stream/.gitignore: -------------------------------------------------------------------------------- 1 | /node_modules 2 | /bin 3 | /pkg 4 | -------------------------------------------------------------------------------- /examples/fastly-compute/http-stream/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fanout/js-grip/HEAD/examples/fastly-compute/http-stream/README.md -------------------------------------------------------------------------------- /examples/fastly-compute/http-stream/fastly.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fanout/js-grip/HEAD/examples/fastly-compute/http-stream/fastly.toml -------------------------------------------------------------------------------- /examples/fastly-compute/http-stream/package-lock.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fanout/js-grip/HEAD/examples/fastly-compute/http-stream/package-lock.json -------------------------------------------------------------------------------- /examples/fastly-compute/http-stream/package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fanout/js-grip/HEAD/examples/fastly-compute/http-stream/package.json -------------------------------------------------------------------------------- /examples/fastly-compute/http-stream/src/index.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fanout/js-grip/HEAD/examples/fastly-compute/http-stream/src/index.js -------------------------------------------------------------------------------- /examples/fastly-compute/websocket/.gitignore: -------------------------------------------------------------------------------- 1 | /node_modules 2 | /bin 3 | /pkg 4 | -------------------------------------------------------------------------------- /examples/fastly-compute/websocket/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fanout/js-grip/HEAD/examples/fastly-compute/websocket/README.md -------------------------------------------------------------------------------- /examples/fastly-compute/websocket/fastly.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fanout/js-grip/HEAD/examples/fastly-compute/websocket/fastly.toml -------------------------------------------------------------------------------- /examples/fastly-compute/websocket/package-lock.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fanout/js-grip/HEAD/examples/fastly-compute/websocket/package-lock.json -------------------------------------------------------------------------------- /examples/fastly-compute/websocket/package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fanout/js-grip/HEAD/examples/fastly-compute/websocket/package.json -------------------------------------------------------------------------------- /examples/fastly-compute/websocket/src/index.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fanout/js-grip/HEAD/examples/fastly-compute/websocket/src/index.js -------------------------------------------------------------------------------- /examples/nextjs/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fanout/js-grip/HEAD/examples/nextjs/README.md -------------------------------------------------------------------------------- /examples/nextjs/http-stream/.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fanout/js-grip/HEAD/examples/nextjs/http-stream/.gitignore -------------------------------------------------------------------------------- /examples/nextjs/http-stream/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fanout/js-grip/HEAD/examples/nextjs/http-stream/README.md -------------------------------------------------------------------------------- /examples/nextjs/http-stream/next.config.mjs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fanout/js-grip/HEAD/examples/nextjs/http-stream/next.config.mjs -------------------------------------------------------------------------------- /examples/nextjs/http-stream/package-lock.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fanout/js-grip/HEAD/examples/nextjs/http-stream/package-lock.json -------------------------------------------------------------------------------- /examples/nextjs/http-stream/package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fanout/js-grip/HEAD/examples/nextjs/http-stream/package.json -------------------------------------------------------------------------------- /examples/nextjs/http-stream/src/app/api/publish/route.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fanout/js-grip/HEAD/examples/nextjs/http-stream/src/app/api/publish/route.ts -------------------------------------------------------------------------------- /examples/nextjs/http-stream/src/app/api/stream/route.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fanout/js-grip/HEAD/examples/nextjs/http-stream/src/app/api/stream/route.ts -------------------------------------------------------------------------------- /examples/nextjs/http-stream/src/utils/publisher.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fanout/js-grip/HEAD/examples/nextjs/http-stream/src/utils/publisher.ts -------------------------------------------------------------------------------- /examples/nextjs/http-stream/tsconfig.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fanout/js-grip/HEAD/examples/nextjs/http-stream/tsconfig.json -------------------------------------------------------------------------------- /examples/nextjs/websocket/.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fanout/js-grip/HEAD/examples/nextjs/websocket/.gitignore -------------------------------------------------------------------------------- /examples/nextjs/websocket/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fanout/js-grip/HEAD/examples/nextjs/websocket/README.md -------------------------------------------------------------------------------- /examples/nextjs/websocket/next.config.mjs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fanout/js-grip/HEAD/examples/nextjs/websocket/next.config.mjs -------------------------------------------------------------------------------- /examples/nextjs/websocket/package-lock.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fanout/js-grip/HEAD/examples/nextjs/websocket/package-lock.json -------------------------------------------------------------------------------- /examples/nextjs/websocket/package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fanout/js-grip/HEAD/examples/nextjs/websocket/package.json -------------------------------------------------------------------------------- /examples/nextjs/websocket/src/app/api/broadcast/route.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fanout/js-grip/HEAD/examples/nextjs/websocket/src/app/api/broadcast/route.ts -------------------------------------------------------------------------------- /examples/nextjs/websocket/src/app/api/websocket/route.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fanout/js-grip/HEAD/examples/nextjs/websocket/src/app/api/websocket/route.ts -------------------------------------------------------------------------------- /examples/nextjs/websocket/src/utils/publisher.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fanout/js-grip/HEAD/examples/nextjs/websocket/src/utils/publisher.ts -------------------------------------------------------------------------------- /examples/nextjs/websocket/tsconfig.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fanout/js-grip/HEAD/examples/nextjs/websocket/tsconfig.json -------------------------------------------------------------------------------- /examples/nodejs/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fanout/js-grip/HEAD/examples/nodejs/README.md -------------------------------------------------------------------------------- /examples/nodejs/http-stream/.gitignore: -------------------------------------------------------------------------------- 1 | /node_modules 2 | -------------------------------------------------------------------------------- /examples/nodejs/http-stream/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fanout/js-grip/HEAD/examples/nodejs/http-stream/README.md -------------------------------------------------------------------------------- /examples/nodejs/http-stream/index.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fanout/js-grip/HEAD/examples/nodejs/http-stream/index.js -------------------------------------------------------------------------------- /examples/nodejs/http-stream/package-lock.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fanout/js-grip/HEAD/examples/nodejs/http-stream/package-lock.json -------------------------------------------------------------------------------- /examples/nodejs/http-stream/package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fanout/js-grip/HEAD/examples/nodejs/http-stream/package.json -------------------------------------------------------------------------------- /examples/nodejs/websocket/.gitignore: -------------------------------------------------------------------------------- 1 | /node_modules 2 | -------------------------------------------------------------------------------- /examples/nodejs/websocket/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fanout/js-grip/HEAD/examples/nodejs/websocket/README.md -------------------------------------------------------------------------------- /examples/nodejs/websocket/index.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fanout/js-grip/HEAD/examples/nodejs/websocket/index.js -------------------------------------------------------------------------------- /examples/nodejs/websocket/package-lock.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fanout/js-grip/HEAD/examples/nodejs/websocket/package-lock.json -------------------------------------------------------------------------------- /examples/nodejs/websocket/package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fanout/js-grip/HEAD/examples/nodejs/websocket/package.json -------------------------------------------------------------------------------- /examples/remix/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fanout/js-grip/HEAD/examples/remix/README.md -------------------------------------------------------------------------------- /examples/remix/http-stream/.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fanout/js-grip/HEAD/examples/remix/http-stream/.gitignore -------------------------------------------------------------------------------- /examples/remix/http-stream/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fanout/js-grip/HEAD/examples/remix/http-stream/README.md -------------------------------------------------------------------------------- /examples/remix/http-stream/app/root.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fanout/js-grip/HEAD/examples/remix/http-stream/app/root.tsx -------------------------------------------------------------------------------- /examples/remix/http-stream/app/routes/api.publish.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fanout/js-grip/HEAD/examples/remix/http-stream/app/routes/api.publish.ts -------------------------------------------------------------------------------- /examples/remix/http-stream/app/routes/api.stream.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fanout/js-grip/HEAD/examples/remix/http-stream/app/routes/api.stream.ts -------------------------------------------------------------------------------- /examples/remix/http-stream/app/utils/publisher.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fanout/js-grip/HEAD/examples/remix/http-stream/app/utils/publisher.ts -------------------------------------------------------------------------------- /examples/remix/http-stream/package-lock.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fanout/js-grip/HEAD/examples/remix/http-stream/package-lock.json -------------------------------------------------------------------------------- /examples/remix/http-stream/package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fanout/js-grip/HEAD/examples/remix/http-stream/package.json -------------------------------------------------------------------------------- /examples/remix/http-stream/remix.config.js: -------------------------------------------------------------------------------- 1 | /** @type {import('@remix-run/dev').AppConfig} */ 2 | export default { 3 | }; 4 | -------------------------------------------------------------------------------- /examples/remix/http-stream/remix.env.d.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fanout/js-grip/HEAD/examples/remix/http-stream/remix.env.d.ts -------------------------------------------------------------------------------- /examples/remix/http-stream/tsconfig.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fanout/js-grip/HEAD/examples/remix/http-stream/tsconfig.json -------------------------------------------------------------------------------- /examples/remix/websocket/.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fanout/js-grip/HEAD/examples/remix/websocket/.gitignore -------------------------------------------------------------------------------- /examples/remix/websocket/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fanout/js-grip/HEAD/examples/remix/websocket/README.md -------------------------------------------------------------------------------- /examples/remix/websocket/app/root.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fanout/js-grip/HEAD/examples/remix/websocket/app/root.tsx -------------------------------------------------------------------------------- /examples/remix/websocket/app/routes/api.broadcast.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fanout/js-grip/HEAD/examples/remix/websocket/app/routes/api.broadcast.ts -------------------------------------------------------------------------------- /examples/remix/websocket/app/routes/api.websocket.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fanout/js-grip/HEAD/examples/remix/websocket/app/routes/api.websocket.ts -------------------------------------------------------------------------------- /examples/remix/websocket/app/utils/publisher.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fanout/js-grip/HEAD/examples/remix/websocket/app/utils/publisher.ts -------------------------------------------------------------------------------- /examples/remix/websocket/package-lock.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fanout/js-grip/HEAD/examples/remix/websocket/package-lock.json -------------------------------------------------------------------------------- /examples/remix/websocket/package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fanout/js-grip/HEAD/examples/remix/websocket/package.json -------------------------------------------------------------------------------- /examples/remix/websocket/remix.config.js: -------------------------------------------------------------------------------- 1 | /** @type {import('@remix-run/dev').AppConfig} */ 2 | export default { 3 | }; 4 | -------------------------------------------------------------------------------- /examples/remix/websocket/remix.env.d.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fanout/js-grip/HEAD/examples/remix/websocket/remix.env.d.ts -------------------------------------------------------------------------------- /examples/remix/websocket/tsconfig.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fanout/js-grip/HEAD/examples/remix/websocket/tsconfig.json -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fanout/js-grip/HEAD/package.json -------------------------------------------------------------------------------- /src/auth/Basic.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fanout/js-grip/HEAD/src/auth/Basic.ts -------------------------------------------------------------------------------- /src/auth/Bearer.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fanout/js-grip/HEAD/src/auth/Bearer.ts -------------------------------------------------------------------------------- /src/auth/IAuth.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fanout/js-grip/HEAD/src/auth/IAuth.ts -------------------------------------------------------------------------------- /src/auth/Jwt.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fanout/js-grip/HEAD/src/auth/Jwt.ts -------------------------------------------------------------------------------- /src/auth/index.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fanout/js-grip/HEAD/src/auth/index.ts -------------------------------------------------------------------------------- /src/data/Channel.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fanout/js-grip/HEAD/src/data/Channel.ts -------------------------------------------------------------------------------- /src/data/Format.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fanout/js-grip/HEAD/src/data/Format.ts -------------------------------------------------------------------------------- /src/data/GripInstruct.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fanout/js-grip/HEAD/src/data/GripInstruct.ts -------------------------------------------------------------------------------- /src/data/IExportedChannel.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fanout/js-grip/HEAD/src/data/IExportedChannel.ts -------------------------------------------------------------------------------- /src/data/IFormat.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fanout/js-grip/HEAD/src/data/IFormat.ts -------------------------------------------------------------------------------- /src/data/IFormatExport.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fanout/js-grip/HEAD/src/data/IFormatExport.ts -------------------------------------------------------------------------------- /src/data/IItem.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fanout/js-grip/HEAD/src/data/IItem.ts -------------------------------------------------------------------------------- /src/data/IItemExport.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fanout/js-grip/HEAD/src/data/IItemExport.ts -------------------------------------------------------------------------------- /src/data/Item.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fanout/js-grip/HEAD/src/data/Item.ts -------------------------------------------------------------------------------- /src/data/http/HttpResponseFormat.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fanout/js-grip/HEAD/src/data/http/HttpResponseFormat.ts -------------------------------------------------------------------------------- /src/data/http/HttpStreamFormat.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fanout/js-grip/HEAD/src/data/http/HttpStreamFormat.ts -------------------------------------------------------------------------------- /src/data/http/index.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fanout/js-grip/HEAD/src/data/http/index.ts -------------------------------------------------------------------------------- /src/data/index.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fanout/js-grip/HEAD/src/data/index.ts -------------------------------------------------------------------------------- /src/data/websocket/ConnectionIdMissingException.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fanout/js-grip/HEAD/src/data/websocket/ConnectionIdMissingException.ts -------------------------------------------------------------------------------- /src/data/websocket/IWebSocketEvent.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fanout/js-grip/HEAD/src/data/websocket/IWebSocketEvent.ts -------------------------------------------------------------------------------- /src/data/websocket/WebSocketContext.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fanout/js-grip/HEAD/src/data/websocket/WebSocketContext.ts -------------------------------------------------------------------------------- /src/data/websocket/WebSocketDecodeEventException.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fanout/js-grip/HEAD/src/data/websocket/WebSocketDecodeEventException.ts -------------------------------------------------------------------------------- /src/data/websocket/WebSocketEvent.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fanout/js-grip/HEAD/src/data/websocket/WebSocketEvent.ts -------------------------------------------------------------------------------- /src/data/websocket/WebSocketException.ts: -------------------------------------------------------------------------------- 1 | export class WebSocketException extends Error { 2 | } 3 | 4 | -------------------------------------------------------------------------------- /src/data/websocket/WebSocketMessageFormat.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fanout/js-grip/HEAD/src/data/websocket/WebSocketMessageFormat.ts -------------------------------------------------------------------------------- /src/data/websocket/index.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fanout/js-grip/HEAD/src/data/websocket/index.ts -------------------------------------------------------------------------------- /src/engine/IGripConfig.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fanout/js-grip/HEAD/src/engine/IGripConfig.ts -------------------------------------------------------------------------------- /src/engine/IPublisherClient.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fanout/js-grip/HEAD/src/engine/IPublisherClient.ts -------------------------------------------------------------------------------- /src/engine/PublishException.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fanout/js-grip/HEAD/src/engine/PublishException.ts -------------------------------------------------------------------------------- /src/engine/Publisher.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fanout/js-grip/HEAD/src/engine/Publisher.ts -------------------------------------------------------------------------------- /src/engine/PublisherClient.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fanout/js-grip/HEAD/src/engine/PublisherClient.ts -------------------------------------------------------------------------------- /src/engine/index.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fanout/js-grip/HEAD/src/engine/index.ts -------------------------------------------------------------------------------- /src/fastly-fanout/index.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fanout/js-grip/HEAD/src/fastly-fanout/index.ts -------------------------------------------------------------------------------- /src/fastly-fanout/keys.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fanout/js-grip/HEAD/src/fastly-fanout/keys.ts -------------------------------------------------------------------------------- /src/fastly-fanout/utils.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fanout/js-grip/HEAD/src/fastly-fanout/utils.ts -------------------------------------------------------------------------------- /src/index-node.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fanout/js-grip/HEAD/src/index-node.ts -------------------------------------------------------------------------------- /src/index.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fanout/js-grip/HEAD/src/index.ts -------------------------------------------------------------------------------- /src/node/index.ts: -------------------------------------------------------------------------------- 1 | export * from './utilities/index.js'; 2 | -------------------------------------------------------------------------------- /src/node/utilities/index.ts: -------------------------------------------------------------------------------- 1 | export * from './ws-over-http.js'; 2 | -------------------------------------------------------------------------------- /src/node/utilities/ws-over-http.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fanout/js-grip/HEAD/src/node/utilities/ws-over-http.ts -------------------------------------------------------------------------------- /src/utilities/base64.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fanout/js-grip/HEAD/src/utilities/base64.ts -------------------------------------------------------------------------------- /src/utilities/debug.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fanout/js-grip/HEAD/src/utilities/debug.ts -------------------------------------------------------------------------------- /src/utilities/grip.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fanout/js-grip/HEAD/src/utilities/grip.ts -------------------------------------------------------------------------------- /src/utilities/http.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fanout/js-grip/HEAD/src/utilities/http.ts -------------------------------------------------------------------------------- /src/utilities/index.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fanout/js-grip/HEAD/src/utilities/index.ts -------------------------------------------------------------------------------- /src/utilities/jwt.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fanout/js-grip/HEAD/src/utilities/jwt.ts -------------------------------------------------------------------------------- /src/utilities/keys.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fanout/js-grip/HEAD/src/utilities/keys.ts -------------------------------------------------------------------------------- /src/utilities/string.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fanout/js-grip/HEAD/src/utilities/string.ts -------------------------------------------------------------------------------- /src/utilities/typedarray.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fanout/js-grip/HEAD/src/utilities/typedarray.ts -------------------------------------------------------------------------------- /src/utilities/webSocketEvents.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fanout/js-grip/HEAD/src/utilities/webSocketEvents.ts -------------------------------------------------------------------------------- /src/utilities/ws-over-http.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fanout/js-grip/HEAD/src/utilities/ws-over-http.ts -------------------------------------------------------------------------------- /test/unit/auth/Auth.test.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fanout/js-grip/HEAD/test/unit/auth/Auth.test.ts -------------------------------------------------------------------------------- /test/unit/data/Channel.test.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fanout/js-grip/HEAD/test/unit/data/Channel.test.ts -------------------------------------------------------------------------------- /test/unit/data/GripInstruct.test.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fanout/js-grip/HEAD/test/unit/data/GripInstruct.test.ts -------------------------------------------------------------------------------- /test/unit/data/Item.test.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fanout/js-grip/HEAD/test/unit/data/Item.test.ts -------------------------------------------------------------------------------- /test/unit/data/http/HttpResponseFormat.test.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fanout/js-grip/HEAD/test/unit/data/http/HttpResponseFormat.test.ts -------------------------------------------------------------------------------- /test/unit/data/http/HttpStreamFormat.test.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fanout/js-grip/HEAD/test/unit/data/http/HttpStreamFormat.test.ts -------------------------------------------------------------------------------- /test/unit/data/websocket/WebSocketContext.test.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fanout/js-grip/HEAD/test/unit/data/websocket/WebSocketContext.test.ts -------------------------------------------------------------------------------- /test/unit/data/websocket/WebSocketEvent.test.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fanout/js-grip/HEAD/test/unit/data/websocket/WebSocketEvent.test.ts -------------------------------------------------------------------------------- /test/unit/data/websocket/WebSocketMessageFormat.test.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fanout/js-grip/HEAD/test/unit/data/websocket/WebSocketMessageFormat.test.ts -------------------------------------------------------------------------------- /test/unit/engine/Publisher.test.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fanout/js-grip/HEAD/test/unit/engine/Publisher.test.ts -------------------------------------------------------------------------------- /test/unit/engine/PublisherClient.test.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fanout/js-grip/HEAD/test/unit/engine/PublisherClient.test.ts -------------------------------------------------------------------------------- /test/unit/fastly-fanout/utils.test.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fanout/js-grip/HEAD/test/unit/fastly-fanout/utils.test.ts -------------------------------------------------------------------------------- /test/unit/sampleKeys.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fanout/js-grip/HEAD/test/unit/sampleKeys.ts -------------------------------------------------------------------------------- /test/unit/utilities/base64.test.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fanout/js-grip/HEAD/test/unit/utilities/base64.test.ts -------------------------------------------------------------------------------- /test/unit/utilities/grip.test.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fanout/js-grip/HEAD/test/unit/utilities/grip.test.ts -------------------------------------------------------------------------------- /test/unit/utilities/http.test.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fanout/js-grip/HEAD/test/unit/utilities/http.test.ts -------------------------------------------------------------------------------- /test/unit/utilities/jwt.test.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fanout/js-grip/HEAD/test/unit/utilities/jwt.test.ts -------------------------------------------------------------------------------- /test/unit/utilities/keys.test.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fanout/js-grip/HEAD/test/unit/utilities/keys.test.ts -------------------------------------------------------------------------------- /test/unit/utilities/string.test.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fanout/js-grip/HEAD/test/unit/utilities/string.test.ts -------------------------------------------------------------------------------- /test/unit/utilities/typedarray.test.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fanout/js-grip/HEAD/test/unit/utilities/typedarray.test.ts -------------------------------------------------------------------------------- /test/unit/utilities/webSocketEvents.test.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fanout/js-grip/HEAD/test/unit/utilities/webSocketEvents.test.ts -------------------------------------------------------------------------------- /test/unit/utilities/ws-over-http.test.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fanout/js-grip/HEAD/test/unit/utilities/ws-over-http.test.ts -------------------------------------------------------------------------------- /tsconfig.build.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fanout/js-grip/HEAD/tsconfig.build.json -------------------------------------------------------------------------------- /tsconfig.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fanout/js-grip/HEAD/tsconfig.json -------------------------------------------------------------------------------- /types/jspack.d.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fanout/js-grip/HEAD/types/jspack.d.ts --------------------------------------------------------------------------------