import { node } from "../nodes/composite/type.js" import { Scope } from "../scope.js" import type { RootScope } from "./utils.js" export type InferredJsObjects = { Function: Function Date: Date Error: Error Map: Map RegExp: RegExp Set: Set WeakMap: WeakMap WeakSet: WeakSet Promise: Promise } export const jsObjects: RootScope = Scope.root({ Function: node({ basis: Function }), Date: node({ basis: Date }), Error: node({ basis: Error }), Map: node({ basis: Map }), RegExp: node({ basis: RegExp }), Set: node({ basis: Set }), WeakMap: node({ basis: WeakMap }), WeakSet: node({ basis: WeakSet }), Promise: node({ basis: Promise }) }) export const jsObjectTypes = jsObjects.export()