@bolt-foundry/gambit 0.8.3 → 0.8.5-rc.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +34 -2
- package/README.md +79 -16
- package/esm/_dnt.polyfills.d.ts +17 -0
- package/esm/_dnt.polyfills.d.ts.map +1 -1
- package/esm/_dnt.polyfills.js +122 -0
- package/esm/deps/jsr.io/@std/collections/1.1.5/deep_merge.d.ts +322 -0
- package/esm/deps/jsr.io/@std/collections/1.1.5/deep_merge.d.ts.map +1 -0
- package/esm/deps/jsr.io/@std/collections/1.1.5/deep_merge.js +105 -0
- package/esm/deps/jsr.io/@std/fs/1.0.22/_create_walk_entry.d.ts +14 -0
- package/esm/deps/jsr.io/@std/fs/1.0.22/_create_walk_entry.d.ts.map +1 -0
- package/esm/deps/jsr.io/@std/fs/1.0.22/_create_walk_entry.js +34 -0
- package/esm/deps/jsr.io/@std/fs/1.0.22/_get_file_info_type.d.ts +13 -0
- package/esm/deps/jsr.io/@std/fs/1.0.22/_get_file_info_type.d.ts.map +1 -0
- package/esm/deps/jsr.io/@std/fs/1.0.22/_get_file_info_type.js +18 -0
- package/esm/deps/jsr.io/@std/fs/1.0.22/_is_same_path.d.ts +10 -0
- package/esm/deps/jsr.io/@std/fs/1.0.22/_is_same_path.d.ts.map +1 -0
- package/esm/deps/jsr.io/@std/fs/1.0.22/_is_same_path.js +17 -0
- package/esm/deps/jsr.io/@std/fs/1.0.22/_is_subdir.d.ts +12 -0
- package/esm/deps/jsr.io/@std/fs/1.0.22/_is_subdir.d.ts.map +1 -0
- package/esm/deps/jsr.io/@std/fs/1.0.22/_is_subdir.js +25 -0
- package/esm/deps/jsr.io/@std/fs/1.0.22/_to_path_string.d.ts +9 -0
- package/esm/deps/jsr.io/@std/fs/1.0.22/_to_path_string.d.ts.map +1 -0
- package/esm/deps/jsr.io/@std/fs/1.0.22/_to_path_string.js +13 -0
- package/esm/deps/jsr.io/@std/fs/1.0.22/copy.d.ts +117 -0
- package/esm/deps/jsr.io/@std/fs/1.0.22/copy.d.ts.map +1 -0
- package/esm/deps/jsr.io/@std/fs/1.0.22/copy.js +313 -0
- package/esm/deps/jsr.io/@std/fs/1.0.22/empty_dir.d.ts +48 -0
- package/esm/deps/jsr.io/@std/fs/1.0.22/empty_dir.d.ts.map +1 -0
- package/esm/deps/jsr.io/@std/fs/1.0.22/empty_dir.js +87 -0
- package/esm/deps/jsr.io/@std/fs/1.0.22/ensure_dir.d.ts +49 -0
- package/esm/deps/jsr.io/@std/fs/1.0.22/ensure_dir.d.ts.map +1 -0
- package/esm/deps/jsr.io/@std/fs/1.0.22/ensure_dir.js +102 -0
- package/esm/deps/jsr.io/@std/fs/1.0.22/ensure_file.d.ts +47 -0
- package/esm/deps/jsr.io/@std/fs/1.0.22/ensure_file.d.ts.map +1 -0
- package/esm/deps/jsr.io/@std/fs/1.0.22/ensure_file.js +90 -0
- package/esm/deps/jsr.io/@std/fs/1.0.22/ensure_link.d.ts +49 -0
- package/esm/deps/jsr.io/@std/fs/1.0.22/ensure_link.d.ts.map +1 -0
- package/esm/deps/jsr.io/@std/fs/1.0.22/ensure_link.js +61 -0
- package/esm/deps/jsr.io/@std/fs/1.0.22/ensure_symlink.d.ts +70 -0
- package/esm/deps/jsr.io/@std/fs/1.0.22/ensure_symlink.d.ts.map +1 -0
- package/esm/deps/jsr.io/@std/fs/1.0.22/ensure_symlink.js +156 -0
- package/esm/deps/jsr.io/@std/fs/1.0.22/eol.d.ts +52 -0
- package/esm/deps/jsr.io/@std/fs/1.0.22/eol.d.ts.map +1 -0
- package/esm/deps/jsr.io/@std/fs/1.0.22/eol.js +67 -0
- package/esm/deps/jsr.io/@std/fs/1.0.22/exists.d.ts +218 -0
- package/esm/deps/jsr.io/@std/fs/1.0.22/exists.d.ts.map +1 -0
- package/esm/deps/jsr.io/@std/fs/1.0.22/exists.js +271 -0
- package/esm/deps/jsr.io/@std/fs/1.0.22/expand_glob.d.ts +267 -0
- package/esm/deps/jsr.io/@std/fs/1.0.22/expand_glob.d.ts.map +1 -0
- package/esm/deps/jsr.io/@std/fs/1.0.22/expand_glob.js +442 -0
- package/esm/deps/jsr.io/@std/fs/1.0.22/mod.d.ts +29 -0
- package/esm/deps/jsr.io/@std/fs/1.0.22/mod.d.ts.map +1 -0
- package/esm/deps/jsr.io/@std/fs/1.0.22/mod.js +29 -0
- package/esm/deps/jsr.io/@std/fs/1.0.22/move.d.ts +86 -0
- package/esm/deps/jsr.io/@std/fs/1.0.22/move.d.ts.map +1 -0
- package/esm/deps/jsr.io/@std/fs/1.0.22/move.js +142 -0
- package/esm/deps/jsr.io/@std/fs/1.0.22/walk.d.ts +777 -0
- package/esm/deps/jsr.io/@std/fs/1.0.22/walk.d.ts.map +1 -0
- package/esm/deps/jsr.io/@std/fs/1.0.22/walk.js +846 -0
- package/esm/deps/jsr.io/@std/json/1.0.2/types.d.ts +5 -0
- package/esm/deps/jsr.io/@std/json/1.0.2/types.d.ts.map +1 -0
- package/esm/deps/jsr.io/@std/json/1.0.2/types.js +3 -0
- package/esm/deps/jsr.io/@std/jsonc/1.0.2/mod.d.ts +20 -0
- package/esm/deps/jsr.io/@std/jsonc/1.0.2/mod.d.ts.map +1 -0
- package/esm/deps/jsr.io/@std/jsonc/1.0.2/mod.js +21 -0
- package/esm/deps/jsr.io/@std/jsonc/1.0.2/parse.d.ts +21 -0
- package/esm/deps/jsr.io/@std/jsonc/1.0.2/parse.d.ts.map +1 -0
- package/esm/deps/jsr.io/@std/jsonc/1.0.2/parse.js +320 -0
- package/esm/deps/jsr.io/@std/toml/1.0.11/_parser.d.ts +93 -0
- package/esm/deps/jsr.io/@std/toml/1.0.11/_parser.d.ts.map +1 -0
- package/esm/deps/jsr.io/@std/toml/1.0.11/_parser.js +753 -0
- package/esm/deps/jsr.io/@std/toml/1.0.11/mod.d.ts +109 -0
- package/esm/deps/jsr.io/@std/toml/1.0.11/mod.d.ts.map +1 -0
- package/esm/deps/jsr.io/@std/toml/1.0.11/mod.js +110 -0
- package/esm/deps/jsr.io/@std/toml/1.0.11/parse.d.ts +21 -0
- package/esm/deps/jsr.io/@std/toml/1.0.11/parse.d.ts.map +1 -0
- package/esm/deps/jsr.io/@std/toml/1.0.11/parse.js +25 -0
- package/esm/deps/jsr.io/@std/toml/1.0.11/stringify.d.ts +35 -0
- package/esm/deps/jsr.io/@std/toml/1.0.11/stringify.d.ts.map +1 -0
- package/esm/deps/jsr.io/@std/toml/1.0.11/stringify.js +283 -0
- package/esm/gambit/simulator-ui/dist/bundle.js +10647 -4637
- package/esm/gambit/simulator-ui/dist/bundle.js.map +4 -4
- package/esm/mod.d.ts +13 -3
- package/esm/mod.d.ts.map +1 -1
- package/esm/mod.js +8 -2
- package/esm/src/cli_utils.d.ts +1 -0
- package/esm/src/cli_utils.d.ts.map +1 -1
- package/esm/src/cli_utils.js +13 -1
- package/esm/src/default_runtime.d.ts +46 -0
- package/esm/src/default_runtime.d.ts.map +1 -0
- package/esm/src/default_runtime.js +415 -0
- package/esm/src/durable_streams.js +26 -1
- package/esm/src/model_matchers.d.ts +10 -0
- package/esm/src/model_matchers.d.ts.map +1 -0
- package/esm/src/model_matchers.js +26 -0
- package/esm/src/openai_compat.d.ts +12 -1
- package/esm/src/openai_compat.d.ts.map +1 -1
- package/esm/src/openai_compat.js +53 -1
- package/esm/src/project_config.d.ts +47 -0
- package/esm/src/project_config.d.ts.map +1 -0
- package/esm/src/project_config.js +134 -0
- package/esm/src/providers/codex.d.ts +37 -0
- package/esm/src/providers/codex.d.ts.map +1 -0
- package/esm/src/providers/codex.js +810 -0
- package/esm/src/providers/google.d.ts +3 -1
- package/esm/src/providers/google.d.ts.map +1 -1
- package/esm/src/providers/google.js +82 -6
- package/esm/src/providers/ollama.d.ts +3 -1
- package/esm/src/providers/ollama.d.ts.map +1 -1
- package/esm/src/providers/ollama.js +238 -15
- package/esm/src/providers/openrouter.d.ts +6 -2
- package/esm/src/providers/openrouter.d.ts.map +1 -1
- package/esm/src/providers/openrouter.js +260 -23
- package/esm/src/providers/router.d.ts +19 -0
- package/esm/src/providers/router.d.ts.map +1 -0
- package/esm/src/providers/router.js +93 -0
- package/esm/src/server.d.ts +9 -0
- package/esm/src/server.d.ts.map +1 -1
- package/esm/src/server.js +3186 -652
- package/esm/src/server_feedback_grading_routes.d.ts +32 -0
- package/esm/src/server_feedback_grading_routes.d.ts.map +1 -0
- package/esm/src/server_feedback_grading_routes.js +305 -0
- package/esm/src/server_helpers.d.ts +4 -0
- package/esm/src/server_helpers.d.ts.map +1 -0
- package/esm/src/server_helpers.js +46 -0
- package/esm/src/server_session_store.d.ts +87 -0
- package/esm/src/server_session_store.d.ts.map +1 -0
- package/esm/src/server_session_store.js +873 -0
- package/esm/src/server_types.d.ts +110 -0
- package/esm/src/server_types.d.ts.map +1 -0
- package/esm/src/server_types.js +1 -0
- package/esm/src/server_ui_routes.d.ts +33 -0
- package/esm/src/server_ui_routes.d.ts.map +1 -0
- package/esm/src/server_ui_routes.js +135 -0
- package/esm/src/session_artifacts.d.ts +22 -0
- package/esm/src/session_artifacts.d.ts.map +1 -0
- package/esm/src/session_artifacts.js +243 -0
- package/esm/src/trace.d.ts.map +1 -1
- package/esm/src/trace.js +6 -3
- package/esm/src/workspace.d.ts +19 -0
- package/esm/src/workspace.d.ts.map +1 -0
- package/esm/src/workspace.js +164 -0
- package/esm/src/workspace_contract.d.ts +76 -0
- package/esm/src/workspace_contract.d.ts.map +1 -0
- package/esm/src/workspace_contract.js +74 -0
- package/package.json +2 -2
- package/script/_dnt.polyfills.d.ts +17 -0
- package/script/_dnt.polyfills.d.ts.map +1 -1
- package/script/_dnt.polyfills.js +122 -0
- package/script/deps/jsr.io/@std/collections/1.1.5/deep_merge.d.ts +322 -0
- package/script/deps/jsr.io/@std/collections/1.1.5/deep_merge.d.ts.map +1 -0
- package/script/deps/jsr.io/@std/collections/1.1.5/deep_merge.js +108 -0
- package/script/deps/jsr.io/@std/fs/1.0.22/_create_walk_entry.d.ts +14 -0
- package/script/deps/jsr.io/@std/fs/1.0.22/_create_walk_entry.d.ts.map +1 -0
- package/script/deps/jsr.io/@std/fs/1.0.22/_create_walk_entry.js +71 -0
- package/script/deps/jsr.io/@std/fs/1.0.22/_get_file_info_type.d.ts +13 -0
- package/script/deps/jsr.io/@std/fs/1.0.22/_get_file_info_type.d.ts.map +1 -0
- package/script/deps/jsr.io/@std/fs/1.0.22/_get_file_info_type.js +21 -0
- package/script/deps/jsr.io/@std/fs/1.0.22/_is_same_path.d.ts +10 -0
- package/script/deps/jsr.io/@std/fs/1.0.22/_is_same_path.d.ts.map +1 -0
- package/script/deps/jsr.io/@std/fs/1.0.22/_is_same_path.js +20 -0
- package/script/deps/jsr.io/@std/fs/1.0.22/_is_subdir.d.ts +12 -0
- package/script/deps/jsr.io/@std/fs/1.0.22/_is_subdir.d.ts.map +1 -0
- package/script/deps/jsr.io/@std/fs/1.0.22/_is_subdir.js +28 -0
- package/script/deps/jsr.io/@std/fs/1.0.22/_to_path_string.d.ts +9 -0
- package/script/deps/jsr.io/@std/fs/1.0.22/_to_path_string.d.ts.map +1 -0
- package/script/deps/jsr.io/@std/fs/1.0.22/_to_path_string.js +16 -0
- package/script/deps/jsr.io/@std/fs/1.0.22/copy.d.ts +117 -0
- package/script/deps/jsr.io/@std/fs/1.0.22/copy.d.ts.map +1 -0
- package/script/deps/jsr.io/@std/fs/1.0.22/copy.js +350 -0
- package/script/deps/jsr.io/@std/fs/1.0.22/empty_dir.d.ts +48 -0
- package/script/deps/jsr.io/@std/fs/1.0.22/empty_dir.d.ts.map +1 -0
- package/script/deps/jsr.io/@std/fs/1.0.22/empty_dir.js +124 -0
- package/script/deps/jsr.io/@std/fs/1.0.22/ensure_dir.d.ts +49 -0
- package/script/deps/jsr.io/@std/fs/1.0.22/ensure_dir.d.ts.map +1 -0
- package/script/deps/jsr.io/@std/fs/1.0.22/ensure_dir.js +139 -0
- package/script/deps/jsr.io/@std/fs/1.0.22/ensure_file.d.ts +47 -0
- package/script/deps/jsr.io/@std/fs/1.0.22/ensure_file.d.ts.map +1 -0
- package/script/deps/jsr.io/@std/fs/1.0.22/ensure_file.js +127 -0
- package/script/deps/jsr.io/@std/fs/1.0.22/ensure_link.d.ts +49 -0
- package/script/deps/jsr.io/@std/fs/1.0.22/ensure_link.d.ts.map +1 -0
- package/script/deps/jsr.io/@std/fs/1.0.22/ensure_link.js +98 -0
- package/script/deps/jsr.io/@std/fs/1.0.22/ensure_symlink.d.ts +70 -0
- package/script/deps/jsr.io/@std/fs/1.0.22/ensure_symlink.d.ts.map +1 -0
- package/script/deps/jsr.io/@std/fs/1.0.22/ensure_symlink.js +193 -0
- package/script/deps/jsr.io/@std/fs/1.0.22/eol.d.ts +52 -0
- package/script/deps/jsr.io/@std/fs/1.0.22/eol.d.ts.map +1 -0
- package/script/deps/jsr.io/@std/fs/1.0.22/eol.js +105 -0
- package/script/deps/jsr.io/@std/fs/1.0.22/exists.d.ts +218 -0
- package/script/deps/jsr.io/@std/fs/1.0.22/exists.d.ts.map +1 -0
- package/script/deps/jsr.io/@std/fs/1.0.22/exists.js +308 -0
- package/script/deps/jsr.io/@std/fs/1.0.22/expand_glob.d.ts +267 -0
- package/script/deps/jsr.io/@std/fs/1.0.22/expand_glob.d.ts.map +1 -0
- package/script/deps/jsr.io/@std/fs/1.0.22/expand_glob.js +479 -0
- package/script/deps/jsr.io/@std/fs/1.0.22/mod.d.ts +29 -0
- package/script/deps/jsr.io/@std/fs/1.0.22/mod.d.ts.map +1 -0
- package/script/deps/jsr.io/@std/fs/1.0.22/mod.js +45 -0
- package/script/deps/jsr.io/@std/fs/1.0.22/move.d.ts +86 -0
- package/script/deps/jsr.io/@std/fs/1.0.22/move.d.ts.map +1 -0
- package/script/deps/jsr.io/@std/fs/1.0.22/move.js +179 -0
- package/script/deps/jsr.io/@std/fs/1.0.22/walk.d.ts +777 -0
- package/script/deps/jsr.io/@std/fs/1.0.22/walk.d.ts.map +1 -0
- package/script/deps/jsr.io/@std/fs/1.0.22/walk.js +883 -0
- package/script/deps/jsr.io/@std/json/1.0.2/types.d.ts +5 -0
- package/script/deps/jsr.io/@std/json/1.0.2/types.d.ts.map +1 -0
- package/script/deps/jsr.io/@std/json/1.0.2/types.js +4 -0
- package/script/deps/jsr.io/@std/jsonc/1.0.2/mod.d.ts +20 -0
- package/script/deps/jsr.io/@std/jsonc/1.0.2/mod.d.ts.map +1 -0
- package/script/deps/jsr.io/@std/jsonc/1.0.2/mod.js +37 -0
- package/script/deps/jsr.io/@std/jsonc/1.0.2/parse.d.ts +21 -0
- package/script/deps/jsr.io/@std/jsonc/1.0.2/parse.d.ts.map +1 -0
- package/script/deps/jsr.io/@std/jsonc/1.0.2/parse.js +323 -0
- package/script/deps/jsr.io/@std/toml/1.0.11/_parser.d.ts +93 -0
- package/script/deps/jsr.io/@std/toml/1.0.11/_parser.d.ts.map +1 -0
- package/script/deps/jsr.io/@std/toml/1.0.11/_parser.js +781 -0
- package/script/deps/jsr.io/@std/toml/1.0.11/mod.d.ts +109 -0
- package/script/deps/jsr.io/@std/toml/1.0.11/mod.d.ts.map +1 -0
- package/script/deps/jsr.io/@std/toml/1.0.11/mod.js +126 -0
- package/script/deps/jsr.io/@std/toml/1.0.11/parse.d.ts +21 -0
- package/script/deps/jsr.io/@std/toml/1.0.11/parse.d.ts.map +1 -0
- package/script/deps/jsr.io/@std/toml/1.0.11/parse.js +28 -0
- package/script/deps/jsr.io/@std/toml/1.0.11/stringify.d.ts +35 -0
- package/script/deps/jsr.io/@std/toml/1.0.11/stringify.d.ts.map +1 -0
- package/script/deps/jsr.io/@std/toml/1.0.11/stringify.js +286 -0
- package/script/gambit/simulator-ui/dist/bundle.js +10647 -4637
- package/script/gambit/simulator-ui/dist/bundle.js.map +4 -4
- package/script/mod.d.ts +13 -3
- package/script/mod.d.ts.map +1 -1
- package/script/mod.js +14 -5
- package/script/src/cli_utils.d.ts +1 -0
- package/script/src/cli_utils.d.ts.map +1 -1
- package/script/src/cli_utils.js +14 -1
- package/script/src/default_runtime.d.ts +46 -0
- package/script/src/default_runtime.d.ts.map +1 -0
- package/script/src/default_runtime.js +452 -0
- package/script/src/durable_streams.js +26 -1
- package/script/src/model_matchers.d.ts +10 -0
- package/script/src/model_matchers.d.ts.map +1 -0
- package/script/src/model_matchers.js +29 -0
- package/script/src/openai_compat.d.ts +12 -1
- package/script/src/openai_compat.d.ts.map +1 -1
- package/script/src/openai_compat.js +85 -0
- package/script/src/project_config.d.ts +47 -0
- package/script/src/project_config.d.ts.map +1 -0
- package/script/src/project_config.js +173 -0
- package/script/src/providers/codex.d.ts +37 -0
- package/script/src/providers/codex.d.ts.map +1 -0
- package/script/src/providers/codex.js +850 -0
- package/script/src/providers/google.d.ts +3 -1
- package/script/src/providers/google.d.ts.map +1 -1
- package/script/src/providers/google.js +82 -6
- package/script/src/providers/ollama.d.ts +3 -1
- package/script/src/providers/ollama.d.ts.map +1 -1
- package/script/src/providers/ollama.js +238 -15
- package/script/src/providers/openrouter.d.ts +6 -2
- package/script/src/providers/openrouter.d.ts.map +1 -1
- package/script/src/providers/openrouter.js +260 -23
- package/script/src/providers/router.d.ts +19 -0
- package/script/src/providers/router.d.ts.map +1 -0
- package/script/src/providers/router.js +96 -0
- package/script/src/server.d.ts +9 -0
- package/script/src/server.d.ts.map +1 -1
- package/script/src/server.js +3193 -659
- package/script/src/server_feedback_grading_routes.d.ts +32 -0
- package/script/src/server_feedback_grading_routes.d.ts.map +1 -0
- package/script/src/server_feedback_grading_routes.js +343 -0
- package/script/src/server_helpers.d.ts +4 -0
- package/script/src/server_helpers.d.ts.map +1 -0
- package/script/src/server_helpers.js +84 -0
- package/script/src/server_session_store.d.ts +87 -0
- package/script/src/server_session_store.d.ts.map +1 -0
- package/script/src/server_session_store.js +910 -0
- package/script/src/server_types.d.ts +110 -0
- package/script/src/server_types.d.ts.map +1 -0
- package/script/src/server_types.js +2 -0
- package/script/src/server_ui_routes.d.ts +33 -0
- package/script/src/server_ui_routes.d.ts.map +1 -0
- package/script/src/server_ui_routes.js +172 -0
- package/script/src/session_artifacts.d.ts +22 -0
- package/script/src/session_artifacts.d.ts.map +1 -0
- package/script/src/session_artifacts.js +279 -0
- package/script/src/trace.d.ts.map +1 -1
- package/script/src/trace.js +6 -3
- package/script/src/workspace.d.ts +19 -0
- package/script/src/workspace.d.ts.map +1 -0
- package/script/src/workspace.js +201 -0
- package/script/src/workspace_contract.d.ts +76 -0
- package/script/src/workspace_contract.d.ts.map +1 -0
- package/script/src/workspace_contract.js +82 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../../src/deps/jsr.io/@std/json/1.0.2/types.ts"],"names":[],"mappings":"AAGA,8CAA8C;AAC9C,MAAM,MAAM,SAAS,GACjB;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,SAAS,GAAG,SAAS,CAAA;CAAE,GACxC,SAAS,EAAE,GACX,MAAM,GACN,MAAM,GACN,OAAO,GACP,IAAI,CAAC"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Provides tools for working with
|
|
3
|
+
* {@link https://code.visualstudio.com/docs/languages/json#_json-with-comments | JSONC}
|
|
4
|
+
* (JSON with comments).
|
|
5
|
+
*
|
|
6
|
+
* Currently, this module only provides a means of parsing JSONC. JSONC
|
|
7
|
+
* serialization is not yet supported.
|
|
8
|
+
*
|
|
9
|
+
* ```ts
|
|
10
|
+
* import { parse } from "@std/jsonc";
|
|
11
|
+
* import { assertEquals } from "@std/assert";
|
|
12
|
+
*
|
|
13
|
+
* assertEquals(parse('{"foo": "bar", } // comment'), { foo: "bar" });
|
|
14
|
+
* assertEquals(parse('{"foo": "bar", } /* comment *\/'), { foo: "bar" });
|
|
15
|
+
* ```
|
|
16
|
+
*
|
|
17
|
+
* @module
|
|
18
|
+
*/
|
|
19
|
+
export * from "./parse.js";
|
|
20
|
+
//# sourceMappingURL=mod.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mod.d.ts","sourceRoot":"","sources":["../../../../../../src/deps/jsr.io/@std/jsonc/1.0.2/mod.ts"],"names":[],"mappings":"AAGA;;;;;;;;;;;;;;;;;GAiBG;AACH,cAAc,YAAY,CAAC"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
// Copyright 2018-2025 the Deno authors. MIT license.
|
|
2
|
+
// This module is browser compatible.
|
|
3
|
+
/**
|
|
4
|
+
* Provides tools for working with
|
|
5
|
+
* {@link https://code.visualstudio.com/docs/languages/json#_json-with-comments | JSONC}
|
|
6
|
+
* (JSON with comments).
|
|
7
|
+
*
|
|
8
|
+
* Currently, this module only provides a means of parsing JSONC. JSONC
|
|
9
|
+
* serialization is not yet supported.
|
|
10
|
+
*
|
|
11
|
+
* ```ts
|
|
12
|
+
* import { parse } from "@std/jsonc";
|
|
13
|
+
* import { assertEquals } from "@std/assert";
|
|
14
|
+
*
|
|
15
|
+
* assertEquals(parse('{"foo": "bar", } // comment'), { foo: "bar" });
|
|
16
|
+
* assertEquals(parse('{"foo": "bar", } /* comment *\/'), { foo: "bar" });
|
|
17
|
+
* ```
|
|
18
|
+
*
|
|
19
|
+
* @module
|
|
20
|
+
*/
|
|
21
|
+
export * from "./parse.js";
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import type { JsonValue } from "../../json/1.0.2/types.js";
|
|
2
|
+
export type { JsonValue };
|
|
3
|
+
/**
|
|
4
|
+
* Converts a JSON with Comments (JSONC) string into an object.
|
|
5
|
+
*
|
|
6
|
+
* @example Usage
|
|
7
|
+
* ```ts
|
|
8
|
+
* import { parse } from "@std/jsonc";
|
|
9
|
+
* import { assertEquals } from "@std/assert";
|
|
10
|
+
*
|
|
11
|
+
* assertEquals(parse('{"foo": "bar"}'), { foo: "bar" });
|
|
12
|
+
* assertEquals(parse('{"foo": "bar", }'), { foo: "bar" });
|
|
13
|
+
* assertEquals(parse('{"foo": "bar", } /* comment *\/'), { foo: "bar" });
|
|
14
|
+
* ```
|
|
15
|
+
*
|
|
16
|
+
* @throws {SyntaxError} If the JSONC string is invalid.
|
|
17
|
+
* @param text A valid JSONC string.
|
|
18
|
+
* @returns The parsed JsonValue from the JSONC string.
|
|
19
|
+
*/
|
|
20
|
+
export declare function parse(text: string): JsonValue;
|
|
21
|
+
//# sourceMappingURL=parse.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"parse.d.ts","sourceRoot":"","sources":["../../../../../../src/deps/jsr.io/@std/jsonc/1.0.2/parse.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC;AAC3D,YAAY,EAAE,SAAS,EAAE,CAAC;AAE1B;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,KAAK,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,CAO7C"}
|
|
@@ -0,0 +1,320 @@
|
|
|
1
|
+
// Copyright 2018-2025 the Deno authors. MIT license.
|
|
2
|
+
// This module is browser compatible.
|
|
3
|
+
var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, state, value, kind, f) {
|
|
4
|
+
if (kind === "m") throw new TypeError("Private method is not writable");
|
|
5
|
+
if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a setter");
|
|
6
|
+
if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot write private member to an object whose class did not declare it");
|
|
7
|
+
return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
|
|
8
|
+
};
|
|
9
|
+
var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
|
|
10
|
+
if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
|
|
11
|
+
if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
|
|
12
|
+
return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
|
|
13
|
+
};
|
|
14
|
+
var _JsoncParser_instances, _JsoncParser_whitespace, _JsoncParser_numberEndToken, _JsoncParser_text, _JsoncParser_length, _JsoncParser_tokenized, _JsoncParser_getNext, _JsoncParser_tokenize, _JsoncParser_parseJsonValue, _JsoncParser_parseObject, _JsoncParser_parseArray, _JsoncParser_parseString, _JsoncParser_parseNullOrTrueOrFalseOrNumber;
|
|
15
|
+
/**
|
|
16
|
+
* Converts a JSON with Comments (JSONC) string into an object.
|
|
17
|
+
*
|
|
18
|
+
* @example Usage
|
|
19
|
+
* ```ts
|
|
20
|
+
* import { parse } from "@std/jsonc";
|
|
21
|
+
* import { assertEquals } from "@std/assert";
|
|
22
|
+
*
|
|
23
|
+
* assertEquals(parse('{"foo": "bar"}'), { foo: "bar" });
|
|
24
|
+
* assertEquals(parse('{"foo": "bar", }'), { foo: "bar" });
|
|
25
|
+
* assertEquals(parse('{"foo": "bar", } /* comment *\/'), { foo: "bar" });
|
|
26
|
+
* ```
|
|
27
|
+
*
|
|
28
|
+
* @throws {SyntaxError} If the JSONC string is invalid.
|
|
29
|
+
* @param text A valid JSONC string.
|
|
30
|
+
* @returns The parsed JsonValue from the JSONC string.
|
|
31
|
+
*/
|
|
32
|
+
export function parse(text) {
|
|
33
|
+
if (globalThis[Symbol.for("import-meta-ponyfill-esmodule")](import.meta)) {
|
|
34
|
+
throw new TypeError("Cannot create an instance: parse is not a constructor");
|
|
35
|
+
}
|
|
36
|
+
return new JsoncParser(text).parse();
|
|
37
|
+
}
|
|
38
|
+
// First tokenize and then parse the token.
|
|
39
|
+
class JsoncParser {
|
|
40
|
+
constructor(text) {
|
|
41
|
+
_JsoncParser_instances.add(this);
|
|
42
|
+
_JsoncParser_whitespace.set(this, new Set(" \t\r\n"));
|
|
43
|
+
_JsoncParser_numberEndToken.set(this, new Set([..."[]{}:,/", ...__classPrivateFieldGet(this, _JsoncParser_whitespace, "f")]));
|
|
44
|
+
_JsoncParser_text.set(this, void 0);
|
|
45
|
+
_JsoncParser_length.set(this, void 0);
|
|
46
|
+
_JsoncParser_tokenized.set(this, void 0);
|
|
47
|
+
__classPrivateFieldSet(this, _JsoncParser_text, `${text}`, "f");
|
|
48
|
+
__classPrivateFieldSet(this, _JsoncParser_length, __classPrivateFieldGet(this, _JsoncParser_text, "f").length, "f");
|
|
49
|
+
__classPrivateFieldSet(this, _JsoncParser_tokenized, __classPrivateFieldGet(this, _JsoncParser_instances, "m", _JsoncParser_tokenize).call(this), "f");
|
|
50
|
+
}
|
|
51
|
+
parse() {
|
|
52
|
+
const token = __classPrivateFieldGet(this, _JsoncParser_instances, "m", _JsoncParser_getNext).call(this);
|
|
53
|
+
const res = __classPrivateFieldGet(this, _JsoncParser_instances, "m", _JsoncParser_parseJsonValue).call(this, token);
|
|
54
|
+
// make sure all characters have been read
|
|
55
|
+
const { done, value } = __classPrivateFieldGet(this, _JsoncParser_tokenized, "f").next();
|
|
56
|
+
if (!done) {
|
|
57
|
+
throw new SyntaxError(buildErrorMessage(value));
|
|
58
|
+
}
|
|
59
|
+
return res;
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
_JsoncParser_whitespace = new WeakMap(), _JsoncParser_numberEndToken = new WeakMap(), _JsoncParser_text = new WeakMap(), _JsoncParser_length = new WeakMap(), _JsoncParser_tokenized = new WeakMap(), _JsoncParser_instances = new WeakSet(), _JsoncParser_getNext = function _JsoncParser_getNext() {
|
|
63
|
+
const { done, value } = __classPrivateFieldGet(this, _JsoncParser_tokenized, "f").next();
|
|
64
|
+
if (done) {
|
|
65
|
+
throw new SyntaxError("Cannot parse JSONC: unexpected end of JSONC input");
|
|
66
|
+
}
|
|
67
|
+
return value;
|
|
68
|
+
}, _JsoncParser_tokenize = function
|
|
69
|
+
/** Split the JSONC string into token units. Whitespace and comments are skipped. */
|
|
70
|
+
* _JsoncParser_tokenize() {
|
|
71
|
+
for (let i = 0; i < __classPrivateFieldGet(this, _JsoncParser_length, "f"); i++) {
|
|
72
|
+
// skip whitespace
|
|
73
|
+
if (__classPrivateFieldGet(this, _JsoncParser_whitespace, "f").has(__classPrivateFieldGet(this, _JsoncParser_text, "f")[i])) {
|
|
74
|
+
continue;
|
|
75
|
+
}
|
|
76
|
+
// skip multi line comment (`/*...*/`)
|
|
77
|
+
if (__classPrivateFieldGet(this, _JsoncParser_text, "f")[i] === "/" && __classPrivateFieldGet(this, _JsoncParser_text, "f")[i + 1] === "*") {
|
|
78
|
+
i += 2;
|
|
79
|
+
let hasEndOfComment = false;
|
|
80
|
+
for (; i < __classPrivateFieldGet(this, _JsoncParser_length, "f"); i++) { // read until find `*/`
|
|
81
|
+
if (__classPrivateFieldGet(this, _JsoncParser_text, "f")[i] === "*" && __classPrivateFieldGet(this, _JsoncParser_text, "f")[i + 1] === "/") {
|
|
82
|
+
hasEndOfComment = true;
|
|
83
|
+
break;
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
if (!hasEndOfComment) {
|
|
87
|
+
throw new SyntaxError("Cannot parse JSONC: unexpected end of JSONC input");
|
|
88
|
+
}
|
|
89
|
+
i++;
|
|
90
|
+
continue;
|
|
91
|
+
}
|
|
92
|
+
// skip single line comment (`//...`)
|
|
93
|
+
if (__classPrivateFieldGet(this, _JsoncParser_text, "f")[i] === "/" && __classPrivateFieldGet(this, _JsoncParser_text, "f")[i + 1] === "/") {
|
|
94
|
+
i += 2;
|
|
95
|
+
for (; i < __classPrivateFieldGet(this, _JsoncParser_length, "f"); i++) { // read until find `\n` or `\r`
|
|
96
|
+
if (__classPrivateFieldGet(this, _JsoncParser_text, "f")[i] === "\n" || __classPrivateFieldGet(this, _JsoncParser_text, "f")[i] === "\r") {
|
|
97
|
+
break;
|
|
98
|
+
}
|
|
99
|
+
}
|
|
100
|
+
continue;
|
|
101
|
+
}
|
|
102
|
+
switch (__classPrivateFieldGet(this, _JsoncParser_text, "f")[i]) {
|
|
103
|
+
case "{":
|
|
104
|
+
yield { type: "BeginObject", position: i };
|
|
105
|
+
break;
|
|
106
|
+
case "}":
|
|
107
|
+
yield { type: "EndObject", position: i };
|
|
108
|
+
break;
|
|
109
|
+
case "[":
|
|
110
|
+
yield { type: "BeginArray", position: i };
|
|
111
|
+
break;
|
|
112
|
+
case "]":
|
|
113
|
+
yield { type: "EndArray", position: i };
|
|
114
|
+
break;
|
|
115
|
+
case ":":
|
|
116
|
+
yield { type: "NameSeparator", position: i };
|
|
117
|
+
break;
|
|
118
|
+
case ",":
|
|
119
|
+
yield { type: "ValueSeparator", position: i };
|
|
120
|
+
break;
|
|
121
|
+
case '"': { // parse string token
|
|
122
|
+
const startIndex = i;
|
|
123
|
+
// Need to handle consecutive backslashes correctly
|
|
124
|
+
// '"\\""' => '"'
|
|
125
|
+
// '"\\\\"' => '\\'
|
|
126
|
+
// '"\\\\\\""' => '\\"'
|
|
127
|
+
// '"\\\\\\\\"' => '\\\\'
|
|
128
|
+
let shouldEscapeNext = false;
|
|
129
|
+
i++;
|
|
130
|
+
for (; i < __classPrivateFieldGet(this, _JsoncParser_length, "f"); i++) { // read until find `"`
|
|
131
|
+
if (__classPrivateFieldGet(this, _JsoncParser_text, "f")[i] === '"' && !shouldEscapeNext) {
|
|
132
|
+
break;
|
|
133
|
+
}
|
|
134
|
+
shouldEscapeNext = __classPrivateFieldGet(this, _JsoncParser_text, "f")[i] === "\\" && !shouldEscapeNext;
|
|
135
|
+
}
|
|
136
|
+
yield {
|
|
137
|
+
type: "String",
|
|
138
|
+
sourceText: __classPrivateFieldGet(this, _JsoncParser_text, "f").substring(startIndex, i + 1),
|
|
139
|
+
position: startIndex,
|
|
140
|
+
};
|
|
141
|
+
break;
|
|
142
|
+
}
|
|
143
|
+
default: { // parse null, true, false or number token
|
|
144
|
+
const startIndex = i;
|
|
145
|
+
for (; i < __classPrivateFieldGet(this, _JsoncParser_length, "f"); i++) { // read until find numberEndToken
|
|
146
|
+
if (__classPrivateFieldGet(this, _JsoncParser_numberEndToken, "f").has(__classPrivateFieldGet(this, _JsoncParser_text, "f")[i])) {
|
|
147
|
+
break;
|
|
148
|
+
}
|
|
149
|
+
}
|
|
150
|
+
i--;
|
|
151
|
+
yield {
|
|
152
|
+
type: "NullOrTrueOrFalseOrNumber",
|
|
153
|
+
sourceText: __classPrivateFieldGet(this, _JsoncParser_text, "f").substring(startIndex, i + 1),
|
|
154
|
+
position: startIndex,
|
|
155
|
+
};
|
|
156
|
+
}
|
|
157
|
+
}
|
|
158
|
+
}
|
|
159
|
+
}, _JsoncParser_parseJsonValue = function _JsoncParser_parseJsonValue(value) {
|
|
160
|
+
switch (value.type) {
|
|
161
|
+
case "BeginObject":
|
|
162
|
+
return __classPrivateFieldGet(this, _JsoncParser_instances, "m", _JsoncParser_parseObject).call(this);
|
|
163
|
+
case "BeginArray":
|
|
164
|
+
return __classPrivateFieldGet(this, _JsoncParser_instances, "m", _JsoncParser_parseArray).call(this);
|
|
165
|
+
case "NullOrTrueOrFalseOrNumber":
|
|
166
|
+
return __classPrivateFieldGet(this, _JsoncParser_instances, "m", _JsoncParser_parseNullOrTrueOrFalseOrNumber).call(this, value);
|
|
167
|
+
case "String":
|
|
168
|
+
return __classPrivateFieldGet(this, _JsoncParser_instances, "m", _JsoncParser_parseString).call(this, value);
|
|
169
|
+
default:
|
|
170
|
+
throw new SyntaxError(buildErrorMessage(value));
|
|
171
|
+
}
|
|
172
|
+
}, _JsoncParser_parseObject = function _JsoncParser_parseObject() {
|
|
173
|
+
const target = {};
|
|
174
|
+
// ┌─token1
|
|
175
|
+
// { }
|
|
176
|
+
// ┌─────────────token1
|
|
177
|
+
// │ ┌─────────token2
|
|
178
|
+
// │ │ ┌─────token3
|
|
179
|
+
// │ │ │ ┌─token4
|
|
180
|
+
// { "key" : value }
|
|
181
|
+
// ┌───────────────token1
|
|
182
|
+
// │ ┌───────────token2
|
|
183
|
+
// │ │ ┌───────token3
|
|
184
|
+
// │ │ │ ┌───token4
|
|
185
|
+
// │ │ │ │ ┌─token1
|
|
186
|
+
// { "key" : value , }
|
|
187
|
+
// ┌─────────────────────────────token1
|
|
188
|
+
// │ ┌─────────────────────────token2
|
|
189
|
+
// │ │ ┌─────────────────────token3
|
|
190
|
+
// │ │ │ ┌─────────────────token4
|
|
191
|
+
// │ │ │ │ ┌─────────────token1
|
|
192
|
+
// │ │ │ │ │ ┌─────────token2
|
|
193
|
+
// │ │ │ │ │ │ ┌─────token3
|
|
194
|
+
// │ │ │ │ │ │ │ ┌─token4
|
|
195
|
+
// { "key" : value , "key" : value }
|
|
196
|
+
while (true) {
|
|
197
|
+
const token1 = __classPrivateFieldGet(this, _JsoncParser_instances, "m", _JsoncParser_getNext).call(this);
|
|
198
|
+
if (token1.type === "EndObject") {
|
|
199
|
+
return target;
|
|
200
|
+
}
|
|
201
|
+
if (token1.type !== "String") {
|
|
202
|
+
throw new SyntaxError(buildErrorMessage(token1));
|
|
203
|
+
}
|
|
204
|
+
const key = __classPrivateFieldGet(this, _JsoncParser_instances, "m", _JsoncParser_parseString).call(this, token1);
|
|
205
|
+
const token2 = __classPrivateFieldGet(this, _JsoncParser_instances, "m", _JsoncParser_getNext).call(this);
|
|
206
|
+
if (token2.type !== "NameSeparator") {
|
|
207
|
+
throw new SyntaxError(buildErrorMessage(token2));
|
|
208
|
+
}
|
|
209
|
+
const token3 = __classPrivateFieldGet(this, _JsoncParser_instances, "m", _JsoncParser_getNext).call(this);
|
|
210
|
+
Object.defineProperty(target, key, {
|
|
211
|
+
value: __classPrivateFieldGet(this, _JsoncParser_instances, "m", _JsoncParser_parseJsonValue).call(this, token3),
|
|
212
|
+
writable: true,
|
|
213
|
+
enumerable: true,
|
|
214
|
+
configurable: true,
|
|
215
|
+
});
|
|
216
|
+
const token4 = __classPrivateFieldGet(this, _JsoncParser_instances, "m", _JsoncParser_getNext).call(this);
|
|
217
|
+
if (token4.type === "EndObject") {
|
|
218
|
+
return target;
|
|
219
|
+
}
|
|
220
|
+
if (token4.type !== "ValueSeparator") {
|
|
221
|
+
throw new SyntaxError(buildErrorMessage(token4));
|
|
222
|
+
}
|
|
223
|
+
}
|
|
224
|
+
}, _JsoncParser_parseArray = function _JsoncParser_parseArray() {
|
|
225
|
+
const target = [];
|
|
226
|
+
// ┌─token1
|
|
227
|
+
// [ ]
|
|
228
|
+
// ┌─────────────token1
|
|
229
|
+
// │ ┌─────────token2
|
|
230
|
+
// [ value ]
|
|
231
|
+
// ┌───────token1
|
|
232
|
+
// │ ┌───token2
|
|
233
|
+
// │ │ ┌─token1
|
|
234
|
+
// [ value , ]
|
|
235
|
+
// ┌─────────────token1
|
|
236
|
+
// │ ┌─────────token2
|
|
237
|
+
// │ │ ┌─────token1
|
|
238
|
+
// │ │ │ ┌─token2
|
|
239
|
+
// [ value , value ]
|
|
240
|
+
while (true) {
|
|
241
|
+
const token1 = __classPrivateFieldGet(this, _JsoncParser_instances, "m", _JsoncParser_getNext).call(this);
|
|
242
|
+
if (token1.type === "EndArray") {
|
|
243
|
+
return target;
|
|
244
|
+
}
|
|
245
|
+
target.push(__classPrivateFieldGet(this, _JsoncParser_instances, "m", _JsoncParser_parseJsonValue).call(this, token1));
|
|
246
|
+
const token2 = __classPrivateFieldGet(this, _JsoncParser_instances, "m", _JsoncParser_getNext).call(this);
|
|
247
|
+
if (token2.type === "EndArray") {
|
|
248
|
+
return target;
|
|
249
|
+
}
|
|
250
|
+
if (token2.type !== "ValueSeparator") {
|
|
251
|
+
throw new SyntaxError(buildErrorMessage(token2));
|
|
252
|
+
}
|
|
253
|
+
}
|
|
254
|
+
}, _JsoncParser_parseString = function _JsoncParser_parseString(value) {
|
|
255
|
+
let parsed;
|
|
256
|
+
try {
|
|
257
|
+
// Use JSON.parse to handle `\u0000` etc. correctly.
|
|
258
|
+
parsed = JSON.parse(value.sourceText);
|
|
259
|
+
}
|
|
260
|
+
catch {
|
|
261
|
+
throw new SyntaxError(buildErrorMessage(value));
|
|
262
|
+
}
|
|
263
|
+
if (typeof parsed !== "string") {
|
|
264
|
+
throw new TypeError(`Parsed value is not a string: ${parsed}`);
|
|
265
|
+
}
|
|
266
|
+
return parsed;
|
|
267
|
+
}, _JsoncParser_parseNullOrTrueOrFalseOrNumber = function _JsoncParser_parseNullOrTrueOrFalseOrNumber(value) {
|
|
268
|
+
if (value.sourceText === "null") {
|
|
269
|
+
return null;
|
|
270
|
+
}
|
|
271
|
+
if (value.sourceText === "true") {
|
|
272
|
+
return true;
|
|
273
|
+
}
|
|
274
|
+
if (value.sourceText === "false") {
|
|
275
|
+
return false;
|
|
276
|
+
}
|
|
277
|
+
let parsed;
|
|
278
|
+
try {
|
|
279
|
+
// Use JSON.parse to handle `+100`, `Infinity` etc. correctly.
|
|
280
|
+
parsed = JSON.parse(value.sourceText);
|
|
281
|
+
}
|
|
282
|
+
catch {
|
|
283
|
+
throw new SyntaxError(buildErrorMessage(value));
|
|
284
|
+
}
|
|
285
|
+
if (typeof parsed !== "number") {
|
|
286
|
+
throw new TypeError(`Parsed value is not a number: ${parsed}`);
|
|
287
|
+
}
|
|
288
|
+
return parsed;
|
|
289
|
+
};
|
|
290
|
+
function buildErrorMessage({ type, sourceText, position }) {
|
|
291
|
+
let token = "";
|
|
292
|
+
switch (type) {
|
|
293
|
+
case "BeginObject":
|
|
294
|
+
token = "{";
|
|
295
|
+
break;
|
|
296
|
+
case "EndObject":
|
|
297
|
+
token = "}";
|
|
298
|
+
break;
|
|
299
|
+
case "BeginArray":
|
|
300
|
+
token = "[";
|
|
301
|
+
break;
|
|
302
|
+
case "EndArray":
|
|
303
|
+
token = "]";
|
|
304
|
+
break;
|
|
305
|
+
case "NameSeparator":
|
|
306
|
+
token = ":";
|
|
307
|
+
break;
|
|
308
|
+
case "ValueSeparator":
|
|
309
|
+
token = ",";
|
|
310
|
+
break;
|
|
311
|
+
case "NullOrTrueOrFalseOrNumber":
|
|
312
|
+
case "String":
|
|
313
|
+
// Truncate the string so that it is within 30 lengths.
|
|
314
|
+
token = 30 < sourceText.length
|
|
315
|
+
? `${sourceText.slice(0, 30)}...`
|
|
316
|
+
: sourceText;
|
|
317
|
+
break;
|
|
318
|
+
}
|
|
319
|
+
return `Cannot parse JSONC: unexpected token "${token}" in JSONC at position ${position}`;
|
|
320
|
+
}
|
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
interface Success<T> {
|
|
2
|
+
ok: true;
|
|
3
|
+
body: T;
|
|
4
|
+
}
|
|
5
|
+
interface Failure {
|
|
6
|
+
ok: false;
|
|
7
|
+
}
|
|
8
|
+
type ParseResult<T> = Success<T> | Failure;
|
|
9
|
+
type ParserComponent<T = unknown> = (scanner: Scanner) => ParseResult<T>;
|
|
10
|
+
type Block = {
|
|
11
|
+
type: "Block";
|
|
12
|
+
value: Record<string, unknown>;
|
|
13
|
+
};
|
|
14
|
+
type Table = {
|
|
15
|
+
type: "Table";
|
|
16
|
+
keys: string[];
|
|
17
|
+
value: Record<string, unknown>;
|
|
18
|
+
};
|
|
19
|
+
type TableArray = {
|
|
20
|
+
type: "TableArray";
|
|
21
|
+
keys: string[];
|
|
22
|
+
value: Record<string, unknown>;
|
|
23
|
+
};
|
|
24
|
+
export declare class Scanner {
|
|
25
|
+
#private;
|
|
26
|
+
constructor(source: string);
|
|
27
|
+
get position(): number;
|
|
28
|
+
get source(): string;
|
|
29
|
+
/**
|
|
30
|
+
* Get current character
|
|
31
|
+
* @param index - relative index from current position
|
|
32
|
+
*/
|
|
33
|
+
char(index?: number): string;
|
|
34
|
+
/**
|
|
35
|
+
* Get sliced string
|
|
36
|
+
* @param start - start position relative from current position
|
|
37
|
+
* @param end - end position relative from current position
|
|
38
|
+
*/
|
|
39
|
+
slice(start: number, end: number): string;
|
|
40
|
+
/**
|
|
41
|
+
* Move position to next
|
|
42
|
+
*/
|
|
43
|
+
next(count?: number): void;
|
|
44
|
+
skipWhitespaces(): void;
|
|
45
|
+
nextUntilChar(options?: {
|
|
46
|
+
skipComments?: boolean;
|
|
47
|
+
}): void;
|
|
48
|
+
/**
|
|
49
|
+
* Position reached EOF or not
|
|
50
|
+
*/
|
|
51
|
+
eof(): boolean;
|
|
52
|
+
isCurrentCharEOL(): boolean;
|
|
53
|
+
startsWith(searchString: string): boolean;
|
|
54
|
+
match(regExp: RegExp): RegExpMatchArray | null;
|
|
55
|
+
}
|
|
56
|
+
/**
|
|
57
|
+
* Creates a nested object from the keys and values.
|
|
58
|
+
*
|
|
59
|
+
* e.g. `unflat(["a", "b", "c"], 1)` returns `{ a: { b: { c: 1 } } }`
|
|
60
|
+
*/
|
|
61
|
+
export declare function unflat(keys: string[], values?: unknown): Record<string, unknown>;
|
|
62
|
+
export declare function deepAssign(target: Record<string, unknown>, body: Block | Table | TableArray): Record<string, unknown>;
|
|
63
|
+
export declare function bareKey(scanner: Scanner): ParseResult<string>;
|
|
64
|
+
export declare function basicString(scanner: Scanner): ParseResult<string>;
|
|
65
|
+
export declare function literalString(scanner: Scanner): ParseResult<string>;
|
|
66
|
+
export declare function multilineBasicString(scanner: Scanner): ParseResult<string>;
|
|
67
|
+
export declare function multilineLiteralString(scanner: Scanner): ParseResult<string>;
|
|
68
|
+
export declare function boolean(scanner: Scanner): ParseResult<boolean>;
|
|
69
|
+
export declare function infinity(scanner: Scanner): ParseResult<number>;
|
|
70
|
+
export declare function nan(scanner: Scanner): ParseResult<number>;
|
|
71
|
+
export declare const dottedKey: ParserComponent<string[]>;
|
|
72
|
+
export declare function binary(scanner: Scanner): ParseResult<number | string>;
|
|
73
|
+
export declare function octal(scanner: Scanner): ParseResult<number | string>;
|
|
74
|
+
export declare function hex(scanner: Scanner): ParseResult<number | string>;
|
|
75
|
+
export declare function integer(scanner: Scanner): ParseResult<number | string>;
|
|
76
|
+
export declare function float(scanner: Scanner): ParseResult<number>;
|
|
77
|
+
export declare function dateTime(scanner: Scanner): ParseResult<Date>;
|
|
78
|
+
export declare function localTime(scanner: Scanner): ParseResult<string>;
|
|
79
|
+
export declare function arrayValue(scanner: Scanner): ParseResult<unknown[]>;
|
|
80
|
+
export declare function inlineTable(scanner: Scanner): ParseResult<Record<string, unknown>>;
|
|
81
|
+
export declare const value: ParserComponent<string | number | boolean | unknown[] | Record<string, unknown> | Date>;
|
|
82
|
+
export declare const pair: ParserComponent<{
|
|
83
|
+
[key: string]: unknown;
|
|
84
|
+
}>;
|
|
85
|
+
export declare function block(scanner: Scanner): ParseResult<Block>;
|
|
86
|
+
export declare const tableHeader: ParserComponent<string[]>;
|
|
87
|
+
export declare function table(scanner: Scanner): ParseResult<Table>;
|
|
88
|
+
export declare const tableArrayHeader: ParserComponent<string[]>;
|
|
89
|
+
export declare function tableArray(scanner: Scanner): ParseResult<TableArray>;
|
|
90
|
+
export declare function toml(scanner: Scanner): ParseResult<Record<string, unknown>>;
|
|
91
|
+
export declare function parserFactory<T>(parser: ParserComponent<T>): (tomlString: string) => T;
|
|
92
|
+
export {};
|
|
93
|
+
//# sourceMappingURL=_parser.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"_parser.d.ts","sourceRoot":"","sources":["../../../../../../src/deps/jsr.io/@std/toml/1.0.11/_parser.ts"],"names":[],"mappings":"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"}
|