aboutsummaryrefslogtreecommitdiff
path: root/src/bun.js/builtins/builtins.d.ts
diff options
context:
space:
mode:
authorGravatar dave caruso <me@paperdave.net> 2023-06-01 21:16:47 -0400
committerGravatar GitHub <noreply@github.com> 2023-06-01 18:16:47 -0700
commit4df1d37ddc54242c339765f22fb90ba2e9e3a99a (patch)
treed63ede76463e7ecba78a4d4b31e5e8158193552f /src/bun.js/builtins/builtins.d.ts
parent03ffd1c732aaaa30b5481f197221ce96da559e63 (diff)
downloadbun-4df1d37ddc54242c339765f22fb90ba2e9e3a99a.tar.gz
bun-4df1d37ddc54242c339765f22fb90ba2e9e3a99a.tar.zst
bun-4df1d37ddc54242c339765f22fb90ba2e9e3a99a.zip
Bundle and minify `.exports.js` files. (#3036)
* move all exports.js into src/js * finalize the sort of this * and it works * add test.ts to gitignore * okay * convert some to ts just to show * finish up * fixup makefile * minify syntax in dev * finish rebase * dont minify all modules * merge * finish rebase merge * flaky test that hangs
Diffstat (limited to 'src/bun.js/builtins/builtins.d.ts')
-rw-r--r--src/bun.js/builtins/builtins.d.ts533
1 files changed, 0 insertions, 533 deletions
diff --git a/src/bun.js/builtins/builtins.d.ts b/src/bun.js/builtins/builtins.d.ts
deleted file mode 100644
index 7bd3e4fae..000000000
--- a/src/bun.js/builtins/builtins.d.ts
+++ /dev/null
@@ -1,533 +0,0 @@
-// Typedefs for JSC intrinsics. Instead of @, we use $
-type TODO = any;
-
-/** Place this directly above a function declaration (like a decorator) to make it a getter. */
-declare const $getter: never;
-/** Assign to this directly above a function declaration (like a decorator) to override the function's display name. */
-declare var $overriddenName: string;
-/** ??? */
-declare var $linkTimeConstant: never;
-/** Assign to this directly above a function declaration (like a decorator) to set visibility */
-declare var $visibility: "Public" | "Private";
-/** ??? */
-declare var $nakedConstructor: never;
-/** Assign to this directly above a function declaration (like a decorator) to set intrinsic */
-declare var $intrinsic: string;
-declare var $constructor;
-/** Place this directly above a function declaration (like a decorator) to NOT include "use strict" */
-declare var $sloppy;
-
-declare function $extractHighWaterMarkFromQueuingStrategyInit(obj: any): any;
-
-// JSC defines their intrinsics in a nice list here:
-// https://github.com/WebKit/WebKit/blob/main/Source/JavaScriptCore/bytecode/BytecodeIntrinsicRegistry.h
-//
-// And implemented here: (search for "emit_intrinsic_<name>", like "emit_intrinsic_arrayPush")
-// https://github.com/WebKit/WebKit/blob/main/Source/JavaScriptCore/bytecompiler/NodesCodegen.cpp
-
-/** Assert a value is true */
-declare function $assert(index: any): void;
-/** returns `arguments[index]` */
-declare function $argument<T = any>(index: number): any;
-/** returns number of arguments */
-declare function $argumentCount(): number;
-/** array.push(item) */
-declare function $arrayPush(array: T[], item: T): void;
-/** gets a property on an object */
-declare function $getByIdDirect<T = any>(obj: any, key: string): T;
-/**
- * gets a private property on an object. translates to the `op_get_by_id_direct` bytecode.
- *
- * TODO: clarify what private means exactly.
- */
-declare function $getByIdDirectPrivate<T = any>(obj: any, key: string): T;
-/**
- * gets a property on an object
- */
-declare function $getByValWithThis(target: any, receiver: any, propertyKey: string): void;
-/** gets the prototype of an object */
-declare function $getPrototypeOf(value: any): any;
-/** gets an internal property on a promise
- *
- * You can pass
- * - $promiseFieldFlags - get a number with flags
- * - $promiseFieldReactionsOrResult - get the result (like Bun.peek)
- */
-declare function $getPromiseInternalField<K extends PromiseFieldType, V>(
- promise: Promise<V>,
- key: K,
-): PromiseFieldToValue<K, V>;
-declare function $getGeneratorInternalField(): TODO;
-declare function $getAsyncGeneratorInternalField(): TODO;
-declare function $getAbstractModuleRecordInternalField(): TODO;
-declare function $getArrayIteratorInternalField(): TODO;
-declare function $getStringIteratorInternalField(): TODO;
-declare function $getMapIteratorInternalField(): TODO;
-declare function $getSetIteratorInternalField(): TODO;
-declare function $getProxyInternalField(): TODO;
-declare function $idWithProfile(): TODO;
-declare function $isObject(obj: unknown): obj is object;
-declare function $isCallable(fn: unknown): fn is CallableFunction;
-declare function $isConstructor(fn: unknown): fn is { new (...args: any[]): any };
-declare function $isJSArray(obj: unknown): obj is any[];
-declare function $isProxyObject(obj: unknown): obj is Proxy;
-declare function $isDerivedArray(): TODO;
-declare function $isGenerator(obj: unknown): obj is Generator<any, any, any>;
-declare function $isAsyncGenerator(obj: unknown): obj is AsyncGenerator<any, any, any>;
-declare function $isPromise(obj: unknown): obj is Promise<any>;
-declare function $isRegExpObject(obj: unknown): obj is RegExp;
-declare function $isMap<K, V>(obj: unknown): obj is Map<K, V>;
-declare function $isSet<V>(obj: unknown): obj is Set<V>;
-declare function $isShadowRealm(obj: unknown): obj is ShadowRealm;
-declare function $isStringIterator(obj: unknown): obj is Iterator<string>;
-declare function $isArrayIterator(obj: unknown): obj is Iterator<any>;
-declare function $isMapIterator(obj: unknown): obj is Iterator<any>;
-declare function $isSetIterator(obj: unknown): obj is Iterator<any>;
-declare function $isUndefinedOrNull(obj: unknown): obj is null | undefined;
-declare function $tailCallForwardArguments(): TODO;
-/**
- * **NOTE** - use `throw new TypeError()` instead. it compiles to the same builtin
- * @deprecated
- */
-declare function $throwTypeError(message: string): never;
-/**
- * **NOTE** - use `throw new RangeError()` instead. it compiles to the same builtin
- * @deprecated
- */
-declare function $throwRangeError(message: string): never;
-/**
- * **NOTE** - use `throw new OutOfMemoryError()` instead. it compiles to the same builtin
- * @deprecated
- */
-declare function $throwOutOfMemoryError(): never;
-declare function $tryGetById(): TODO;
-declare function $tryGetByIdWithWellKnownSymbol(obj: any, key: WellKnownSymbol): any;
-declare function $putByIdDirect(obj: any, key: PropertyKey, value: any): void;
-declare function $putByIdDirectPrivate(obj: any, key: PropertyKey, value: any): void;
-declare function $putByValDirect(obj: any, key: PropertyKey, value: any): void;
-declare function $putByValWithThisSloppy(): TODO;
-declare function $putByValWithThisStrict(): TODO;
-declare function $putPromiseInternalField<T extends PromiseFieldType, P extends Promise<any>>(
- promise: P,
- key: T,
- value: PromiseFieldToValue<T, P>,
-): void;
-declare function $putGeneratorInternalField(): TODO;
-declare function $putAsyncGeneratorInternalField(): TODO;
-declare function $putArrayIteratorInternalField(): TODO;
-declare function $putStringIteratorInternalField(): TODO;
-declare function $putMapIteratorInternalField(): TODO;
-declare function $putSetIteratorInternalField(): TODO;
-declare function $superSamplerBegin(): TODO;
-declare function $superSamplerEnd(): TODO;
-declare function $toNumber(x: any): number;
-declare function $toString(x: any): string;
-declare function $toPropertyKey(x: any): PropertyKey;
-/**
- * Often used like
- * `$toObject(this, "Class.prototype.method requires that |this| not be null or undefined");`
- */
-declare function $toObject(object: any, errorMessage?: string): object;
-declare function $newArrayWithSize<T>(size: number): T[];
-declare function $newArrayWithSpecies(): TODO;
-declare function $newPromise(): TODO;
-declare function $createPromise(): TODO;
-declare const $iterationKindKey: TODO;
-declare const $iterationKindValue: TODO;
-declare const $iterationKindEntries: TODO;
-declare const $MAX_ARRAY_INDEX: number;
-declare const $MAX_STRING_LENGTH: number;
-declare const $MAX_SAFE_INTEGER: number;
-declare const $ModuleFetch: number;
-declare const $ModuleTranslate: number;
-declare const $ModuleInstantiate: number;
-declare const $ModuleSatisfy: number;
-declare const $ModuleLink: number;
-declare const $ModuleReady: number;
-declare const $promiseRejectionReject: TODO;
-declare const $promiseRejectionHandle: TODO;
-declare const $promiseStatePending: number;
-declare const $promiseStateFulfilled: number;
-declare const $promiseStateRejected: number;
-declare const $promiseStateMask: number;
-declare const $promiseFlagsIsHandled: number;
-declare const $promiseFlagsIsFirstResolvingFunctionCalled: number;
-declare const $promiseFieldFlags: unique symbol;
-declare const $promiseFieldReactionsOrResult: unique symbol;
-declare const $proxyFieldTarget: TODO;
-declare const $proxyFieldHandler: TODO;
-declare const $generatorFieldState: TODO;
-declare const $generatorFieldNext: TODO;
-declare const $generatorFieldThis: TODO;
-declare const $generatorFieldFrame: TODO;
-declare const $generatorFieldContext: TODO;
-declare const $GeneratorResumeModeNormal: TODO;
-declare const $GeneratorResumeModeThrow: TODO;
-declare const $GeneratorResumeModeReturn: TODO;
-declare const $GeneratorStateCompleted: TODO;
-declare const $GeneratorStateExecuting: TODO;
-declare const $arrayIteratorFieldIndex: TODO;
-declare const $arrayIteratorFieldIteratedObject: TODO;
-declare const $arrayIteratorFieldKind: TODO;
-declare const $mapIteratorFieldMapBucket: TODO;
-declare const $mapIteratorFieldKind: TODO;
-declare const $setIteratorFieldSetBucket: TODO;
-declare const $setIteratorFieldKind: TODO;
-declare const $stringIteratorFieldIndex: TODO;
-declare const $stringIteratorFieldIteratedString: TODO;
-declare const $asyncGeneratorFieldSuspendReason: TODO;
-declare const $asyncGeneratorFieldQueueFirst: TODO;
-declare const $asyncGeneratorFieldQueueLast: TODO;
-declare const $AsyncGeneratorStateCompleted: TODO;
-declare const $AsyncGeneratorStateExecuting: TODO;
-declare const $AsyncGeneratorStateAwaitingReturn: TODO;
-declare const $AsyncGeneratorStateSuspendedStart: TODO;
-declare const $AsyncGeneratorStateSuspendedYield: TODO;
-declare const $AsyncGeneratorSuspendReasonYield: TODO;
-declare const $AsyncGeneratorSuspendReasonAwait: TODO;
-declare const $AsyncGeneratorSuspendReasonNone: TODO;
-declare const $abstractModuleRecordFieldState: TODO;
-
-// We define our intrinsics in ./BunBuiltinNames.h. Some of those are globals.
-
-declare var $_events: TODO;
-declare function $abortAlgorithm(): TODO;
-declare function $abortSteps(): TODO;
-declare function $addEventListener(): TODO;
-declare function $appendFromJS(): TODO;
-declare function $argv(): TODO;
-declare function $assignToStream(): TODO;
-declare function $associatedReadableByteStreamController(): TODO;
-declare function $autoAllocateChunkSize(): TODO;
-declare function $backpressure(): TODO;
-declare function $backpressureChangePromise(): TODO;
-declare function $basename(): TODO;
-declare function $body(): TODO;
-declare function $bunNativePtr(): TODO;
-declare function $bunNativeType(): TODO;
-declare function $byobRequest(): TODO;
-declare function $cancel(): TODO;
-declare function $cancelAlgorithm(): TODO;
-declare function $chdir(): TODO;
-declare function $cloneArrayBuffer(a, b, c): TODO;
-declare function $close(): TODO;
-declare function $closeAlgorithm(): TODO;
-declare function $closeRequest(): TODO;
-declare function $closeRequested(): TODO;
-declare function $closed(): TODO;
-declare function $closedPromise(): TODO;
-declare function $closedPromiseCapability(): TODO;
-declare function $code(): TODO;
-declare const $commonJSSymbol: unique symbol;
-declare function $connect(): TODO;
-declare function $consumeReadableStream(): TODO;
-declare function $controlledReadableStream(): TODO;
-declare function $controller(): TODO;
-declare function $cork(): TODO;
-declare function $createEmptyReadableStream(): TODO;
-declare function $createFIFO(): TODO;
-declare function $createNativeReadableStream(): TODO;
-declare function $createReadableStream(): TODO;
-declare function $createUninitializedArrayBuffer(size: number): ArrayBuffer;
-declare function $createWritableStreamFromInternal(): TODO;
-declare function $cwd(): TODO;
-declare function $data(): TODO;
-declare function $dataView(): TODO;
-declare function $decode(): TODO;
-declare function $delimiter(): TODO;
-declare function $destroy(): TODO;
-declare function $dir(): TODO;
-declare function $direct(): TODO;
-declare function $dirname(): TODO;
-declare function $disturbed(): TODO;
-declare function $document(): TODO;
-declare function $encode(): TODO;
-declare function $encoding(): TODO;
-declare function $end(): TODO;
-declare function $errno(): TODO;
-declare function $errorSteps(): TODO;
-declare function $execArgv(): TODO;
-declare function $extname(): TODO;
-declare function $failureKind(): TODO;
-declare function $fatal(): TODO;
-declare function $fetch(): TODO;
-declare function $fetchRequest(): TODO;
-declare function $file(): TODO;
-declare function $filePath(): TODO;
-declare function $fillFromJS(): TODO;
-declare function $filter(): TODO;
-declare function $finishConsumingStream(): TODO;
-declare function $flush(): TODO;
-declare function $flushAlgorithm(): TODO;
-declare function $format(): TODO;
-declare function $fulfillModuleSync(key: string): void;
-declare function $get(): TODO;
-declare function $getInternalWritableStream(writable: WritableStream): TODO;
-declare function $handleEvent(): TODO;
-declare function $hash(): TODO;
-declare function $header(): TODO;
-declare function $headers(): TODO;
-declare function $highWaterMark(): TODO;
-declare function $host(): TODO;
-declare function $hostname(): TODO;
-declare function $href(): TODO;
-declare function $ignoreBOM(): TODO;
-declare function $importer(): TODO;
-declare function $inFlightCloseRequest(): TODO;
-declare function $inFlightWriteRequest(): TODO;
-declare function $initializeWith(): TODO;
-declare function $internalRequire(path: string): TODO;
-declare function $internalStream(): TODO;
-declare function $internalWritable(): TODO;
-declare function $isAbortSignal(signal: unknown): signal is AbortSignal;
-declare function $isAbsolute(): TODO;
-declare function $isDisturbed(): TODO;
-declare function $isPaused(): TODO;
-declare function $isWindows(): TODO;
-declare function $join(): TODO;
-declare function $kind(): TODO;
-declare function $lazy(): TODO;
-declare function $lazyLoad(): TODO;
-declare function $lazyStreamPrototypeMap(): TODO;
-declare function $loadModule(): TODO;
-declare function $localStreams(): TODO;
-declare function $main(): TODO;
-declare function $makeDOMException(): TODO;
-declare function $makeGetterTypeError(className: string, prop: string): Error;
-declare function $makeThisTypeError(className: string, method: string): Error;
-declare function $map(): TODO;
-declare function $method(): TODO;
-declare function $nextTick(): TODO;
-declare function $normalize(): TODO;
-declare function $on(): TODO;
-declare function $once(): TODO;
-declare function $options(): TODO;
-declare function $origin(): TODO;
-declare function $ownerReadableStream(): TODO;
-declare function $parse(): TODO;
-declare function $password(): TODO;
-declare function $patch(): TODO;
-declare function $path(): TODO;
-declare function $pathname(): TODO;
-declare function $pause(): TODO;
-declare function $pendingAbortRequest(): TODO;
-declare function $pendingPullIntos(): TODO;
-declare function $pid(): TODO;
-declare function $pipe(): TODO;
-declare function $port(): TODO;
-declare function $post(): TODO;
-declare function $ppid(): TODO;
-declare function $prependEventListener(): TODO;
-declare function $process(): TODO;
-declare function $protocol(): TODO;
-declare function $pull(): TODO;
-declare function $pullAgain(): TODO;
-declare function $pullAlgorithm(): TODO;
-declare function $pulling(): TODO;
-declare function $put(): TODO;
-declare function $queue(): TODO;
-declare function $read(): TODO;
-declare function $readIntoRequests(): TODO;
-declare function $readRequests(): TODO;
-declare function $readable(): TODO;
-declare function $readableStreamController(): TODO;
-declare function $readableStreamToArray(): TODO;
-declare function $reader(): TODO;
-declare function $readyPromise(): TODO;
-declare function $readyPromiseCapability(): TODO;
-declare function $redirect(): TODO;
-declare function $relative(): TODO;
-declare function $releaseLock(): TODO;
-declare function $removeEventListener(): TODO;
-declare function $require(): TODO;
-declare function $requireESM(path: string): any;
-declare const $requireMap: Map<string, TODO>;
-declare function $resolve(name: string, from: string): Promise<string>;
-declare function $resolveSync(name: string, from: string): string;
-declare function $resume(): TODO;
-declare function $search(): TODO;
-declare function $searchParams(): TODO;
-declare function $self(): TODO;
-declare function $sep(): TODO;
-declare function $setBody(): TODO;
-declare function $setStatus(): TODO;
-declare function $setup(): TODO;
-declare function $sink(): TODO;
-declare function $size(): TODO;
-declare function $start(): TODO;
-declare function $startAlgorithm(): TODO;
-declare function $startConsumingStream(): TODO;
-declare function $startDirectStream(): TODO;
-declare function $started(): TODO;
-declare function $startedPromise(): TODO;
-declare function $state(): TODO;
-declare function $status(): TODO;
-declare function $storedError(): TODO;
-declare function $strategy(): TODO;
-declare function $strategyHWM(): TODO;
-declare function $strategySizeAlgorithm(): TODO;
-declare function $stream(): TODO;
-declare function $streamClosed(): TODO;
-declare function $streamClosing(): TODO;
-declare function $streamErrored(): TODO;
-declare function $streamReadable(): TODO;
-declare function $streamWaiting(): TODO;
-declare function $streamWritable(): TODO;
-declare function $structuredCloneForStream(): TODO;
-declare function $syscall(): TODO;
-declare function $textDecoderStreamDecoder(): TODO;
-declare function $textDecoderStreamTransform(): TODO;
-declare function $textEncoderStreamEncoder(): TODO;
-declare function $textEncoderStreamTransform(): TODO;
-declare function $toNamespacedPath(): TODO;
-declare function $trace(): TODO;
-declare function $transformAlgorithm(): TODO;
-declare function $uncork(): TODO;
-declare function $underlyingByteSource(): TODO;
-declare function $underlyingSink(): TODO;
-declare function $underlyingSource(): TODO;
-declare function $unpipe(): TODO;
-declare function $unshift(): TODO;
-declare function $url(): TODO;
-declare function $username(): TODO;
-declare function $version(): TODO;
-declare function $versions(): TODO;
-declare function $view(): TODO;
-declare function $whenSignalAborted(signal: AbortSignal, cb: (reason: any) => void): TODO;
-declare function $writable(): TODO;
-declare function $write(): TODO;
-declare function $writeAlgorithm(): TODO;
-declare function $writeRequests(): TODO;
-declare function $writer(): TODO;
-declare function $writing(): TODO;
-declare function $written(): TODO;
-
-// The following I cannot find any definitions of, but they are functional.
-declare function $toLength(length: number): number;
-declare function $isTypedArrayView(obj: unknown): obj is ArrayBufferView | DataView | Uint8Array;
-declare function $setStateToMax(target: any, state: number): void;
-declare function $trunc(target: number): number;
-declare function $newPromiseCapability(C: PromiseConstructor): TODO;
-/** @deprecated, use new TypeError instead */
-declare function $makeTypeError(message: string): TypeError;
-declare function $newHandledRejectedPromise(error: unknown): Promise<never>;
-
-// Types used in the above functions
-type PromiseFieldType = typeof $promiseFieldFlags | typeof $promiseFieldReactionsOrResult;
-type PromiseFieldToValue<X extends PromiseFieldType, V> = X extends typeof $promiseFieldFlags
- ? number
- : X extends typeof $promiseFieldReactionsOrResult
- ? V | any
- : any;
-type WellKnownSymbol = keyof { [K in keyof SymbolConstructor as SymbolConstructor[K] extends symbol ? K : never]: K };
-
-// You can also `@` on any method on a classes to avoid prototype pollution and secret internals
-type ClassWithIntrinsics<T> = { [K in keyof T as T[K] extends Function ? `$${K}` : never]: T[K] };
-
-declare interface Map<K, V> extends ClassWithIntrinsics<Map<K, V>> {}
-declare interface CallableFunction extends ClassWithIntrinsics<CallableFunction> {}
-declare interface Promise<T> extends ClassWithIntrinsics<Promise<T>> {}
-declare interface ArrayBufferConstructor<T> extends ClassWithIntrinsics<ArrayBufferConstructor<T>> {}
-declare interface PromiseConstructor<T> extends ClassWithIntrinsics<PromiseConstructor<T>> {}
-
-declare interface UnderlyingSource {
- $lazy: boolean;
- $bunNativeType: number;
- $bunNativePtr: number;
- autoAllocateChunkSize?: number;
-}
-
-declare class OutOfMemoryError {
- constructor();
-}
-
-declare class ReadableStreamDefaultController {
- constructor(
- stream: unknown,
- underlyingSource: unknown,
- size: unknown,
- highWaterMark: unknown,
- $isReadableStream: typeof $isReadableStream,
- );
-}
-declare class ReadableByteStreamController {
- constructor(
- stream: unknown,
- underlyingSource: unknown,
- strategy: unknown,
- $isReadableStream: typeof $isReadableStream,
- );
-}
-declare class ReadableStreamBYOBRequest {
- constructor(stream: unknown, view: unknown, $isReadableStream: typeof $isReadableStream);
-}
-declare class ReadableStreamBYOBReader {
- constructor(stream: unknown);
-}
-
-// Inlining our enum types
-declare const $ImportKindIdToLabel: Array<import("bun").ImportKind>;
-declare const $ImportKindLabelToId: Record<import("bun").ImportKind, number>;
-declare const $LoaderIdToLabel: Array<import("bun").Loader>;
-declare const $LoaderLabelToId: Record<import("bun").Loader, number>;
-
-// not a builtin, but a build-time macro of our own
-/** Returns a not implemented error that points to a github issue. */
-declare function notImplementedIssue(issueNumber: number, description: string): Error;
-/** Return a function that throws a not implemented error that points to a github issue */
-declare function notImplementedIssueFn(issueNumber: number, description: string): (...args: any[]) => never;
-
-declare type JSCSourceCodeObject = unique symbol;
-
-declare var Loader: {
- registry: Map<string, LoaderEntry>;
-
- parseModule(key: string, sourceCodeObject: JSCSourceCodeObject): Promise<LoaderModule> | LoaderModule;
- linkAndEvaluateModule(resolvedSpecifier: string, unknown: any);
- getModuleNamespaceObject(module: LoaderModule): any;
- requestedModules(module: LoaderModule): string[];
- dependencyKeysIfEvaluated(specifier: string): string[];
- resolve(specifier: string, referrer: string): string;
- ensureRegistered(key: string): LoaderEntry;
-};
-
-interface LoaderEntry {
- key: string;
- state: number;
- fetch: Promise<JSCSourceCodeObject>;
- instantiate: Promise<any>;
- satisfy: Promise<any>;
- dependencies: string[];
- module: LoaderModule;
- linkError?: any;
- linkSucceeded: boolean;
- evaluated: boolean;
- then?: any;
- isAsync: boolean;
-}
-
-interface LoaderModule {
- dependenciesMap: Map<string, LoaderEntry>;
-}
-
-declare module "bun" {
- var TOML: {
- parse(contents: string): any;
- };
- function fs(): typeof import("node:fs");
- function _Os(): typeof import("node:os");
- var main: string;
- var tty: Array<{ hasColors: boolean }>;
-}
-
-declare interface Function {
- path: string;
-}
-
-declare var $Buffer: {
- new (a: any, b?: any, c?: any): Buffer;
-};
-
-declare interface Error {
- code?: string;
-}