Skip to content

Konfigurasi TypeScript ​

Halaman ini menyediakan referensi komprehensif untuk semua opsi konfigurasi, batasan, dan kontrol keamanan yang tersedia saat menginisialisasi instance LightVM.

Contoh Konfigurasi Lengkap ​

Contoh berikut mendemonstrasikan cara mengonfigurasi semua batas, bendera keamanan, dan opsi error yang tersedia menggunakan pola builder maupun object.

ts
import { LightVM, Capability, TimeBudget } from 'lightvm';

const vm = new LightVM({ caps: [Capability.Observe, Capability.Control] })
  .setMaxIo(100)
  .setMaxImport(3)
  .setMaxAlloc(50)
  .setMaxCall(200)
  .setMaxJump(100)
  .setMaxTicks(1_000_000)
  .setMaxStackSize(128)
  .setAllowedImports(['math', 'time', 'utils'])
  .setTimeBudget(TimeBudget.Cheap)
  .withUnsafeMode(false)
  .withNightly(false)
  .withBacktrace(false)
  .withExplain(false)
  .withHint(true)
  .withDiagnosticLinks(false);
ts
import { LightVM, Capability, TimeBudget } from 'lightvm';

const vm = new LightVM({
  caps: [Capability.Observe, Capability.Control],
  runtimeConfig: {
    nightly: false,
  },
  errorOptions: {
    backtrace: false,
    explain: false,
    hint: true,
    diagnosticLinks: false,
  },
  securityConfig: {
    maxIo: 100,
    maxImport: 3,
    maxAlloc: 50,
    maxCall: 200,
    maxJump: 100,
    maxTicks: 1_000_000,
    maxStackSize: 128,
    allowedImports: ['math', 'time', 'utils'],
    timeBudget: TimeBudget.Cheap,
    unsafeMode: false,
  },
});

Rincian Opsi Konfigurasi ​

Method / PropertiTipeDefaultDeskripsi
capsCapability[][Capability.Observe]Menentukan kapabilitas aktif yang diberikan ke virtual machine.
setMaxIo / maxIonumber100Jumlah maksimum operasi I/O yang diizinkan selama eksekusi.
setMaxImport / maxImportnumber3Jumlah maksimum impor modul yang diizinkan.
setMaxAlloc / maxAllocnumber50Jumlah maksimum alokasi memori yang diizinkan.
setMaxCall / maxCallnumber200Jumlah maksimum pemanggilan fungsi bersarang yang diizinkan.
setMaxJump / maxJumpnumber100Jumlah maksimum lompatan control flow yang diizinkan.
setMaxTicks / maxTicksnumber1_000_000Jumlah maksimum tick eksekusi sebelum berhenti untuk mencegah infinite loop.
setMaxStackSize / maxStackSizenumber128Jumlah maksimum item yang dapat ditampung oleh evaluation stack.
setAllowedImports / allowedImportsstring[][]Daftar putih nama modul yang diizinkan untuk diimpor.
setTimeBudget / timeBudgetTimeBudgetTimeBudget.CheapMenetapkan batas tingkatan anggaran waktu eksekusi.
withUnsafeMode / unsafeModebooleanfalseMengaktifkan atau menonaktifkan operasi tingkat sistem yang tidak aman (unsafe).
withNightly / nightlybooleanfalseMengizinkan penggunaan fitur nightly eksperimental.
withBacktrace / backtracebooleanfalseMenampilkan detail backtrace internal dalam pesan error.
withExplain / explainbooleanfalseMenampilkan petunjuk penjelasan yang lebih rinci dalam pesan error.
withHint / hintbooleantrueMenampilkan petunjuk penggunaan umum pada pesan error.
withDiagnosticLinks / diagnosticLinksbooleantrueMenyertakan tautan metadata yang mengarah ke dokumentasi kode error.

Dokumentasi Terkait

Perlu memeriksa kode error individual yang disebutkan dalam pesan error? Kunjungi Referensi Kode Error.