Home / File/ stream.ts — astro Source File

stream.ts — astro Source File

Architecture documentation for stream.ts, a typescript file in the astro codebase. 1 imports, 0 dependents.

File typescript IntegrationAdapters SsrAdapters 1 imports 1 functions 1 classes

Entity Profile

Dependency Diagram

graph LR
  09e70294_ddfc_d299_e60b_5d620112e187["stream.ts"]
  f16d8c76_2866_6150_bd14_0347b59abfe9["astro"]
  09e70294_ddfc_d299_e60b_5d620112e187 --> f16d8c76_2866_6150_bd14_0347b59abfe9
  style 09e70294_ddfc_d299_e60b_5d620112e187 fill:#6366f1,stroke:#818cf8,color:#fff

Relationship Graph

Source Code

import type { APIContext } from 'astro';

const encoder = new TextEncoder();

declare global {
	// eslint-disable-next-line no-var
	var __requestAbortState: { aborted: boolean; events: string[] } | undefined;
}

export const GET = ({ request }: APIContext) => {
	globalThis.__requestAbortState = { aborted: false, events: ['started'] };

	const stream = new ReadableStream<Uint8Array>({
		start(controller) {
			const onAbort = () => {
				globalThis.__requestAbortState = {
					aborted: true,
					events: [...(globalThis.__requestAbortState?.events ?? []), 'aborted'],
				};
				controller.close();
			};

			if (request.signal.aborted) {
				onAbort();
				return;
			}

			request.signal.addEventListener('abort', onAbort, { once: true });
			controller.enqueue(encoder.encode('ready'));
		},
	});

	return new Response(stream, {
		headers: {
			'content-type': 'text/plain; charset=utf-8',
		},
	});
};

Subdomains

Functions

Dependencies

  • astro

Frequently Asked Questions

What does stream.ts do?
stream.ts is a source file in the astro codebase, written in typescript. It belongs to the IntegrationAdapters domain, SsrAdapters subdomain.
What functions are defined in stream.ts?
stream.ts defines 1 function(s): GET.
What does stream.ts depend on?
stream.ts imports 1 module(s): astro.
Where is stream.ts in the architecture?
stream.ts is located at packages/astro/test/fixtures/request-signal/src/pages/stream.ts (domain: IntegrationAdapters, subdomain: SsrAdapters, directory: packages/astro/test/fixtures/request-signal/src/pages).

Analyze Your Own Codebase

Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.

Try Supermodel Free