xref: /third_party/node/deps/v8/src/objects/module.tq (revision 1cb0ef41)
1// Copyright 2019 the V8 project authors. All rights reserved.
2// Use of this source code is governed by a BSD-style license that can be
3// found in the LICENSE file.
4
5@abstract
6extern class Module extends HeapObject {
7  // The complete export table, mapping an export name to its cell.
8  exports: ObjectHashTable;
9  // Hash for this object (a random non-zero Smi).
10  hash: Smi;
11  status: Smi;
12  module_namespace: JSModuleNamespace|Undefined;
13  // The exception in the case {status} is kErrored.
14  exception: Object;
15  // The top level promise capability of this module. Will only be defined
16  // for cycle roots.
17  top_level_capability: JSPromise|Undefined;
18}
19
20extern class JSModuleNamespace extends JSSpecialObject { module: Module; }
21
22extern class ScriptOrModule extends Struct {
23  resource_name: Object;
24  host_defined_options: FixedArray;
25}
26