@pyric/cli 0.1.0-alpha.16 → 0.1.0-alpha.17
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/README.md +13 -9
- package/dist/assurance/.generated/conformance-verdicts.d.ts +80 -72
- package/dist/assurance/.generated/conformance-verdicts.d.ts.map +1 -1
- package/dist/assurance/.generated/conformance-verdicts.js +80 -72
- package/dist/assurance/.generated/conformance-verdicts.js.map +1 -1
- package/dist/cli/database-rules.d.ts.map +1 -1
- package/dist/cli/database-rules.js +6 -4
- package/dist/cli/database-rules.js.map +1 -1
- package/dist/cli/dev-runner.d.ts +9 -0
- package/dist/cli/dev-runner.d.ts.map +1 -1
- package/dist/cli/dev-runner.js +18 -0
- package/dist/cli/dev-runner.js.map +1 -1
- package/dist/cli/serve.d.ts.map +1 -1
- package/dist/cli/serve.js +61 -6
- package/dist/cli/serve.js.map +1 -1
- package/dist/cli/verify.js +2 -2
- package/dist/cli/verify.js.map +1 -1
- package/dist/conformance/.generated/can-i-use-browser.d.ts.map +1 -1
- package/dist/conformance/.generated/can-i-use-browser.js +1 -1
- package/dist/conformance/.generated/can-i-use-browser.js.map +1 -1
- package/dist/conformance/.generated/can-i-use.d.ts.map +1 -1
- package/dist/conformance/.generated/can-i-use.js +1 -1
- package/dist/conformance/.generated/can-i-use.js.map +1 -1
- package/dist/conformance/.generated/conformance-docs.d.ts.map +1 -1
- package/dist/conformance/.generated/conformance-docs.js +1 -1
- package/dist/conformance/.generated/conformance-docs.js.map +1 -1
- package/dist/next/client-aliases.d.ts +11 -0
- package/dist/next/client-aliases.d.ts.map +1 -0
- package/dist/next/client-aliases.js +38 -0
- package/dist/next/client-aliases.js.map +1 -0
- package/dist/next/dev-rewrites.d.ts +9 -0
- package/dist/next/dev-rewrites.d.ts.map +1 -0
- package/dist/next/dev-rewrites.js +53 -0
- package/dist/next/dev-rewrites.js.map +1 -0
- package/dist/next/guard.d.ts +15 -0
- package/dist/next/guard.d.ts.map +1 -0
- package/dist/next/guard.js +52 -0
- package/dist/next/guard.js.map +1 -0
- package/dist/next/index.d.ts +12 -0
- package/dist/next/index.d.ts.map +1 -0
- package/dist/next/index.js +11 -0
- package/dist/next/index.js.map +1 -0
- package/dist/next/runtime-env.d.ts +7 -0
- package/dist/next/runtime-env.d.ts.map +1 -0
- package/dist/next/runtime-env.js +13 -0
- package/dist/next/runtime-env.js.map +1 -0
- package/dist/next/server-external-packages.d.ts +10 -0
- package/dist/next/server-external-packages.d.ts.map +1 -0
- package/dist/next/server-external-packages.js +34 -0
- package/dist/next/server-external-packages.js.map +1 -0
- package/dist/next/target-url.d.ts +11 -0
- package/dist/next/target-url.d.ts.map +1 -0
- package/dist/next/target-url.js +36 -0
- package/dist/next/target-url.js.map +1 -0
- package/dist/next/turbopack-config.d.ts +9 -0
- package/dist/next/turbopack-config.d.ts.map +1 -0
- package/dist/next/turbopack-config.js +39 -0
- package/dist/next/turbopack-config.js.map +1 -0
- package/dist/next/types.d.ts +40 -0
- package/dist/next/types.d.ts.map +1 -0
- package/dist/next/types.js +5 -0
- package/dist/next/types.js.map +1 -0
- package/dist/next/webpack-config.d.ts +11 -0
- package/dist/next/webpack-config.d.ts.map +1 -0
- package/dist/next/webpack-config.js +51 -0
- package/dist/next/webpack-config.js.map +1 -0
- package/dist/next/with-pyric.d.ts +22 -0
- package/dist/next/with-pyric.d.ts.map +1 -0
- package/dist/next/with-pyric.js +49 -0
- package/dist/next/with-pyric.js.map +1 -0
- package/dist/register/app-bridge.d.ts +9 -0
- package/dist/register/app-bridge.d.ts.map +1 -0
- package/dist/register/app-bridge.js +56 -0
- package/dist/register/app-bridge.js.map +1 -0
- package/dist/register/hooks.d.ts.map +1 -1
- package/dist/register/hooks.js +6 -1
- package/dist/register/hooks.js.map +1 -1
- package/dist/register/index.js +1 -1
- package/dist/register/index.js.map +1 -1
- package/dist/register/mapping.d.ts +3 -1
- package/dist/register/mapping.d.ts.map +1 -1
- package/dist/register/mapping.js +41 -5
- package/dist/register/mapping.js.map +1 -1
- package/dist/rtdb/rules-json.d.ts +12 -0
- package/dist/rtdb/rules-json.d.ts.map +1 -1
- package/dist/rtdb/rules-json.js +98 -0
- package/dist/rtdb/rules-json.js.map +1 -1
- package/dist/serve/bundler.d.ts.map +1 -1
- package/dist/serve/bundler.js +2 -0
- package/dist/serve/bundler.js.map +1 -1
- package/dist/serve/discovery.d.ts +4 -4
- package/dist/serve/discovery.d.ts.map +1 -1
- package/dist/serve/discovery.js +59 -38
- package/dist/serve/discovery.js.map +1 -1
- package/dist/serve/entries/app-ai-passthrough.d.ts +8 -0
- package/dist/serve/entries/app-ai-passthrough.d.ts.map +1 -0
- package/dist/serve/entries/app-ai-passthrough.js +59 -0
- package/dist/serve/entries/app-ai-passthrough.js.map +1 -0
- package/dist/serve/entries/auth-helper-core.js +9 -7
- package/dist/serve/entries/auth-helper-core.js.map +1 -1
- package/dist/serve/entries/auth.d.ts +1 -0
- package/dist/serve/entries/auth.d.ts.map +1 -1
- package/dist/serve/entries/auth.js +1 -0
- package/dist/serve/entries/auth.js.map +1 -1
- package/dist/serve/entries/bridge-url.d.ts.map +1 -1
- package/dist/serve/entries/bridge-url.js +7 -2
- package/dist/serve/entries/bridge-url.js.map +1 -1
- package/dist/serve/entries/database.d.ts +1 -0
- package/dist/serve/entries/database.d.ts.map +1 -1
- package/dist/serve/entries/database.js +1 -0
- package/dist/serve/entries/database.js.map +1 -1
- package/dist/serve/entries/firestore.d.ts +1 -0
- package/dist/serve/entries/firestore.d.ts.map +1 -1
- package/dist/serve/entries/firestore.js +1 -0
- package/dist/serve/entries/firestore.js.map +1 -1
- package/dist/serve/entries/init.d.ts.map +1 -1
- package/dist/serve/entries/init.js +4 -2
- package/dist/serve/entries/init.js.map +1 -1
- package/dist/serve/entries/runtime.js +23 -0
- package/dist/serve/entries/runtime.js.map +1 -1
- package/dist/serve/entries/storage.d.ts +2 -0
- package/dist/serve/entries/storage.d.ts.map +1 -1
- package/dist/serve/entries/storage.js +9 -2
- package/dist/serve/entries/storage.js.map +1 -1
- package/dist/serve/html-injection.d.ts +3 -1
- package/dist/serve/html-injection.d.ts.map +1 -1
- package/dist/serve/html-injection.js +27 -1
- package/dist/serve/html-injection.js.map +1 -1
- package/dist/serve/rules.js +2 -2
- package/dist/serve/rules.js.map +1 -1
- package/dist/serve/runtime/chip-config.d.ts +1 -1
- package/dist/serve/runtime/chip-config.d.ts.map +1 -1
- package/dist/serve/runtime/chip-config.js +16 -8
- package/dist/serve/runtime/chip-config.js.map +1 -1
- package/dist/serve/sandbox-session.d.ts +1 -0
- package/dist/serve/sandbox-session.d.ts.map +1 -1
- package/dist/serve/sandbox-session.js +30 -2
- package/dist/serve/sandbox-session.js.map +1 -1
- package/dist/serve/site-ui/_astro/_studio_.B6b_G1ev.css +1 -0
- package/dist/serve/site-ui/_astro/app.bnmVTkIY.js +11 -0
- package/dist/serve/site-ui/_astro/app.t6u-adB_.js +1 -0
- package/dist/serve/site-ui/_astro/{chess-showcase.CnoxIle5.js → chess-showcase.kC8dXLKY.js} +1 -1
- package/dist/serve/site-ui/_astro/{example-runtime.R1d96L6-.js → example-runtime.D79PnoSk.js} +1 -1
- package/dist/serve/site-ui/_astro/index.DzVde04M.js +1 -0
- package/dist/serve/site-ui/_astro/reads.BYBRLbsE.js +1 -0
- package/dist/serve/site-ui/_astro/sandbox-controls.C9Aaazt8.js +1252 -0
- package/dist/serve/site-ui/_astro/{seed.EyI3VYEu.js → seed.DANAIyRw.js} +1 -1
- package/dist/serve/site-ui/auth/index.html +2 -2
- package/dist/serve/site-ui/docs/_rhythm/index.html +1 -1
- package/dist/serve/site-ui/docs/agent/set-up-your-agent/index.html +1 -1
- package/dist/serve/site-ui/docs/agent/watch-and-review/index.html +1 -1
- package/dist/serve/site-ui/docs/agent/work-with-an-agent/index.html +1 -1
- package/dist/serve/site-ui/docs/ai-compat/index.html +85 -85
- package/dist/serve/site-ui/docs/ai-compat.md +84 -84
- package/dist/serve/site-ui/docs/api-reference/index.html +3 -1
- package/dist/serve/site-ui/docs/api-reference.md +2 -0
- package/dist/serve/site-ui/docs/app-compat/index.html +28 -28
- package/dist/serve/site-ui/docs/app-compat.md +27 -27
- package/dist/serve/site-ui/docs/auth-compat/index.html +122 -122
- package/dist/serve/site-ui/docs/auth-compat.md +121 -121
- package/dist/serve/site-ui/docs/build/ai-logic/index.html +1 -1
- package/dist/serve/site-ui/docs/build/authentication/index.html +1 -1
- package/dist/serve/site-ui/docs/build/cloud-firestore/index.html +1 -1
- package/dist/serve/site-ui/docs/build/cloud-messaging/index.html +1 -1
- package/dist/serve/site-ui/docs/build/cloud-storage/index.html +1 -1
- package/dist/serve/site-ui/docs/build/realtime-database/index.html +1 -1
- package/dist/serve/site-ui/docs/conformance-scores/index.html +4 -4
- package/dist/serve/site-ui/docs/conformance-scores.md +3 -3
- package/dist/serve/site-ui/docs/create-pyric-reference-api/index.html +6 -6
- package/dist/serve/site-ui/docs/create-pyric-reference-api.md +5 -5
- package/dist/serve/site-ui/docs/database-compat/index.html +200 -448
- package/dist/serve/site-ui/docs/database-compat.md +198 -461
- package/dist/serve/site-ui/docs/examples/chess/index.html +2 -2
- package/dist/serve/site-ui/docs/examples/index.html +1 -1
- package/dist/serve/site-ui/docs/firestore-compat/index.html +186 -195
- package/dist/serve/site-ui/docs/firestore-compat.md +184 -195
- package/dist/serve/site-ui/docs/functions-rtdb-compat/index.html +15 -15
- package/dist/serve/site-ui/docs/functions-rtdb-compat.md +14 -14
- package/dist/serve/site-ui/docs/get-started/how-the-swap-works/index.html +1 -1
- package/dist/serve/site-ui/docs/get-started/nextjs/index.html +57 -0
- package/dist/serve/site-ui/docs/get-started/nextjs.md +86 -0
- package/dist/serve/site-ui/docs/get-started/start-building/index.html +25 -8
- package/dist/serve/site-ui/docs/get-started/start-building.md +34 -5
- package/dist/serve/site-ui/docs/get-started/vite/index.html +26 -0
- package/dist/serve/site-ui/docs/get-started/vite.md +45 -0
- package/dist/serve/site-ui/docs/index.json +668 -103
- package/dist/serve/site-ui/docs/messaging-compat/index.html +56 -56
- package/dist/serve/site-ui/docs/messaging-compat.md +55 -55
- package/dist/serve/site-ui/docs/observe/resolve-runtime-status/index.html +1 -1
- package/dist/serve/site-ui/docs/observe/see-whats-happening/index.html +1 -1
- package/dist/serve/site-ui/docs/observe/shape-your-data/index.html +1 -1
- package/dist/serve/site-ui/docs/overview/index.html +1 -1
- package/dist/serve/site-ui/docs/pyric-admin-app-reference-api/index.html +39 -13
- package/dist/serve/site-ui/docs/pyric-admin-app-reference-api.md +28 -2
- package/dist/serve/site-ui/docs/pyric-admin-auth-reference-api/index.html +1 -1
- package/dist/serve/site-ui/docs/pyric-admin-database-reference-api/index.html +38 -6
- package/dist/serve/site-ui/docs/pyric-admin-database-reference-api.md +43 -0
- package/dist/serve/site-ui/docs/pyric-admin-firestore-reference-api/index.html +9 -1
- package/dist/serve/site-ui/docs/pyric-admin-firestore-reference-api.md +8 -0
- package/dist/serve/site-ui/docs/pyric-admin-messaging-reference-api/index.html +1 -1
- package/dist/serve/site-ui/docs/pyric-admin-storage-reference-api/index.html +27 -4
- package/dist/serve/site-ui/docs/pyric-admin-storage-reference-api.md +23 -0
- package/dist/serve/site-ui/docs/pyric-ai-reference-api/index.html +1 -1
- package/dist/serve/site-ui/docs/pyric-ai-scripting-reference-api/index.html +1 -1
- package/dist/serve/site-ui/docs/pyric-app-reference-api/index.html +1 -1
- package/dist/serve/site-ui/docs/pyric-auth-reference-api/index.html +1 -1
- package/dist/serve/site-ui/docs/pyric-cli-assurance-browser-reference-api/index.html +1 -1
- package/dist/serve/site-ui/docs/pyric-cli-assurance-reference-api/index.html +1 -1
- package/dist/serve/site-ui/docs/pyric-cli-bridge-client-reference-api/index.html +1 -1
- package/dist/serve/site-ui/docs/pyric-cli-bridge-reference-api/index.html +1 -1
- package/dist/serve/site-ui/docs/pyric-cli-conformance-browser-reference-api/index.html +1 -1
- package/dist/serve/site-ui/docs/pyric-cli-conformance-docs-reference-api/index.html +1 -1
- package/dist/serve/site-ui/docs/pyric-cli-conformance-reference-api/index.html +1 -1
- package/dist/serve/site-ui/docs/pyric-cli-credentials-node-reference-api/index.html +1 -1
- package/dist/serve/site-ui/docs/pyric-cli-discover-reference-api/index.html +1 -1
- package/dist/serve/site-ui/docs/pyric-cli-next-reference-api/index.html +123 -0
- package/dist/serve/site-ui/docs/pyric-cli-next-reference-api.md +99 -0
- package/dist/serve/site-ui/docs/pyric-cli-register-app-bridge-reference-api/index.html +127 -0
- package/dist/serve/site-ui/docs/pyric-cli-register-app-bridge-reference-api.md +174 -0
- package/dist/serve/site-ui/docs/pyric-cli-register-reference-api/index.html +1 -1
- package/dist/serve/site-ui/docs/pyric-cli-remote-reference-api/index.html +1 -1
- package/dist/serve/site-ui/docs/pyric-cli-serve-worker-reference-api/index.html +570 -326
- package/dist/serve/site-ui/docs/pyric-cli-serve-worker-reference-api.md +198 -6
- package/dist/serve/site-ui/docs/pyric-cli-verify-reference-api/index.html +1 -1
- package/dist/serve/site-ui/docs/pyric-cli-vite-reference-api/index.html +1 -1
- package/dist/serve/site-ui/docs/pyric-database-reference-api/index.html +1 -1
- package/dist/serve/site-ui/docs/pyric-firestore-reference-api/index.html +2971 -627
- package/dist/serve/site-ui/docs/pyric-firestore-reference-api.md +2873 -517
- package/dist/serve/site-ui/docs/pyric-messaging-reference-api/index.html +1 -1
- package/dist/serve/site-ui/docs/pyric-messaging-sw-reference-api/index.html +1 -1
- package/dist/serve/site-ui/docs/pyric-rules-reference-api/index.html +43 -3
- package/dist/serve/site-ui/docs/pyric-rules-reference-api.md +8 -0
- package/dist/serve/site-ui/docs/pyric-sandbox-database-reference-api/index.html +26 -2
- package/dist/serve/site-ui/docs/pyric-sandbox-database-reference-api.md +24 -0
- package/dist/serve/site-ui/docs/pyric-sandbox-firestore-reference-api/index.html +1 -1
- package/dist/serve/site-ui/docs/pyric-sandbox-reference-api/index.html +77 -9
- package/dist/serve/site-ui/docs/pyric-sandbox-reference-api.md +28 -13
- package/dist/serve/site-ui/docs/pyric-storage-reference-api/index.html +240 -63
- package/dist/serve/site-ui/docs/pyric-storage-reference-api.md +164 -5
- package/dist/serve/site-ui/docs/pyric-ui-agents-reference-api/index.html +1 -1
- package/dist/serve/site-ui/docs/pyric-ui-auth-hooks-reference-api/index.html +1 -1
- package/dist/serve/site-ui/docs/pyric-ui-auth-reference-api/index.html +1 -1
- package/dist/serve/site-ui/docs/pyric-ui-events-hooks-reference-api/index.html +1 -1
- package/dist/serve/site-ui/docs/pyric-ui-events-reference-api/index.html +1 -1
- package/dist/serve/site-ui/docs/pyric-ui-firestore-hooks-reference-api/index.html +1 -1
- package/dist/serve/site-ui/docs/pyric-ui-firestore-reference-api/index.html +1 -1
- package/dist/serve/site-ui/docs/pyric-ui-primitives-reference-api/index.html +1 -1
- package/dist/serve/site-ui/docs/pyric-ui-rtdb-reference-api/index.html +1 -1
- package/dist/serve/site-ui/docs/pyric-ui-rules-hooks-reference-api/index.html +1 -1
- package/dist/serve/site-ui/docs/pyric-ui-rules-reference-api/index.html +1 -1
- package/dist/serve/site-ui/docs/pyric-ui-storage-hooks-reference-api/index.html +1 -1
- package/dist/serve/site-ui/docs/pyric-ui-storage-reference-api/index.html +2 -1
- package/dist/serve/site-ui/docs/pyric-ui-storage-reference-api.md +1 -0
- package/dist/serve/site-ui/docs/pyric-ui-traffic-hooks-reference-api/index.html +1 -1
- package/dist/serve/site-ui/docs/pyric-ui-traffic-reference-api/index.html +1 -1
- package/dist/serve/site-ui/docs/rules-compat/index.html +87 -79
- package/dist/serve/site-ui/docs/rules-compat.md +86 -78
- package/dist/serve/site-ui/docs/secure/audit-your-rules/index.html +1 -1
- package/dist/serve/site-ui/docs/secure/firestore-rules-limits/index.html +1 -1
- package/dist/serve/site-ui/docs/secure/read-a-denial/index.html +1 -1
- package/dist/serve/site-ui/docs/secure/rtdb-rules-in-typescript/index.html +1 -1
- package/dist/serve/site-ui/docs/secure/rules-standard-library/index.html +1 -1
- package/dist/serve/site-ui/docs/secure/secure-it-with-rules/index.html +1 -1
- package/dist/serve/site-ui/docs/secure/simulate-and-lint/index.html +1 -1
- package/dist/serve/site-ui/docs/secure/write-a-rules-test-suite/index.html +1 -1
- package/dist/serve/site-ui/docs/ship/ship-to-production/index.html +1 -1
- package/dist/serve/site-ui/docs/ship/test-in-node/index.html +1 -1
- package/dist/serve/site-ui/docs/storage-compat/index.html +119 -125
- package/dist/serve/site-ui/docs/storage-compat.md +118 -124
- package/dist/serve/site-ui/docs/trust/how-we-know-it-matches-firebase/index.html +1 -1
- package/dist/serve/site-ui/docs/trust/rules-standard-library/index.html +1 -1
- package/dist/serve/site-ui/docs/trust/storage-rules-stdlib-research/index.html +1 -1
- package/dist/serve/site-ui/docs/trust/versioning-and-compatibility/index.html +1 -1
- package/dist/serve/site-ui/docs/tutorial/index.html +1 -1
- package/dist/serve/site-ui/examples/chess/index.html +1 -1
- package/dist/serve/site-ui/examples/firestore-first-write/index.html +1 -1
- package/dist/serve/site-ui/firestore/index.html +2 -2
- package/dist/serve/site-ui/index.html +2 -2
- package/dist/serve/site-ui/llms.txt +6 -2
- package/dist/serve/site-ui/rtdb/index.html +2 -2
- package/dist/serve/site-ui/settings/index.html +2 -2
- package/dist/serve/site-ui/storage/index.html +2 -2
- package/dist/serve/site-ui/traffic/index.html +2 -2
- package/dist/serve/vite-ai-config.d.ts +4 -1
- package/dist/serve/vite-ai-config.d.ts.map +1 -1
- package/dist/serve/vite-ai-config.js +83 -19
- package/dist/serve/vite-ai-config.js.map +1 -1
- package/dist/serve/vite-generation-rules-watch.d.ts.map +1 -1
- package/dist/serve/vite-generation-rules-watch.js +61 -14
- package/dist/serve/vite-generation-rules-watch.js.map +1 -1
- package/dist/serve/vite-module-swap.d.ts +4 -1
- package/dist/serve/vite-module-swap.d.ts.map +1 -1
- package/dist/serve/vite-module-swap.js +106 -21
- package/dist/serve/vite-module-swap.js.map +1 -1
- package/dist/serve/vite-plugin.d.ts.map +1 -1
- package/dist/serve/vite-plugin.js +45 -5
- package/dist/serve/vite-plugin.js.map +1 -1
- package/dist/serve/vite-sandbox-generation.js +1 -1
- package/dist/serve/vite-sandbox-generation.js.map +1 -1
- package/dist/serve/worker/client/resumable.d.ts +30 -0
- package/dist/serve/worker/client/resumable.d.ts.map +1 -0
- package/dist/serve/worker/client/resumable.js +416 -0
- package/dist/serve/worker/client/resumable.js.map +1 -0
- package/dist/serve/worker/client/rtdb-references.d.ts.map +1 -1
- package/dist/serve/worker/client/rtdb-references.js +4 -1
- package/dist/serve/worker/client/rtdb-references.js.map +1 -1
- package/dist/serve/worker/client/storage.d.ts +16 -2
- package/dist/serve/worker/client/storage.d.ts.map +1 -1
- package/dist/serve/worker/client/storage.js +57 -6
- package/dist/serve/worker/client/storage.js.map +1 -1
- package/dist/serve/worker/host/rules.d.ts.map +1 -1
- package/dist/serve/worker/host/rules.js +2 -1
- package/dist/serve/worker/host/rules.js.map +1 -1
- package/dist/serve/worker/index.d.ts +1 -1
- package/dist/serve/worker/index.d.ts.map +1 -1
- package/dist/serve/worker/index.js +1 -1
- package/dist/serve/worker/index.js.map +1 -1
- package/dist/serve/worker/serve-init.d.ts.map +1 -1
- package/dist/serve/worker/serve-init.js +31 -0
- package/dist/serve/worker/serve-init.js.map +1 -1
- package/package.json +15 -4
- package/src/assurance/.generated/conformance-verdicts.ts +80 -72
- package/src/cli/cli.test.ts +14 -0
- package/src/cli/database-rules.ts +6 -4
- package/src/cli/dev-runner.ts +21 -0
- package/src/cli/serve.ts +62 -5
- package/src/cli/verify.ts +2 -2
- package/src/conformance/.generated/can-i-use-browser.ts +1 -1
- package/src/conformance/.generated/can-i-use.ts +1 -1
- package/src/conformance/.generated/conformance-docs.ts +1 -1
- package/src/next/client-aliases.ts +39 -0
- package/src/next/dev-rewrites.ts +77 -0
- package/src/next/guard.ts +61 -0
- package/src/next/index.ts +16 -0
- package/src/next/runtime-env.ts +18 -0
- package/src/next/server-external-packages.ts +43 -0
- package/src/next/target-url.ts +46 -0
- package/src/next/turbopack-config.ts +54 -0
- package/src/next/types.ts +47 -0
- package/src/next/webpack-config.ts +71 -0
- package/src/next/with-pyric.ts +58 -0
- package/src/register/app-bridge.ts +79 -0
- package/src/register/hooks.ts +6 -1
- package/src/register/index.ts +1 -1
- package/src/register/mapping.ts +50 -4
- package/src/rtdb/rules-json.ts +110 -0
- package/src/serve/bundler.ts +2 -0
- package/src/serve/discovery.ts +65 -44
- package/src/serve/entries/app-ai-passthrough.ts +83 -0
- package/src/serve/entries/auth-helper-core.ts +9 -7
- package/src/serve/entries/auth.ts +1 -0
- package/src/serve/entries/bridge-url.ts +9 -2
- package/src/serve/entries/database.ts +1 -0
- package/src/serve/entries/firestore.ts +1 -0
- package/src/serve/entries/init.ts +5 -2
- package/src/serve/entries/runtime.ts +25 -0
- package/src/serve/entries/storage.ts +12 -1
- package/src/serve/html-injection.ts +26 -1
- package/src/serve/rules.ts +2 -2
- package/src/serve/runtime/chip-config.ts +19 -6
- package/src/serve/sandbox-session.ts +31 -2
- package/src/serve/vite-ai-config.ts +86 -19
- package/src/serve/vite-generation-rules-watch.ts +67 -15
- package/src/serve/vite-module-swap.ts +121 -21
- package/src/serve/vite-plugin.ts +44 -6
- package/src/serve/vite-sandbox-generation.ts +1 -1
- package/src/serve/worker/client/resumable.ts +506 -0
- package/src/serve/worker/client/rtdb-references.ts +4 -1
- package/src/serve/worker/client/storage.ts +77 -7
- package/src/serve/worker/host/rules.ts +2 -1
- package/src/serve/worker/index.ts +4 -0
- package/src/serve/worker/serve-init.ts +30 -0
- package/dist/serve/site-ui/_astro/_studio_.BtYpqe1A.css +0 -1
- package/dist/serve/site-ui/_astro/app.4HeLP_FA.js +0 -109
- package/dist/serve/site-ui/_astro/app.BgSnCR5G.js +0 -1
- package/dist/serve/site-ui/_astro/index.BJiOemMX.js +0 -1
- package/dist/serve/site-ui/_astro/reads.BrKNdKAa.js +0 -1
- package/dist/serve/site-ui/_astro/sandbox-controls.BTb3EbQp.js +0 -1153
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
<!DOCTYPE html><html lang="en"> <head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>API reference: pyric/storage · Pyric Studio</title><meta name="description" content="Published declarations for pyric/storage."><link rel="icon" type="image/svg+xml" href="/__pyric/ui/pyric-logo.svg"><link rel="preconnect" href="https://fonts.googleapis.com"><link rel="preconnect" href="https://fonts.gstatic.com" crossorigin><link href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&family=JetBrains+Mono:wght@400;500;700&display=swap" rel="stylesheet"><link rel="stylesheet" href="/__pyric/ui/_astro/_slug_.CXh9yTP1.css">
|
|
2
|
-
<link rel="stylesheet" href="/__pyric/ui/_astro/_slug_.BoKXYrnu.css"></head> <body> <header class="studio__bar" data-astro-cid-mw7aashj> <div class="studio__bar-inner" data-astro-cid-mw7aashj> <a class="studio__brand" href="/__pyric/ui/" aria-label="Pyric Studio" data-astro-cid-mw7aashj>Pyric</a> <nav class="studio__nav" aria-label="Studio tabs" data-astro-cid-mw7aashj> <a class="studio__nav-tab" href="/__pyric/ui/" data-astro-cid-mw7aashj> Home </a><a class="studio__nav-tab" href="/__pyric/ui/firestore" data-astro-cid-mw7aashj> Firestore </a><a class="studio__nav-tab" href="/__pyric/ui/auth" data-astro-cid-mw7aashj> Auth </a><a class="studio__nav-tab" href="/__pyric/ui/rtdb" data-astro-cid-mw7aashj> RTDB </a><a class="studio__nav-tab" href="/__pyric/ui/storage" data-astro-cid-mw7aashj> Storage </a><a class="studio__nav-tab" href="/__pyric/ui/traffic" data-astro-cid-mw7aashj> Traffic </a><a class="studio__nav-tab" href="/__pyric/ui/settings" data-astro-cid-mw7aashj> Settings </a><a class="studio__nav-tab" href="/__pyric/ui/docs" aria-current="page" data-astro-cid-mw7aashj> Docs </a> </nav> </div> </header> <div class="docs-shell" data-astro-cid-mw7aashj> <details class="docs-nav-drawer" data-astro-cid-mw7aashj> <summary data-astro-cid-mw7aashj>Navigate</summary> <nav class="docs-nav" aria-label="Documentation"> <div class="docs-search" data-index-url="/__pyric/ui/docs/index.json"> <div class="docs-search-field"> <svg class="docs-search-icon" viewBox="0 0 16 16" width="14" height="14" aria-hidden="true"> <path d="M11.5 11.5 15 15M13 7A6 6 0 1 1 1 7a6 6 0 0 1 12 0Z" fill="none" stroke="currentColor" stroke-width="1.4" stroke-linecap="round"></path> </svg> <input type="text" class="docs-search-input" placeholder="Search docs" aria-label="Search docs" autocomplete="off" spellcheck="false"> <kbd class="docs-search-kbd">⌘K</kbd> </div> <ul class="docs-search-results" hidden></ul> </div> <script type="module">let i=null;function d(t){return i||(i=fetch(t).then(e=>e.json())),i}function l(t,e){return t.title.toLowerCase().includes(e)||t.excerpt.toLowerCase().includes(e)?!0:t.headings.some(r=>r.text.toLowerCase().includes(e))}function u(t,e,r){if(e.innerHTML="",t.length===0){e.hidden=!1;{const n=document.createElement("li");n.className="docs-search-empty",n.textContent="No matches",e.appendChild(n)}return}e.hidden=!1;for(const n of t.slice(0,8)){const s=document.createElement("li"),c=document.createElement("a");c.href=n.path;const o=document.createElement("span");o.className="docs-search-result-title",o.textContent=n.title;const a=document.createElement("span");a.className="docs-search-result-meta",a.textContent=[n.group,n.section].filter(Boolean).join(" / "),c.append(o,a),s.appendChild(c),e.appendChild(s)}}document.querySelectorAll(".docs-search").forEach(t=>{const e=t.dataset.indexUrl,r=t.querySelector(".docs-search-input"),n=t.querySelector(".docs-search-results");r.addEventListener("input",async()=>{const s=r.value.trim().toLowerCase();if(!s){n.hidden=!0,n.innerHTML="";return}const{pages:c}=await d(e);r.value.trim().toLowerCase()===s&&u(c.filter(o=>l(o,s)),n)}),r.addEventListener("focus",()=>{d(e),n.childElementCount>0&&(n.hidden=!1)}),r.addEventListener("keydown",s=>{s.key==="Escape"&&(r.value="",n.hidden=!0,n.innerHTML="",r.blur())}),r.addEventListener("blur",()=>{window.setTimeout(()=>{n.hidden=!0},150)})});document.addEventListener("keydown",t=>{if(!(t.metaKey||t.ctrlKey)||t.key.toLowerCase()!=="k")return;const e=[...document.querySelectorAll(".docs-search-input")].find(r=>r.offsetParent!==null);e&&(t.preventDefault(),e.focus(),e.select())});</script> <details class="docs-nav-group"> <summary>Overview</summary> <div class="docs-nav-group-body"> <div class="docs-nav-section"> <ul> <li> <a href="/__pyric/ui/docs/overview/"> Overview </a> </li><li> <a href="/__pyric/ui/docs/tutorial/"> Tutorial </a> </li><li> <a href="/__pyric/ui/docs/examples/"> Examples </a> </li> </ul> </div> </div> </details><details class="docs-nav-group"> <summary>Get started</summary> <div class="docs-nav-group-body"> <div class="docs-nav-section"> <ul> <li> <a href="/__pyric/ui/docs/get-started/start-building/"> Quickstart </a> </li><li> <a href="/__pyric/ui/docs/get-started/how-the-swap-works/"> How the swap works </a> </li> </ul> </div> </div> </details><details class="docs-nav-group"> <summary>Build</summary> <div class="docs-nav-group-body"> <div class="docs-nav-section"> <ul> <li> <a href="/__pyric/ui/docs/build/authentication/"> Authentication </a> </li><li> <a href="/__pyric/ui/docs/build/cloud-firestore/"> Cloud Firestore </a> </li><li> <a href="/__pyric/ui/docs/build/realtime-database/"> Realtime Database </a> </li><li> <a href="/__pyric/ui/docs/build/cloud-storage/"> Cloud Storage </a> </li><li> <a href="/__pyric/ui/docs/build/cloud-messaging/"> Cloud Messaging </a> </li><li> <a href="/__pyric/ui/docs/build/ai-logic/"> AI Logic </a> </li> </ul> </div> </div> </details><details class="docs-nav-group"> <summary>Secure & debug</summary> <div class="docs-nav-group-body"> <div class="docs-nav-section"> <ul> <li> <a href="/__pyric/ui/docs/secure/secure-it-with-rules/"> Security Rules </a> </li><li> <a href="/__pyric/ui/docs/secure/simulate-and-lint/"> Simulate and lint before you deploy </a> </li><li> <a href="/__pyric/ui/docs/secure/write-a-rules-test-suite/"> Write a rules test suite </a> </li><li> <a href="/__pyric/ui/docs/secure/read-a-denial/"> Read a denial and understand it </a> </li><li> <a href="/__pyric/ui/docs/secure/rules-standard-library/"> The rules standard library </a> </li><li> <a href="/__pyric/ui/docs/secure/rtdb-rules-in-typescript/"> RTDB rules in TypeScript </a> </li><li> <a href="/__pyric/ui/docs/secure/firestore-rules-limits/"> Rules limits </a> </li><li> <a href="/__pyric/ui/docs/secure/audit-your-rules/"> Audit rules and data </a> </li> </ul> </div><div class="docs-nav-section"> <h2 class="docs-nav-heading"> Examples </h2> <ul> <li> <a href="/__pyric/ui/docs/examples/chess/"> Chess showcase </a> </li> </ul> </div> </div> </details><details class="docs-nav-group"> <summary>Observe & shape</summary> <div class="docs-nav-group-body"> <div class="docs-nav-section"> <ul> <li> <a href="/__pyric/ui/docs/observe/see-whats-happening/"> Traffic & rule verdicts </a> </li><li> <a href="/__pyric/ui/docs/observe/resolve-runtime-status/"> Runtime status </a> </li><li> <a href="/__pyric/ui/docs/observe/shape-your-data/"> Seed, snapshot, replay </a> </li> </ul> </div> </div> </details><details class="docs-nav-group"> <summary>Ship & test</summary> <div class="docs-nav-group-body"> <div class="docs-nav-section"> <ul> <li> <a href="/__pyric/ui/docs/ship/ship-to-production/"> Ship to production </a> </li><li> <a href="/__pyric/ui/docs/ship/test-in-node/"> Test in Node </a> </li> </ul> </div> </div> </details><details class="docs-nav-group"> <summary>Work with an agent</summary> <div class="docs-nav-group-body"> <div class="docs-nav-section"> <ul> <li> <a href="/__pyric/ui/docs/agent/set-up-your-agent/"> Connect an agent </a> </li><li> <a href="/__pyric/ui/docs/agent/work-with-an-agent/"> Use the MCP tools </a> </li><li> <a href="/__pyric/ui/docs/agent/watch-and-review/"> Watch in Pyric Studio </a> </li> </ul> </div> </div> </details><details class="docs-nav-group"> <summary>Trust</summary> <div class="docs-nav-group-body"> <div class="docs-nav-section"> <ul> <li> <a href="/__pyric/ui/docs/trust/versioning-and-compatibility/"> Versioning and the fb tag </a> </li><li> <a href="/__pyric/ui/docs/trust/storage-rules-stdlib-research/"> Storage Rules modules: evidence and design </a> </li><li> <a href="/__pyric/ui/docs/trust/rules-standard-library/"> Rules standard library reference </a> </li> </ul> </div> </div> </details><details class="docs-nav-group"> <summary>Conformance</summary> <div class="docs-nav-group-body"> <div class="docs-nav-section"> <ul> <li> <a href="/__pyric/ui/docs/conformance-scores/"> Public API coverage </a> </li><li> <a href="/__pyric/ui/docs/trust/how-we-know-it-matches-firebase/"> How we know it matches Firebase </a> </li><li> <a href="/__pyric/ui/docs/app-compat/"> App </a> </li><li> <a href="/__pyric/ui/docs/ai-compat/"> AI Logic </a> </li><li> <a href="/__pyric/ui/docs/auth-compat/"> Auth </a> </li><li> <a href="/__pyric/ui/docs/firestore-compat/"> Firestore </a> </li><li> <a href="/__pyric/ui/docs/database-compat/"> Realtime Database </a> </li><li> <a href="/__pyric/ui/docs/storage-compat/"> Storage </a> </li><li> <a href="/__pyric/ui/docs/messaging-compat/"> Messaging </a> </li><li> <a href="/__pyric/ui/docs/functions-rtdb-compat/"> Functions · RTDB </a> </li><li> <a href="/__pyric/ui/docs/rules-compat/"> Rules </a> </li> </ul> </div> </div> </details> <details class="docs-nav-group" open> <summary>Reference</summary> <div class="docs-nav-group-body docs-nav-group-body--reference"> <div class="docs-nav-section"> <ul> <li> <a href="/__pyric/ui/docs/api-reference/"> API reference </a> </li> </ul> </div><div class="docs-nav-section"> <h2 class="docs-nav-heading">pyric</h2> <ul> <li> <a href="/__pyric/ui/docs/pyric-app-reference-api/"> pyric/app </a> </li><li> <a href="/__pyric/ui/docs/pyric-firestore-reference-api/"> pyric/firestore </a> </li><li> <a href="/__pyric/ui/docs/pyric-auth-reference-api/"> pyric/auth </a> </li><li> <a href="/__pyric/ui/docs/pyric-ai-reference-api/"> pyric/ai </a> </li><li> <a href="/__pyric/ui/docs/pyric-ai-scripting-reference-api/"> pyric/ai/scripting </a> </li><li> <a href="/__pyric/ui/docs/pyric-database-reference-api/"> pyric/database </a> </li><li> <a href="/__pyric/ui/docs/pyric-storage-reference-api/" aria-current="page"> pyric/storage </a> </li><li> <a href="/__pyric/ui/docs/pyric-messaging-reference-api/"> pyric/messaging </a> </li><li> <a href="/__pyric/ui/docs/pyric-messaging-sw-reference-api/"> pyric/messaging/sw </a> </li><li> <a href="/__pyric/ui/docs/pyric-rules-reference-api/"> pyric/rules </a> </li><li> <a href="/__pyric/ui/docs/pyric-sandbox-reference-api/"> pyric/sandbox </a> </li><li> <a href="/__pyric/ui/docs/pyric-sandbox-firestore-reference-api/"> pyric/sandbox/firestore </a> </li><li> <a href="/__pyric/ui/docs/pyric-sandbox-database-reference-api/"> pyric/sandbox/database </a> </li> </ul> </div><div class="docs-nav-section"> <h2 class="docs-nav-heading">pyric-admin</h2> <ul> <li> <a href="/__pyric/ui/docs/pyric-admin-app-reference-api/"> pyric-admin/app </a> </li><li> <a href="/__pyric/ui/docs/pyric-admin-firestore-reference-api/"> pyric-admin/firestore </a> </li><li> <a href="/__pyric/ui/docs/pyric-admin-auth-reference-api/"> pyric-admin/auth </a> </li><li> <a href="/__pyric/ui/docs/pyric-admin-database-reference-api/"> pyric-admin/database </a> </li><li> <a href="/__pyric/ui/docs/pyric-admin-storage-reference-api/"> pyric-admin/storage </a> </li><li> <a href="/__pyric/ui/docs/pyric-admin-messaging-reference-api/"> pyric-admin/messaging </a> </li> </ul> </div><div class="docs-nav-section"> <h2 class="docs-nav-heading">create-pyric</h2> <ul> <li> <a href="/__pyric/ui/docs/create-pyric-reference-api/"> create-pyric </a> </li> </ul> </div><div class="docs-nav-section"> <h2 class="docs-nav-heading">@pyric/cli</h2> <ul> <li> <a href="/__pyric/ui/docs/pyric-cli-credentials-node-reference-api/"> @pyric/cli/credentials/node </a> </li><li> <a href="/__pyric/ui/docs/pyric-cli-verify-reference-api/"> @pyric/cli/verify </a> </li><li> <a href="/__pyric/ui/docs/pyric-cli-conformance-reference-api/"> @pyric/cli/conformance </a> </li><li> <a href="/__pyric/ui/docs/pyric-cli-conformance-browser-reference-api/"> @pyric/cli/conformance/browser </a> </li><li> <a href="/__pyric/ui/docs/pyric-cli-conformance-docs-reference-api/"> @pyric/cli/conformance/docs </a> </li><li> <a href="/__pyric/ui/docs/pyric-cli-assurance-reference-api/"> @pyric/cli/assurance </a> </li><li> <a href="/__pyric/ui/docs/pyric-cli-assurance-browser-reference-api/"> @pyric/cli/assurance/browser </a> </li><li> <a href="/__pyric/ui/docs/pyric-cli-bridge-reference-api/"> @pyric/cli/bridge </a> </li><li> <a href="/__pyric/ui/docs/pyric-cli-bridge-client-reference-api/"> @pyric/cli/bridge/client </a> </li><li> <a href="/__pyric/ui/docs/pyric-cli-discover-reference-api/"> @pyric/cli/discover </a> </li><li> <a href="/__pyric/ui/docs/pyric-cli-vite-reference-api/"> @pyric/cli/vite </a> </li><li> <a href="/__pyric/ui/docs/pyric-cli-serve-worker-reference-api/"> @pyric/cli/serve/worker </a> </li><li> <a href="/__pyric/ui/docs/pyric-cli-remote-reference-api/"> @pyric/cli/remote </a> </li><li> <a href="/__pyric/ui/docs/pyric-cli-register-reference-api/"> @pyric/cli/register </a> </li> </ul> </div><div class="docs-nav-section"> <h2 class="docs-nav-heading">@pyric/ui</h2> <ul> <li> <a href="/__pyric/ui/docs/pyric-ui-auth-reference-api/"> @pyric/ui/auth </a> </li><li> <a href="/__pyric/ui/docs/pyric-ui-auth-hooks-reference-api/"> @pyric/ui/auth/hooks </a> </li><li> <a href="/__pyric/ui/docs/pyric-ui-primitives-reference-api/"> @pyric/ui/primitives </a> </li><li> <a href="/__pyric/ui/docs/pyric-ui-firestore-reference-api/"> @pyric/ui/firestore </a> </li><li> <a href="/__pyric/ui/docs/pyric-ui-firestore-hooks-reference-api/"> @pyric/ui/firestore/hooks </a> </li><li> <a href="/__pyric/ui/docs/pyric-ui-rtdb-reference-api/"> @pyric/ui/rtdb </a> </li><li> <a href="/__pyric/ui/docs/pyric-ui-storage-reference-api/"> @pyric/ui/storage </a> </li><li> <a href="/__pyric/ui/docs/pyric-ui-storage-hooks-reference-api/"> @pyric/ui/storage/hooks </a> </li><li> <a href="/__pyric/ui/docs/pyric-ui-traffic-reference-api/"> @pyric/ui/traffic </a> </li><li> <a href="/__pyric/ui/docs/pyric-ui-traffic-hooks-reference-api/"> @pyric/ui/traffic/hooks </a> </li><li> <a href="/__pyric/ui/docs/pyric-ui-events-reference-api/"> @pyric/ui/events </a> </li><li> <a href="/__pyric/ui/docs/pyric-ui-events-hooks-reference-api/"> @pyric/ui/events/hooks </a> </li><li> <a href="/__pyric/ui/docs/pyric-ui-agents-reference-api/"> @pyric/ui/agents </a> </li><li> <a href="/__pyric/ui/docs/pyric-ui-rules-reference-api/"> @pyric/ui/rules </a> </li><li> <a href="/__pyric/ui/docs/pyric-ui-rules-hooks-reference-api/"> @pyric/ui/rules/hooks </a> </li> </ul> </div> </div> </details> </nav> </details> <nav class="docs-nav" aria-label="Documentation"> <div class="docs-search" data-index-url="/__pyric/ui/docs/index.json"> <div class="docs-search-field"> <svg class="docs-search-icon" viewBox="0 0 16 16" width="14" height="14" aria-hidden="true"> <path d="M11.5 11.5 15 15M13 7A6 6 0 1 1 1 7a6 6 0 0 1 12 0Z" fill="none" stroke="currentColor" stroke-width="1.4" stroke-linecap="round"></path> </svg> <input type="text" class="docs-search-input" placeholder="Search docs" aria-label="Search docs" autocomplete="off" spellcheck="false"> <kbd class="docs-search-kbd">⌘K</kbd> </div> <ul class="docs-search-results" hidden></ul> </div> <details class="docs-nav-group" id="nav-group-overview"> <summary>Overview</summary> <div class="docs-nav-group-body"> <div class="docs-nav-section"> <ul> <li> <a href="/__pyric/ui/docs/overview/"> Overview </a> </li><li> <a href="/__pyric/ui/docs/tutorial/"> Tutorial </a> </li><li> <a href="/__pyric/ui/docs/examples/"> Examples </a> </li> </ul> </div> </div> </details><details class="docs-nav-group" id="nav-group-get-started"> <summary>Get started</summary> <div class="docs-nav-group-body"> <div class="docs-nav-section"> <ul> <li> <a href="/__pyric/ui/docs/get-started/start-building/"> Quickstart </a> </li><li> <a href="/__pyric/ui/docs/get-started/how-the-swap-works/"> How the swap works </a> </li> </ul> </div> </div> </details><details class="docs-nav-group" id="nav-group-build"> <summary>Build</summary> <div class="docs-nav-group-body"> <div class="docs-nav-section"> <ul> <li> <a href="/__pyric/ui/docs/build/authentication/"> Authentication </a> </li><li> <a href="/__pyric/ui/docs/build/cloud-firestore/"> Cloud Firestore </a> </li><li> <a href="/__pyric/ui/docs/build/realtime-database/"> Realtime Database </a> </li><li> <a href="/__pyric/ui/docs/build/cloud-storage/"> Cloud Storage </a> </li><li> <a href="/__pyric/ui/docs/build/cloud-messaging/"> Cloud Messaging </a> </li><li> <a href="/__pyric/ui/docs/build/ai-logic/"> AI Logic </a> </li> </ul> </div> </div> </details><details class="docs-nav-group" id="nav-group-secure-debug"> <summary>Secure & debug</summary> <div class="docs-nav-group-body"> <div class="docs-nav-section"> <ul> <li> <a href="/__pyric/ui/docs/secure/secure-it-with-rules/"> Security Rules </a> </li><li> <a href="/__pyric/ui/docs/secure/simulate-and-lint/"> Simulate and lint before you deploy </a> </li><li> <a href="/__pyric/ui/docs/secure/write-a-rules-test-suite/"> Write a rules test suite </a> </li><li> <a href="/__pyric/ui/docs/secure/read-a-denial/"> Read a denial and understand it </a> </li><li> <a href="/__pyric/ui/docs/secure/rules-standard-library/"> The rules standard library </a> </li><li> <a href="/__pyric/ui/docs/secure/rtdb-rules-in-typescript/"> RTDB rules in TypeScript </a> </li><li> <a href="/__pyric/ui/docs/secure/firestore-rules-limits/"> Rules limits </a> </li><li> <a href="/__pyric/ui/docs/secure/audit-your-rules/"> Audit rules and data </a> </li> </ul> </div><div class="docs-nav-section"> <h2 class="docs-nav-heading" id="nav-section-secure-debug-examples"> Examples </h2> <ul> <li> <a href="/__pyric/ui/docs/examples/chess/"> Chess showcase </a> </li> </ul> </div> </div> </details><details class="docs-nav-group" id="nav-group-observe-shape"> <summary>Observe & shape</summary> <div class="docs-nav-group-body"> <div class="docs-nav-section"> <ul> <li> <a href="/__pyric/ui/docs/observe/see-whats-happening/"> Traffic & rule verdicts </a> </li><li> <a href="/__pyric/ui/docs/observe/resolve-runtime-status/"> Runtime status </a> </li><li> <a href="/__pyric/ui/docs/observe/shape-your-data/"> Seed, snapshot, replay </a> </li> </ul> </div> </div> </details><details class="docs-nav-group" id="nav-group-ship-test"> <summary>Ship & test</summary> <div class="docs-nav-group-body"> <div class="docs-nav-section"> <ul> <li> <a href="/__pyric/ui/docs/ship/ship-to-production/"> Ship to production </a> </li><li> <a href="/__pyric/ui/docs/ship/test-in-node/"> Test in Node </a> </li> </ul> </div> </div> </details><details class="docs-nav-group" id="nav-group-work-with-an-agent"> <summary>Work with an agent</summary> <div class="docs-nav-group-body"> <div class="docs-nav-section"> <ul> <li> <a href="/__pyric/ui/docs/agent/set-up-your-agent/"> Connect an agent </a> </li><li> <a href="/__pyric/ui/docs/agent/work-with-an-agent/"> Use the MCP tools </a> </li><li> <a href="/__pyric/ui/docs/agent/watch-and-review/"> Watch in Pyric Studio </a> </li> </ul> </div> </div> </details><details class="docs-nav-group" id="nav-group-trust"> <summary>Trust</summary> <div class="docs-nav-group-body"> <div class="docs-nav-section"> <ul> <li> <a href="/__pyric/ui/docs/trust/versioning-and-compatibility/"> Versioning and the fb tag </a> </li><li> <a href="/__pyric/ui/docs/trust/storage-rules-stdlib-research/"> Storage Rules modules: evidence and design </a> </li><li> <a href="/__pyric/ui/docs/trust/rules-standard-library/"> Rules standard library reference </a> </li> </ul> </div> </div> </details><details class="docs-nav-group" id="nav-group-conformance"> <summary>Conformance</summary> <div class="docs-nav-group-body"> <div class="docs-nav-section"> <ul> <li> <a href="/__pyric/ui/docs/conformance-scores/"> Public API coverage </a> </li><li> <a href="/__pyric/ui/docs/trust/how-we-know-it-matches-firebase/"> How we know it matches Firebase </a> </li><li> <a href="/__pyric/ui/docs/app-compat/"> App </a> </li><li> <a href="/__pyric/ui/docs/ai-compat/"> AI Logic </a> </li><li> <a href="/__pyric/ui/docs/auth-compat/"> Auth </a> </li><li> <a href="/__pyric/ui/docs/firestore-compat/"> Firestore </a> </li><li> <a href="/__pyric/ui/docs/database-compat/"> Realtime Database </a> </li><li> <a href="/__pyric/ui/docs/storage-compat/"> Storage </a> </li><li> <a href="/__pyric/ui/docs/messaging-compat/"> Messaging </a> </li><li> <a href="/__pyric/ui/docs/functions-rtdb-compat/"> Functions · RTDB </a> </li><li> <a href="/__pyric/ui/docs/rules-compat/"> Rules </a> </li> </ul> </div> </div> </details> <details class="docs-nav-group" id="nav-group-reference" open> <summary>Reference</summary> <div class="docs-nav-group-body docs-nav-group-body--reference"> <div class="docs-nav-section"> <ul> <li> <a href="/__pyric/ui/docs/api-reference/"> API reference </a> </li> </ul> </div><div class="docs-nav-section"> <h2 class="docs-nav-heading">pyric</h2> <ul> <li> <a href="/__pyric/ui/docs/pyric-app-reference-api/"> pyric/app </a> </li><li> <a href="/__pyric/ui/docs/pyric-firestore-reference-api/"> pyric/firestore </a> </li><li> <a href="/__pyric/ui/docs/pyric-auth-reference-api/"> pyric/auth </a> </li><li> <a href="/__pyric/ui/docs/pyric-ai-reference-api/"> pyric/ai </a> </li><li> <a href="/__pyric/ui/docs/pyric-ai-scripting-reference-api/"> pyric/ai/scripting </a> </li><li> <a href="/__pyric/ui/docs/pyric-database-reference-api/"> pyric/database </a> </li><li> <a href="/__pyric/ui/docs/pyric-storage-reference-api/" aria-current="page"> pyric/storage </a> </li><li> <a href="/__pyric/ui/docs/pyric-messaging-reference-api/"> pyric/messaging </a> </li><li> <a href="/__pyric/ui/docs/pyric-messaging-sw-reference-api/"> pyric/messaging/sw </a> </li><li> <a href="/__pyric/ui/docs/pyric-rules-reference-api/"> pyric/rules </a> </li><li> <a href="/__pyric/ui/docs/pyric-sandbox-reference-api/"> pyric/sandbox </a> </li><li> <a href="/__pyric/ui/docs/pyric-sandbox-firestore-reference-api/"> pyric/sandbox/firestore </a> </li><li> <a href="/__pyric/ui/docs/pyric-sandbox-database-reference-api/"> pyric/sandbox/database </a> </li> </ul> </div><div class="docs-nav-section"> <h2 class="docs-nav-heading">pyric-admin</h2> <ul> <li> <a href="/__pyric/ui/docs/pyric-admin-app-reference-api/"> pyric-admin/app </a> </li><li> <a href="/__pyric/ui/docs/pyric-admin-firestore-reference-api/"> pyric-admin/firestore </a> </li><li> <a href="/__pyric/ui/docs/pyric-admin-auth-reference-api/"> pyric-admin/auth </a> </li><li> <a href="/__pyric/ui/docs/pyric-admin-database-reference-api/"> pyric-admin/database </a> </li><li> <a href="/__pyric/ui/docs/pyric-admin-storage-reference-api/"> pyric-admin/storage </a> </li><li> <a href="/__pyric/ui/docs/pyric-admin-messaging-reference-api/"> pyric-admin/messaging </a> </li> </ul> </div><div class="docs-nav-section"> <h2 class="docs-nav-heading">create-pyric</h2> <ul> <li> <a href="/__pyric/ui/docs/create-pyric-reference-api/"> create-pyric </a> </li> </ul> </div><div class="docs-nav-section"> <h2 class="docs-nav-heading">@pyric/cli</h2> <ul> <li> <a href="/__pyric/ui/docs/pyric-cli-credentials-node-reference-api/"> @pyric/cli/credentials/node </a> </li><li> <a href="/__pyric/ui/docs/pyric-cli-verify-reference-api/"> @pyric/cli/verify </a> </li><li> <a href="/__pyric/ui/docs/pyric-cli-conformance-reference-api/"> @pyric/cli/conformance </a> </li><li> <a href="/__pyric/ui/docs/pyric-cli-conformance-browser-reference-api/"> @pyric/cli/conformance/browser </a> </li><li> <a href="/__pyric/ui/docs/pyric-cli-conformance-docs-reference-api/"> @pyric/cli/conformance/docs </a> </li><li> <a href="/__pyric/ui/docs/pyric-cli-assurance-reference-api/"> @pyric/cli/assurance </a> </li><li> <a href="/__pyric/ui/docs/pyric-cli-assurance-browser-reference-api/"> @pyric/cli/assurance/browser </a> </li><li> <a href="/__pyric/ui/docs/pyric-cli-bridge-reference-api/"> @pyric/cli/bridge </a> </li><li> <a href="/__pyric/ui/docs/pyric-cli-bridge-client-reference-api/"> @pyric/cli/bridge/client </a> </li><li> <a href="/__pyric/ui/docs/pyric-cli-discover-reference-api/"> @pyric/cli/discover </a> </li><li> <a href="/__pyric/ui/docs/pyric-cli-vite-reference-api/"> @pyric/cli/vite </a> </li><li> <a href="/__pyric/ui/docs/pyric-cli-serve-worker-reference-api/"> @pyric/cli/serve/worker </a> </li><li> <a href="/__pyric/ui/docs/pyric-cli-remote-reference-api/"> @pyric/cli/remote </a> </li><li> <a href="/__pyric/ui/docs/pyric-cli-register-reference-api/"> @pyric/cli/register </a> </li> </ul> </div><div class="docs-nav-section"> <h2 class="docs-nav-heading">@pyric/ui</h2> <ul> <li> <a href="/__pyric/ui/docs/pyric-ui-auth-reference-api/"> @pyric/ui/auth </a> </li><li> <a href="/__pyric/ui/docs/pyric-ui-auth-hooks-reference-api/"> @pyric/ui/auth/hooks </a> </li><li> <a href="/__pyric/ui/docs/pyric-ui-primitives-reference-api/"> @pyric/ui/primitives </a> </li><li> <a href="/__pyric/ui/docs/pyric-ui-firestore-reference-api/"> @pyric/ui/firestore </a> </li><li> <a href="/__pyric/ui/docs/pyric-ui-firestore-hooks-reference-api/"> @pyric/ui/firestore/hooks </a> </li><li> <a href="/__pyric/ui/docs/pyric-ui-rtdb-reference-api/"> @pyric/ui/rtdb </a> </li><li> <a href="/__pyric/ui/docs/pyric-ui-storage-reference-api/"> @pyric/ui/storage </a> </li><li> <a href="/__pyric/ui/docs/pyric-ui-storage-hooks-reference-api/"> @pyric/ui/storage/hooks </a> </li><li> <a href="/__pyric/ui/docs/pyric-ui-traffic-reference-api/"> @pyric/ui/traffic </a> </li><li> <a href="/__pyric/ui/docs/pyric-ui-traffic-hooks-reference-api/"> @pyric/ui/traffic/hooks </a> </li><li> <a href="/__pyric/ui/docs/pyric-ui-events-reference-api/"> @pyric/ui/events </a> </li><li> <a href="/__pyric/ui/docs/pyric-ui-events-hooks-reference-api/"> @pyric/ui/events/hooks </a> </li><li> <a href="/__pyric/ui/docs/pyric-ui-agents-reference-api/"> @pyric/ui/agents </a> </li><li> <a href="/__pyric/ui/docs/pyric-ui-rules-reference-api/"> @pyric/ui/rules </a> </li><li> <a href="/__pyric/ui/docs/pyric-ui-rules-hooks-reference-api/"> @pyric/ui/rules/hooks </a> </li> </ul> </div> </div> </details> </nav> <main class="doc-main" data-astro-cid-mw7aashj> <nav class="docs-breadcrumbs" aria-label="Breadcrumb"> <ol> <li> <a href="/__pyric/ui/docs/api-reference/">API reference</a> </li><li> <span class="docs-breadcrumbs-sep" aria-hidden="true">/</span> <span>pyric</span> </li><li> <span class="docs-breadcrumbs-sep" aria-hidden="true">/</span> <span aria-current="page">pyric/storage</span> </li> </ol> </nav> <header class="api-reference-header" data-astro-cid-mw7aashj> <p class="api-reference-kicker" data-astro-cid-mw7aashj>API reference</p> <h1 data-astro-cid-mw7aashj><code data-astro-cid-mw7aashj>pyric/storage</code></h1> <p class="api-reference-meta" data-astro-cid-mw7aashj> 64 published symbols from <code data-astro-cid-mw7aashj>pyric</code> </p> <p class="api-reference-source" data-astro-cid-mw7aashj>
|
|
2
|
+
<link rel="stylesheet" href="/__pyric/ui/_astro/_slug_.BoKXYrnu.css"></head> <body> <header class="studio__bar" data-astro-cid-mw7aashj> <div class="studio__bar-inner" data-astro-cid-mw7aashj> <a class="studio__brand" href="/__pyric/ui/" aria-label="Pyric Studio" data-astro-cid-mw7aashj>Pyric</a> <nav class="studio__nav" aria-label="Studio tabs" data-astro-cid-mw7aashj> <a class="studio__nav-tab" href="/__pyric/ui/" data-astro-cid-mw7aashj> Home </a><a class="studio__nav-tab" href="/__pyric/ui/firestore" data-astro-cid-mw7aashj> Firestore </a><a class="studio__nav-tab" href="/__pyric/ui/auth" data-astro-cid-mw7aashj> Auth </a><a class="studio__nav-tab" href="/__pyric/ui/rtdb" data-astro-cid-mw7aashj> RTDB </a><a class="studio__nav-tab" href="/__pyric/ui/storage" data-astro-cid-mw7aashj> Storage </a><a class="studio__nav-tab" href="/__pyric/ui/traffic" data-astro-cid-mw7aashj> Traffic </a><a class="studio__nav-tab" href="/__pyric/ui/settings" data-astro-cid-mw7aashj> Settings </a><a class="studio__nav-tab" href="/__pyric/ui/docs" aria-current="page" data-astro-cid-mw7aashj> Docs </a> </nav> </div> </header> <div class="docs-shell" data-astro-cid-mw7aashj> <details class="docs-nav-drawer" data-astro-cid-mw7aashj> <summary data-astro-cid-mw7aashj>Navigate</summary> <nav class="docs-nav" aria-label="Documentation"> <div class="docs-search" data-index-url="/__pyric/ui/docs/index.json"> <div class="docs-search-field"> <svg class="docs-search-icon" viewBox="0 0 16 16" width="14" height="14" aria-hidden="true"> <path d="M11.5 11.5 15 15M13 7A6 6 0 1 1 1 7a6 6 0 0 1 12 0Z" fill="none" stroke="currentColor" stroke-width="1.4" stroke-linecap="round"></path> </svg> <input type="text" class="docs-search-input" placeholder="Search docs" aria-label="Search docs" autocomplete="off" spellcheck="false"> <kbd class="docs-search-kbd">⌘K</kbd> </div> <ul class="docs-search-results" hidden></ul> </div> <script type="module">let i=null;function d(t){return i||(i=fetch(t).then(e=>e.json())),i}function l(t,e){return t.title.toLowerCase().includes(e)||t.excerpt.toLowerCase().includes(e)?!0:t.headings.some(r=>r.text.toLowerCase().includes(e))}function u(t,e,r){if(e.innerHTML="",t.length===0){e.hidden=!1;{const n=document.createElement("li");n.className="docs-search-empty",n.textContent="No matches",e.appendChild(n)}return}e.hidden=!1;for(const n of t.slice(0,8)){const s=document.createElement("li"),c=document.createElement("a");c.href=n.path;const o=document.createElement("span");o.className="docs-search-result-title",o.textContent=n.title;const a=document.createElement("span");a.className="docs-search-result-meta",a.textContent=[n.group,n.section].filter(Boolean).join(" / "),c.append(o,a),s.appendChild(c),e.appendChild(s)}}document.querySelectorAll(".docs-search").forEach(t=>{const e=t.dataset.indexUrl,r=t.querySelector(".docs-search-input"),n=t.querySelector(".docs-search-results");r.addEventListener("input",async()=>{const s=r.value.trim().toLowerCase();if(!s){n.hidden=!0,n.innerHTML="";return}const{pages:c}=await d(e);r.value.trim().toLowerCase()===s&&u(c.filter(o=>l(o,s)),n)}),r.addEventListener("focus",()=>{d(e),n.childElementCount>0&&(n.hidden=!1)}),r.addEventListener("keydown",s=>{s.key==="Escape"&&(r.value="",n.hidden=!0,n.innerHTML="",r.blur())}),r.addEventListener("blur",()=>{window.setTimeout(()=>{n.hidden=!0},150)})});document.addEventListener("keydown",t=>{if(!(t.metaKey||t.ctrlKey)||t.key.toLowerCase()!=="k")return;const e=[...document.querySelectorAll(".docs-search-input")].find(r=>r.offsetParent!==null);e&&(t.preventDefault(),e.focus(),e.select())});</script> <details class="docs-nav-group"> <summary>Overview</summary> <div class="docs-nav-group-body"> <div class="docs-nav-section"> <ul> <li> <a href="/__pyric/ui/docs/overview/"> Overview </a> </li><li> <a href="/__pyric/ui/docs/tutorial/"> Tutorial </a> </li><li> <a href="/__pyric/ui/docs/examples/"> Examples </a> </li> </ul> </div> </div> </details><details class="docs-nav-group"> <summary>Get started</summary> <div class="docs-nav-group-body"> <div class="docs-nav-section"> <ul> <li> <a href="/__pyric/ui/docs/get-started/start-building/"> Quickstart </a> </li><li> <a href="/__pyric/ui/docs/get-started/vite/"> Vite </a> </li><li> <a href="/__pyric/ui/docs/get-started/nextjs/"> Next.js </a> </li><li> <a href="/__pyric/ui/docs/get-started/how-the-swap-works/"> How the swap works </a> </li> </ul> </div> </div> </details><details class="docs-nav-group"> <summary>Build</summary> <div class="docs-nav-group-body"> <div class="docs-nav-section"> <ul> <li> <a href="/__pyric/ui/docs/build/authentication/"> Authentication </a> </li><li> <a href="/__pyric/ui/docs/build/cloud-firestore/"> Cloud Firestore </a> </li><li> <a href="/__pyric/ui/docs/build/realtime-database/"> Realtime Database </a> </li><li> <a href="/__pyric/ui/docs/build/cloud-storage/"> Cloud Storage </a> </li><li> <a href="/__pyric/ui/docs/build/cloud-messaging/"> Cloud Messaging </a> </li><li> <a href="/__pyric/ui/docs/build/ai-logic/"> AI Logic </a> </li> </ul> </div> </div> </details><details class="docs-nav-group"> <summary>Secure & debug</summary> <div class="docs-nav-group-body"> <div class="docs-nav-section"> <ul> <li> <a href="/__pyric/ui/docs/secure/secure-it-with-rules/"> Security Rules </a> </li><li> <a href="/__pyric/ui/docs/secure/simulate-and-lint/"> Simulate and lint before you deploy </a> </li><li> <a href="/__pyric/ui/docs/secure/write-a-rules-test-suite/"> Write a rules test suite </a> </li><li> <a href="/__pyric/ui/docs/secure/read-a-denial/"> Read a denial and understand it </a> </li><li> <a href="/__pyric/ui/docs/secure/rules-standard-library/"> The rules standard library </a> </li><li> <a href="/__pyric/ui/docs/secure/rtdb-rules-in-typescript/"> RTDB rules in TypeScript </a> </li><li> <a href="/__pyric/ui/docs/secure/firestore-rules-limits/"> Rules limits </a> </li><li> <a href="/__pyric/ui/docs/secure/audit-your-rules/"> Audit rules and data </a> </li> </ul> </div><div class="docs-nav-section"> <h2 class="docs-nav-heading"> Examples </h2> <ul> <li> <a href="/__pyric/ui/docs/examples/chess/"> Chess showcase </a> </li> </ul> </div> </div> </details><details class="docs-nav-group"> <summary>Observe & shape</summary> <div class="docs-nav-group-body"> <div class="docs-nav-section"> <ul> <li> <a href="/__pyric/ui/docs/observe/see-whats-happening/"> Traffic & rule verdicts </a> </li><li> <a href="/__pyric/ui/docs/observe/resolve-runtime-status/"> Runtime status </a> </li><li> <a href="/__pyric/ui/docs/observe/shape-your-data/"> Seed, snapshot, replay </a> </li> </ul> </div> </div> </details><details class="docs-nav-group"> <summary>Ship & test</summary> <div class="docs-nav-group-body"> <div class="docs-nav-section"> <ul> <li> <a href="/__pyric/ui/docs/ship/ship-to-production/"> Ship to production </a> </li><li> <a href="/__pyric/ui/docs/ship/test-in-node/"> Test in Node </a> </li> </ul> </div> </div> </details><details class="docs-nav-group"> <summary>Work with an agent</summary> <div class="docs-nav-group-body"> <div class="docs-nav-section"> <ul> <li> <a href="/__pyric/ui/docs/agent/set-up-your-agent/"> Connect an agent </a> </li><li> <a href="/__pyric/ui/docs/agent/work-with-an-agent/"> Use the MCP tools </a> </li><li> <a href="/__pyric/ui/docs/agent/watch-and-review/"> Watch in Pyric Studio </a> </li> </ul> </div> </div> </details><details class="docs-nav-group"> <summary>Trust</summary> <div class="docs-nav-group-body"> <div class="docs-nav-section"> <ul> <li> <a href="/__pyric/ui/docs/trust/versioning-and-compatibility/"> Versioning and the fb tag </a> </li><li> <a href="/__pyric/ui/docs/trust/storage-rules-stdlib-research/"> Storage Rules modules: evidence and design </a> </li><li> <a href="/__pyric/ui/docs/trust/rules-standard-library/"> Rules standard library reference </a> </li> </ul> </div> </div> </details><details class="docs-nav-group"> <summary>Conformance</summary> <div class="docs-nav-group-body"> <div class="docs-nav-section"> <ul> <li> <a href="/__pyric/ui/docs/conformance-scores/"> Public API coverage </a> </li><li> <a href="/__pyric/ui/docs/trust/how-we-know-it-matches-firebase/"> How we know it matches Firebase </a> </li><li> <a href="/__pyric/ui/docs/app-compat/"> App </a> </li><li> <a href="/__pyric/ui/docs/ai-compat/"> AI Logic </a> </li><li> <a href="/__pyric/ui/docs/auth-compat/"> Auth </a> </li><li> <a href="/__pyric/ui/docs/firestore-compat/"> Firestore </a> </li><li> <a href="/__pyric/ui/docs/database-compat/"> Realtime Database </a> </li><li> <a href="/__pyric/ui/docs/storage-compat/"> Storage </a> </li><li> <a href="/__pyric/ui/docs/messaging-compat/"> Messaging </a> </li><li> <a href="/__pyric/ui/docs/functions-rtdb-compat/"> Functions · RTDB </a> </li><li> <a href="/__pyric/ui/docs/rules-compat/"> Rules </a> </li> </ul> </div> </div> </details> <details class="docs-nav-group" open> <summary>Reference</summary> <div class="docs-nav-group-body docs-nav-group-body--reference"> <div class="docs-nav-section"> <ul> <li> <a href="/__pyric/ui/docs/api-reference/"> API reference </a> </li> </ul> </div><div class="docs-nav-section"> <h2 class="docs-nav-heading">pyric</h2> <ul> <li> <a href="/__pyric/ui/docs/pyric-app-reference-api/"> pyric/app </a> </li><li> <a href="/__pyric/ui/docs/pyric-firestore-reference-api/"> pyric/firestore </a> </li><li> <a href="/__pyric/ui/docs/pyric-auth-reference-api/"> pyric/auth </a> </li><li> <a href="/__pyric/ui/docs/pyric-ai-reference-api/"> pyric/ai </a> </li><li> <a href="/__pyric/ui/docs/pyric-ai-scripting-reference-api/"> pyric/ai/scripting </a> </li><li> <a href="/__pyric/ui/docs/pyric-database-reference-api/"> pyric/database </a> </li><li> <a href="/__pyric/ui/docs/pyric-storage-reference-api/" aria-current="page"> pyric/storage </a> </li><li> <a href="/__pyric/ui/docs/pyric-messaging-reference-api/"> pyric/messaging </a> </li><li> <a href="/__pyric/ui/docs/pyric-messaging-sw-reference-api/"> pyric/messaging/sw </a> </li><li> <a href="/__pyric/ui/docs/pyric-rules-reference-api/"> pyric/rules </a> </li><li> <a href="/__pyric/ui/docs/pyric-sandbox-reference-api/"> pyric/sandbox </a> </li><li> <a href="/__pyric/ui/docs/pyric-sandbox-firestore-reference-api/"> pyric/sandbox/firestore </a> </li><li> <a href="/__pyric/ui/docs/pyric-sandbox-database-reference-api/"> pyric/sandbox/database </a> </li> </ul> </div><div class="docs-nav-section"> <h2 class="docs-nav-heading">pyric-admin</h2> <ul> <li> <a href="/__pyric/ui/docs/pyric-admin-app-reference-api/"> pyric-admin/app </a> </li><li> <a href="/__pyric/ui/docs/pyric-admin-firestore-reference-api/"> pyric-admin/firestore </a> </li><li> <a href="/__pyric/ui/docs/pyric-admin-auth-reference-api/"> pyric-admin/auth </a> </li><li> <a href="/__pyric/ui/docs/pyric-admin-database-reference-api/"> pyric-admin/database </a> </li><li> <a href="/__pyric/ui/docs/pyric-admin-storage-reference-api/"> pyric-admin/storage </a> </li><li> <a href="/__pyric/ui/docs/pyric-admin-messaging-reference-api/"> pyric-admin/messaging </a> </li> </ul> </div><div class="docs-nav-section"> <h2 class="docs-nav-heading">create-pyric</h2> <ul> <li> <a href="/__pyric/ui/docs/create-pyric-reference-api/"> create-pyric </a> </li> </ul> </div><div class="docs-nav-section"> <h2 class="docs-nav-heading">@pyric/cli</h2> <ul> <li> <a href="/__pyric/ui/docs/pyric-cli-credentials-node-reference-api/"> @pyric/cli/credentials/node </a> </li><li> <a href="/__pyric/ui/docs/pyric-cli-verify-reference-api/"> @pyric/cli/verify </a> </li><li> <a href="/__pyric/ui/docs/pyric-cli-conformance-reference-api/"> @pyric/cli/conformance </a> </li><li> <a href="/__pyric/ui/docs/pyric-cli-conformance-browser-reference-api/"> @pyric/cli/conformance/browser </a> </li><li> <a href="/__pyric/ui/docs/pyric-cli-conformance-docs-reference-api/"> @pyric/cli/conformance/docs </a> </li><li> <a href="/__pyric/ui/docs/pyric-cli-assurance-reference-api/"> @pyric/cli/assurance </a> </li><li> <a href="/__pyric/ui/docs/pyric-cli-assurance-browser-reference-api/"> @pyric/cli/assurance/browser </a> </li><li> <a href="/__pyric/ui/docs/pyric-cli-bridge-reference-api/"> @pyric/cli/bridge </a> </li><li> <a href="/__pyric/ui/docs/pyric-cli-bridge-client-reference-api/"> @pyric/cli/bridge/client </a> </li><li> <a href="/__pyric/ui/docs/pyric-cli-discover-reference-api/"> @pyric/cli/discover </a> </li><li> <a href="/__pyric/ui/docs/pyric-cli-vite-reference-api/"> @pyric/cli/vite </a> </li><li> <a href="/__pyric/ui/docs/pyric-cli-next-reference-api/"> @pyric/cli/next </a> </li><li> <a href="/__pyric/ui/docs/pyric-cli-serve-worker-reference-api/"> @pyric/cli/serve/worker </a> </li><li> <a href="/__pyric/ui/docs/pyric-cli-remote-reference-api/"> @pyric/cli/remote </a> </li><li> <a href="/__pyric/ui/docs/pyric-cli-register-reference-api/"> @pyric/cli/register </a> </li><li> <a href="/__pyric/ui/docs/pyric-cli-register-app-bridge-reference-api/"> @pyric/cli/register/app-bridge </a> </li> </ul> </div><div class="docs-nav-section"> <h2 class="docs-nav-heading">@pyric/ui</h2> <ul> <li> <a href="/__pyric/ui/docs/pyric-ui-auth-reference-api/"> @pyric/ui/auth </a> </li><li> <a href="/__pyric/ui/docs/pyric-ui-auth-hooks-reference-api/"> @pyric/ui/auth/hooks </a> </li><li> <a href="/__pyric/ui/docs/pyric-ui-primitives-reference-api/"> @pyric/ui/primitives </a> </li><li> <a href="/__pyric/ui/docs/pyric-ui-firestore-reference-api/"> @pyric/ui/firestore </a> </li><li> <a href="/__pyric/ui/docs/pyric-ui-firestore-hooks-reference-api/"> @pyric/ui/firestore/hooks </a> </li><li> <a href="/__pyric/ui/docs/pyric-ui-rtdb-reference-api/"> @pyric/ui/rtdb </a> </li><li> <a href="/__pyric/ui/docs/pyric-ui-storage-reference-api/"> @pyric/ui/storage </a> </li><li> <a href="/__pyric/ui/docs/pyric-ui-storage-hooks-reference-api/"> @pyric/ui/storage/hooks </a> </li><li> <a href="/__pyric/ui/docs/pyric-ui-traffic-reference-api/"> @pyric/ui/traffic </a> </li><li> <a href="/__pyric/ui/docs/pyric-ui-traffic-hooks-reference-api/"> @pyric/ui/traffic/hooks </a> </li><li> <a href="/__pyric/ui/docs/pyric-ui-events-reference-api/"> @pyric/ui/events </a> </li><li> <a href="/__pyric/ui/docs/pyric-ui-events-hooks-reference-api/"> @pyric/ui/events/hooks </a> </li><li> <a href="/__pyric/ui/docs/pyric-ui-agents-reference-api/"> @pyric/ui/agents </a> </li><li> <a href="/__pyric/ui/docs/pyric-ui-rules-reference-api/"> @pyric/ui/rules </a> </li><li> <a href="/__pyric/ui/docs/pyric-ui-rules-hooks-reference-api/"> @pyric/ui/rules/hooks </a> </li> </ul> </div> </div> </details> </nav> </details> <nav class="docs-nav" aria-label="Documentation"> <div class="docs-search" data-index-url="/__pyric/ui/docs/index.json"> <div class="docs-search-field"> <svg class="docs-search-icon" viewBox="0 0 16 16" width="14" height="14" aria-hidden="true"> <path d="M11.5 11.5 15 15M13 7A6 6 0 1 1 1 7a6 6 0 0 1 12 0Z" fill="none" stroke="currentColor" stroke-width="1.4" stroke-linecap="round"></path> </svg> <input type="text" class="docs-search-input" placeholder="Search docs" aria-label="Search docs" autocomplete="off" spellcheck="false"> <kbd class="docs-search-kbd">⌘K</kbd> </div> <ul class="docs-search-results" hidden></ul> </div> <details class="docs-nav-group" id="nav-group-overview"> <summary>Overview</summary> <div class="docs-nav-group-body"> <div class="docs-nav-section"> <ul> <li> <a href="/__pyric/ui/docs/overview/"> Overview </a> </li><li> <a href="/__pyric/ui/docs/tutorial/"> Tutorial </a> </li><li> <a href="/__pyric/ui/docs/examples/"> Examples </a> </li> </ul> </div> </div> </details><details class="docs-nav-group" id="nav-group-get-started"> <summary>Get started</summary> <div class="docs-nav-group-body"> <div class="docs-nav-section"> <ul> <li> <a href="/__pyric/ui/docs/get-started/start-building/"> Quickstart </a> </li><li> <a href="/__pyric/ui/docs/get-started/vite/"> Vite </a> </li><li> <a href="/__pyric/ui/docs/get-started/nextjs/"> Next.js </a> </li><li> <a href="/__pyric/ui/docs/get-started/how-the-swap-works/"> How the swap works </a> </li> </ul> </div> </div> </details><details class="docs-nav-group" id="nav-group-build"> <summary>Build</summary> <div class="docs-nav-group-body"> <div class="docs-nav-section"> <ul> <li> <a href="/__pyric/ui/docs/build/authentication/"> Authentication </a> </li><li> <a href="/__pyric/ui/docs/build/cloud-firestore/"> Cloud Firestore </a> </li><li> <a href="/__pyric/ui/docs/build/realtime-database/"> Realtime Database </a> </li><li> <a href="/__pyric/ui/docs/build/cloud-storage/"> Cloud Storage </a> </li><li> <a href="/__pyric/ui/docs/build/cloud-messaging/"> Cloud Messaging </a> </li><li> <a href="/__pyric/ui/docs/build/ai-logic/"> AI Logic </a> </li> </ul> </div> </div> </details><details class="docs-nav-group" id="nav-group-secure-debug"> <summary>Secure & debug</summary> <div class="docs-nav-group-body"> <div class="docs-nav-section"> <ul> <li> <a href="/__pyric/ui/docs/secure/secure-it-with-rules/"> Security Rules </a> </li><li> <a href="/__pyric/ui/docs/secure/simulate-and-lint/"> Simulate and lint before you deploy </a> </li><li> <a href="/__pyric/ui/docs/secure/write-a-rules-test-suite/"> Write a rules test suite </a> </li><li> <a href="/__pyric/ui/docs/secure/read-a-denial/"> Read a denial and understand it </a> </li><li> <a href="/__pyric/ui/docs/secure/rules-standard-library/"> The rules standard library </a> </li><li> <a href="/__pyric/ui/docs/secure/rtdb-rules-in-typescript/"> RTDB rules in TypeScript </a> </li><li> <a href="/__pyric/ui/docs/secure/firestore-rules-limits/"> Rules limits </a> </li><li> <a href="/__pyric/ui/docs/secure/audit-your-rules/"> Audit rules and data </a> </li> </ul> </div><div class="docs-nav-section"> <h2 class="docs-nav-heading" id="nav-section-secure-debug-examples"> Examples </h2> <ul> <li> <a href="/__pyric/ui/docs/examples/chess/"> Chess showcase </a> </li> </ul> </div> </div> </details><details class="docs-nav-group" id="nav-group-observe-shape"> <summary>Observe & shape</summary> <div class="docs-nav-group-body"> <div class="docs-nav-section"> <ul> <li> <a href="/__pyric/ui/docs/observe/see-whats-happening/"> Traffic & rule verdicts </a> </li><li> <a href="/__pyric/ui/docs/observe/resolve-runtime-status/"> Runtime status </a> </li><li> <a href="/__pyric/ui/docs/observe/shape-your-data/"> Seed, snapshot, replay </a> </li> </ul> </div> </div> </details><details class="docs-nav-group" id="nav-group-ship-test"> <summary>Ship & test</summary> <div class="docs-nav-group-body"> <div class="docs-nav-section"> <ul> <li> <a href="/__pyric/ui/docs/ship/ship-to-production/"> Ship to production </a> </li><li> <a href="/__pyric/ui/docs/ship/test-in-node/"> Test in Node </a> </li> </ul> </div> </div> </details><details class="docs-nav-group" id="nav-group-work-with-an-agent"> <summary>Work with an agent</summary> <div class="docs-nav-group-body"> <div class="docs-nav-section"> <ul> <li> <a href="/__pyric/ui/docs/agent/set-up-your-agent/"> Connect an agent </a> </li><li> <a href="/__pyric/ui/docs/agent/work-with-an-agent/"> Use the MCP tools </a> </li><li> <a href="/__pyric/ui/docs/agent/watch-and-review/"> Watch in Pyric Studio </a> </li> </ul> </div> </div> </details><details class="docs-nav-group" id="nav-group-trust"> <summary>Trust</summary> <div class="docs-nav-group-body"> <div class="docs-nav-section"> <ul> <li> <a href="/__pyric/ui/docs/trust/versioning-and-compatibility/"> Versioning and the fb tag </a> </li><li> <a href="/__pyric/ui/docs/trust/storage-rules-stdlib-research/"> Storage Rules modules: evidence and design </a> </li><li> <a href="/__pyric/ui/docs/trust/rules-standard-library/"> Rules standard library reference </a> </li> </ul> </div> </div> </details><details class="docs-nav-group" id="nav-group-conformance"> <summary>Conformance</summary> <div class="docs-nav-group-body"> <div class="docs-nav-section"> <ul> <li> <a href="/__pyric/ui/docs/conformance-scores/"> Public API coverage </a> </li><li> <a href="/__pyric/ui/docs/trust/how-we-know-it-matches-firebase/"> How we know it matches Firebase </a> </li><li> <a href="/__pyric/ui/docs/app-compat/"> App </a> </li><li> <a href="/__pyric/ui/docs/ai-compat/"> AI Logic </a> </li><li> <a href="/__pyric/ui/docs/auth-compat/"> Auth </a> </li><li> <a href="/__pyric/ui/docs/firestore-compat/"> Firestore </a> </li><li> <a href="/__pyric/ui/docs/database-compat/"> Realtime Database </a> </li><li> <a href="/__pyric/ui/docs/storage-compat/"> Storage </a> </li><li> <a href="/__pyric/ui/docs/messaging-compat/"> Messaging </a> </li><li> <a href="/__pyric/ui/docs/functions-rtdb-compat/"> Functions · RTDB </a> </li><li> <a href="/__pyric/ui/docs/rules-compat/"> Rules </a> </li> </ul> </div> </div> </details> <details class="docs-nav-group" id="nav-group-reference" open> <summary>Reference</summary> <div class="docs-nav-group-body docs-nav-group-body--reference"> <div class="docs-nav-section"> <ul> <li> <a href="/__pyric/ui/docs/api-reference/"> API reference </a> </li> </ul> </div><div class="docs-nav-section"> <h2 class="docs-nav-heading">pyric</h2> <ul> <li> <a href="/__pyric/ui/docs/pyric-app-reference-api/"> pyric/app </a> </li><li> <a href="/__pyric/ui/docs/pyric-firestore-reference-api/"> pyric/firestore </a> </li><li> <a href="/__pyric/ui/docs/pyric-auth-reference-api/"> pyric/auth </a> </li><li> <a href="/__pyric/ui/docs/pyric-ai-reference-api/"> pyric/ai </a> </li><li> <a href="/__pyric/ui/docs/pyric-ai-scripting-reference-api/"> pyric/ai/scripting </a> </li><li> <a href="/__pyric/ui/docs/pyric-database-reference-api/"> pyric/database </a> </li><li> <a href="/__pyric/ui/docs/pyric-storage-reference-api/" aria-current="page"> pyric/storage </a> </li><li> <a href="/__pyric/ui/docs/pyric-messaging-reference-api/"> pyric/messaging </a> </li><li> <a href="/__pyric/ui/docs/pyric-messaging-sw-reference-api/"> pyric/messaging/sw </a> </li><li> <a href="/__pyric/ui/docs/pyric-rules-reference-api/"> pyric/rules </a> </li><li> <a href="/__pyric/ui/docs/pyric-sandbox-reference-api/"> pyric/sandbox </a> </li><li> <a href="/__pyric/ui/docs/pyric-sandbox-firestore-reference-api/"> pyric/sandbox/firestore </a> </li><li> <a href="/__pyric/ui/docs/pyric-sandbox-database-reference-api/"> pyric/sandbox/database </a> </li> </ul> </div><div class="docs-nav-section"> <h2 class="docs-nav-heading">pyric-admin</h2> <ul> <li> <a href="/__pyric/ui/docs/pyric-admin-app-reference-api/"> pyric-admin/app </a> </li><li> <a href="/__pyric/ui/docs/pyric-admin-firestore-reference-api/"> pyric-admin/firestore </a> </li><li> <a href="/__pyric/ui/docs/pyric-admin-auth-reference-api/"> pyric-admin/auth </a> </li><li> <a href="/__pyric/ui/docs/pyric-admin-database-reference-api/"> pyric-admin/database </a> </li><li> <a href="/__pyric/ui/docs/pyric-admin-storage-reference-api/"> pyric-admin/storage </a> </li><li> <a href="/__pyric/ui/docs/pyric-admin-messaging-reference-api/"> pyric-admin/messaging </a> </li> </ul> </div><div class="docs-nav-section"> <h2 class="docs-nav-heading">create-pyric</h2> <ul> <li> <a href="/__pyric/ui/docs/create-pyric-reference-api/"> create-pyric </a> </li> </ul> </div><div class="docs-nav-section"> <h2 class="docs-nav-heading">@pyric/cli</h2> <ul> <li> <a href="/__pyric/ui/docs/pyric-cli-credentials-node-reference-api/"> @pyric/cli/credentials/node </a> </li><li> <a href="/__pyric/ui/docs/pyric-cli-verify-reference-api/"> @pyric/cli/verify </a> </li><li> <a href="/__pyric/ui/docs/pyric-cli-conformance-reference-api/"> @pyric/cli/conformance </a> </li><li> <a href="/__pyric/ui/docs/pyric-cli-conformance-browser-reference-api/"> @pyric/cli/conformance/browser </a> </li><li> <a href="/__pyric/ui/docs/pyric-cli-conformance-docs-reference-api/"> @pyric/cli/conformance/docs </a> </li><li> <a href="/__pyric/ui/docs/pyric-cli-assurance-reference-api/"> @pyric/cli/assurance </a> </li><li> <a href="/__pyric/ui/docs/pyric-cli-assurance-browser-reference-api/"> @pyric/cli/assurance/browser </a> </li><li> <a href="/__pyric/ui/docs/pyric-cli-bridge-reference-api/"> @pyric/cli/bridge </a> </li><li> <a href="/__pyric/ui/docs/pyric-cli-bridge-client-reference-api/"> @pyric/cli/bridge/client </a> </li><li> <a href="/__pyric/ui/docs/pyric-cli-discover-reference-api/"> @pyric/cli/discover </a> </li><li> <a href="/__pyric/ui/docs/pyric-cli-vite-reference-api/"> @pyric/cli/vite </a> </li><li> <a href="/__pyric/ui/docs/pyric-cli-next-reference-api/"> @pyric/cli/next </a> </li><li> <a href="/__pyric/ui/docs/pyric-cli-serve-worker-reference-api/"> @pyric/cli/serve/worker </a> </li><li> <a href="/__pyric/ui/docs/pyric-cli-remote-reference-api/"> @pyric/cli/remote </a> </li><li> <a href="/__pyric/ui/docs/pyric-cli-register-reference-api/"> @pyric/cli/register </a> </li><li> <a href="/__pyric/ui/docs/pyric-cli-register-app-bridge-reference-api/"> @pyric/cli/register/app-bridge </a> </li> </ul> </div><div class="docs-nav-section"> <h2 class="docs-nav-heading">@pyric/ui</h2> <ul> <li> <a href="/__pyric/ui/docs/pyric-ui-auth-reference-api/"> @pyric/ui/auth </a> </li><li> <a href="/__pyric/ui/docs/pyric-ui-auth-hooks-reference-api/"> @pyric/ui/auth/hooks </a> </li><li> <a href="/__pyric/ui/docs/pyric-ui-primitives-reference-api/"> @pyric/ui/primitives </a> </li><li> <a href="/__pyric/ui/docs/pyric-ui-firestore-reference-api/"> @pyric/ui/firestore </a> </li><li> <a href="/__pyric/ui/docs/pyric-ui-firestore-hooks-reference-api/"> @pyric/ui/firestore/hooks </a> </li><li> <a href="/__pyric/ui/docs/pyric-ui-rtdb-reference-api/"> @pyric/ui/rtdb </a> </li><li> <a href="/__pyric/ui/docs/pyric-ui-storage-reference-api/"> @pyric/ui/storage </a> </li><li> <a href="/__pyric/ui/docs/pyric-ui-storage-hooks-reference-api/"> @pyric/ui/storage/hooks </a> </li><li> <a href="/__pyric/ui/docs/pyric-ui-traffic-reference-api/"> @pyric/ui/traffic </a> </li><li> <a href="/__pyric/ui/docs/pyric-ui-traffic-hooks-reference-api/"> @pyric/ui/traffic/hooks </a> </li><li> <a href="/__pyric/ui/docs/pyric-ui-events-reference-api/"> @pyric/ui/events </a> </li><li> <a href="/__pyric/ui/docs/pyric-ui-events-hooks-reference-api/"> @pyric/ui/events/hooks </a> </li><li> <a href="/__pyric/ui/docs/pyric-ui-agents-reference-api/"> @pyric/ui/agents </a> </li><li> <a href="/__pyric/ui/docs/pyric-ui-rules-reference-api/"> @pyric/ui/rules </a> </li><li> <a href="/__pyric/ui/docs/pyric-ui-rules-hooks-reference-api/"> @pyric/ui/rules/hooks </a> </li> </ul> </div> </div> </details> </nav> <main class="doc-main" data-astro-cid-mw7aashj> <nav class="docs-breadcrumbs" aria-label="Breadcrumb"> <ol> <li> <a href="/__pyric/ui/docs/api-reference/">API reference</a> </li><li> <span class="docs-breadcrumbs-sep" aria-hidden="true">/</span> <span>pyric</span> </li><li> <span class="docs-breadcrumbs-sep" aria-hidden="true">/</span> <span aria-current="page">pyric/storage</span> </li> </ol> </nav> <header class="api-reference-header" data-astro-cid-mw7aashj> <p class="api-reference-kicker" data-astro-cid-mw7aashj>API reference</p> <h1 data-astro-cid-mw7aashj><code data-astro-cid-mw7aashj>pyric/storage</code></h1> <p class="api-reference-meta" data-astro-cid-mw7aashj> 69 published symbols from <code data-astro-cid-mw7aashj>pyric</code> </p> <p class="api-reference-source" data-astro-cid-mw7aashj>
|
|
3
3
|
Generated from the TypeScript declarations shipped at this import path.
|
|
4
4
|
</p> <a class="api-reference-evidence" href="/__pyric/ui/docs/storage-compat/" data-astro-cid-mw7aashj>
|
|
5
5
|
Check behavioral conformance
|
|
@@ -129,7 +129,7 @@ Drop-in for <code>err.code === 'storage/object-not-found'</code> branching.</p>
|
|
|
129
129
|
|
|
130
130
|
|
|
131
131
|
|
|
132
|
-
<table><thead><tr><th align="left">Property</th><th align="left">Modifier</th><th align="left">Type</th><th align="left">Description</th></tr></thead><tbody><tr><td align="left"><a id="code"></a> <code>code</code></td><td align="left"><code>readonly</code></td><td align="left">| <code>"storage/invalid-argument"</code> | <code>"storage/unknown"</code> | <code>"storage/object-not-found"</code> | <code>"storage/quota-exceeded"</code> | <code>"storage/unauthenticated"</code> | <code>"storage/unauthorized"</code> | <code>"storage/invalid-root-operation"</code> | <code>"storage/invalid-format"</code></td><td align="left">Prefixed code, e.g. <code>storage/object-not-found</code>.</td></tr></tbody></table></div>
|
|
132
|
+
<table><thead><tr><th align="left">Property</th><th align="left">Modifier</th><th align="left">Type</th><th align="left">Description</th></tr></thead><tbody><tr><td align="left"><a id="code"></a> <code>code</code></td><td align="left"><code>readonly</code></td><td align="left">| <code>"storage/invalid-argument"</code> | <code>"storage/unknown"</code> | <code>"storage/object-not-found"</code> | <code>"storage/quota-exceeded"</code> | <code>"storage/unauthenticated"</code> | <code>"storage/unauthorized"</code> | <code>"storage/invalid-root-operation"</code> | <code>"storage/invalid-format"</code> | <code>"storage/canceled"</code></td><td align="left">Prefixed code, e.g. <code>storage/object-not-found</code>.</td></tr></tbody></table></div>
|
|
133
133
|
<hr>
|
|
134
134
|
<p><a id="storageprovisioningerror"></a></p>
|
|
135
135
|
<h3 id="storageprovisioningerror">StorageProvisioningError</h3>
|
|
@@ -309,7 +309,7 @@ See <a href="https://cloud.google.com/storage/docs/cross-origin#cors-elements" t
|
|
|
309
309
|
<h3 id="firebasestorage">FirebaseStorage</h3>
|
|
310
310
|
<p>Public opaque handle. Carries a <a href="#target">Target</a> via
|
|
311
311
|
<a href="#target_symbol-1">TARGET_SYMBOL</a>; never inspected by consumer code, which
|
|
312
|
-
interacts with storage only through <a href="#ref-
|
|
312
|
+
interacts with storage only through <a href="#ref-2">ref</a> and the operation
|
|
313
313
|
free functions.</p>
|
|
314
314
|
<h4 id="properties-5">Properties</h4>
|
|
315
315
|
<div class="table-scroll">
|
|
@@ -524,7 +524,7 @@ by the upload pipeline; client-settable fields round-trip from
|
|
|
524
524
|
|
|
525
525
|
|
|
526
526
|
|
|
527
|
-
<table><thead><tr><th align="left">Property</th><th align="left">Type</th></tr></thead><tbody><tr><td align="left"><a id="buckets"></a> <code>buckets</code></td><td align="left">{ <code>bucketId</code>: <code>string</code>; <code>name</code>: <code>string</code>; }[]</td></tr><tr><td align="left"><a id="defaultlocation"></a> <code>defaultLocation</code></td><td align="left"><code>string</code></td></tr><tr><td align="left"><a id="servicestate"></a> <code>serviceState</code></td><td align="left"><code>"
|
|
527
|
+
<table><thead><tr><th align="left">Property</th><th align="left">Type</th></tr></thead><tbody><tr><td align="left"><a id="buckets"></a> <code>buckets</code></td><td align="left">{ <code>bucketId</code>: <code>string</code>; <code>name</code>: <code>string</code>; }[]</td></tr><tr><td align="left"><a id="defaultlocation"></a> <code>defaultLocation</code></td><td align="left"><code>string</code></td></tr><tr><td align="left"><a id="servicestate"></a> <code>serviceState</code></td><td align="left"><code>"enabled"</code> | <code>"disabled"</code> | <code>"unknown"</code></td></tr></tbody></table></div>
|
|
528
528
|
<hr>
|
|
529
529
|
<p><a id="listresult"></a></p>
|
|
530
530
|
<h3 id="listresult">ListResult</h3>
|
|
@@ -1079,6 +1079,135 @@ evaluation error that denies (see RuleError).</p>
|
|
|
1079
1079
|
|
|
1080
1080
|
|
|
1081
1081
|
<table><thead><tr><th align="left">Property</th><th align="left">Type</th></tr></thead><tbody><tr><td align="left"><a id="metadata-1"></a> <code>metadata</code></td><td align="left"><a href="#fullmetadata"><code>FullMetadata</code></a></td></tr><tr><td align="left"><a id="ref"></a> <code>ref</code></td><td align="left"><a href="#storagereference"><code>StorageReference</code></a></td></tr></tbody></table></div>
|
|
1082
|
+
<hr>
|
|
1083
|
+
<p><a id="uploadtask"></a></p>
|
|
1084
|
+
<h3 id="uploadtask">UploadTask</h3>
|
|
1085
|
+
<h4 id="extends-3">Extends</h4>
|
|
1086
|
+
<ul>
|
|
1087
|
+
<li><code>Promise</code><<a href="#uploadtasksnapshot-1"><code>UploadTaskSnapshot</code></a>></li>
|
|
1088
|
+
</ul>
|
|
1089
|
+
<h4 id="properties-22">Properties</h4>
|
|
1090
|
+
<div class="table-scroll">
|
|
1091
|
+
|
|
1092
|
+
|
|
1093
|
+
|
|
1094
|
+
|
|
1095
|
+
|
|
1096
|
+
|
|
1097
|
+
|
|
1098
|
+
|
|
1099
|
+
|
|
1100
|
+
|
|
1101
|
+
|
|
1102
|
+
|
|
1103
|
+
|
|
1104
|
+
|
|
1105
|
+
<table><thead><tr><th align="left">Property</th><th align="left">Modifier</th><th align="left">Type</th></tr></thead><tbody><tr><td align="left"><a id="snapshot"></a> <code>snapshot</code></td><td align="left"><code>readonly</code></td><td align="left"><a href="#uploadtasksnapshot-1"><code>UploadTaskSnapshot</code></a></td></tr></tbody></table></div>
|
|
1106
|
+
<h4 id="methods-4">Methods</h4>
|
|
1107
|
+
<p><a id="cancel"></a></p>
|
|
1108
|
+
<h5 id="cancel">cancel()</h5>
|
|
1109
|
+
<pre class="astro-code one-dark-pro" style="background-color:#282c34;color:#abb2bf; overflow-x: auto;" tabindex="0" data-language="ts"><code><span class="line"><span style="color:#61AFEF">cancel</span><span style="color:#ABB2BF">(): </span><span style="color:#E06C75">boolean</span><span style="color:#ABB2BF">;</span></span></code></pre>
|
|
1110
|
+
<h6 id="returns-9">Returns</h6>
|
|
1111
|
+
<p><code>boolean</code></p>
|
|
1112
|
+
<p><a id="on"></a></p>
|
|
1113
|
+
<h5 id="on">on()</h5>
|
|
1114
|
+
<pre class="astro-code one-dark-pro" style="background-color:#282c34;color:#abb2bf; overflow-x: auto;" tabindex="0" data-language="ts"><code><span class="line"><span style="color:#61AFEF">on</span><span style="color:#ABB2BF">(</span></span>
|
|
1115
|
+
<span class="line"><span style="color:#E06C75"> event</span><span style="color:#ABB2BF">: </span><span style="color:#E06C75">string</span><span style="color:#ABB2BF">,</span></span>
|
|
1116
|
+
<span class="line"><span style="color:#E06C75"> nextOrObserver</span><span style="color:#C678DD">?:</span></span>
|
|
1117
|
+
<span class="line"><span style="color:#56B6C2"> |</span><span style="color:#ABB2BF"> (</span><span style="color:#E06C75;font-style:italic">snapshot</span><span style="color:#ABB2BF">: </span><span style="color:#E5C07B">UploadTaskSnapshot</span><span style="color:#ABB2BF">) </span><span style="color:#C678DD">=></span><span style="color:#E06C75"> unknown</span></span>
|
|
1118
|
+
<span class="line"><span style="color:#56B6C2"> |</span><span style="color:#ABB2BF"> {</span></span>
|
|
1119
|
+
<span class="line"><span style="color:#ABB2BF"> complete?: () </span><span style="color:#C678DD">=></span><span style="color:#E06C75"> unknown</span><span style="color:#ABB2BF">;</span></span>
|
|
1120
|
+
<span class="line"><span style="color:#E06C75"> error</span><span style="color:#C678DD">?:</span><span style="color:#ABB2BF"> (</span><span style="color:#E06C75;font-style:italic">error</span><span style="color:#ABB2BF">: </span><span style="color:#E5C07B">Error</span><span style="color:#ABB2BF"> | </span><span style="color:#E5C07B">StorageError</span><span style="color:#ABB2BF">) </span><span style="color:#C678DD">=></span><span style="color:#E06C75"> unknown</span><span style="color:#ABB2BF">;</span></span>
|
|
1121
|
+
<span class="line"><span style="color:#E06C75"> next</span><span style="color:#C678DD">?:</span><span style="color:#ABB2BF"> (</span><span style="color:#E06C75;font-style:italic">snapshot</span><span style="color:#ABB2BF">: </span><span style="color:#E5C07B">UploadTaskSnapshot</span><span style="color:#ABB2BF">) </span><span style="color:#C678DD">=></span><span style="color:#E06C75"> unknown</span><span style="color:#ABB2BF">;</span></span>
|
|
1122
|
+
<span class="line"><span style="color:#ABB2BF">},</span></span>
|
|
1123
|
+
<span class="line"><span style="color:#E06C75"> error</span><span style="color:#C678DD">?:</span><span style="color:#ABB2BF"> (</span><span style="color:#E06C75;font-style:italic">error</span><span style="color:#ABB2BF">: </span><span style="color:#E5C07B">Error</span><span style="color:#ABB2BF"> | </span><span style="color:#E5C07B">StorageError</span><span style="color:#ABB2BF">) </span><span style="color:#C678DD">=></span><span style="color:#E06C75"> unknown</span><span style="color:#ABB2BF">,</span></span>
|
|
1124
|
+
<span class="line"><span style="color:#E06C75"> complete</span><span style="color:#C678DD">?:</span><span style="color:#ABB2BF"> () </span><span style="color:#C678DD">=></span><span style="color:#E06C75"> unknown</span><span style="color:#ABB2BF">): () </span><span style="color:#C678DD">=></span><span style="color:#C678DD"> void</span><span style="color:#ABB2BF">;</span></span></code></pre>
|
|
1125
|
+
<h6 id="parameters-6">Parameters</h6>
|
|
1126
|
+
<div class="table-scroll">
|
|
1127
|
+
|
|
1128
|
+
|
|
1129
|
+
|
|
1130
|
+
|
|
1131
|
+
|
|
1132
|
+
|
|
1133
|
+
|
|
1134
|
+
|
|
1135
|
+
|
|
1136
|
+
|
|
1137
|
+
|
|
1138
|
+
|
|
1139
|
+
|
|
1140
|
+
|
|
1141
|
+
|
|
1142
|
+
|
|
1143
|
+
|
|
1144
|
+
|
|
1145
|
+
|
|
1146
|
+
|
|
1147
|
+
|
|
1148
|
+
|
|
1149
|
+
|
|
1150
|
+
|
|
1151
|
+
<table><thead><tr><th align="left">Parameter</th><th align="left">Type</th></tr></thead><tbody><tr><td align="left"><code>event</code></td><td align="left"><code>string</code></td></tr><tr><td align="left"><code>nextOrObserver?</code></td><td align="left">| (<code>snapshot</code>: <a href="#uploadtasksnapshot-1"><code>UploadTaskSnapshot</code></a>) => <code>unknown</code> | { <code>complete?</code>: () => <code>unknown</code>; <code>error?</code>: (<code>error</code>: <code>Error</code> | <a href="#storageerror"><code>StorageError</code></a>) => <code>unknown</code>; <code>next?</code>: (<code>snapshot</code>: <a href="#uploadtasksnapshot-1"><code>UploadTaskSnapshot</code></a>) => <code>unknown</code>; }</td></tr><tr><td align="left"><code>error?</code></td><td align="left">(<code>error</code>: <code>Error</code> | <a href="#storageerror"><code>StorageError</code></a>) => <code>unknown</code></td></tr><tr><td align="left"><code>complete?</code></td><td align="left">() => <code>unknown</code></td></tr></tbody></table></div>
|
|
1152
|
+
<h6 id="returns-10">Returns</h6>
|
|
1153
|
+
<pre class="astro-code one-dark-pro" style="background-color:#282c34;color:#abb2bf; overflow-x: auto;" tabindex="0" data-language="ts"><code><span class="line"><span style="color:#ABB2BF">(): </span><span style="color:#E5C07B">void</span><span style="color:#ABB2BF">;</span></span></code></pre>
|
|
1154
|
+
<h6 id="returns-11">Returns</h6>
|
|
1155
|
+
<p><code>void</code></p>
|
|
1156
|
+
<p><a id="pause"></a></p>
|
|
1157
|
+
<h5 id="pause">pause()</h5>
|
|
1158
|
+
<pre class="astro-code one-dark-pro" style="background-color:#282c34;color:#abb2bf; overflow-x: auto;" tabindex="0" data-language="ts"><code><span class="line"><span style="color:#61AFEF">pause</span><span style="color:#ABB2BF">(): </span><span style="color:#E06C75">boolean</span><span style="color:#ABB2BF">;</span></span></code></pre>
|
|
1159
|
+
<h6 id="returns-12">Returns</h6>
|
|
1160
|
+
<p><code>boolean</code></p>
|
|
1161
|
+
<p><a id="resume"></a></p>
|
|
1162
|
+
<h5 id="resume">resume()</h5>
|
|
1163
|
+
<pre class="astro-code one-dark-pro" style="background-color:#282c34;color:#abb2bf; overflow-x: auto;" tabindex="0" data-language="ts"><code><span class="line"><span style="color:#61AFEF">resume</span><span style="color:#ABB2BF">(): </span><span style="color:#E06C75">boolean</span><span style="color:#ABB2BF">;</span></span></code></pre>
|
|
1164
|
+
<h6 id="returns-13">Returns</h6>
|
|
1165
|
+
<p><code>boolean</code></p>
|
|
1166
|
+
<hr>
|
|
1167
|
+
<p><a id="uploadtasksnapshot-1"></a></p>
|
|
1168
|
+
<h3 id="uploadtasksnapshot">UploadTaskSnapshot</h3>
|
|
1169
|
+
<h4 id="properties-23">Properties</h4>
|
|
1170
|
+
<div class="table-scroll">
|
|
1171
|
+
|
|
1172
|
+
|
|
1173
|
+
|
|
1174
|
+
|
|
1175
|
+
|
|
1176
|
+
|
|
1177
|
+
|
|
1178
|
+
|
|
1179
|
+
|
|
1180
|
+
|
|
1181
|
+
|
|
1182
|
+
|
|
1183
|
+
|
|
1184
|
+
|
|
1185
|
+
|
|
1186
|
+
|
|
1187
|
+
|
|
1188
|
+
|
|
1189
|
+
|
|
1190
|
+
|
|
1191
|
+
|
|
1192
|
+
|
|
1193
|
+
|
|
1194
|
+
|
|
1195
|
+
|
|
1196
|
+
|
|
1197
|
+
|
|
1198
|
+
|
|
1199
|
+
|
|
1200
|
+
|
|
1201
|
+
|
|
1202
|
+
|
|
1203
|
+
|
|
1204
|
+
|
|
1205
|
+
|
|
1206
|
+
|
|
1207
|
+
|
|
1208
|
+
|
|
1209
|
+
|
|
1210
|
+
<table><thead><tr><th align="left">Property</th><th align="left">Modifier</th><th align="left">Type</th></tr></thead><tbody><tr><td align="left"><a id="bytestransferred"></a> <code>bytesTransferred</code></td><td align="left"><code>readonly</code></td><td align="left"><code>number</code></td></tr><tr><td align="left"><a id="metadata-2"></a> <code>metadata</code></td><td align="left"><code>readonly</code></td><td align="left"><a href="#fullmetadata"><code>FullMetadata</code></a></td></tr><tr><td align="left"><a id="ref-1"></a> <code>ref</code></td><td align="left"><code>readonly</code></td><td align="left"><a href="#storagereference"><code>StorageReference</code></a></td></tr><tr><td align="left"><a id="state"></a> <code>state</code></td><td align="left"><code>readonly</code></td><td align="left"><a href="#taskstate"><code>TaskState</code></a></td></tr><tr><td align="left"><a id="task"></a> <code>task</code></td><td align="left"><code>readonly</code></td><td align="left"><a href="#uploadtask"><code>UploadTask</code></a></td></tr><tr><td align="left"><a id="totalbytes"></a> <code>totalBytes</code></td><td align="left"><code>readonly</code></td><td align="left"><code>number</code></td></tr></tbody></table></div>
|
|
1082
1211
|
<h2 id="type-aliases">Type Aliases</h2>
|
|
1083
1212
|
<p><a id="provisionstorageerrorcode"></a></p>
|
|
1084
1213
|
<h3 id="provisionstorageerrorcode">ProvisionStorageErrorCode</h3>
|
|
@@ -1128,7 +1257,8 @@ evaluation error that denies (see RuleError).</p>
|
|
|
1128
1257
|
<span class="line"><span style="color:#ABB2BF"> | </span><span style="color:#98C379">"unauthorized"</span></span>
|
|
1129
1258
|
<span class="line"><span style="color:#ABB2BF"> | </span><span style="color:#98C379">"invalid-root-operation"</span></span>
|
|
1130
1259
|
<span class="line"><span style="color:#ABB2BF"> | </span><span style="color:#98C379">"invalid-format"</span></span>
|
|
1131
|
-
<span class="line"><span style="color:#ABB2BF"> | </span><span style="color:#98C379">"invalid-argument"</span
|
|
1260
|
+
<span class="line"><span style="color:#ABB2BF"> | </span><span style="color:#98C379">"invalid-argument"</span></span>
|
|
1261
|
+
<span class="line"><span style="color:#ABB2BF"> | </span><span style="color:#98C379">"canceled"</span><span style="color:#ABB2BF">;</span></span></code></pre>
|
|
1132
1262
|
<p>The unprefixed storage error codes the sandbox can raise. Mirrors
|
|
1133
1263
|
the subset of <code>StorageErrorCode</code> used by currently implemented operations.</p>
|
|
1134
1264
|
<hr>
|
|
@@ -1170,6 +1300,14 @@ delete → delete</p>
|
|
|
1170
1300
|
<p><a id="target"></a></p>
|
|
1171
1301
|
<h3 id="target">Target</h3>
|
|
1172
1302
|
<pre class="astro-code one-dark-pro" style="background-color:#282c34;color:#abb2bf; overflow-x: auto;" tabindex="0" data-language="ts"><code><span class="line"><span style="color:#C678DD">type</span><span style="color:#E5C07B"> Target</span><span style="color:#56B6C2"> =</span><span style="color:#E5C07B"> SandboxTarget</span><span style="color:#ABB2BF">;</span></span></code></pre>
|
|
1303
|
+
<hr>
|
|
1304
|
+
<p><a id="taskevent"></a></p>
|
|
1305
|
+
<h3 id="taskevent">TaskEvent</h3>
|
|
1306
|
+
<pre class="astro-code one-dark-pro" style="background-color:#282c34;color:#abb2bf; overflow-x: auto;" tabindex="0" data-language="ts"><code><span class="line"><span style="color:#C678DD">type</span><span style="color:#E5C07B"> TaskEvent</span><span style="color:#56B6C2"> =</span><span style="color:#98C379"> "state_changed"</span><span style="color:#ABB2BF">;</span></span></code></pre>
|
|
1307
|
+
<hr>
|
|
1308
|
+
<p><a id="taskstate"></a></p>
|
|
1309
|
+
<h3 id="taskstate">TaskState</h3>
|
|
1310
|
+
<pre class="astro-code one-dark-pro" style="background-color:#282c34;color:#abb2bf; overflow-x: auto;" tabindex="0" data-language="ts"><code><span class="line"><span style="color:#C678DD">type</span><span style="color:#E5C07B"> TaskState</span><span style="color:#56B6C2"> =</span><span style="color:#98C379"> "running"</span><span style="color:#ABB2BF"> | </span><span style="color:#98C379">"paused"</span><span style="color:#ABB2BF"> | </span><span style="color:#98C379">"success"</span><span style="color:#ABB2BF"> | </span><span style="color:#98C379">"canceled"</span><span style="color:#ABB2BF"> | </span><span style="color:#98C379">"error"</span><span style="color:#ABB2BF">;</span></span></code></pre>
|
|
1173
1311
|
<h2 id="variables">Variables</h2>
|
|
1174
1312
|
<p><a id="target_symbol-1"></a></p>
|
|
1175
1313
|
<h3 id="target_symbol">TARGET_SYMBOL</h3>
|
|
@@ -1189,7 +1327,7 @@ the existing record. The bucket must already exist as a GCS
|
|
|
1189
1327
|
resource; for the default Firebase bucket name
|
|
1190
1328
|
(<code>{projectId}.firebasestorage.app</code>), Firebase auto-creates it on
|
|
1191
1329
|
first <code>:addFirebase</code> call.</p>
|
|
1192
|
-
<h4 id="parameters-
|
|
1330
|
+
<h4 id="parameters-7">Parameters</h4>
|
|
1193
1331
|
<div class="table-scroll">
|
|
1194
1332
|
|
|
1195
1333
|
|
|
@@ -1212,7 +1350,7 @@ first <code>:addFirebase</code> call.</p>
|
|
|
1212
1350
|
|
|
1213
1351
|
|
|
1214
1352
|
<table><thead><tr><th align="left">Parameter</th><th align="left">Type</th></tr></thead><tbody><tr><td align="left"><code>accessToken</code></td><td align="left"><code>string</code></td></tr><tr><td align="left"><code>projectId</code></td><td align="left"><code>string</code></td></tr><tr><td align="left"><code>bucketId</code></td><td align="left"><code>string</code></td></tr></tbody></table></div>
|
|
1215
|
-
<h4 id="returns-
|
|
1353
|
+
<h4 id="returns-14">Returns</h4>
|
|
1216
1354
|
<p><code>Promise</code><<a href="#firebasestoragebucket"><code>FirebaseStorageBucket</code></a>></p>
|
|
1217
1355
|
<hr>
|
|
1218
1356
|
<p><a id="connectstorageemulator"></a></p>
|
|
@@ -1225,7 +1363,7 @@ first <code>:addFirebase</code> call.</p>
|
|
|
1225
1363
|
<span class="line"><span style="color:#E06C75"> mockUserToken</span><span style="color:#C678DD">?</span><span style="color:#ABB2BF">: </span><span style="color:#E5C07B">string</span><span style="color:#ABB2BF"> | </span><span style="color:#E5C07B">Record</span><span style="color:#ABB2BF"><</span><span style="color:#E5C07B">string</span><span style="color:#ABB2BF">, </span><span style="color:#E5C07B">unknown</span><span style="color:#ABB2BF">>;</span></span>
|
|
1226
1364
|
<span class="line"><span style="color:#ABB2BF">}): </span><span style="color:#E5C07B">void</span><span style="color:#ABB2BF">;</span></span></code></pre>
|
|
1227
1365
|
<p>Accepted no-op because the selected Storage backend already is local.</p>
|
|
1228
|
-
<h4 id="parameters-
|
|
1366
|
+
<h4 id="parameters-8">Parameters</h4>
|
|
1229
1367
|
<div class="table-scroll">
|
|
1230
1368
|
|
|
1231
1369
|
|
|
@@ -1256,7 +1394,7 @@ first <code>:addFirebase</code> call.</p>
|
|
|
1256
1394
|
|
|
1257
1395
|
|
|
1258
1396
|
<table><thead><tr><th align="left">Parameter</th><th align="left">Type</th></tr></thead><tbody><tr><td align="left"><code>_storage</code></td><td align="left"><a href="#firebasestorage"><code>FirebaseStorage</code></a></td></tr><tr><td align="left"><code>_host</code></td><td align="left"><code>string</code></td></tr><tr><td align="left"><code>_port</code></td><td align="left"><code>number</code></td></tr><tr><td align="left"><code>_options?</code></td><td align="left">{ <code>mockUserToken?</code>: <code>string</code> | <code>Record</code><<code>string</code>, <code>unknown</code>>; }</td></tr><tr><td align="left"><code>_options.mockUserToken?</code></td><td align="left"><code>string</code> | <code>Record</code><<code>string</code>, <code>unknown</code>></td></tr></tbody></table></div>
|
|
1259
|
-
<h4 id="returns-
|
|
1397
|
+
<h4 id="returns-15">Returns</h4>
|
|
1260
1398
|
<p><code>void</code></p>
|
|
1261
1399
|
<hr>
|
|
1262
1400
|
<p><a id="createstorageadmintools"></a></p>
|
|
@@ -1267,7 +1405,7 @@ first <code>:addFirebase</code> call.</p>
|
|
|
1267
1405
|
<li><code>storage_get_status</code></li>
|
|
1268
1406
|
<li><code>storage_provision</code></li>
|
|
1269
1407
|
</ul>
|
|
1270
|
-
<h4 id="parameters-
|
|
1408
|
+
<h4 id="parameters-9">Parameters</h4>
|
|
1271
1409
|
<div class="table-scroll">
|
|
1272
1410
|
|
|
1273
1411
|
|
|
@@ -1282,7 +1420,7 @@ first <code>:addFirebase</code> call.</p>
|
|
|
1282
1420
|
|
|
1283
1421
|
|
|
1284
1422
|
<table><thead><tr><th align="left">Parameter</th><th align="left">Type</th></tr></thead><tbody><tr><td align="left"><code>deps</code></td><td align="left"><a href="#storageadmintooldeps"><code>StorageAdminToolDeps</code></a></td></tr></tbody></table></div>
|
|
1285
|
-
<h4 id="returns-
|
|
1423
|
+
<h4 id="returns-16">Returns</h4>
|
|
1286
1424
|
<p><code>ToolHandler</code><<code>unknown</code>, <code>unknown</code>>[]</p>
|
|
1287
1425
|
<hr>
|
|
1288
1426
|
<p><a id="defaultplaygroundcors"></a></p>
|
|
@@ -1294,7 +1432,7 @@ Allows GET/POST/PUT/DELETE/HEAD/OPTIONS from the Hosting origin</p>
|
|
|
1294
1432
|
<li>common localhost dev ports, with response headers needed by the
|
|
1295
1433
|
Firebase Storage Web SDK.</li>
|
|
1296
1434
|
</ul>
|
|
1297
|
-
<h4 id="parameters-
|
|
1435
|
+
<h4 id="parameters-10">Parameters</h4>
|
|
1298
1436
|
<div class="table-scroll">
|
|
1299
1437
|
|
|
1300
1438
|
|
|
@@ -1309,7 +1447,7 @@ Firebase Storage Web SDK.</li>
|
|
|
1309
1447
|
|
|
1310
1448
|
|
|
1311
1449
|
<table><thead><tr><th align="left">Parameter</th><th align="left">Type</th></tr></thead><tbody><tr><td align="left"><code>hostingOrigin</code></td><td align="left"><code>string</code></td></tr></tbody></table></div>
|
|
1312
|
-
<h4 id="returns-
|
|
1450
|
+
<h4 id="returns-17">Returns</h4>
|
|
1313
1451
|
<p><a href="#corsrule"><code>CorsRule</code></a>[]</p>
|
|
1314
1452
|
<hr>
|
|
1315
1453
|
<p><a id="deleteobject"></a></p>
|
|
@@ -1326,7 +1464,7 @@ reconsider whether to mirror the strict throw.</p>
|
|
|
1326
1464
|
threaded EXPLICITLY onto the emitted <code>object_delete</code> event. The delete
|
|
1327
1465
|
awaits the backend before emitting, so it escapes the sandbox’s
|
|
1328
1466
|
synchronous ambient-provenance window — see the note on <code>uploadBytes</code>.</p>
|
|
1329
|
-
<h4 id="parameters-
|
|
1467
|
+
<h4 id="parameters-11">Parameters</h4>
|
|
1330
1468
|
<div class="table-scroll">
|
|
1331
1469
|
|
|
1332
1470
|
|
|
@@ -1345,7 +1483,7 @@ synchronous ambient-provenance window — see the note on <code>uploadBytes</cod
|
|
|
1345
1483
|
|
|
1346
1484
|
|
|
1347
1485
|
<table><thead><tr><th align="left">Parameter</th><th align="left">Type</th></tr></thead><tbody><tr><td align="left"><code>ref</code></td><td align="left"><a href="#storagereference"><code>StorageReference</code></a></td></tr><tr><td align="left"><code>provenance?</code></td><td align="left"><a href="/docs/pyric-sandbox-reference-api/#eventprovenance"><code>EventProvenance</code></a></td></tr></tbody></table></div>
|
|
1348
|
-
<h4 id="returns-
|
|
1486
|
+
<h4 id="returns-18">Returns</h4>
|
|
1349
1487
|
<p><code>Promise</code><<code>void</code>></p>
|
|
1350
1488
|
<hr>
|
|
1351
1489
|
<p><a id="deploystoragerules"></a></p>
|
|
@@ -1367,7 +1505,7 @@ unchanged.</p>
|
|
|
1367
1505
|
<p>Defaults <code>bucketId</code> to <code>{projectId}.firebasestorage.app</code> (the
|
|
1368
1506
|
Firebase default bucket name). Pass an override when targeting a
|
|
1369
1507
|
non-default bucket.</p>
|
|
1370
|
-
<h4 id="parameters-
|
|
1508
|
+
<h4 id="parameters-12">Parameters</h4>
|
|
1371
1509
|
<div class="table-scroll">
|
|
1372
1510
|
|
|
1373
1511
|
|
|
@@ -1394,7 +1532,7 @@ non-default bucket.</p>
|
|
|
1394
1532
|
|
|
1395
1533
|
|
|
1396
1534
|
<table><thead><tr><th align="left">Parameter</th><th align="left">Type</th></tr></thead><tbody><tr><td align="left"><code>accessToken</code></td><td align="left"><code>string</code></td></tr><tr><td align="left"><code>projectId</code></td><td align="left"><code>string</code></td></tr><tr><td align="left"><code>source</code></td><td align="left"><code>string</code></td></tr><tr><td align="left"><code>bucketId?</code></td><td align="left"><code>string</code></td></tr></tbody></table></div>
|
|
1397
|
-
<h4 id="returns-
|
|
1535
|
+
<h4 id="returns-19">Returns</h4>
|
|
1398
1536
|
<p><code>Promise</code><{
|
|
1399
1537
|
<code>rulesetName</code>: <code>string</code>;
|
|
1400
1538
|
}></p>
|
|
@@ -1412,7 +1550,7 @@ the elevated role.</p>
|
|
|
1412
1550
|
<p>Long-running operation under the hood; the response carries an
|
|
1413
1551
|
operation name. We don’t poll — the response 200 is enough signal
|
|
1414
1552
|
for our purposes, and a brief settle delay handles propagation.</p>
|
|
1415
|
-
<h4 id="parameters-
|
|
1553
|
+
<h4 id="parameters-13">Parameters</h4>
|
|
1416
1554
|
<div class="table-scroll">
|
|
1417
1555
|
|
|
1418
1556
|
|
|
@@ -1431,7 +1569,7 @@ for our purposes, and a brief settle delay handles propagation.</p>
|
|
|
1431
1569
|
|
|
1432
1570
|
|
|
1433
1571
|
<table><thead><tr><th align="left">Parameter</th><th align="left">Type</th></tr></thead><tbody><tr><td align="left"><code>accessToken</code></td><td align="left"><code>string</code></td></tr><tr><td align="left"><code>projectId</code></td><td align="left"><code>string</code></td></tr></tbody></table></div>
|
|
1434
|
-
<h4 id="returns-
|
|
1572
|
+
<h4 id="returns-20">Returns</h4>
|
|
1435
1573
|
<p><code>Promise</code><<code>void</code>></p>
|
|
1436
1574
|
<hr>
|
|
1437
1575
|
<p><a id="evaluatestoragerules"></a></p>
|
|
@@ -1441,7 +1579,7 @@ for our purposes, and a brief settle delay handles propagation.</p>
|
|
|
1441
1579
|
<span class="line"><span style="color:#E06C75;font-style:italic"> input</span><span style="color:#ABB2BF">: </span><span style="color:#E5C07B">EvaluationInput</span><span style="color:#ABB2BF">,</span></span>
|
|
1442
1580
|
<span class="line"><span style="color:#E06C75;font-style:italic"> now</span><span style="color:#C678DD">?</span><span style="color:#ABB2BF">: </span><span style="color:#E5C07B">Date</span><span style="color:#ABB2BF">,</span></span>
|
|
1443
1581
|
<span class="line"><span style="color:#E06C75;font-style:italic"> firestoreLookup</span><span style="color:#C678DD">?</span><span style="color:#ABB2BF">: </span><span style="color:#E5C07B">FirestoreLookup</span><span style="color:#ABB2BF">): </span><span style="color:#E5C07B">EvaluationResult</span><span style="color:#ABB2BF">;</span></span></code></pre>
|
|
1444
|
-
<h4 id="parameters-
|
|
1582
|
+
<h4 id="parameters-14">Parameters</h4>
|
|
1445
1583
|
<div class="table-scroll">
|
|
1446
1584
|
|
|
1447
1585
|
|
|
@@ -1468,7 +1606,7 @@ for our purposes, and a brief settle delay handles propagation.</p>
|
|
|
1468
1606
|
|
|
1469
1607
|
|
|
1470
1608
|
<table><thead><tr><th align="left">Parameter</th><th align="left">Type</th></tr></thead><tbody><tr><td align="left"><code>rules</code></td><td align="left"><a href="#storagerules"><code>StorageRules</code></a></td></tr><tr><td align="left"><code>input</code></td><td align="left"><a href="#evaluationinput"><code>EvaluationInput</code></a></td></tr><tr><td align="left"><code>now?</code></td><td align="left"><code>Date</code></td></tr><tr><td align="left"><code>firestoreLookup?</code></td><td align="left"><a href="#firestorelookup"><code>FirestoreLookup</code></a></td></tr></tbody></table></div>
|
|
1471
|
-
<h4 id="returns-
|
|
1609
|
+
<h4 id="returns-21">Returns</h4>
|
|
1472
1610
|
<p><a href="#evaluationresult"><code>EvaluationResult</code></a></p>
|
|
1473
1611
|
<hr>
|
|
1474
1612
|
<p><a id="finalizedefaultlocation"></a></p>
|
|
@@ -1483,7 +1621,7 @@ caller’s job; this function unconditionally calls <code>:finalize</code>.</p>
|
|
|
1483
1621
|
<p>Per observed behavior, <code>:finalize</code> 404s on projects that already
|
|
1484
1622
|
have resources provisioned (RTDB, Hosting) without a default
|
|
1485
1623
|
location. The error path surfaces that to the caller.</p>
|
|
1486
|
-
<h4 id="parameters-
|
|
1624
|
+
<h4 id="parameters-15">Parameters</h4>
|
|
1487
1625
|
<div class="table-scroll">
|
|
1488
1626
|
|
|
1489
1627
|
|
|
@@ -1506,7 +1644,7 @@ location. The error path surfaces that to the caller.</p>
|
|
|
1506
1644
|
|
|
1507
1645
|
|
|
1508
1646
|
<table><thead><tr><th align="left">Parameter</th><th align="left">Type</th></tr></thead><tbody><tr><td align="left"><code>accessToken</code></td><td align="left"><code>string</code></td></tr><tr><td align="left"><code>projectId</code></td><td align="left"><code>string</code></td></tr><tr><td align="left"><code>locationId</code></td><td align="left"><code>string</code></td></tr></tbody></table></div>
|
|
1509
|
-
<h4 id="returns-
|
|
1647
|
+
<h4 id="returns-22">Returns</h4>
|
|
1510
1648
|
<p><code>Promise</code><<code>void</code>></p>
|
|
1511
1649
|
<hr>
|
|
1512
1650
|
<p><a id="getblob"></a></p>
|
|
@@ -1518,7 +1656,7 @@ caller wants a <code>Blob</code> directly (e.g. for streaming or
|
|
|
1518
1656
|
<code>URL.createObjectURL</code>). Note: this is the browser-side
|
|
1519
1657
|
counterpart of the JS SDK’s <code>getBlob</code> — the v1 scope doesn’t ship
|
|
1520
1658
|
a Node-stream variant.</p>
|
|
1521
|
-
<h4 id="parameters-
|
|
1659
|
+
<h4 id="parameters-16">Parameters</h4>
|
|
1522
1660
|
<div class="table-scroll">
|
|
1523
1661
|
|
|
1524
1662
|
|
|
@@ -1537,14 +1675,14 @@ a Node-stream variant.</p>
|
|
|
1537
1675
|
|
|
1538
1676
|
|
|
1539
1677
|
<table><thead><tr><th align="left">Parameter</th><th align="left">Type</th></tr></thead><tbody><tr><td align="left"><code>ref</code></td><td align="left"><a href="#storagereference"><code>StorageReference</code></a></td></tr><tr><td align="left"><code>maxDownloadSizeBytes?</code></td><td align="left"><code>number</code></td></tr></tbody></table></div>
|
|
1540
|
-
<h4 id="returns-
|
|
1678
|
+
<h4 id="returns-23">Returns</h4>
|
|
1541
1679
|
<p><code>Promise</code><<code>Blob</code>></p>
|
|
1542
1680
|
<hr>
|
|
1543
1681
|
<p><a id="getbucketcors"></a></p>
|
|
1544
1682
|
<h3 id="getbucketcors">getBucketCors()</h3>
|
|
1545
1683
|
<pre class="astro-code one-dark-pro" style="background-color:#282c34;color:#abb2bf; overflow-x: auto;" tabindex="0" data-language="ts"><code><span class="line"><span style="color:#C678DD">function</span><span style="color:#61AFEF"> getBucketCors</span><span style="color:#ABB2BF">(</span><span style="color:#E06C75;font-style:italic">accessToken</span><span style="color:#ABB2BF">: </span><span style="color:#E5C07B">string</span><span style="color:#ABB2BF">, </span><span style="color:#E06C75;font-style:italic">bucketId</span><span style="color:#ABB2BF">: </span><span style="color:#E5C07B">string</span><span style="color:#ABB2BF">): </span><span style="color:#E5C07B">Promise</span><span style="color:#ABB2BF"><</span><span style="color:#E5C07B">CorsRule</span><span style="color:#ABB2BF">[]>;</span></span></code></pre>
|
|
1546
1684
|
<p>Read the current CORS configuration for a bucket.</p>
|
|
1547
|
-
<h4 id="parameters-
|
|
1685
|
+
<h4 id="parameters-17">Parameters</h4>
|
|
1548
1686
|
<div class="table-scroll">
|
|
1549
1687
|
|
|
1550
1688
|
|
|
@@ -1563,7 +1701,7 @@ a Node-stream variant.</p>
|
|
|
1563
1701
|
|
|
1564
1702
|
|
|
1565
1703
|
<table><thead><tr><th align="left">Parameter</th><th align="left">Type</th></tr></thead><tbody><tr><td align="left"><code>accessToken</code></td><td align="left"><code>string</code></td></tr><tr><td align="left"><code>bucketId</code></td><td align="left"><code>string</code></td></tr></tbody></table></div>
|
|
1566
|
-
<h4 id="returns-
|
|
1704
|
+
<h4 id="returns-24">Returns</h4>
|
|
1567
1705
|
<p><code>Promise</code><<a href="#corsrule"><code>CorsRule</code></a>[]></p>
|
|
1568
1706
|
<hr>
|
|
1569
1707
|
<p><a id="getbytes"></a></p>
|
|
@@ -1572,7 +1710,7 @@ a Node-stream variant.</p>
|
|
|
1572
1710
|
<p>Read the blob at <code>ref</code> and return its contents as an
|
|
1573
1711
|
<code>ArrayBuffer</code>. Honors the optional <code>maxDownloadSizeBytes</code> cap by
|
|
1574
1712
|
truncating to that length.</p>
|
|
1575
|
-
<h4 id="parameters-
|
|
1713
|
+
<h4 id="parameters-18">Parameters</h4>
|
|
1576
1714
|
<div class="table-scroll">
|
|
1577
1715
|
|
|
1578
1716
|
|
|
@@ -1591,7 +1729,7 @@ truncating to that length.</p>
|
|
|
1591
1729
|
|
|
1592
1730
|
|
|
1593
1731
|
<table><thead><tr><th align="left">Parameter</th><th align="left">Type</th></tr></thead><tbody><tr><td align="left"><code>ref</code></td><td align="left"><a href="#storagereference"><code>StorageReference</code></a></td></tr><tr><td align="left"><code>maxDownloadSizeBytes?</code></td><td align="left"><code>number</code></td></tr></tbody></table></div>
|
|
1594
|
-
<h4 id="returns-
|
|
1732
|
+
<h4 id="returns-25">Returns</h4>
|
|
1595
1733
|
<p><code>Promise</code><<code>ArrayBuffer</code>></p>
|
|
1596
1734
|
<hr>
|
|
1597
1735
|
<p><a id="getdefaultlocation"></a></p>
|
|
@@ -1600,7 +1738,7 @@ truncating to that length.</p>
|
|
|
1600
1738
|
<p>Read the project’s current default GCP resources location. Returns
|
|
1601
1739
|
null when the project hasn’t been finalized yet — e.g. brand-new
|
|
1602
1740
|
Firebase projects with no resources. <code>firebase</code> scope is sufficient.</p>
|
|
1603
|
-
<h4 id="parameters-
|
|
1741
|
+
<h4 id="parameters-19">Parameters</h4>
|
|
1604
1742
|
<div class="table-scroll">
|
|
1605
1743
|
|
|
1606
1744
|
|
|
@@ -1619,7 +1757,7 @@ Firebase projects with no resources. <code>firebase</code> scope is sufficient.<
|
|
|
1619
1757
|
|
|
1620
1758
|
|
|
1621
1759
|
<table><thead><tr><th align="left">Parameter</th><th align="left">Type</th></tr></thead><tbody><tr><td align="left"><code>accessToken</code></td><td align="left"><code>string</code></td></tr><tr><td align="left"><code>projectId</code></td><td align="left"><code>string</code></td></tr></tbody></table></div>
|
|
1622
|
-
<h4 id="returns-
|
|
1760
|
+
<h4 id="returns-26">Returns</h4>
|
|
1623
1761
|
<p><code>Promise</code><<code>string</code>></p>
|
|
1624
1762
|
<hr>
|
|
1625
1763
|
<p><a id="getdownloadurl"></a></p>
|
|
@@ -1629,7 +1767,7 @@ Firebase projects with no resources. <code>firebase</code> scope is sufficient.<
|
|
|
1629
1767
|
created from the same rules-checked blob as <a href="#getblob">getBlob</a>. It is a
|
|
1630
1768
|
snapshot, cannot be shared outside the page, and stays
|
|
1631
1769
|
alive until the caller revokes it or the page unloads.</p>
|
|
1632
|
-
<h4 id="parameters-
|
|
1770
|
+
<h4 id="parameters-20">Parameters</h4>
|
|
1633
1771
|
<div class="table-scroll">
|
|
1634
1772
|
|
|
1635
1773
|
|
|
@@ -1644,7 +1782,7 @@ alive until the caller revokes it or the page unloads.</p>
|
|
|
1644
1782
|
|
|
1645
1783
|
|
|
1646
1784
|
<table><thead><tr><th align="left">Parameter</th><th align="left">Type</th></tr></thead><tbody><tr><td align="left"><code>ref</code></td><td align="left"><a href="#storagereference"><code>StorageReference</code></a></td></tr></tbody></table></div>
|
|
1647
|
-
<h4 id="returns-
|
|
1785
|
+
<h4 id="returns-27">Returns</h4>
|
|
1648
1786
|
<p><code>Promise</code><<code>string</code>></p>
|
|
1649
1787
|
<hr>
|
|
1650
1788
|
<p><a id="getmetadata"></a></p>
|
|
@@ -1656,7 +1794,7 @@ exists at the path (<code>storage/object-not-found</code>).</p>
|
|
|
1656
1794
|
<code>FullMetadata</code> shape <code>uploadBytes</code> produced — server-set fields
|
|
1657
1795
|
pinned at upload time, client-settable fields whatever the latest
|
|
1658
1796
|
write left them as.</p>
|
|
1659
|
-
<h4 id="parameters-
|
|
1797
|
+
<h4 id="parameters-21">Parameters</h4>
|
|
1660
1798
|
<div class="table-scroll">
|
|
1661
1799
|
|
|
1662
1800
|
|
|
@@ -1671,14 +1809,14 @@ write left them as.</p>
|
|
|
1671
1809
|
|
|
1672
1810
|
|
|
1673
1811
|
<table><thead><tr><th align="left">Parameter</th><th align="left">Type</th></tr></thead><tbody><tr><td align="left"><code>ref</code></td><td align="left"><a href="#storagereference"><code>StorageReference</code></a></td></tr></tbody></table></div>
|
|
1674
|
-
<h4 id="returns-
|
|
1812
|
+
<h4 id="returns-28">Returns</h4>
|
|
1675
1813
|
<p><code>Promise</code><<a href="#fullmetadata"><code>FullMetadata</code></a>></p>
|
|
1676
1814
|
<hr>
|
|
1677
1815
|
<p><a id="getstorage"></a></p>
|
|
1678
1816
|
<h3 id="getstorage">getStorage()</h3>
|
|
1679
1817
|
<pre class="astro-code one-dark-pro" style="background-color:#282c34;color:#abb2bf; overflow-x: auto;" tabindex="0" data-language="ts"><code><span class="line"><span style="color:#C678DD">function</span><span style="color:#61AFEF"> getStorage</span><span style="color:#ABB2BF">(</span><span style="color:#E06C75;font-style:italic">app</span><span style="color:#C678DD">?</span><span style="color:#ABB2BF">: </span><span style="color:#E5C07B">FirebaseApp</span><span style="color:#ABB2BF">, </span><span style="color:#E06C75;font-style:italic">bucketUrl</span><span style="color:#C678DD">?</span><span style="color:#ABB2BF">: </span><span style="color:#E5C07B">string</span><span style="color:#ABB2BF">): </span><span style="color:#E5C07B">AppFirebaseStorage</span><span style="color:#ABB2BF">;</span></span></code></pre>
|
|
1680
1818
|
<p>Resolve the Firebase-shaped Storage service associated with an app.</p>
|
|
1681
|
-
<h4 id="parameters-
|
|
1819
|
+
<h4 id="parameters-22">Parameters</h4>
|
|
1682
1820
|
<div class="table-scroll">
|
|
1683
1821
|
|
|
1684
1822
|
|
|
@@ -1697,7 +1835,7 @@ write left them as.</p>
|
|
|
1697
1835
|
|
|
1698
1836
|
|
|
1699
1837
|
<table><thead><tr><th align="left">Parameter</th><th align="left">Type</th></tr></thead><tbody><tr><td align="left"><code>app?</code></td><td align="left"><a href="/docs/pyric-app-reference-api/#firebaseapp"><code>FirebaseApp</code></a></td></tr><tr><td align="left"><code>bucketUrl?</code></td><td align="left"><code>string</code></td></tr></tbody></table></div>
|
|
1700
|
-
<h4 id="returns-
|
|
1838
|
+
<h4 id="returns-29">Returns</h4>
|
|
1701
1839
|
<p><code>AppFirebaseStorage</code></p>
|
|
1702
1840
|
<hr>
|
|
1703
1841
|
<p><a id="getstoragesandbox"></a></p>
|
|
@@ -1709,7 +1847,7 @@ write left them as.</p>
|
|
|
1709
1847
|
handle. Accepts either a bare <code>Sandbox</code> (anonymous identity wired
|
|
1710
1848
|
up via <code>sandbox.withAuth(null)</code>) or an explicit <code>SandboxContext</code>.
|
|
1711
1849
|
Idempotent on <code>SandboxContext</code> identity.</p>
|
|
1712
|
-
<h4 id="parameters-
|
|
1850
|
+
<h4 id="parameters-23">Parameters</h4>
|
|
1713
1851
|
<div class="table-scroll">
|
|
1714
1852
|
|
|
1715
1853
|
|
|
@@ -1728,7 +1866,7 @@ Idempotent on <code>SandboxContext</code> identity.</p>
|
|
|
1728
1866
|
|
|
1729
1867
|
|
|
1730
1868
|
<table><thead><tr><th align="left">Parameter</th><th align="left">Type</th></tr></thead><tbody><tr><td align="left"><code>target</code></td><td align="left">| <a href="/docs/pyric-firestore-reference-api/#sandbox"><code>Sandbox</code></a> | <a href="/docs/pyric-firestore-reference-api/#sandboxcontext"><code>SandboxContext</code></a></td></tr><tr><td align="left"><code>options?</code></td><td align="left"><a href="#storageoptions"><code>StorageOptions</code></a></td></tr></tbody></table></div>
|
|
1731
|
-
<h4 id="returns-
|
|
1869
|
+
<h4 id="returns-30">Returns</h4>
|
|
1732
1870
|
<p><a href="#firebasestorage"><code>FirebaseStorage</code></a></p>
|
|
1733
1871
|
<hr>
|
|
1734
1872
|
<p><a id="getstorageservicestate"></a></p>
|
|
@@ -1740,7 +1878,7 @@ enabled on the project. Cheap, uses Service Usage <code>GET</code>. Requires
|
|
|
1740
1878
|
SDK SA has this; user OAuth tokens with <code>firebase</code> scope do not).</p>
|
|
1741
1879
|
<p>Returns <code>'unknown'</code> on permission failures so callers can downgrade
|
|
1742
1880
|
to “try the operation; observe SERVICE_DISABLED” rather than block.</p>
|
|
1743
|
-
<h4 id="parameters-
|
|
1881
|
+
<h4 id="parameters-24">Parameters</h4>
|
|
1744
1882
|
<div class="table-scroll">
|
|
1745
1883
|
|
|
1746
1884
|
|
|
@@ -1759,7 +1897,7 @@ to “try the operation; observe SERVICE_DISABLED” rather than block.</p>
|
|
|
1759
1897
|
|
|
1760
1898
|
|
|
1761
1899
|
<table><thead><tr><th align="left">Parameter</th><th align="left">Type</th></tr></thead><tbody><tr><td align="left"><code>accessToken</code></td><td align="left"><code>string</code></td></tr><tr><td align="left"><code>projectId</code></td><td align="left"><code>string</code></td></tr></tbody></table></div>
|
|
1762
|
-
<h4 id="returns-
|
|
1900
|
+
<h4 id="returns-31">Returns</h4>
|
|
1763
1901
|
<p><code>Promise</code><<a href="#serviceenablestate"><code>ServiceEnableState</code></a>></p>
|
|
1764
1902
|
<hr>
|
|
1765
1903
|
<p><a id="listall"></a></p>
|
|
@@ -1768,7 +1906,7 @@ to “try the operation; observe SERVICE_DISABLED” rather than block.</p>
|
|
|
1768
1906
|
<p>Enumerate every immediate child item + sub-prefix under <code>refIn</code>.
|
|
1769
1907
|
Works on the root reference too — pass <code>ref(storage)</code> to scan the
|
|
1770
1908
|
whole bucket.</p>
|
|
1771
|
-
<h4 id="parameters-
|
|
1909
|
+
<h4 id="parameters-25">Parameters</h4>
|
|
1772
1910
|
<div class="table-scroll">
|
|
1773
1911
|
|
|
1774
1912
|
|
|
@@ -1783,7 +1921,7 @@ whole bucket.</p>
|
|
|
1783
1921
|
|
|
1784
1922
|
|
|
1785
1923
|
<table><thead><tr><th align="left">Parameter</th><th align="left">Type</th></tr></thead><tbody><tr><td align="left"><code>refIn</code></td><td align="left"><a href="#storagereference"><code>StorageReference</code></a></td></tr></tbody></table></div>
|
|
1786
|
-
<h4 id="returns-
|
|
1924
|
+
<h4 id="returns-32">Returns</h4>
|
|
1787
1925
|
<p><code>Promise</code><<a href="#listresult"><code>ListResult</code></a>></p>
|
|
1788
1926
|
<hr>
|
|
1789
1927
|
<p><a id="listfirebasebuckets"></a></p>
|
|
@@ -1793,7 +1931,7 @@ whole bucket.</p>
|
|
|
1793
1931
|
empty list when none exist yet. Throws when the underlying service
|
|
1794
1932
|
is disabled — callers should check <code>getStorageServiceState</code> first
|
|
1795
1933
|
if they want to distinguish.</p>
|
|
1796
|
-
<h4 id="parameters-
|
|
1934
|
+
<h4 id="parameters-26">Parameters</h4>
|
|
1797
1935
|
<div class="table-scroll">
|
|
1798
1936
|
|
|
1799
1937
|
|
|
@@ -1812,7 +1950,7 @@ if they want to distinguish.</p>
|
|
|
1812
1950
|
|
|
1813
1951
|
|
|
1814
1952
|
<table><thead><tr><th align="left">Parameter</th><th align="left">Type</th></tr></thead><tbody><tr><td align="left"><code>accessToken</code></td><td align="left"><code>string</code></td></tr><tr><td align="left"><code>projectId</code></td><td align="left"><code>string</code></td></tr></tbody></table></div>
|
|
1815
|
-
<h4 id="returns-
|
|
1953
|
+
<h4 id="returns-33">Returns</h4>
|
|
1816
1954
|
<p><code>Promise</code><<a href="#firebasestoragebucket"><code>FirebaseStorageBucket</code></a>[]></p>
|
|
1817
1955
|
<hr>
|
|
1818
1956
|
<p><a id="parsestoragerules"></a></p>
|
|
@@ -1821,7 +1959,7 @@ if they want to distinguish.</p>
|
|
|
1821
1959
|
<p>Parse a Storage rules source into an opaque handle. Throws
|
|
1822
1960
|
<code>SyntaxError</code> on malformed input. Used by Slice 8’s
|
|
1823
1961
|
<code>getStorage(ctx, { rules })</code> to validate upfront.</p>
|
|
1824
|
-
<h4 id="parameters-
|
|
1962
|
+
<h4 id="parameters-27">Parameters</h4>
|
|
1825
1963
|
<div class="table-scroll">
|
|
1826
1964
|
|
|
1827
1965
|
|
|
@@ -1836,7 +1974,7 @@ if they want to distinguish.</p>
|
|
|
1836
1974
|
|
|
1837
1975
|
|
|
1838
1976
|
<table><thead><tr><th align="left">Parameter</th><th align="left">Type</th></tr></thead><tbody><tr><td align="left"><code>source</code></td><td align="left"><code>string</code></td></tr></tbody></table></div>
|
|
1839
|
-
<h4 id="returns-
|
|
1977
|
+
<h4 id="returns-34">Returns</h4>
|
|
1840
1978
|
<p><a href="#storagerules"><code>StorageRules</code></a></p>
|
|
1841
1979
|
<hr>
|
|
1842
1980
|
<p><a id="provisionstorage"></a></p>
|
|
@@ -1858,7 +1996,7 @@ enabled)</li>
|
|
|
1858
1996
|
<p>The handler throws <code>StorageProvisioningError</code> with the
|
|
1859
1997
|
underlying <code>reason</code> (e.g. <code>AUTH_PERMISSION_DENIED</code>,
|
|
1860
1998
|
<code>SERVICE_DISABLED</code>) so the caller can route to actionable UX.</p>
|
|
1861
|
-
<h4 id="parameters-
|
|
1999
|
+
<h4 id="parameters-28">Parameters</h4>
|
|
1862
2000
|
<div class="table-scroll">
|
|
1863
2001
|
|
|
1864
2002
|
|
|
@@ -1881,17 +2019,17 @@ underlying <code>reason</code> (e.g. <code>AUTH_PERMISSION_DENIED</code>,
|
|
|
1881
2019
|
|
|
1882
2020
|
|
|
1883
2021
|
<table><thead><tr><th align="left">Parameter</th><th align="left">Type</th></tr></thead><tbody><tr><td align="left"><code>accessToken</code></td><td align="left"><code>string</code></td></tr><tr><td align="left"><code>projectId</code></td><td align="left"><code>string</code></td></tr><tr><td align="left"><code>options?</code></td><td align="left"><a href="#provisionstorageoptions"><code>ProvisionStorageOptions</code></a></td></tr></tbody></table></div>
|
|
1884
|
-
<h4 id="returns-
|
|
2022
|
+
<h4 id="returns-35">Returns</h4>
|
|
1885
2023
|
<p><code>Promise</code><<a href="#provisionstorageresult"><code>ProvisionStorageResult</code></a>></p>
|
|
1886
2024
|
<hr>
|
|
1887
|
-
<p><a id="ref-
|
|
2025
|
+
<p><a id="ref-2"></a></p>
|
|
1888
2026
|
<h3 id="ref">ref()</h3>
|
|
1889
2027
|
<h4 id="call-signature">Call Signature</h4>
|
|
1890
2028
|
<pre class="astro-code one-dark-pro" style="background-color:#282c34;color:#abb2bf; overflow-x: auto;" tabindex="0" data-language="ts"><code><span class="line"><span style="color:#C678DD">function</span><span style="color:#61AFEF"> ref</span><span style="color:#ABB2BF">(</span><span style="color:#E06C75;font-style:italic">storage</span><span style="color:#ABB2BF">: </span><span style="color:#E5C07B">FirebaseStorage</span><span style="color:#ABB2BF">, </span><span style="color:#E06C75;font-style:italic">path</span><span style="color:#C678DD">?</span><span style="color:#ABB2BF">: </span><span style="color:#E5C07B">string</span><span style="color:#ABB2BF">): </span><span style="color:#E5C07B">StorageReference</span><span style="color:#ABB2BF">;</span></span></code></pre>
|
|
1891
2029
|
<p>Construct a reference. Two overloads matching Firebase:</p>
|
|
1892
2030
|
<p><code>ref(storage, path?)</code> — <code>path</code> is bucket-rooted. Omit for root.
|
|
1893
2031
|
<code>ref(parent, path)</code> — <code>path</code> is relative to <code>parent.fullPath</code>.</p>
|
|
1894
|
-
<h5 id="parameters-
|
|
2032
|
+
<h5 id="parameters-29">Parameters</h5>
|
|
1895
2033
|
<div class="table-scroll">
|
|
1896
2034
|
|
|
1897
2035
|
|
|
@@ -1910,14 +2048,14 @@ underlying <code>reason</code> (e.g. <code>AUTH_PERMISSION_DENIED</code>,
|
|
|
1910
2048
|
|
|
1911
2049
|
|
|
1912
2050
|
<table><thead><tr><th align="left">Parameter</th><th align="left">Type</th></tr></thead><tbody><tr><td align="left"><code>storage</code></td><td align="left"><a href="#firebasestorage"><code>FirebaseStorage</code></a></td></tr><tr><td align="left"><code>path?</code></td><td align="left"><code>string</code></td></tr></tbody></table></div>
|
|
1913
|
-
<h5 id="returns-
|
|
2051
|
+
<h5 id="returns-36">Returns</h5>
|
|
1914
2052
|
<p><a href="#storagereference"><code>StorageReference</code></a></p>
|
|
1915
2053
|
<h4 id="call-signature-1">Call Signature</h4>
|
|
1916
2054
|
<pre class="astro-code one-dark-pro" style="background-color:#282c34;color:#abb2bf; overflow-x: auto;" tabindex="0" data-language="ts"><code><span class="line"><span style="color:#C678DD">function</span><span style="color:#61AFEF"> ref</span><span style="color:#ABB2BF">(</span><span style="color:#E06C75;font-style:italic">parent</span><span style="color:#ABB2BF">: </span><span style="color:#E5C07B">StorageReference</span><span style="color:#ABB2BF">, </span><span style="color:#E06C75;font-style:italic">path</span><span style="color:#ABB2BF">: </span><span style="color:#E5C07B">string</span><span style="color:#ABB2BF">): </span><span style="color:#E5C07B">StorageReference</span><span style="color:#ABB2BF">;</span></span></code></pre>
|
|
1917
2055
|
<p>Construct a reference. Two overloads matching Firebase:</p>
|
|
1918
2056
|
<p><code>ref(storage, path?)</code> — <code>path</code> is bucket-rooted. Omit for root.
|
|
1919
2057
|
<code>ref(parent, path)</code> — <code>path</code> is relative to <code>parent.fullPath</code>.</p>
|
|
1920
|
-
<h5 id="parameters-
|
|
2058
|
+
<h5 id="parameters-30">Parameters</h5>
|
|
1921
2059
|
<div class="table-scroll">
|
|
1922
2060
|
|
|
1923
2061
|
|
|
@@ -1936,7 +2074,7 @@ underlying <code>reason</code> (e.g. <code>AUTH_PERMISSION_DENIED</code>,
|
|
|
1936
2074
|
|
|
1937
2075
|
|
|
1938
2076
|
<table><thead><tr><th align="left">Parameter</th><th align="left">Type</th></tr></thead><tbody><tr><td align="left"><code>parent</code></td><td align="left"><a href="#storagereference"><code>StorageReference</code></a></td></tr><tr><td align="left"><code>path</code></td><td align="left"><code>string</code></td></tr></tbody></table></div>
|
|
1939
|
-
<h5 id="returns-
|
|
2077
|
+
<h5 id="returns-37">Returns</h5>
|
|
1940
2078
|
<p><a href="#storagereference"><code>StorageReference</code></a></p>
|
|
1941
2079
|
<hr>
|
|
1942
2080
|
<p><a id="setbucketcors"></a></p>
|
|
@@ -1948,7 +2086,7 @@ underlying <code>reason</code> (e.g. <code>AUTH_PERMISSION_DENIED</code>,
|
|
|
1948
2086
|
<p>Replace the bucket’s CORS configuration. Pass an empty array to
|
|
1949
2087
|
clear all rules. The GCS API replaces (not merges) the cors field
|
|
1950
2088
|
on PATCH.</p>
|
|
1951
|
-
<h4 id="parameters-
|
|
2089
|
+
<h4 id="parameters-31">Parameters</h4>
|
|
1952
2090
|
<div class="table-scroll">
|
|
1953
2091
|
|
|
1954
2092
|
|
|
@@ -1971,7 +2109,7 @@ on PATCH.</p>
|
|
|
1971
2109
|
|
|
1972
2110
|
|
|
1973
2111
|
<table><thead><tr><th align="left">Parameter</th><th align="left">Type</th></tr></thead><tbody><tr><td align="left"><code>accessToken</code></td><td align="left"><code>string</code></td></tr><tr><td align="left"><code>bucketId</code></td><td align="left"><code>string</code></td></tr><tr><td align="left"><code>cors</code></td><td align="left"><a href="#corsrule"><code>CorsRule</code></a>[]</td></tr></tbody></table></div>
|
|
1974
|
-
<h4 id="returns-
|
|
2112
|
+
<h4 id="returns-38">Returns</h4>
|
|
1975
2113
|
<p><code>Promise</code><<code>void</code>></p>
|
|
1976
2114
|
<hr>
|
|
1977
2115
|
<p><a id="updatemetadata"></a></p>
|
|
@@ -1992,7 +2130,7 @@ Documented for Slice 9’s deferred-features section.</p>
|
|
|
1992
2130
|
threaded EXPLICITLY onto the emitted <code>metadata_update</code> event. Emit runs
|
|
1993
2131
|
after the backend awaits, escaping the sandbox’s synchronous
|
|
1994
2132
|
ambient-provenance window — see the note on <code>uploadBytes</code>.</p>
|
|
1995
|
-
<h4 id="parameters-
|
|
2133
|
+
<h4 id="parameters-32">Parameters</h4>
|
|
1996
2134
|
<div class="table-scroll">
|
|
1997
2135
|
|
|
1998
2136
|
|
|
@@ -2015,7 +2153,7 @@ ambient-provenance window — see the note on <code>uploadBytes</code>.</p>
|
|
|
2015
2153
|
|
|
2016
2154
|
|
|
2017
2155
|
<table><thead><tr><th align="left">Parameter</th><th align="left">Type</th></tr></thead><tbody><tr><td align="left"><code>ref</code></td><td align="left"><a href="#storagereference"><code>StorageReference</code></a></td></tr><tr><td align="left"><code>patch</code></td><td align="left"><a href="#settablemetadata"><code>SettableMetadata</code></a></td></tr><tr><td align="left"><code>provenance?</code></td><td align="left"><a href="/docs/pyric-sandbox-reference-api/#eventprovenance"><code>EventProvenance</code></a></td></tr></tbody></table></div>
|
|
2018
|
-
<h4 id="returns-
|
|
2156
|
+
<h4 id="returns-39">Returns</h4>
|
|
2019
2157
|
<p><code>Promise</code><<a href="#fullmetadata"><code>FullMetadata</code></a>></p>
|
|
2020
2158
|
<hr>
|
|
2021
2159
|
<p><a id="uploadbytes"></a></p>
|
|
@@ -2036,7 +2174,7 @@ handle before the first await. The optional <code>provenance</code> argument rem
|
|
|
2036
2174
|
as a compatibility override for internal callers. Either way, concurrent
|
|
2037
2175
|
uploads cannot exchange source or auth-lens identity, and
|
|
2038
2176
|
<code>service: 'storage'</code> always wins.</p>
|
|
2039
|
-
<h4 id="parameters-
|
|
2177
|
+
<h4 id="parameters-33">Parameters</h4>
|
|
2040
2178
|
<div class="table-scroll">
|
|
2041
2179
|
|
|
2042
2180
|
|
|
@@ -2063,9 +2201,48 @@ uploads cannot exchange source or auth-lens identity, and
|
|
|
2063
2201
|
|
|
2064
2202
|
|
|
2065
2203
|
<table><thead><tr><th align="left">Parameter</th><th align="left">Type</th></tr></thead><tbody><tr><td align="left"><code>ref</code></td><td align="left"><a href="#storagereference"><code>StorageReference</code></a></td></tr><tr><td align="left"><code>data</code></td><td align="left"><code>ArrayBuffer</code> | <code>Uint8Array</code><<code>ArrayBufferLike</code>> | <code>Blob</code></td></tr><tr><td align="left"><code>metadata?</code></td><td align="left"><a href="#settablemetadata"><code>SettableMetadata</code></a></td></tr><tr><td align="left"><code>provenance?</code></td><td align="left"><a href="/docs/pyric-sandbox-reference-api/#eventprovenance"><code>EventProvenance</code></a></td></tr></tbody></table></div>
|
|
2066
|
-
<h4 id="returns-
|
|
2204
|
+
<h4 id="returns-40">Returns</h4>
|
|
2067
2205
|
<p><code>Promise</code><<a href="#uploadresult"><code>UploadResult</code></a>></p>
|
|
2068
2206
|
<hr>
|
|
2207
|
+
<p><a id="uploadbytesresumable"></a></p>
|
|
2208
|
+
<h3 id="uploadbytesresumable">uploadBytesResumable()</h3>
|
|
2209
|
+
<pre class="astro-code one-dark-pro" style="background-color:#282c34;color:#abb2bf; overflow-x: auto;" tabindex="0" data-language="ts"><code><span class="line"><span style="color:#C678DD">function</span><span style="color:#61AFEF"> uploadBytesResumable</span><span style="color:#ABB2BF">(</span></span>
|
|
2210
|
+
<span class="line"><span style="color:#E06C75;font-style:italic"> ref</span><span style="color:#ABB2BF">: </span><span style="color:#E5C07B">StorageReference</span><span style="color:#ABB2BF">,</span></span>
|
|
2211
|
+
<span class="line"><span style="color:#E06C75;font-style:italic"> data</span><span style="color:#ABB2BF">: </span><span style="color:#E5C07B">ArrayBuffer</span><span style="color:#ABB2BF"> | </span><span style="color:#E5C07B">Uint8Array</span><span style="color:#ABB2BF"><</span><span style="color:#E5C07B">ArrayBufferLike</span><span style="color:#ABB2BF">> | </span><span style="color:#E5C07B">Blob</span><span style="color:#ABB2BF">,</span></span>
|
|
2212
|
+
<span class="line"><span style="color:#E06C75;font-style:italic"> metadata</span><span style="color:#C678DD">?</span><span style="color:#ABB2BF">: </span><span style="color:#E5C07B">SettableMetadata</span><span style="color:#ABB2BF">,</span></span>
|
|
2213
|
+
<span class="line"><span style="color:#E06C75;font-style:italic"> provenance</span><span style="color:#C678DD">?</span><span style="color:#ABB2BF">: </span><span style="color:#E5C07B">EventProvenance</span><span style="color:#ABB2BF">): </span><span style="color:#E5C07B">UploadTask</span><span style="color:#ABB2BF">;</span></span></code></pre>
|
|
2214
|
+
<p>Start a resumable upload of <code>data</code> to <code>ref</code>. Returns an <code>UploadTask</code> that emits
|
|
2215
|
+
synthetic progress events over microtasks before completing the storage write.</p>
|
|
2216
|
+
<h4 id="parameters-34">Parameters</h4>
|
|
2217
|
+
<div class="table-scroll">
|
|
2218
|
+
|
|
2219
|
+
|
|
2220
|
+
|
|
2221
|
+
|
|
2222
|
+
|
|
2223
|
+
|
|
2224
|
+
|
|
2225
|
+
|
|
2226
|
+
|
|
2227
|
+
|
|
2228
|
+
|
|
2229
|
+
|
|
2230
|
+
|
|
2231
|
+
|
|
2232
|
+
|
|
2233
|
+
|
|
2234
|
+
|
|
2235
|
+
|
|
2236
|
+
|
|
2237
|
+
|
|
2238
|
+
|
|
2239
|
+
|
|
2240
|
+
|
|
2241
|
+
|
|
2242
|
+
<table><thead><tr><th align="left">Parameter</th><th align="left">Type</th></tr></thead><tbody><tr><td align="left"><code>ref</code></td><td align="left"><a href="#storagereference"><code>StorageReference</code></a></td></tr><tr><td align="left"><code>data</code></td><td align="left"><code>ArrayBuffer</code> | <code>Uint8Array</code><<code>ArrayBufferLike</code>> | <code>Blob</code></td></tr><tr><td align="left"><code>metadata?</code></td><td align="left"><a href="#settablemetadata"><code>SettableMetadata</code></a></td></tr><tr><td align="left"><code>provenance?</code></td><td align="left"><a href="/docs/pyric-sandbox-reference-api/#eventprovenance"><code>EventProvenance</code></a></td></tr></tbody></table></div>
|
|
2243
|
+
<h4 id="returns-41">Returns</h4>
|
|
2244
|
+
<p><a href="#uploadtask"><code>UploadTask</code></a></p>
|
|
2245
|
+
<hr>
|
|
2069
2246
|
<p><a id="uploadstring"></a></p>
|
|
2070
2247
|
<h3 id="uploadstring">uploadString()</h3>
|
|
2071
2248
|
<pre class="astro-code one-dark-pro" style="background-color:#282c34;color:#abb2bf; overflow-x: auto;" tabindex="0" data-language="ts"><code><span class="line"><span style="color:#C678DD">function</span><span style="color:#61AFEF"> uploadString</span><span style="color:#ABB2BF">(</span></span>
|
|
@@ -2083,7 +2260,7 @@ specify one.</li>
|
|
|
2083
2260
|
<li><code>data_url</code>: a <code>data:</code> URL — the MIME prefix is honored as
|
|
2084
2261
|
<code>contentType</code> unless the caller overrides it explicitly.</li>
|
|
2085
2262
|
</ul>
|
|
2086
|
-
<h4 id="parameters-
|
|
2263
|
+
<h4 id="parameters-35">Parameters</h4>
|
|
2087
2264
|
<div class="table-scroll">
|
|
2088
2265
|
|
|
2089
2266
|
|
|
@@ -2114,5 +2291,5 @@ specify one.</li>
|
|
|
2114
2291
|
|
|
2115
2292
|
|
|
2116
2293
|
<table><thead><tr><th align="left">Parameter</th><th align="left">Type</th></tr></thead><tbody><tr><td align="left"><code>ref</code></td><td align="left"><a href="#storagereference"><code>StorageReference</code></a></td></tr><tr><td align="left"><code>value</code></td><td align="left"><code>string</code></td></tr><tr><td align="left"><code>format?</code></td><td align="left"><a href="#stringformat"><code>StringFormat</code></a></td></tr><tr><td align="left"><code>metadata?</code></td><td align="left"><a href="#settablemetadata"><code>SettableMetadata</code></a></td></tr><tr><td align="left"><code>provenance?</code></td><td align="left"><a href="/docs/pyric-sandbox-reference-api/#eventprovenance"><code>EventProvenance</code></a></td></tr></tbody></table></div>
|
|
2117
|
-
<h4 id="returns-
|
|
2118
|
-
<p><code>Promise</code><<a href="#uploadresult"><code>UploadResult</code></a>></p> </article> </main> <aside class="doc-toc api-symbols" aria-label="API symbols" data-astro-cid-mw7aashj> <h2 class="doc-toc-heading" data-astro-cid-mw7aashj>Symbols</h2> <input class="api-symbol-filter" type="search" placeholder="Filter symbols" aria-label="Filter API symbols" data-api-symbol-filter data-astro-cid-mw7aashj> <div class="api-symbol-groups" data-api-symbol-groups data-astro-cid-mw7aashj> <section class="api-symbol-group" data-api-symbol-group data-astro-cid-mw7aashj> <a class="api-symbol-kind" href="#classes" data-astro-cid-mw7aashj> Classes </a> <ul data-astro-cid-mw7aashj> <li data-api-symbol="inspectstoragehandler" data-astro-cid-mw7aashj> <a href="#inspectstoragehandler" data-astro-cid-mw7aashj>InspectStorageHandler</a> </li><li data-api-symbol="provisionstoragehandler" data-astro-cid-mw7aashj> <a href="#provisionstoragehandler" data-astro-cid-mw7aashj>ProvisionStorageHandler</a> </li><li data-api-symbol="storageerror" data-astro-cid-mw7aashj> <a href="#storageerror" data-astro-cid-mw7aashj>StorageError</a> </li><li data-api-symbol="storageprovisioningerror" data-astro-cid-mw7aashj> <a href="#storageprovisioningerror" data-astro-cid-mw7aashj>StorageProvisioningError</a> </li> </ul> </section><section class="api-symbol-group" data-api-symbol-group data-astro-cid-mw7aashj> <a class="api-symbol-kind" href="#interfaces" data-astro-cid-mw7aashj> Interfaces </a> <ul data-astro-cid-mw7aashj> <li data-api-symbol="corsrule" data-astro-cid-mw7aashj> <a href="#corsrule" data-astro-cid-mw7aashj>CorsRule</a> </li><li data-api-symbol="evaluationinput" data-astro-cid-mw7aashj> <a href="#evaluationinput" data-astro-cid-mw7aashj>EvaluationInput</a> </li><li data-api-symbol="evaluationresult" data-astro-cid-mw7aashj> <a href="#evaluationresult" data-astro-cid-mw7aashj>EvaluationResult</a> </li><li data-api-symbol="firebasestorage" data-astro-cid-mw7aashj> <a href="#firebasestorage" data-astro-cid-mw7aashj>FirebaseStorage</a> </li><li data-api-symbol="firebasestoragebucket" data-astro-cid-mw7aashj> <a href="#firebasestoragebucket" data-astro-cid-mw7aashj>FirebaseStorageBucket</a> </li><li data-api-symbol="firestorelookup" data-astro-cid-mw7aashj> <a href="#firestorelookup" data-astro-cid-mw7aashj>FirestoreLookup</a> </li><li data-api-symbol="fullmetadata" data-astro-cid-mw7aashj> <a href="#fullmetadata" data-astro-cid-mw7aashj>FullMetadata</a> </li><li data-api-symbol="inspectstorageresult" data-astro-cid-mw7aashj> <a href="#inspectstorageresult" data-astro-cid-mw7aashj>InspectStorageResult</a> </li><li data-api-symbol="listresult" data-astro-cid-mw7aashj> <a href="#listresult" data-astro-cid-mw7aashj>ListResult</a> </li><li data-api-symbol="provisionstorageinput" data-astro-cid-mw7aashj> <a href="#provisionstorageinput" data-astro-cid-mw7aashj>ProvisionStorageInput</a> </li><li data-api-symbol="provisionstorageoptions" data-astro-cid-mw7aashj> <a href="#provisionstorageoptions" data-astro-cid-mw7aashj>ProvisionStorageOptions</a> </li><li data-api-symbol="provisionstorageresult" data-astro-cid-mw7aashj> <a href="#provisionstorageresult" data-astro-cid-mw7aashj>ProvisionStorageResult</a> </li><li data-api-symbol="sandboxtarget" data-astro-cid-mw7aashj> <a href="#sandboxtarget" data-astro-cid-mw7aashj>SandboxTarget</a> </li><li data-api-symbol="settablemetadata" data-astro-cid-mw7aashj> <a href="#settablemetadata" data-astro-cid-mw7aashj>SettableMetadata</a> </li><li data-api-symbol="storageadmintooldeps" data-astro-cid-mw7aashj> <a href="#storageadmintooldeps" data-astro-cid-mw7aashj>StorageAdminToolDeps</a> </li><li data-api-symbol="storageauth" data-astro-cid-mw7aashj> <a href="#storageauth" data-astro-cid-mw7aashj>StorageAuth</a> </li><li data-api-symbol="storageoptions" data-astro-cid-mw7aashj> <a href="#storageoptions" data-astro-cid-mw7aashj>StorageOptions</a> </li><li data-api-symbol="storagereference" data-astro-cid-mw7aashj> <a href="#storagereference" data-astro-cid-mw7aashj>StorageReference</a> </li><li data-api-symbol="storagerequest" data-astro-cid-mw7aashj> <a href="#storagerequest" data-astro-cid-mw7aashj>StorageRequest</a> </li><li data-api-symbol="storageresource" data-astro-cid-mw7aashj> <a href="#storageresource" data-astro-cid-mw7aashj>StorageResource</a> </li><li data-api-symbol="storagerules" data-astro-cid-mw7aashj> <a href="#storagerules" data-astro-cid-mw7aashj>StorageRules</a> </li><li data-api-symbol="uploadresult" data-astro-cid-mw7aashj> <a href="#uploadresult" data-astro-cid-mw7aashj>UploadResult</a> </li> </ul> </section><section class="api-symbol-group" data-api-symbol-group data-astro-cid-mw7aashj> <a class="api-symbol-kind" href="#type-aliases" data-astro-cid-mw7aashj> Type Aliases </a> <ul data-astro-cid-mw7aashj> <li data-api-symbol="provisionstorageerrorcode" data-astro-cid-mw7aashj> <a href="#provisionstorageerrorcode" data-astro-cid-mw7aashj>ProvisionStorageErrorCode</a> </li><li data-api-symbol="provisionstorageoutcome" data-astro-cid-mw7aashj> <a href="#provisionstorageoutcome" data-astro-cid-mw7aashj>ProvisionStorageOutcome</a> </li><li data-api-symbol="serviceenablestate" data-astro-cid-mw7aashj> <a href="#serviceenablestate" data-astro-cid-mw7aashj>ServiceEnableState</a> </li><li data-api-symbol="storageerrorcode" data-astro-cid-mw7aashj> <a href="#storageerrorcode" data-astro-cid-mw7aashj>StorageErrorCode</a> </li><li data-api-symbol="storagegrantverb" data-astro-cid-mw7aashj> <a href="#storagegrantverb" data-astro-cid-mw7aashj>StorageGrantVerb</a> </li><li data-api-symbol="storagemethod" data-astro-cid-mw7aashj> <a href="#storagemethod" data-astro-cid-mw7aashj>StorageMethod</a> </li><li data-api-symbol="storagerequestmethod" data-astro-cid-mw7aashj> <a href="#storagerequestmethod" data-astro-cid-mw7aashj>StorageRequestMethod</a> </li><li data-api-symbol="storageverb" data-astro-cid-mw7aashj> <a href="#storageverb" data-astro-cid-mw7aashj>StorageVerb</a> </li><li data-api-symbol="stringformat" data-astro-cid-mw7aashj> <a href="#stringformat" data-astro-cid-mw7aashj>StringFormat</a> </li><li data-api-symbol="target" data-astro-cid-mw7aashj> <a href="#target" data-astro-cid-mw7aashj>Target</a> </li> </ul> </section><section class="api-symbol-group" data-api-symbol-group data-astro-cid-mw7aashj> <a class="api-symbol-kind" href="#variables" data-astro-cid-mw7aashj> Variables </a> <ul data-astro-cid-mw7aashj> <li data-api-symbol="target_symbol" data-astro-cid-mw7aashj> <a href="#target_symbol" data-astro-cid-mw7aashj>TARGET_SYMBOL</a> </li> </ul> </section><section class="api-symbol-group" data-api-symbol-group data-astro-cid-mw7aashj> <a class="api-symbol-kind" href="#functions" data-astro-cid-mw7aashj> Functions </a> <ul data-astro-cid-mw7aashj> <li data-api-symbol="addfirebasetobucket()" data-astro-cid-mw7aashj> <a href="#addfirebasetobucket" data-astro-cid-mw7aashj>addFirebaseToBucket()</a> </li><li data-api-symbol="connectstorageemulator()" data-astro-cid-mw7aashj> <a href="#connectstorageemulator" data-astro-cid-mw7aashj>connectStorageEmulator()</a> </li><li data-api-symbol="createstorageadmintools()" data-astro-cid-mw7aashj> <a href="#createstorageadmintools" data-astro-cid-mw7aashj>createStorageAdminTools()</a> </li><li data-api-symbol="defaultplaygroundcors()" data-astro-cid-mw7aashj> <a href="#defaultplaygroundcors" data-astro-cid-mw7aashj>defaultPlaygroundCors()</a> </li><li data-api-symbol="deleteobject()" data-astro-cid-mw7aashj> <a href="#deleteobject" data-astro-cid-mw7aashj>deleteObject()</a> </li><li data-api-symbol="deploystoragerules()" data-astro-cid-mw7aashj> <a href="#deploystoragerules" data-astro-cid-mw7aashj>deployStorageRules()</a> </li><li data-api-symbol="enablestorageservice()" data-astro-cid-mw7aashj> <a href="#enablestorageservice" data-astro-cid-mw7aashj>enableStorageService()</a> </li><li data-api-symbol="evaluatestoragerules()" data-astro-cid-mw7aashj> <a href="#evaluatestoragerules" data-astro-cid-mw7aashj>evaluateStorageRules()</a> </li><li data-api-symbol="finalizedefaultlocation()" data-astro-cid-mw7aashj> <a href="#finalizedefaultlocation" data-astro-cid-mw7aashj>finalizeDefaultLocation()</a> </li><li data-api-symbol="getblob()" data-astro-cid-mw7aashj> <a href="#getblob" data-astro-cid-mw7aashj>getBlob()</a> </li><li data-api-symbol="getbucketcors()" data-astro-cid-mw7aashj> <a href="#getbucketcors" data-astro-cid-mw7aashj>getBucketCors()</a> </li><li data-api-symbol="getbytes()" data-astro-cid-mw7aashj> <a href="#getbytes" data-astro-cid-mw7aashj>getBytes()</a> </li><li data-api-symbol="getdefaultlocation()" data-astro-cid-mw7aashj> <a href="#getdefaultlocation" data-astro-cid-mw7aashj>getDefaultLocation()</a> </li><li data-api-symbol="getdownloadurl()" data-astro-cid-mw7aashj> <a href="#getdownloadurl" data-astro-cid-mw7aashj>getDownloadURL()</a> </li><li data-api-symbol="getmetadata()" data-astro-cid-mw7aashj> <a href="#getmetadata" data-astro-cid-mw7aashj>getMetadata()</a> </li><li data-api-symbol="getstorage()" data-astro-cid-mw7aashj> <a href="#getstorage" data-astro-cid-mw7aashj>getStorage()</a> </li><li data-api-symbol="getstoragesandbox()" data-astro-cid-mw7aashj> <a href="#getstoragesandbox" data-astro-cid-mw7aashj>getStorageSandbox()</a> </li><li data-api-symbol="getstorageservicestate()" data-astro-cid-mw7aashj> <a href="#getstorageservicestate" data-astro-cid-mw7aashj>getStorageServiceState()</a> </li><li data-api-symbol="listall()" data-astro-cid-mw7aashj> <a href="#listall" data-astro-cid-mw7aashj>listAll()</a> </li><li data-api-symbol="listfirebasebuckets()" data-astro-cid-mw7aashj> <a href="#listfirebasebuckets" data-astro-cid-mw7aashj>listFirebaseBuckets()</a> </li><li data-api-symbol="parsestoragerules()" data-astro-cid-mw7aashj> <a href="#parsestoragerules" data-astro-cid-mw7aashj>parseStorageRules()</a> </li><li data-api-symbol="provisionstorage()" data-astro-cid-mw7aashj> <a href="#provisionstorage" data-astro-cid-mw7aashj>provisionStorage()</a> </li><li data-api-symbol="ref()" data-astro-cid-mw7aashj> <a href="#ref" data-astro-cid-mw7aashj>ref()</a> </li><li data-api-symbol="setbucketcors()" data-astro-cid-mw7aashj> <a href="#setbucketcors" data-astro-cid-mw7aashj>setBucketCors()</a> </li><li data-api-symbol="updatemetadata()" data-astro-cid-mw7aashj> <a href="#updatemetadata" data-astro-cid-mw7aashj>updateMetadata()</a> </li><li data-api-symbol="uploadbytes()" data-astro-cid-mw7aashj> <a href="#uploadbytes" data-astro-cid-mw7aashj>uploadBytes()</a> </li><li data-api-symbol="uploadstring()" data-astro-cid-mw7aashj> <a href="#uploadstring" data-astro-cid-mw7aashj>uploadString()</a> </li> </ul> </section> <p class="api-symbol-empty" data-api-symbol-empty hidden data-astro-cid-mw7aashj>No matching symbols</p> </div> </aside> </div> <script type="module">const a=document.querySelector("[data-api-symbol-filter]"),d=[...document.querySelectorAll("[data-api-symbol-group]")],n=document.querySelector("[data-api-symbol-empty]");a?.addEventListener("input",()=>{const t=a.value.trim().toLowerCase();let o=0;for(const i of d){let e=0;i.querySelectorAll("[data-api-symbol]").forEach(l=>{const r=!t||(l.dataset.apiSymbol??"").includes(t);l.hidden=!r,r&&e++}),i.hidden=e===0,o+=e}n&&(n.hidden=o>0)});</script> <script type="module">const s=new Map;document.querySelectorAll('.doc-toc a[href^="#"]').forEach(t=>s.set(decodeURIComponent(t.hash.slice(1)),t));if(s.size>0){const t=new Set,n=()=>{let o=null;for(const e of s.keys())if(t.has(e)){o=e;break}s.forEach((e,c)=>e.classList.toggle("active",c===o))},r=new IntersectionObserver(o=>{for(const e of o)e.isIntersecting?t.add(e.target.id):t.delete(e.target.id);n()},{rootMargin:"-72px 0px -60% 0px"});s.forEach((o,e)=>{const c=document.getElementById(e);c&&r.observe(c)})}</script> <script type="module">document.querySelector('.studio__nav [aria-current="page"]')?.scrollIntoView({block:"nearest",inline:"center"});</script> </body></html>
|
|
2294
|
+
<h4 id="returns-42">Returns</h4>
|
|
2295
|
+
<p><code>Promise</code><<a href="#uploadresult"><code>UploadResult</code></a>></p> </article> </main> <aside class="doc-toc api-symbols" aria-label="API symbols" data-astro-cid-mw7aashj> <h2 class="doc-toc-heading" data-astro-cid-mw7aashj>Symbols</h2> <input class="api-symbol-filter" type="search" placeholder="Filter symbols" aria-label="Filter API symbols" data-api-symbol-filter data-astro-cid-mw7aashj> <div class="api-symbol-groups" data-api-symbol-groups data-astro-cid-mw7aashj> <section class="api-symbol-group" data-api-symbol-group data-astro-cid-mw7aashj> <a class="api-symbol-kind" href="#classes" data-astro-cid-mw7aashj> Classes </a> <ul data-astro-cid-mw7aashj> <li data-api-symbol="inspectstoragehandler" data-astro-cid-mw7aashj> <a href="#inspectstoragehandler" data-astro-cid-mw7aashj>InspectStorageHandler</a> </li><li data-api-symbol="provisionstoragehandler" data-astro-cid-mw7aashj> <a href="#provisionstoragehandler" data-astro-cid-mw7aashj>ProvisionStorageHandler</a> </li><li data-api-symbol="storageerror" data-astro-cid-mw7aashj> <a href="#storageerror" data-astro-cid-mw7aashj>StorageError</a> </li><li data-api-symbol="storageprovisioningerror" data-astro-cid-mw7aashj> <a href="#storageprovisioningerror" data-astro-cid-mw7aashj>StorageProvisioningError</a> </li> </ul> </section><section class="api-symbol-group" data-api-symbol-group data-astro-cid-mw7aashj> <a class="api-symbol-kind" href="#interfaces" data-astro-cid-mw7aashj> Interfaces </a> <ul data-astro-cid-mw7aashj> <li data-api-symbol="corsrule" data-astro-cid-mw7aashj> <a href="#corsrule" data-astro-cid-mw7aashj>CorsRule</a> </li><li data-api-symbol="evaluationinput" data-astro-cid-mw7aashj> <a href="#evaluationinput" data-astro-cid-mw7aashj>EvaluationInput</a> </li><li data-api-symbol="evaluationresult" data-astro-cid-mw7aashj> <a href="#evaluationresult" data-astro-cid-mw7aashj>EvaluationResult</a> </li><li data-api-symbol="firebasestorage" data-astro-cid-mw7aashj> <a href="#firebasestorage" data-astro-cid-mw7aashj>FirebaseStorage</a> </li><li data-api-symbol="firebasestoragebucket" data-astro-cid-mw7aashj> <a href="#firebasestoragebucket" data-astro-cid-mw7aashj>FirebaseStorageBucket</a> </li><li data-api-symbol="firestorelookup" data-astro-cid-mw7aashj> <a href="#firestorelookup" data-astro-cid-mw7aashj>FirestoreLookup</a> </li><li data-api-symbol="fullmetadata" data-astro-cid-mw7aashj> <a href="#fullmetadata" data-astro-cid-mw7aashj>FullMetadata</a> </li><li data-api-symbol="inspectstorageresult" data-astro-cid-mw7aashj> <a href="#inspectstorageresult" data-astro-cid-mw7aashj>InspectStorageResult</a> </li><li data-api-symbol="listresult" data-astro-cid-mw7aashj> <a href="#listresult" data-astro-cid-mw7aashj>ListResult</a> </li><li data-api-symbol="provisionstorageinput" data-astro-cid-mw7aashj> <a href="#provisionstorageinput" data-astro-cid-mw7aashj>ProvisionStorageInput</a> </li><li data-api-symbol="provisionstorageoptions" data-astro-cid-mw7aashj> <a href="#provisionstorageoptions" data-astro-cid-mw7aashj>ProvisionStorageOptions</a> </li><li data-api-symbol="provisionstorageresult" data-astro-cid-mw7aashj> <a href="#provisionstorageresult" data-astro-cid-mw7aashj>ProvisionStorageResult</a> </li><li data-api-symbol="sandboxtarget" data-astro-cid-mw7aashj> <a href="#sandboxtarget" data-astro-cid-mw7aashj>SandboxTarget</a> </li><li data-api-symbol="settablemetadata" data-astro-cid-mw7aashj> <a href="#settablemetadata" data-astro-cid-mw7aashj>SettableMetadata</a> </li><li data-api-symbol="storageadmintooldeps" data-astro-cid-mw7aashj> <a href="#storageadmintooldeps" data-astro-cid-mw7aashj>StorageAdminToolDeps</a> </li><li data-api-symbol="storageauth" data-astro-cid-mw7aashj> <a href="#storageauth" data-astro-cid-mw7aashj>StorageAuth</a> </li><li data-api-symbol="storageoptions" data-astro-cid-mw7aashj> <a href="#storageoptions" data-astro-cid-mw7aashj>StorageOptions</a> </li><li data-api-symbol="storagereference" data-astro-cid-mw7aashj> <a href="#storagereference" data-astro-cid-mw7aashj>StorageReference</a> </li><li data-api-symbol="storagerequest" data-astro-cid-mw7aashj> <a href="#storagerequest" data-astro-cid-mw7aashj>StorageRequest</a> </li><li data-api-symbol="storageresource" data-astro-cid-mw7aashj> <a href="#storageresource" data-astro-cid-mw7aashj>StorageResource</a> </li><li data-api-symbol="storagerules" data-astro-cid-mw7aashj> <a href="#storagerules" data-astro-cid-mw7aashj>StorageRules</a> </li><li data-api-symbol="uploadresult" data-astro-cid-mw7aashj> <a href="#uploadresult" data-astro-cid-mw7aashj>UploadResult</a> </li><li data-api-symbol="uploadtask" data-astro-cid-mw7aashj> <a href="#uploadtask" data-astro-cid-mw7aashj>UploadTask</a> </li><li data-api-symbol="uploadtasksnapshot" data-astro-cid-mw7aashj> <a href="#uploadtasksnapshot" data-astro-cid-mw7aashj>UploadTaskSnapshot</a> </li> </ul> </section><section class="api-symbol-group" data-api-symbol-group data-astro-cid-mw7aashj> <a class="api-symbol-kind" href="#type-aliases" data-astro-cid-mw7aashj> Type Aliases </a> <ul data-astro-cid-mw7aashj> <li data-api-symbol="provisionstorageerrorcode" data-astro-cid-mw7aashj> <a href="#provisionstorageerrorcode" data-astro-cid-mw7aashj>ProvisionStorageErrorCode</a> </li><li data-api-symbol="provisionstorageoutcome" data-astro-cid-mw7aashj> <a href="#provisionstorageoutcome" data-astro-cid-mw7aashj>ProvisionStorageOutcome</a> </li><li data-api-symbol="serviceenablestate" data-astro-cid-mw7aashj> <a href="#serviceenablestate" data-astro-cid-mw7aashj>ServiceEnableState</a> </li><li data-api-symbol="storageerrorcode" data-astro-cid-mw7aashj> <a href="#storageerrorcode" data-astro-cid-mw7aashj>StorageErrorCode</a> </li><li data-api-symbol="storagegrantverb" data-astro-cid-mw7aashj> <a href="#storagegrantverb" data-astro-cid-mw7aashj>StorageGrantVerb</a> </li><li data-api-symbol="storagemethod" data-astro-cid-mw7aashj> <a href="#storagemethod" data-astro-cid-mw7aashj>StorageMethod</a> </li><li data-api-symbol="storagerequestmethod" data-astro-cid-mw7aashj> <a href="#storagerequestmethod" data-astro-cid-mw7aashj>StorageRequestMethod</a> </li><li data-api-symbol="storageverb" data-astro-cid-mw7aashj> <a href="#storageverb" data-astro-cid-mw7aashj>StorageVerb</a> </li><li data-api-symbol="stringformat" data-astro-cid-mw7aashj> <a href="#stringformat" data-astro-cid-mw7aashj>StringFormat</a> </li><li data-api-symbol="target" data-astro-cid-mw7aashj> <a href="#target" data-astro-cid-mw7aashj>Target</a> </li><li data-api-symbol="taskevent" data-astro-cid-mw7aashj> <a href="#taskevent" data-astro-cid-mw7aashj>TaskEvent</a> </li><li data-api-symbol="taskstate" data-astro-cid-mw7aashj> <a href="#taskstate" data-astro-cid-mw7aashj>TaskState</a> </li> </ul> </section><section class="api-symbol-group" data-api-symbol-group data-astro-cid-mw7aashj> <a class="api-symbol-kind" href="#variables" data-astro-cid-mw7aashj> Variables </a> <ul data-astro-cid-mw7aashj> <li data-api-symbol="target_symbol" data-astro-cid-mw7aashj> <a href="#target_symbol" data-astro-cid-mw7aashj>TARGET_SYMBOL</a> </li> </ul> </section><section class="api-symbol-group" data-api-symbol-group data-astro-cid-mw7aashj> <a class="api-symbol-kind" href="#functions" data-astro-cid-mw7aashj> Functions </a> <ul data-astro-cid-mw7aashj> <li data-api-symbol="addfirebasetobucket()" data-astro-cid-mw7aashj> <a href="#addfirebasetobucket" data-astro-cid-mw7aashj>addFirebaseToBucket()</a> </li><li data-api-symbol="connectstorageemulator()" data-astro-cid-mw7aashj> <a href="#connectstorageemulator" data-astro-cid-mw7aashj>connectStorageEmulator()</a> </li><li data-api-symbol="createstorageadmintools()" data-astro-cid-mw7aashj> <a href="#createstorageadmintools" data-astro-cid-mw7aashj>createStorageAdminTools()</a> </li><li data-api-symbol="defaultplaygroundcors()" data-astro-cid-mw7aashj> <a href="#defaultplaygroundcors" data-astro-cid-mw7aashj>defaultPlaygroundCors()</a> </li><li data-api-symbol="deleteobject()" data-astro-cid-mw7aashj> <a href="#deleteobject" data-astro-cid-mw7aashj>deleteObject()</a> </li><li data-api-symbol="deploystoragerules()" data-astro-cid-mw7aashj> <a href="#deploystoragerules" data-astro-cid-mw7aashj>deployStorageRules()</a> </li><li data-api-symbol="enablestorageservice()" data-astro-cid-mw7aashj> <a href="#enablestorageservice" data-astro-cid-mw7aashj>enableStorageService()</a> </li><li data-api-symbol="evaluatestoragerules()" data-astro-cid-mw7aashj> <a href="#evaluatestoragerules" data-astro-cid-mw7aashj>evaluateStorageRules()</a> </li><li data-api-symbol="finalizedefaultlocation()" data-astro-cid-mw7aashj> <a href="#finalizedefaultlocation" data-astro-cid-mw7aashj>finalizeDefaultLocation()</a> </li><li data-api-symbol="getblob()" data-astro-cid-mw7aashj> <a href="#getblob" data-astro-cid-mw7aashj>getBlob()</a> </li><li data-api-symbol="getbucketcors()" data-astro-cid-mw7aashj> <a href="#getbucketcors" data-astro-cid-mw7aashj>getBucketCors()</a> </li><li data-api-symbol="getbytes()" data-astro-cid-mw7aashj> <a href="#getbytes" data-astro-cid-mw7aashj>getBytes()</a> </li><li data-api-symbol="getdefaultlocation()" data-astro-cid-mw7aashj> <a href="#getdefaultlocation" data-astro-cid-mw7aashj>getDefaultLocation()</a> </li><li data-api-symbol="getdownloadurl()" data-astro-cid-mw7aashj> <a href="#getdownloadurl" data-astro-cid-mw7aashj>getDownloadURL()</a> </li><li data-api-symbol="getmetadata()" data-astro-cid-mw7aashj> <a href="#getmetadata" data-astro-cid-mw7aashj>getMetadata()</a> </li><li data-api-symbol="getstorage()" data-astro-cid-mw7aashj> <a href="#getstorage" data-astro-cid-mw7aashj>getStorage()</a> </li><li data-api-symbol="getstoragesandbox()" data-astro-cid-mw7aashj> <a href="#getstoragesandbox" data-astro-cid-mw7aashj>getStorageSandbox()</a> </li><li data-api-symbol="getstorageservicestate()" data-astro-cid-mw7aashj> <a href="#getstorageservicestate" data-astro-cid-mw7aashj>getStorageServiceState()</a> </li><li data-api-symbol="listall()" data-astro-cid-mw7aashj> <a href="#listall" data-astro-cid-mw7aashj>listAll()</a> </li><li data-api-symbol="listfirebasebuckets()" data-astro-cid-mw7aashj> <a href="#listfirebasebuckets" data-astro-cid-mw7aashj>listFirebaseBuckets()</a> </li><li data-api-symbol="parsestoragerules()" data-astro-cid-mw7aashj> <a href="#parsestoragerules" data-astro-cid-mw7aashj>parseStorageRules()</a> </li><li data-api-symbol="provisionstorage()" data-astro-cid-mw7aashj> <a href="#provisionstorage" data-astro-cid-mw7aashj>provisionStorage()</a> </li><li data-api-symbol="ref()" data-astro-cid-mw7aashj> <a href="#ref" data-astro-cid-mw7aashj>ref()</a> </li><li data-api-symbol="setbucketcors()" data-astro-cid-mw7aashj> <a href="#setbucketcors" data-astro-cid-mw7aashj>setBucketCors()</a> </li><li data-api-symbol="updatemetadata()" data-astro-cid-mw7aashj> <a href="#updatemetadata" data-astro-cid-mw7aashj>updateMetadata()</a> </li><li data-api-symbol="uploadbytes()" data-astro-cid-mw7aashj> <a href="#uploadbytes" data-astro-cid-mw7aashj>uploadBytes()</a> </li><li data-api-symbol="uploadbytesresumable()" data-astro-cid-mw7aashj> <a href="#uploadbytesresumable" data-astro-cid-mw7aashj>uploadBytesResumable()</a> </li><li data-api-symbol="uploadstring()" data-astro-cid-mw7aashj> <a href="#uploadstring" data-astro-cid-mw7aashj>uploadString()</a> </li> </ul> </section> <p class="api-symbol-empty" data-api-symbol-empty hidden data-astro-cid-mw7aashj>No matching symbols</p> </div> </aside> </div> <script type="module">const a=document.querySelector("[data-api-symbol-filter]"),d=[...document.querySelectorAll("[data-api-symbol-group]")],n=document.querySelector("[data-api-symbol-empty]");a?.addEventListener("input",()=>{const t=a.value.trim().toLowerCase();let o=0;for(const i of d){let e=0;i.querySelectorAll("[data-api-symbol]").forEach(l=>{const r=!t||(l.dataset.apiSymbol??"").includes(t);l.hidden=!r,r&&e++}),i.hidden=e===0,o+=e}n&&(n.hidden=o>0)});</script> <script type="module">const s=new Map;document.querySelectorAll('.doc-toc a[href^="#"]').forEach(t=>s.set(decodeURIComponent(t.hash.slice(1)),t));if(s.size>0){const t=new Set,n=()=>{let o=null;for(const e of s.keys())if(t.has(e)){o=e;break}s.forEach((e,c)=>e.classList.toggle("active",c===o))},r=new IntersectionObserver(o=>{for(const e of o)e.isIntersecting?t.add(e.target.id):t.delete(e.target.id);n()},{rootMargin:"-72px 0px -60% 0px"});s.forEach((o,e)=>{const c=document.getElementById(e);c&&r.observe(c)})}</script> <script type="module">document.querySelector('.studio__nav [aria-current="page"]')?.scrollIntoView({block:"nearest",inline:"center"});</script> </body></html>
|