{"version":1,"pages":[{"id":"-MJJDaoIKgSLqaqBSfCl","title":"The Internals of Deno","pathname":"/internals-of-deno","siteSpaceId":"sitesp_r86P8","description":""},{"id":"-ML1UeViQ4jIzJ8KpI-N","title":"Audience","pathname":"/internals-of-deno/audience","siteSpaceId":"sitesp_r86P8","description":""},{"id":"0ssPrW3yoZ64QktzXwbq","title":"Reviews","pathname":"/internals-of-deno/reviews","siteSpaceId":"sitesp_r86P8"},{"id":"zbSikZHy6iPl17eE1hvM","title":"Translations","pathname":"/internals-of-deno/translations","siteSpaceId":"sitesp_r86P8"},{"id":"4L4V4d3tduZpy0U2j9kr","title":"Formats","pathname":"/internals-of-deno/formats","siteSpaceId":"sitesp_r86P8"},{"id":"-MJyfFgQ6vmv1WdzoKy0","title":"Contents","pathname":"/internals-of-deno/content","siteSpaceId":"sitesp_r86P8","description":""},{"id":"-MNtmuJrm-UWeOBTXSOT","title":"1.0 Cover page","pathname":"/internals-of-deno/introduction/chapter-cover-page","siteSpaceId":"sitesp_r86P8","description":"","breadcrumbs":[{"label":"Chapter 1 - INTRODUCTION"}]},{"id":"-MLAnHN8c2W4mc01v71k","title":"1.1 Introduction","pathname":"/internals-of-deno/introduction/introduction","siteSpaceId":"sitesp_r86P8","description":"","breadcrumbs":[{"label":"Chapter 1 - INTRODUCTION"}]},{"id":"-MKgHNQ3rXF7UsRXSyb3","title":"1.2 History of Deno","pathname":"/internals-of-deno/introduction/history-of-deno","siteSpaceId":"sitesp_r86P8","description":"","breadcrumbs":[{"label":"Chapter 1 - INTRODUCTION"}]},{"id":"-MKYSjVxNw8aw3DxwVrk","title":"1.3 About Deno","pathname":"/internals-of-deno/introduction/about","siteSpaceId":"sitesp_r86P8","description":"","breadcrumbs":[{"label":"Chapter 1 - INTRODUCTION"}]},{"id":"-MKw90zn30-edT1pOsqc","title":"1.4 Releases","pathname":"/internals-of-deno/introduction/releases","siteSpaceId":"sitesp_r86P8","description":"","breadcrumbs":[{"label":"Chapter 1 - INTRODUCTION"}]},{"id":"K1eTWKULx7yl1EBA2iES","title":"1.5 The Deno Company","pathname":"/internals-of-deno/introduction/1.5-the-deno-company","siteSpaceId":"sitesp_r86P8","breadcrumbs":[{"label":"Chapter 1 - INTRODUCTION"}]},{"id":"pYCCAt7UpWmIbx7ImI3n","title":"1.6 Deno's source","pathname":"/internals-of-deno/introduction/1.6-denos-source","siteSpaceId":"sitesp_r86P8","breadcrumbs":[{"label":"Chapter 1 - INTRODUCTION"}]},{"id":"-MNld33ttZG13yyV7-R8","title":"1.7 What's next","pathname":"/internals-of-deno/introduction/whats-next","siteSpaceId":"sitesp_r86P8","description":"","breadcrumbs":[{"label":"Chapter 1 - INTRODUCTION"}]},{"id":"-MNtn2AaE0EKbHRMf0SM","title":"2.0 Cover page","pathname":"/internals-of-deno/architecture/chapter-cover-page","siteSpaceId":"sitesp_r86P8","description":"","breadcrumbs":[{"label":"Chapter 2 - ARCHITECTURE"}]},{"id":"-MLAnbJ38x0d1oc0uWuK","title":"2.1 Architecture","pathname":"/internals-of-deno/architecture/architecture","siteSpaceId":"sitesp_r86P8","description":"","breadcrumbs":[{"label":"Chapter 2 - ARCHITECTURE"}]},{"id":"-MKxKUDyH6PuKycWDAQg","title":"2.2 Overall architecture","pathname":"/internals-of-deno/architecture/overall-architecture","siteSpaceId":"sitesp_r86P8","description":"","breadcrumbs":[{"label":"Chapter 2 - ARCHITECTURE"}]},{"id":"a5AobXzqN81kXVwFAA6O","title":"2.3 Programming Languages","pathname":"/internals-of-deno/architecture/2.3-programming-languages","siteSpaceId":"sitesp_r86P8","breadcrumbs":[{"label":"Chapter 2 - ARCHITECTURE"}]},{"id":"-MKxOBS9DPHaW2n87Fyw","title":"2.4 Deno components","pathname":"/internals-of-deno/architecture/core","siteSpaceId":"sitesp_r86P8","description":"","breadcrumbs":[{"label":"Chapter 2 - ARCHITECTURE"}]},{"id":"-ML0bxtaSS-xRZTSFayU","title":"2.5 OPs","pathname":"/internals-of-deno/architecture/ops","siteSpaceId":"sitesp_r86P8","description":"","breadcrumbs":[{"label":"Chapter 2 - ARCHITECTURE"}]},{"id":"-ML0be_nxCSWTu33JOdc","title":"2.6 TSC/SWC","pathname":"/internals-of-deno/architecture/tsc","siteSpaceId":"sitesp_r86P8","description":"","breadcrumbs":[{"label":"Chapter 2 - ARCHITECTURE"}]},{"id":"-ML0cm5qrXjUtwDeJpmT","title":"2.7 Rusty_v8","pathname":"/internals-of-deno/architecture/rusty_v8","siteSpaceId":"sitesp_r86P8","description":"","breadcrumbs":[{"label":"Chapter 2 - ARCHITECTURE"}]},{"id":"-ML1Hiko4-JeUByDEMjG","title":"2.8 Tokio","pathname":"/internals-of-deno/architecture/tokio","siteSpaceId":"sitesp_r86P8","description":"","breadcrumbs":[{"label":"Chapter 2 - ARCHITECTURE"}]},{"id":"-ML1USpF10cD-Oyus1zH","title":"2.9 V8","pathname":"/internals-of-deno/architecture/v8","siteSpaceId":"sitesp_r86P8","description":"","breadcrumbs":[{"label":"Chapter 2 - ARCHITECTURE"}]},{"id":"-MOKWtH-7Rc5bPf_M3UM","title":"2.10 What's next","pathname":"/internals-of-deno/architecture/2.7-whats-next","siteSpaceId":"sitesp_r86P8","description":"","breadcrumbs":[{"label":"Chapter 2 - ARCHITECTURE"}]},{"id":"-MLAx4SQ-0uLCkjpQswr","title":"3.0 Cover page","pathname":"/internals-of-deno/threading-model/threading-model","siteSpaceId":"sitesp_r86P8","description":"","breadcrumbs":[{"label":"CHAPTER 3 - THREADING MODEL"}]},{"id":"-MOKYiX2_1dFVfdnjYEz","title":"3.1 Threading model","pathname":"/internals-of-deno/threading-model/3.1-threading-model","siteSpaceId":"sitesp_r86P8","description":"","breadcrumbs":[{"label":"CHAPTER 3 - THREADING MODEL"}]},{"id":"-ML1Xjv-juVSFvms64uq","title":"3.2 Default threading model","pathname":"/internals-of-deno/threading-model/default-threads","siteSpaceId":"sitesp_r86P8","description":"","breadcrumbs":[{"label":"CHAPTER 3 - THREADING MODEL"}]},{"id":"-ML1XnuHJpFycRestrQ1","title":"3.3 Asynchronous green threads","pathname":"/internals-of-deno/threading-model/tokio-threads","siteSpaceId":"sitesp_r86P8","description":"","breadcrumbs":[{"label":"CHAPTER 3 - THREADING MODEL"}]},{"id":"-MOOkUvTV3h5aEicEoRm","title":"3.4 What's next","pathname":"/internals-of-deno/threading-model/3.4-whats-next","siteSpaceId":"sitesp_r86P8","description":"","breadcrumbs":[{"label":"CHAPTER 3 - THREADING MODEL"}]},{"id":"-MPlAjQy_EbrojtC0Aiw","title":"4.0 Cover page","pathname":"/internals-of-deno/bridge/chapter-cover-page","siteSpaceId":"sitesp_r86P8","description":"","breadcrumbs":[{"label":"CHAPTER 4 - BRIDGE"}]},{"id":"-MPqNoXO7rIQ6UhPsqGf","title":"4.1 The bridge","pathname":"/internals-of-deno/bridge/4.1-the-bridge","siteSpaceId":"sitesp_r86P8","description":"","breadcrumbs":[{"label":"CHAPTER 4 - BRIDGE"}]},{"id":"-MPqi1YgVNKJlvPVi-oz","title":"4.2 Print","pathname":"/internals-of-deno/bridge/4.2-print","siteSpaceId":"sitesp_r86P8","description":"","breadcrumbs":[{"label":"CHAPTER 4 - BRIDGE"}]},{"id":"-MPqhuXYFeQpqez0BlXi","title":"4.3 Encode and decode","pathname":"/internals-of-deno/bridge/4.4-encode-and-decode","siteSpaceId":"sitesp_r86P8","description":"","breadcrumbs":[{"label":"CHAPTER 4 - BRIDGE"}]},{"id":"-MPqiFwNDFvkLCCK-gAG","title":"4.4 What's next","pathname":"/internals-of-deno/bridge/4.6-whats-next","siteSpaceId":"sitesp_r86P8","description":"","breadcrumbs":[{"label":"CHAPTER 4 - BRIDGE"}]},{"id":"-MOPdfkvWuwrMTmUZIOj","title":"5.0 Cover page","pathname":"/internals-of-deno/foundations/chapter-cover-page","siteSpaceId":"sitesp_r86P8","description":"","breadcrumbs":[{"label":"CHAPTER 5 - FOUNDATIONS"}]},{"id":"-MNAWemO_tILrOYQEefG","title":"5.1 Hello world program","pathname":"/internals-of-deno/foundations/hello-world","siteSpaceId":"sitesp_r86P8","description":"","breadcrumbs":[{"label":"CHAPTER 5 - FOUNDATIONS"}]},{"id":"-MLAxmBFWA4gOaFMHAK5","title":"5.2 Basic hello world","pathname":"/internals-of-deno/foundations/basic-hello-world","siteSpaceId":"sitesp_r86P8","description":"","breadcrumbs":[{"label":"CHAPTER 5 - FOUNDATIONS"}]},{"id":"-MLB-rNXPXAZOu4Wtk9m","title":"5.3 Main program of Deno","pathname":"/internals-of-deno/foundations/main-program","siteSpaceId":"sitesp_r86P8","description":"","breadcrumbs":[{"label":"CHAPTER 5 - FOUNDATIONS"}]},{"id":"-MM4_fOXXB-D4idQz_sP","title":"5.4 Module Specifier","pathname":"/internals-of-deno/foundations/resolve_url_or_path","siteSpaceId":"sitesp_r86P8","description":"","breadcrumbs":[{"label":"CHAPTER 5 - FOUNDATIONS"}]},{"id":"-MM4e82aws-K4d1sBGAM","title":"5.5 CLI Factory","pathname":"/internals-of-deno/foundations/program-state","siteSpaceId":"sitesp_r86P8","description":"","breadcrumbs":[{"label":"CHAPTER 5 - FOUNDATIONS"}]},{"id":"-MM4o6l0olSq0n_RDlIU","title":"5.6 Permissions","pathname":"/internals-of-deno/foundations/permissions","siteSpaceId":"sitesp_r86P8","description":"","breadcrumbs":[{"label":"CHAPTER 5 - FOUNDATIONS"}]},{"id":"-MMDO8bFk4-9q5rsdQ84","title":"5.7 Main Worker","pathname":"/internals-of-deno/foundations/mainworker","siteSpaceId":"sitesp_r86P8","description":"","breadcrumbs":[{"label":"CHAPTER 5 - FOUNDATIONS"}]},{"id":"-MMNiu9iH5-ZQDvxh9W7","title":"5.8 JS Runtime","pathname":"/internals-of-deno/foundations/jsruntime","siteSpaceId":"sitesp_r86P8","description":"","breadcrumbs":[{"label":"CHAPTER 5 - FOUNDATIONS"}]},{"id":"-MMy6iuFIvaXzmkWC_Tn","title":"5.9 Run main module","pathname":"/internals-of-deno/foundations/execute_module","siteSpaceId":"sitesp_r86P8","description":"","breadcrumbs":[{"label":"CHAPTER 5 - FOUNDATIONS"}]},{"id":"-MN56hnCC1LPr48nkJyE","title":"5.10 Load module","pathname":"/internals-of-deno/foundations/load-module","siteSpaceId":"sitesp_r86P8","description":"","breadcrumbs":[{"label":"CHAPTER 5 - FOUNDATIONS"}]},{"id":"-MOxsVDOVBD4o2RMe4uy","title":"5.11 Recursive module loading","pathname":"/internals-of-deno/foundations/4.11-recursive-module-loading-and-module-graphs","siteSpaceId":"sitesp_r86P8","description":"","breadcrumbs":[{"label":"CHAPTER 5 - FOUNDATIONS"}]},{"id":"-MOyqZZ4O4OC2mzel_mS","title":"5.12 Module graphs","pathname":"/internals-of-deno/foundations/4.12-module-graphs","siteSpaceId":"sitesp_r86P8","description":"","breadcrumbs":[{"label":"CHAPTER 5 - FOUNDATIONS"}]},{"id":"-MPG-eQDpGuYHVzZKMu8","title":"5.13 File fetching","pathname":"/internals-of-deno/foundations/4.13-file-fetcher","siteSpaceId":"sitesp_r86P8","description":"","breadcrumbs":[{"label":"CHAPTER 5 - FOUNDATIONS"}]},{"id":"-MP3237HYU18XSIUR8Ts","title":"5.14 Transpile","pathname":"/internals-of-deno/foundations/4.13-check-and-or-transpilation","siteSpaceId":"sitesp_r86P8","description":"","breadcrumbs":[{"label":"CHAPTER 5 - FOUNDATIONS"}]},{"id":"-MN7CaSt3jlN8apQmEOz","title":"5.15 Register / compile module","pathname":"/internals-of-deno/foundations/register-and-instantation","siteSpaceId":"sitesp_r86P8","description":"","breadcrumbs":[{"label":"CHAPTER 5 - FOUNDATIONS"}]},{"id":"-MPM30_Y3YmOd9sd_DID","title":"5.16 Instantiate module","pathname":"/internals-of-deno/foundations/instantiate-module","siteSpaceId":"sitesp_r86P8","description":"","breadcrumbs":[{"label":"CHAPTER 5 - FOUNDATIONS"}]},{"id":"-MN7KJ-P7nvPqFzKw3nk","title":"5.17 Evaluate module","pathname":"/internals-of-deno/foundations/evaluate-module","siteSpaceId":"sitesp_r86P8","description":"","breadcrumbs":[{"label":"CHAPTER 5 - FOUNDATIONS"}]},{"id":"-MPRpKOOj_v53jFJ5aBz","title":"5.18 What's next","pathname":"/internals-of-deno/foundations/4.18-whats-next","siteSpaceId":"sitesp_r86P8","description":"","breadcrumbs":[{"label":"CHAPTER 5 - FOUNDATIONS"}]},{"id":"-MPShu6WogKd-x-VcA7v","title":"6.0 Cover page","pathname":"/internals-of-deno/import-and-ops/chapter-cover-page","siteSpaceId":"sitesp_r86P8","description":"","breadcrumbs":[{"label":"CHAPTER 6 - IMPORTS AND OPS"}]},{"id":"-MNCUvUoUHmoc0V5r1N-","title":"6.1 Imports and ops","pathname":"/internals-of-deno/import-and-ops/console-print-with-delay","siteSpaceId":"sitesp_r86P8","description":"","breadcrumbs":[{"label":"CHAPTER 6 - IMPORTS AND OPS"}]},{"id":"-MNCVdL24chfhbmGTIYS","title":"6.2 Hello world program v2","pathname":"/internals-of-deno/import-and-ops/basic-console-print-with-delay","siteSpaceId":"sitesp_r86P8","description":"","breadcrumbs":[{"label":"CHAPTER 6 - IMPORTS AND OPS"}]},{"id":"-MNFGSYIb_07MYeVFp4S","title":"6.3 Module graph with imports","pathname":"/internals-of-deno/import-and-ops/building-module-graph","siteSpaceId":"sitesp_r86P8","description":"","breadcrumbs":[{"label":"CHAPTER 6 - IMPORTS AND OPS"}]},{"id":"-MPWQh9nYKb8p0ToY5Io","title":"6.4 Transpile","pathname":"/internals-of-deno/import-and-ops/5.4-transpile","siteSpaceId":"sitesp_r86P8","description":"","breadcrumbs":[{"label":"CHAPTER 6 - IMPORTS AND OPS"}]},{"id":"-MNFKjcKRLw3mTh_w8p5","title":"6.5 Registration and instantiation","pathname":"/internals-of-deno/import-and-ops/registration-and-instantiation","siteSpaceId":"sitesp_r86P8","description":"","breadcrumbs":[{"label":"CHAPTER 6 - IMPORTS AND OPS"}]},{"id":"-MPaLXQmvMiMVuoNtKdz","title":"6.6 Registration of ops","pathname":"/internals-of-deno/import-and-ops/5.6-registration-of-ops","siteSpaceId":"sitesp_r86P8","description":"","breadcrumbs":[{"label":"CHAPTER 6 - IMPORTS AND OPS"}]},{"id":"-MNGd6OlBkGucnuDwJPr","title":"6.7 Evaluate module","pathname":"/internals-of-deno/import-and-ops/evaluate-module","siteSpaceId":"sitesp_r86P8","description":"","breadcrumbs":[{"label":"CHAPTER 6 - IMPORTS AND OPS"}]},{"id":"-MPc0H2_uVb4715vQBXE","title":"6.8 Sync OPs","pathname":"/internals-of-deno/import-and-ops/5.8-sync-op","siteSpaceId":"sitesp_r86P8","description":"","breadcrumbs":[{"label":"CHAPTER 6 - IMPORTS AND OPS"}]},{"id":"ia30HhDWwFlzg3Edeg9y","title":"6.9 Debug logs","pathname":"/internals-of-deno/import-and-ops/6.9-debug-logs","siteSpaceId":"sitesp_r86P8","breadcrumbs":[{"label":"CHAPTER 6 - IMPORTS AND OPS"}]},{"id":"-MPkqtw8hlZnhkCRPDqe","title":"6.10 What's next","pathname":"/internals-of-deno/import-and-ops/5.11-whats-next","siteSpaceId":"sitesp_r86P8","description":"","breadcrumbs":[{"label":"CHAPTER 6 - IMPORTS AND OPS"}]},{"id":"PuvCUy9PGUvleBDUtvx4","title":"7.0 Cover page","pathname":"/internals-of-deno/chapter-7-local-and-session-storage/7.0-cover-page","siteSpaceId":"sitesp_r86P8","breadcrumbs":[{"label":"CHAPTER 7 - LOCAL AND SESSION STORAGE"}]},{"id":"ZPlHH0N1YBrAqnqoQiQi","title":"7.1 Introduction","pathname":"/internals-of-deno/chapter-7-local-and-session-storage/7.1-introduction","siteSpaceId":"sitesp_r86P8","breadcrumbs":[{"label":"CHAPTER 7 - LOCAL AND SESSION STORAGE"}]},{"id":"fAY1ejyUYwA8z7DXFUIs","title":"7.2 Local storage","pathname":"/internals-of-deno/chapter-7-local-and-session-storage/7.2-local-storage","siteSpaceId":"sitesp_r86P8","breadcrumbs":[{"label":"CHAPTER 7 - LOCAL AND SESSION STORAGE"}]},{"id":"RLZUcBWSfPBPu0TDnqPd","title":"7.3 Session storage","pathname":"/internals-of-deno/chapter-7-local-and-session-storage/7.3-session-storage","siteSpaceId":"sitesp_r86P8","breadcrumbs":[{"label":"CHAPTER 7 - LOCAL AND SESSION STORAGE"}]},{"id":"tWk3AHORnh9JJFCle7ZC","title":"7.4 What's next","pathname":"/internals-of-deno/chapter-7-local-and-session-storage/7.4-whats-next","siteSpaceId":"sitesp_r86P8","breadcrumbs":[{"label":"CHAPTER 7 - LOCAL AND SESSION STORAGE"}]},{"id":"h7WXQiXzyc82L0u1yBWW","title":"Afterword","pathname":"/internals-of-deno/afterword/afterword","siteSpaceId":"sitesp_r86P8","breadcrumbs":[{"label":"AFTERWORD"}]}]}