pyric 0.0.1 → 0.1.0-alpha.7
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 +52 -1
- package/dist/app/index.d.ts +81 -0
- package/dist/app/index.d.ts.map +1 -0
- package/dist/app/index.js +78 -0
- package/dist/app/index.js.map +1 -0
- package/dist/auth/index.d.ts +346 -0
- package/dist/auth/index.d.ts.map +1 -0
- package/dist/auth/index.js +701 -0
- package/dist/auth/index.js.map +1 -0
- package/dist/auth/prod-backend.d.ts +39 -0
- package/dist/auth/prod-backend.d.ts.map +1 -0
- package/dist/auth/prod-backend.js +179 -0
- package/dist/auth/prod-backend.js.map +1 -0
- package/dist/auth/providers.d.ts +107 -0
- package/dist/auth/providers.d.ts.map +1 -0
- package/dist/auth/providers.js +138 -0
- package/dist/auth/providers.js.map +1 -0
- package/dist/auth/sandbox-backend.d.ts +769 -0
- package/dist/auth/sandbox-backend.d.ts.map +1 -0
- package/dist/auth/sandbox-backend.js +1598 -0
- package/dist/auth/sandbox-backend.js.map +1 -0
- package/dist/auth/target.d.ts +40 -0
- package/dist/auth/target.d.ts.map +1 -0
- package/dist/auth/target.js +28 -0
- package/dist/auth/target.js.map +1 -0
- package/dist/auth/types.d.ts +252 -0
- package/dist/auth/types.d.ts.map +1 -0
- package/dist/auth/types.js +26 -0
- package/dist/auth/types.js.map +1 -0
- package/dist/database/constraints/atoms.d.ts +29 -0
- package/dist/database/constraints/atoms.d.ts.map +1 -0
- package/dist/database/constraints/atoms.js +43 -0
- package/dist/database/constraints/atoms.js.map +1 -0
- package/dist/database/constraints/compose.d.ts +16 -0
- package/dist/database/constraints/compose.d.ts.map +1 -0
- package/dist/database/constraints/compose.js +15 -0
- package/dist/database/constraints/compose.js.map +1 -0
- package/dist/database/constraints/data.d.ts +30 -0
- package/dist/database/constraints/data.d.ts.map +1 -0
- package/dist/database/constraints/data.js +46 -0
- package/dist/database/constraints/data.js.map +1 -0
- package/dist/database/constraints/document.d.ts +42 -0
- package/dist/database/constraints/document.d.ts.map +1 -0
- package/dist/database/constraints/document.js +86 -0
- package/dist/database/constraints/document.js.map +1 -0
- package/dist/database/constraints/game.d.ts +30 -0
- package/dist/database/constraints/game.d.ts.map +1 -0
- package/dist/database/constraints/game.js +49 -0
- package/dist/database/constraints/game.js.map +1 -0
- package/dist/database/constraints/index.d.ts +12 -0
- package/dist/database/constraints/index.d.ts.map +1 -0
- package/dist/database/constraints/index.js +9 -0
- package/dist/database/constraints/index.js.map +1 -0
- package/dist/database/constraints/policies.d.ts +16 -0
- package/dist/database/constraints/policies.d.ts.map +1 -0
- package/dist/database/constraints/policies.js +17 -0
- package/dist/database/constraints/policies.js.map +1 -0
- package/dist/database/constraints/ruleset.d.ts +5 -0
- package/dist/database/constraints/ruleset.d.ts.map +1 -0
- package/dist/database/constraints/ruleset.js +132 -0
- package/dist/database/constraints/ruleset.js.map +1 -0
- package/dist/database/constraints/schema.d.ts +17 -0
- package/dist/database/constraints/schema.d.ts.map +1 -0
- package/dist/database/constraints/schema.js +74 -0
- package/dist/database/constraints/schema.js.map +1 -0
- package/dist/database/constraints/types.d.ts +22 -0
- package/dist/database/constraints/types.d.ts.map +1 -0
- package/dist/database/constraints/types.js +2 -0
- package/dist/database/constraints/types.js.map +1 -0
- package/dist/database/crawl/handler.d.ts +7 -0
- package/dist/database/crawl/handler.d.ts.map +1 -0
- package/dist/database/crawl/handler.js +91 -0
- package/dist/database/crawl/handler.js.map +1 -0
- package/dist/database/crawl/semaphore.d.ts +9 -0
- package/dist/database/crawl/semaphore.d.ts.map +1 -0
- package/dist/database/crawl/semaphore.js +27 -0
- package/dist/database/crawl/semaphore.js.map +1 -0
- package/dist/database/crawl/spec.d.ts +33 -0
- package/dist/database/crawl/spec.d.ts.map +1 -0
- package/dist/database/crawl/spec.js +12 -0
- package/dist/database/crawl/spec.js.map +1 -0
- package/dist/database/data/handler.d.ts +9 -0
- package/dist/database/data/handler.d.ts.map +1 -0
- package/dist/database/data/handler.js +96 -0
- package/dist/database/data/handler.js.map +1 -0
- package/dist/database/data/spec.d.ts +77 -0
- package/dist/database/data/spec.d.ts.map +1 -0
- package/dist/database/data/spec.js +17 -0
- package/dist/database/data/spec.js.map +1 -0
- package/dist/database/data/validated.d.ts +8 -0
- package/dist/database/data/validated.d.ts.map +1 -0
- package/dist/database/data/validated.js +99 -0
- package/dist/database/data/validated.js.map +1 -0
- package/dist/database/grammar/RtdbExpr.ohm +98 -0
- package/dist/database/grammar/RtdbExpr.ohm.generated.d.ts +2 -0
- package/dist/database/grammar/RtdbExpr.ohm.generated.d.ts.map +1 -0
- package/dist/database/grammar/RtdbExpr.ohm.generated.js +103 -0
- package/dist/database/grammar/RtdbExpr.ohm.generated.js.map +1 -0
- package/dist/database/grammar/RtdbExprParser.d.ts +5 -0
- package/dist/database/grammar/RtdbExprParser.d.ts.map +1 -0
- package/dist/database/grammar/RtdbExprParser.js +53 -0
- package/dist/database/grammar/RtdbExprParser.js.map +1 -0
- package/dist/database/grammar/linter.d.ts +3 -0
- package/dist/database/grammar/linter.d.ts.map +1 -0
- package/dist/database/grammar/linter.js +66 -0
- package/dist/database/grammar/linter.js.map +1 -0
- package/dist/database/grammar/simulator.d.ts +31 -0
- package/dist/database/grammar/simulator.d.ts.map +1 -0
- package/dist/database/grammar/simulator.js +255 -0
- package/dist/database/grammar/simulator.js.map +1 -0
- package/dist/database/grammar/validator.d.ts +3 -0
- package/dist/database/grammar/validator.d.ts.map +1 -0
- package/dist/database/grammar/validator.js +84 -0
- package/dist/database/grammar/validator.js.map +1 -0
- package/dist/database/host.d.ts +50 -0
- package/dist/database/host.d.ts.map +1 -0
- package/dist/database/host.js +41 -0
- package/dist/database/host.js.map +1 -0
- package/dist/database/index.d.ts +40 -0
- package/dist/database/index.d.ts.map +1 -0
- package/dist/database/index.js +47 -0
- package/dist/database/index.js.map +1 -0
- package/dist/database/initialize-from-app.d.ts +28 -0
- package/dist/database/initialize-from-app.d.ts.map +1 -0
- package/dist/database/initialize-from-app.js +23 -0
- package/dist/database/initialize-from-app.js.map +1 -0
- package/dist/database/ir/handler.d.ts +6 -0
- package/dist/database/ir/handler.d.ts.map +1 -0
- package/dist/database/ir/handler.js +52 -0
- package/dist/database/ir/handler.js.map +1 -0
- package/dist/database/ir/spec.d.ts +25 -0
- package/dist/database/ir/spec.d.ts.map +1 -0
- package/dist/database/ir/spec.js +11 -0
- package/dist/database/ir/spec.js.map +1 -0
- package/dist/database/mapper.d.ts +9 -0
- package/dist/database/mapper.d.ts.map +1 -0
- package/dist/database/mapper.js +115 -0
- package/dist/database/mapper.js.map +1 -0
- package/dist/database/modular.d.ts +604 -0
- package/dist/database/modular.d.ts.map +1 -0
- package/dist/database/modular.js +1226 -0
- package/dist/database/modular.js.map +1 -0
- package/dist/database/replay.d.ts +33 -0
- package/dist/database/replay.d.ts.map +1 -0
- package/dist/database/replay.js +124 -0
- package/dist/database/replay.js.map +1 -0
- package/dist/database/resolver.d.ts +4 -0
- package/dist/database/resolver.d.ts.map +1 -0
- package/dist/database/resolver.js +66 -0
- package/dist/database/resolver.js.map +1 -0
- package/dist/database/sandbox/backend.d.ts +403 -0
- package/dist/database/sandbox/backend.d.ts.map +1 -0
- package/dist/database/sandbox/backend.js +1467 -0
- package/dist/database/sandbox/backend.js.map +1 -0
- package/dist/database/sandbox/data-tree.d.ts +123 -0
- package/dist/database/sandbox/data-tree.d.ts.map +1 -0
- package/dist/database/sandbox/data-tree.js +310 -0
- package/dist/database/sandbox/data-tree.js.map +1 -0
- package/dist/database/sandbox/normalize.d.ts +77 -0
- package/dist/database/sandbox/normalize.d.ts.map +1 -0
- package/dist/database/sandbox/normalize.js +165 -0
- package/dist/database/sandbox/normalize.js.map +1 -0
- package/dist/database/sandbox/push-id.d.ts +32 -0
- package/dist/database/sandbox/push-id.d.ts.map +1 -0
- package/dist/database/sandbox/push-id.js +82 -0
- package/dist/database/sandbox/push-id.js.map +1 -0
- package/dist/database/sandbox/query.d.ts +175 -0
- package/dist/database/sandbox/query.d.ts.map +1 -0
- package/dist/database/sandbox/query.js +269 -0
- package/dist/database/sandbox/query.js.map +1 -0
- package/dist/database/sandbox/rules-eval.d.ts +69 -0
- package/dist/database/sandbox/rules-eval.d.ts.map +1 -0
- package/dist/database/sandbox/rules-eval.js +124 -0
- package/dist/database/sandbox/rules-eval.js.map +1 -0
- package/dist/database/sandbox/sentinels.d.ts +71 -0
- package/dist/database/sandbox/sentinels.d.ts.map +1 -0
- package/dist/database/sandbox/sentinels.js +92 -0
- package/dist/database/sandbox/sentinels.js.map +1 -0
- package/dist/database/simulation/handler.d.ts +6 -0
- package/dist/database/simulation/handler.d.ts.map +1 -0
- package/dist/database/simulation/handler.js +236 -0
- package/dist/database/simulation/handler.js.map +1 -0
- package/dist/database/simulation/spec.d.ts +69 -0
- package/dist/database/simulation/spec.d.ts.map +1 -0
- package/dist/database/simulation/spec.js +25 -0
- package/dist/database/simulation/spec.js.map +1 -0
- package/dist/database/tools.d.ts +22 -0
- package/dist/database/tools.d.ts.map +1 -0
- package/dist/database/tools.js +272 -0
- package/dist/database/tools.js.map +1 -0
- package/dist/database/types.d.ts +210 -0
- package/dist/database/types.d.ts.map +1 -0
- package/dist/database/types.js +26 -0
- package/dist/database/types.js.map +1 -0
- package/dist/database/write/handler.d.ts +7 -0
- package/dist/database/write/handler.d.ts.map +1 -0
- package/dist/database/write/handler.js +42 -0
- package/dist/database/write/handler.js.map +1 -0
- package/dist/database/write/spec.d.ts +18 -0
- package/dist/database/write/spec.d.ts.map +1 -0
- package/dist/database/write/spec.js +7 -0
- package/dist/database/write/spec.js.map +1 -0
- package/dist/firestore/index.d.ts +533 -0
- package/dist/firestore/index.d.ts.map +1 -0
- package/dist/firestore/index.js +1536 -0
- package/dist/firestore/index.js.map +1 -0
- package/dist/firestore/tools.d.ts +67 -0
- package/dist/firestore/tools.d.ts.map +1 -0
- package/dist/firestore/tools.js +318 -0
- package/dist/firestore/tools.js.map +1 -0
- package/dist/firestore-values/index.d.ts +63 -0
- package/dist/firestore-values/index.d.ts.map +1 -0
- package/dist/firestore-values/index.js +148 -0
- package/dist/firestore-values/index.js.map +1 -0
- package/dist/project-scope.d.ts +5 -0
- package/dist/project-scope.d.ts.map +1 -0
- package/dist/project-scope.js +2 -0
- package/dist/project-scope.js.map +1 -0
- package/dist/rules/extract.d.ts +28 -0
- package/dist/rules/extract.d.ts.map +1 -0
- package/dist/rules/extract.js +25 -0
- package/dist/rules/extract.js.map +1 -0
- package/dist/rules/generators/assembler.d.ts +19 -0
- package/dist/rules/generators/assembler.d.ts.map +1 -0
- package/dist/rules/generators/assembler.js +292 -0
- package/dist/rules/generators/assembler.js.map +1 -0
- package/dist/rules/generators/expressions.d.ts +52 -0
- package/dist/rules/generators/expressions.d.ts.map +1 -0
- package/dist/rules/generators/expressions.js +117 -0
- package/dist/rules/generators/expressions.js.map +1 -0
- package/dist/rules/generators/grid.d.ts +22 -0
- package/dist/rules/generators/grid.d.ts.map +1 -0
- package/dist/rules/generators/grid.js +52 -0
- package/dist/rules/generators/grid.js.map +1 -0
- package/dist/rules/grammar/FirestoreAST.d.ts +129 -0
- package/dist/rules/grammar/FirestoreAST.d.ts.map +1 -0
- package/dist/rules/grammar/FirestoreAST.js +3 -0
- package/dist/rules/grammar/FirestoreAST.js.map +1 -0
- package/dist/rules/grammar/FirestoreAssembler.d.ts +5 -0
- package/dist/rules/grammar/FirestoreAssembler.d.ts.map +1 -0
- package/dist/rules/grammar/FirestoreAssembler.js +158 -0
- package/dist/rules/grammar/FirestoreAssembler.js.map +1 -0
- package/dist/rules/grammar/FirestoreParser.d.ts +46 -0
- package/dist/rules/grammar/FirestoreParser.d.ts.map +1 -0
- package/dist/rules/grammar/FirestoreParser.js +409 -0
- package/dist/rules/grammar/FirestoreParser.js.map +1 -0
- package/dist/rules/grammar/FirestoreRules.ohm +229 -0
- package/dist/rules/grammar/FirestoreRules.ohm.generated.d.ts +2 -0
- package/dist/rules/grammar/FirestoreRules.ohm.generated.d.ts.map +1 -0
- package/dist/rules/grammar/FirestoreRules.ohm.generated.js +234 -0
- package/dist/rules/grammar/FirestoreRules.ohm.generated.js.map +1 -0
- package/dist/rules/grammar/FirestoreValidator.d.ts +10 -0
- package/dist/rules/grammar/FirestoreValidator.d.ts.map +1 -0
- package/dist/rules/grammar/FirestoreValidator.js +482 -0
- package/dist/rules/grammar/FirestoreValidator.js.map +1 -0
- package/dist/rules/index.d.ts +67 -0
- package/dist/rules/index.d.ts.map +1 -0
- package/dist/rules/index.js +80 -0
- package/dist/rules/index.js.map +1 -0
- package/dist/rules/indexes/extract/annotation-collect.d.ts +42 -0
- package/dist/rules/indexes/extract/annotation-collect.d.ts.map +1 -0
- package/dist/rules/indexes/extract/annotation-collect.js +69 -0
- package/dist/rules/indexes/extract/annotation-collect.js.map +1 -0
- package/dist/rules/indexes/extract/annotations.d.ts +50 -0
- package/dist/rules/indexes/extract/annotations.d.ts.map +1 -0
- package/dist/rules/indexes/extract/annotations.js +144 -0
- package/dist/rules/indexes/extract/annotations.js.map +1 -0
- package/dist/rules/indexes/extract/ast.d.ts +54 -0
- package/dist/rules/indexes/extract/ast.d.ts.map +1 -0
- package/dist/rules/indexes/extract/ast.js +119 -0
- package/dist/rules/indexes/extract/ast.js.map +1 -0
- package/dist/rules/indexes/extract/classify.d.ts +41 -0
- package/dist/rules/indexes/extract/classify.d.ts.map +1 -0
- package/dist/rules/indexes/extract/classify.js +138 -0
- package/dist/rules/indexes/extract/classify.js.map +1 -0
- package/dist/rules/indexes/extract/composite.d.ts +38 -0
- package/dist/rules/indexes/extract/composite.d.ts.map +1 -0
- package/dist/rules/indexes/extract/composite.js +85 -0
- package/dist/rules/indexes/extract/composite.js.map +1 -0
- package/dist/rules/indexes/extract/dataflow.d.ts +45 -0
- package/dist/rules/indexes/extract/dataflow.d.ts.map +1 -0
- package/dist/rules/indexes/extract/dataflow.js +200 -0
- package/dist/rules/indexes/extract/dataflow.js.map +1 -0
- package/dist/rules/indexes/extract/enumerate.d.ts +41 -0
- package/dist/rules/indexes/extract/enumerate.d.ts.map +1 -0
- package/dist/rules/indexes/extract/enumerate.js +163 -0
- package/dist/rules/indexes/extract/enumerate.js.map +1 -0
- package/dist/rules/indexes/extract/extractor.d.ts +3 -0
- package/dist/rules/indexes/extract/extractor.d.ts.map +1 -0
- package/dist/rules/indexes/extract/extractor.js +274 -0
- package/dist/rules/indexes/extract/extractor.js.map +1 -0
- package/dist/rules/indexes/extract/types.d.ts +211 -0
- package/dist/rules/indexes/extract/types.d.ts.map +1 -0
- package/dist/rules/indexes/extract/types.js +14 -0
- package/dist/rules/indexes/extract/types.js.map +1 -0
- package/dist/rules/indexes/extractHandler.d.ts +16 -0
- package/dist/rules/indexes/extractHandler.d.ts.map +1 -0
- package/dist/rules/indexes/extractHandler.js +100 -0
- package/dist/rules/indexes/extractHandler.js.map +1 -0
- package/dist/rules/indexes/extractTool.d.ts +15 -0
- package/dist/rules/indexes/extractTool.d.ts.map +1 -0
- package/dist/rules/indexes/extractTool.js +55 -0
- package/dist/rules/indexes/extractTool.js.map +1 -0
- package/dist/rules/indexes/types.d.ts +71 -0
- package/dist/rules/indexes/types.d.ts.map +1 -0
- package/dist/rules/indexes/types.js +15 -0
- package/dist/rules/indexes/types.js.map +1 -0
- package/dist/rules/inspect/handler.d.ts +6 -0
- package/dist/rules/inspect/handler.d.ts.map +1 -0
- package/dist/rules/inspect/handler.js +144 -0
- package/dist/rules/inspect/handler.js.map +1 -0
- package/dist/rules/inspect/spec.d.ts +37 -0
- package/dist/rules/inspect/spec.d.ts.map +1 -0
- package/dist/rules/inspect/spec.js +2 -0
- package/dist/rules/inspect/spec.js.map +1 -0
- package/dist/rules/inspect/tools.d.ts +21 -0
- package/dist/rules/inspect/tools.d.ts.map +1 -0
- package/dist/rules/inspect/tools.js +21 -0
- package/dist/rules/inspect/tools.js.map +1 -0
- package/dist/rules/linter/ast-utils.d.ts +97 -0
- package/dist/rules/linter/ast-utils.d.ts.map +1 -0
- package/dist/rules/linter/ast-utils.js +491 -0
- package/dist/rules/linter/ast-utils.js.map +1 -0
- package/dist/rules/linter/hallucinations.d.ts +34 -0
- package/dist/rules/linter/hallucinations.d.ts.map +1 -0
- package/dist/rules/linter/hallucinations.js +334 -0
- package/dist/rules/linter/hallucinations.js.map +1 -0
- package/dist/rules/linter/linter.d.ts +84 -0
- package/dist/rules/linter/linter.d.ts.map +1 -0
- package/dist/rules/linter/linter.js +784 -0
- package/dist/rules/linter/linter.js.map +1 -0
- package/dist/rules/modules/resolver-browser.d.ts +41 -0
- package/dist/rules/modules/resolver-browser.d.ts.map +1 -0
- package/dist/rules/modules/resolver-browser.js +63 -0
- package/dist/rules/modules/resolver-browser.js.map +1 -0
- package/dist/rules/modules/resolver-core.d.ts +51 -0
- package/dist/rules/modules/resolver-core.d.ts.map +1 -0
- package/dist/rules/modules/resolver-core.js +338 -0
- package/dist/rules/modules/resolver-core.js.map +1 -0
- package/dist/rules/modules/resolver.d.ts +17 -0
- package/dist/rules/modules/resolver.d.ts.map +1 -0
- package/dist/rules/modules/resolver.js +49 -0
- package/dist/rules/modules/resolver.js.map +1 -0
- package/dist/rules/modules/stdlib/atomic.rules +52 -0
- package/dist/rules/modules/stdlib/atomic.test.json +152 -0
- package/dist/rules/modules/stdlib/auth.rules +7 -0
- package/dist/rules/modules/stdlib/auth.test.json +53 -0
- package/dist/rules/modules/stdlib/content.rules +50 -0
- package/dist/rules/modules/stdlib/content.test.json +238 -0
- package/dist/rules/modules/stdlib/counters.rules +41 -0
- package/dist/rules/modules/stdlib/counters.test.json +254 -0
- package/dist/rules/modules/stdlib/geometry.rules +43 -0
- package/dist/rules/modules/stdlib/geometry.test.json +200 -0
- package/dist/rules/modules/stdlib/joining.rules +49 -0
- package/dist/rules/modules/stdlib/joining.test.json +287 -0
- package/dist/rules/modules/stdlib/lifecycle.rules +51 -0
- package/dist/rules/modules/stdlib/lifecycle.test.json +288 -0
- package/dist/rules/modules/stdlib/lobby.rules +44 -0
- package/dist/rules/modules/stdlib/lobby.test.json +32 -0
- package/dist/rules/modules/stdlib/membership.rules +40 -0
- package/dist/rules/modules/stdlib/membership.test.json +107 -0
- package/dist/rules/modules/stdlib/spaces.rules +46 -0
- package/dist/rules/modules/stdlib/spaces.test.json +392 -0
- package/dist/rules/modules/stdlib/state.rules +28 -0
- package/dist/rules/modules/stdlib/state.test.json +55 -0
- package/dist/rules/modules/stdlib/timing.rules +20 -0
- package/dist/rules/modules/stdlib/timing.test.json +106 -0
- package/dist/rules/modules/stdlib/transitions.rules +34 -0
- package/dist/rules/modules/stdlib/transitions.test.json +86 -0
- package/dist/rules/modules/stdlib/turns.rules +27 -0
- package/dist/rules/modules/stdlib/turns.test.json +64 -0
- package/dist/rules/modules/stdlib/validation.rules +31 -0
- package/dist/rules/modules/stdlib/validation.test.json +184 -0
- package/dist/rules/modules/stdlib-content.d.ts +11 -0
- package/dist/rules/modules/stdlib-content.d.ts.map +1 -0
- package/dist/rules/modules/stdlib-content.js +590 -0
- package/dist/rules/modules/stdlib-content.js.map +1 -0
- package/dist/rules/node.d.ts +17 -0
- package/dist/rules/node.d.ts.map +1 -0
- package/dist/rules/node.js +21 -0
- package/dist/rules/node.js.map +1 -0
- package/dist/rules/rtdb.d.ts +28 -0
- package/dist/rules/rtdb.d.ts.map +1 -0
- package/dist/rules/rtdb.js +15 -0
- package/dist/rules/rtdb.js.map +1 -0
- package/dist/rules/simulator/evaluator.d.ts +179 -0
- package/dist/rules/simulator/evaluator.d.ts.map +1 -0
- package/dist/rules/simulator/evaluator.js +1221 -0
- package/dist/rules/simulator/evaluator.js.map +1 -0
- package/dist/rules/simulator/expression/eval-errors.d.ts +86 -0
- package/dist/rules/simulator/expression/eval-errors.d.ts.map +1 -0
- package/dist/rules/simulator/expression/eval-errors.js +68 -0
- package/dist/rules/simulator/expression/eval-errors.js.map +1 -0
- package/dist/rules/simulator/expression/evaluator.d.ts +43 -0
- package/dist/rules/simulator/expression/evaluator.d.ts.map +1 -0
- package/dist/rules/simulator/expression/evaluator.js +298 -0
- package/dist/rules/simulator/expression/evaluator.js.map +1 -0
- package/dist/rules/simulator/expression/lexer.d.ts +36 -0
- package/dist/rules/simulator/expression/lexer.d.ts.map +1 -0
- package/dist/rules/simulator/expression/lexer.js +318 -0
- package/dist/rules/simulator/expression/lexer.js.map +1 -0
- package/dist/rules/simulator/expression/parser.d.ts +39 -0
- package/dist/rules/simulator/expression/parser.d.ts.map +1 -0
- package/dist/rules/simulator/expression/parser.js +329 -0
- package/dist/rules/simulator/expression/parser.js.map +1 -0
- package/dist/rules/simulator/expression/types.d.ts +137 -0
- package/dist/rules/simulator/expression/types.d.ts.map +1 -0
- package/dist/rules/simulator/expression/types.js +90 -0
- package/dist/rules/simulator/expression/types.js.map +1 -0
- package/dist/rules/simulator/expression/walk-data.d.ts +52 -0
- package/dist/rules/simulator/expression/walk-data.d.ts.map +1 -0
- package/dist/rules/simulator/expression/walk-data.js +167 -0
- package/dist/rules/simulator/expression/walk-data.js.map +1 -0
- package/dist/rules/simulator/firestore-set.d.ts +25 -0
- package/dist/rules/simulator/firestore-set.d.ts.map +1 -0
- package/dist/rules/simulator/firestore-set.js +89 -0
- package/dist/rules/simulator/firestore-set.js.map +1 -0
- package/dist/rules/simulator/handler.d.ts +36 -0
- package/dist/rules/simulator/handler.d.ts.map +1 -0
- package/dist/rules/simulator/handler.js +583 -0
- package/dist/rules/simulator/handler.js.map +1 -0
- package/dist/rules/simulator/mapdiff.d.ts +29 -0
- package/dist/rules/simulator/mapdiff.d.ts.map +1 -0
- package/dist/rules/simulator/mapdiff.js +72 -0
- package/dist/rules/simulator/mapdiff.js.map +1 -0
- package/dist/rules/simulator/project-after-state.d.ts +33 -0
- package/dist/rules/simulator/project-after-state.d.ts.map +1 -0
- package/dist/rules/simulator/project-after-state.js +88 -0
- package/dist/rules/simulator/project-after-state.js.map +1 -0
- package/dist/rules/simulator/query-proof.d.ts +80 -0
- package/dist/rules/simulator/query-proof.d.ts.map +1 -0
- package/dist/rules/simulator/query-proof.js +142 -0
- package/dist/rules/simulator/query-proof.js.map +1 -0
- package/dist/rules/simulator/value-equality.d.ts +8 -0
- package/dist/rules/simulator/value-equality.d.ts.map +1 -0
- package/dist/rules/simulator/value-equality.js +40 -0
- package/dist/rules/simulator/value-equality.js.map +1 -0
- package/dist/rules/simulator/wrappers/base.d.ts +129 -0
- package/dist/rules/simulator/wrappers/base.d.ts.map +1 -0
- package/dist/rules/simulator/wrappers/base.js +90 -0
- package/dist/rules/simulator/wrappers/base.js.map +1 -0
- package/dist/rules/simulator/wrappers/bytes.d.ts +45 -0
- package/dist/rules/simulator/wrappers/bytes.d.ts.map +1 -0
- package/dist/rules/simulator/wrappers/bytes.js +130 -0
- package/dist/rules/simulator/wrappers/bytes.js.map +1 -0
- package/dist/rules/simulator/wrappers/duration.d.ts +76 -0
- package/dist/rules/simulator/wrappers/duration.d.ts.map +1 -0
- package/dist/rules/simulator/wrappers/duration.js +176 -0
- package/dist/rules/simulator/wrappers/duration.js.map +1 -0
- package/dist/rules/simulator/wrappers/float.d.ts +52 -0
- package/dist/rules/simulator/wrappers/float.d.ts.map +1 -0
- package/dist/rules/simulator/wrappers/float.js +88 -0
- package/dist/rules/simulator/wrappers/float.js.map +1 -0
- package/dist/rules/simulator/wrappers/latlng.d.ts +40 -0
- package/dist/rules/simulator/wrappers/latlng.d.ts.map +1 -0
- package/dist/rules/simulator/wrappers/latlng.js +100 -0
- package/dist/rules/simulator/wrappers/latlng.js.map +1 -0
- package/dist/rules/simulator/wrappers/path.d.ts +75 -0
- package/dist/rules/simulator/wrappers/path.d.ts.map +1 -0
- package/dist/rules/simulator/wrappers/path.js +158 -0
- package/dist/rules/simulator/wrappers/path.js.map +1 -0
- package/dist/rules/simulator/wrappers/reference.d.ts +82 -0
- package/dist/rules/simulator/wrappers/reference.d.ts.map +1 -0
- package/dist/rules/simulator/wrappers/reference.js +145 -0
- package/dist/rules/simulator/wrappers/reference.js.map +1 -0
- package/dist/rules/simulator/wrappers/timestamp.d.ts +86 -0
- package/dist/rules/simulator/wrappers/timestamp.d.ts.map +1 -0
- package/dist/rules/simulator/wrappers/timestamp.js +207 -0
- package/dist/rules/simulator/wrappers/timestamp.js.map +1 -0
- package/dist/rules/simulator/wrappers/vector.d.ts +43 -0
- package/dist/rules/simulator/wrappers/vector.d.ts.map +1 -0
- package/dist/rules/simulator/wrappers/vector.js +80 -0
- package/dist/rules/simulator/wrappers/vector.js.map +1 -0
- package/dist/rules/simulator-tools-impl.d.ts +64 -0
- package/dist/rules/simulator-tools-impl.d.ts.map +1 -0
- package/dist/rules/simulator-tools-impl.js +462 -0
- package/dist/rules/simulator-tools-impl.js.map +1 -0
- package/dist/rules/simulator.d.ts +20 -0
- package/dist/rules/simulator.d.ts.map +1 -0
- package/dist/rules/simulator.js +24 -0
- package/dist/rules/simulator.js.map +1 -0
- package/dist/rules/stdlib-modules.d.ts +73 -0
- package/dist/rules/stdlib-modules.d.ts.map +1 -0
- package/dist/rules/stdlib-modules.js +849 -0
- package/dist/rules/stdlib-modules.js.map +1 -0
- package/dist/rules/stdlib-tools.d.ts +19 -0
- package/dist/rules/stdlib-tools.d.ts.map +1 -0
- package/dist/rules/stdlib-tools.js +164 -0
- package/dist/rules/stdlib-tools.js.map +1 -0
- package/dist/rules/test/handler.d.ts +9 -0
- package/dist/rules/test/handler.d.ts.map +1 -0
- package/dist/rules/test/handler.js +124 -0
- package/dist/rules/test/handler.js.map +1 -0
- package/dist/rules/test/spec.d.ts +517 -0
- package/dist/rules/test/spec.d.ts.map +1 -0
- package/dist/rules/test/spec.js +227 -0
- package/dist/rules/test/spec.js.map +1 -0
- package/dist/rules/tools.d.ts +41 -0
- package/dist/rules/tools.d.ts.map +1 -0
- package/dist/rules/tools.js +124 -0
- package/dist/rules/tools.js.map +1 -0
- package/dist/rules/write/handler.d.ts +6 -0
- package/dist/rules/write/handler.d.ts.map +1 -0
- package/dist/rules/write/handler.js +126 -0
- package/dist/rules/write/handler.js.map +1 -0
- package/dist/rules/write/spec.d.ts +28 -0
- package/dist/rules/write/spec.d.ts.map +1 -0
- package/dist/rules/write/spec.js +2 -0
- package/dist/rules/write/spec.js.map +1 -0
- package/dist/sandbox/admin-compat.d.ts +20 -0
- package/dist/sandbox/admin-compat.d.ts.map +1 -0
- package/dist/sandbox/admin-compat.js +19 -0
- package/dist/sandbox/admin-compat.js.map +1 -0
- package/dist/sandbox/admin-firestore/error-translation.d.ts +86 -0
- package/dist/sandbox/admin-firestore/error-translation.d.ts.map +1 -0
- package/dist/sandbox/admin-firestore/error-translation.js +204 -0
- package/dist/sandbox/admin-firestore/error-translation.js.map +1 -0
- package/dist/sandbox/admin-firestore/index.d.ts +169 -0
- package/dist/sandbox/admin-firestore/index.d.ts.map +1 -0
- package/dist/sandbox/admin-firestore/index.js +456 -0
- package/dist/sandbox/admin-firestore/index.js.map +1 -0
- package/dist/sandbox/admin-firestore/remote.d.ts +97 -0
- package/dist/sandbox/admin-firestore/remote.d.ts.map +1 -0
- package/dist/sandbox/admin-firestore/remote.js +735 -0
- package/dist/sandbox/admin-firestore/remote.js.map +1 -0
- package/dist/sandbox/branches/index.d.ts +141 -0
- package/dist/sandbox/branches/index.d.ts.map +1 -0
- package/dist/sandbox/branches/index.js +327 -0
- package/dist/sandbox/branches/index.js.map +1 -0
- package/dist/sandbox/firestore/admin-compat/batch.d.ts +34 -0
- package/dist/sandbox/firestore/admin-compat/batch.d.ts.map +1 -0
- package/dist/sandbox/firestore/admin-compat/batch.js +73 -0
- package/dist/sandbox/firestore/admin-compat/batch.js.map +1 -0
- package/dist/sandbox/firestore/admin-compat/doc-ref.d.ts +38 -0
- package/dist/sandbox/firestore/admin-compat/doc-ref.d.ts.map +1 -0
- package/dist/sandbox/firestore/admin-compat/doc-ref.js +154 -0
- package/dist/sandbox/firestore/admin-compat/doc-ref.js.map +1 -0
- package/dist/sandbox/firestore/admin-compat/firestore.d.ts +45 -0
- package/dist/sandbox/firestore/admin-compat/firestore.d.ts.map +1 -0
- package/dist/sandbox/firestore/admin-compat/firestore.js +114 -0
- package/dist/sandbox/firestore/admin-compat/firestore.js.map +1 -0
- package/dist/sandbox/firestore/admin-compat/index.d.ts +45 -0
- package/dist/sandbox/firestore/admin-compat/index.d.ts.map +1 -0
- package/dist/sandbox/firestore/admin-compat/index.js +27 -0
- package/dist/sandbox/firestore/admin-compat/index.js.map +1 -0
- package/dist/sandbox/firestore/admin-compat/paths.d.ts +37 -0
- package/dist/sandbox/firestore/admin-compat/paths.d.ts.map +1 -0
- package/dist/sandbox/firestore/admin-compat/paths.js +49 -0
- package/dist/sandbox/firestore/admin-compat/paths.js.map +1 -0
- package/dist/sandbox/firestore/admin-compat/query.d.ts +261 -0
- package/dist/sandbox/firestore/admin-compat/query.d.ts.map +1 -0
- package/dist/sandbox/firestore/admin-compat/query.js +704 -0
- package/dist/sandbox/firestore/admin-compat/query.js.map +1 -0
- package/dist/sandbox/firestore/admin-compat/read-translation.d.ts +8 -0
- package/dist/sandbox/firestore/admin-compat/read-translation.d.ts.map +1 -0
- package/dist/sandbox/firestore/admin-compat/read-translation.js +59 -0
- package/dist/sandbox/firestore/admin-compat/read-translation.js.map +1 -0
- package/dist/sandbox/firestore/admin-compat/snapshots.d.ts +39 -0
- package/dist/sandbox/firestore/admin-compat/snapshots.d.ts.map +1 -0
- package/dist/sandbox/firestore/admin-compat/snapshots.js +50 -0
- package/dist/sandbox/firestore/admin-compat/snapshots.js.map +1 -0
- package/dist/sandbox/firestore/admin-compat/transaction.d.ts +35 -0
- package/dist/sandbox/firestore/admin-compat/transaction.d.ts.map +1 -0
- package/dist/sandbox/firestore/admin-compat/transaction.js +88 -0
- package/dist/sandbox/firestore/admin-compat/transaction.js.map +1 -0
- package/dist/sandbox/firestore/admin-compat/types.d.ts +297 -0
- package/dist/sandbox/firestore/admin-compat/types.d.ts.map +1 -0
- package/dist/sandbox/firestore/admin-compat/types.js +127 -0
- package/dist/sandbox/firestore/admin-compat/types.js.map +1 -0
- package/dist/sandbox/firestore/admin-compat/value-order.d.ts +49 -0
- package/dist/sandbox/firestore/admin-compat/value-order.d.ts.map +1 -0
- package/dist/sandbox/firestore/admin-compat/value-order.js +172 -0
- package/dist/sandbox/firestore/admin-compat/value-order.js.map +1 -0
- package/dist/sandbox/firestore/auto-id.d.ts +26 -0
- package/dist/sandbox/firestore/auto-id.d.ts.map +1 -0
- package/dist/sandbox/firestore/auto-id.js +36 -0
- package/dist/sandbox/firestore/auto-id.js.map +1 -0
- package/dist/sandbox/firestore/converters/bytes-geopoint.d.ts +48 -0
- package/dist/sandbox/firestore/converters/bytes-geopoint.d.ts.map +1 -0
- package/dist/sandbox/firestore/converters/bytes-geopoint.js +85 -0
- package/dist/sandbox/firestore/converters/bytes-geopoint.js.map +1 -0
- package/dist/sandbox/firestore/converters/fieldvalue.d.ts +69 -0
- package/dist/sandbox/firestore/converters/fieldvalue.d.ts.map +1 -0
- package/dist/sandbox/firestore/converters/fieldvalue.js +166 -0
- package/dist/sandbox/firestore/converters/fieldvalue.js.map +1 -0
- package/dist/sandbox/firestore/converters/reference.d.ts +31 -0
- package/dist/sandbox/firestore/converters/reference.d.ts.map +1 -0
- package/dist/sandbox/firestore/converters/reference.js +51 -0
- package/dist/sandbox/firestore/converters/reference.js.map +1 -0
- package/dist/sandbox/firestore/converters/timestamp.d.ts +32 -0
- package/dist/sandbox/firestore/converters/timestamp.d.ts.map +1 -0
- package/dist/sandbox/firestore/converters/timestamp.js +63 -0
- package/dist/sandbox/firestore/converters/timestamp.js.map +1 -0
- package/dist/sandbox/firestore/converters/user-timestamp.d.ts +46 -0
- package/dist/sandbox/firestore/converters/user-timestamp.d.ts.map +1 -0
- package/dist/sandbox/firestore/converters/user-timestamp.js +65 -0
- package/dist/sandbox/firestore/converters/user-timestamp.js.map +1 -0
- package/dist/sandbox/firestore/converters/vector.d.ts +24 -0
- package/dist/sandbox/firestore/converters/vector.d.ts.map +1 -0
- package/dist/sandbox/firestore/converters/vector.js +53 -0
- package/dist/sandbox/firestore/converters/vector.js.map +1 -0
- package/dist/sandbox/firestore/errors.d.ts +82 -0
- package/dist/sandbox/firestore/errors.d.ts.map +1 -0
- package/dist/sandbox/firestore/errors.js +54 -0
- package/dist/sandbox/firestore/errors.js.map +1 -0
- package/dist/sandbox/firestore/event-log.d.ts +99 -0
- package/dist/sandbox/firestore/event-log.d.ts.map +1 -0
- package/dist/sandbox/firestore/event-log.js +67 -0
- package/dist/sandbox/firestore/event-log.js.map +1 -0
- package/dist/sandbox/firestore/field-merge.d.ts +64 -0
- package/dist/sandbox/firestore/field-merge.d.ts.map +1 -0
- package/dist/sandbox/firestore/field-merge.js +221 -0
- package/dist/sandbox/firestore/field-merge.js.map +1 -0
- package/dist/sandbox/firestore/list-query-proof.d.ts +77 -0
- package/dist/sandbox/firestore/list-query-proof.d.ts.map +1 -0
- package/dist/sandbox/firestore/list-query-proof.js +170 -0
- package/dist/sandbox/firestore/list-query-proof.js.map +1 -0
- package/dist/sandbox/firestore/local-environment.d.ts +806 -0
- package/dist/sandbox/firestore/local-environment.d.ts.map +1 -0
- package/dist/sandbox/firestore/local-environment.js +3028 -0
- package/dist/sandbox/firestore/local-environment.js.map +1 -0
- package/dist/sandbox/firestore/local-state.d.ts +196 -0
- package/dist/sandbox/firestore/local-state.d.ts.map +1 -0
- package/dist/sandbox/firestore/local-state.js +413 -0
- package/dist/sandbox/firestore/local-state.js.map +1 -0
- package/dist/sandbox/firestore/overlay-backing.d.ts +44 -0
- package/dist/sandbox/firestore/overlay-backing.d.ts.map +1 -0
- package/dist/sandbox/firestore/overlay-backing.js +82 -0
- package/dist/sandbox/firestore/overlay-backing.js.map +1 -0
- package/dist/sandbox/firestore/sentinel-capture.d.ts +30 -0
- package/dist/sandbox/firestore/sentinel-capture.d.ts.map +1 -0
- package/dist/sandbox/firestore/sentinel-capture.js +61 -0
- package/dist/sandbox/firestore/sentinel-capture.js.map +1 -0
- package/dist/sandbox/firestore/snapshot-listeners.d.ts +284 -0
- package/dist/sandbox/firestore/snapshot-listeners.d.ts.map +1 -0
- package/dist/sandbox/firestore/snapshot-listeners.js +194 -0
- package/dist/sandbox/firestore/snapshot-listeners.js.map +1 -0
- package/dist/sandbox/firestore/topk.d.ts +12 -0
- package/dist/sandbox/firestore/topk.d.ts.map +1 -0
- package/dist/sandbox/firestore/topk.js +42 -0
- package/dist/sandbox/firestore/topk.js.map +1 -0
- package/dist/sandbox/firestore/transaction-merge.d.ts +55 -0
- package/dist/sandbox/firestore/transaction-merge.d.ts.map +1 -0
- package/dist/sandbox/firestore/transaction-merge.js +107 -0
- package/dist/sandbox/firestore/transaction-merge.js.map +1 -0
- package/dist/sandbox/firestore/transaction-types.d.ts +152 -0
- package/dist/sandbox/firestore/transaction-types.d.ts.map +1 -0
- package/dist/sandbox/firestore/transaction-types.js +10 -0
- package/dist/sandbox/firestore/transaction-types.js.map +1 -0
- package/dist/sandbox/firestore/transaction.d.ts +79 -0
- package/dist/sandbox/firestore/transaction.d.ts.map +1 -0
- package/dist/sandbox/firestore/transaction.js +95 -0
- package/dist/sandbox/firestore/transaction.js.map +1 -0
- package/dist/sandbox/firestore/value-equality.d.ts +2 -0
- package/dist/sandbox/firestore/value-equality.d.ts.map +1 -0
- package/dist/sandbox/firestore/value-equality.js +35 -0
- package/dist/sandbox/firestore/value-equality.js.map +1 -0
- package/dist/sandbox/firestore/value-resolver.d.ts +172 -0
- package/dist/sandbox/firestore/value-resolver.d.ts.map +1 -0
- package/dist/sandbox/firestore/value-resolver.js +221 -0
- package/dist/sandbox/firestore/value-resolver.js.map +1 -0
- package/dist/sandbox/firestore/wire-encoder.d.ts +14 -0
- package/dist/sandbox/firestore/wire-encoder.d.ts.map +1 -0
- package/dist/sandbox/firestore/wire-encoder.js +130 -0
- package/dist/sandbox/firestore/wire-encoder.js.map +1 -0
- package/dist/sandbox/index.d.ts +50 -0
- package/dist/sandbox/index.d.ts.map +1 -0
- package/dist/sandbox/index.js +63 -0
- package/dist/sandbox/index.js.map +1 -0
- package/dist/sandbox/internal/index.d.ts +36 -0
- package/dist/sandbox/internal/index.d.ts.map +1 -0
- package/dist/sandbox/internal/index.js +72 -0
- package/dist/sandbox/internal/index.js.map +1 -0
- package/dist/sandbox/internal/sandbox-impl.d.ts +343 -0
- package/dist/sandbox/internal/sandbox-impl.d.ts.map +1 -0
- package/dist/sandbox/internal/sandbox-impl.js +718 -0
- package/dist/sandbox/internal/sandbox-impl.js.map +1 -0
- package/dist/sandbox/persistence/backends.d.ts +37 -0
- package/dist/sandbox/persistence/backends.d.ts.map +1 -0
- package/dist/sandbox/persistence/backends.js +202 -0
- package/dist/sandbox/persistence/backends.js.map +1 -0
- package/dist/sandbox/persistence/chunk-format.d.ts +58 -0
- package/dist/sandbox/persistence/chunk-format.d.ts.map +1 -0
- package/dist/sandbox/persistence/chunk-format.js +163 -0
- package/dist/sandbox/persistence/chunk-format.js.map +1 -0
- package/dist/sandbox/persistence/controller.d.ts +39 -0
- package/dist/sandbox/persistence/controller.d.ts.map +1 -0
- package/dist/sandbox/persistence/controller.js +605 -0
- package/dist/sandbox/persistence/controller.js.map +1 -0
- package/dist/sandbox/persistence/index.d.ts +13 -0
- package/dist/sandbox/persistence/index.d.ts.map +1 -0
- package/dist/sandbox/persistence/index.js +5 -0
- package/dist/sandbox/persistence/index.js.map +1 -0
- package/dist/sandbox/persistence/serialize.d.ts +53 -0
- package/dist/sandbox/persistence/serialize.d.ts.map +1 -0
- package/dist/sandbox/persistence/serialize.js +98 -0
- package/dist/sandbox/persistence/serialize.js.map +1 -0
- package/dist/sandbox/persistence/types.d.ts +118 -0
- package/dist/sandbox/persistence/types.d.ts.map +1 -0
- package/dist/sandbox/persistence/types.js +15 -0
- package/dist/sandbox/persistence/types.js.map +1 -0
- package/dist/sandbox/remote.d.ts +118 -0
- package/dist/sandbox/remote.d.ts.map +1 -0
- package/dist/sandbox/remote.js +60 -0
- package/dist/sandbox/remote.js.map +1 -0
- package/dist/sandbox/replay/index.d.ts +106 -0
- package/dist/sandbox/replay/index.d.ts.map +1 -0
- package/dist/sandbox/replay/index.js +246 -0
- package/dist/sandbox/replay/index.js.map +1 -0
- package/dist/sandbox/sandbox-context.d.ts +40 -0
- package/dist/sandbox/sandbox-context.d.ts.map +1 -0
- package/dist/sandbox/sandbox-context.js +72 -0
- package/dist/sandbox/sandbox-context.js.map +1 -0
- package/dist/sandbox/tab-sync/index.d.ts +120 -0
- package/dist/sandbox/tab-sync/index.d.ts.map +1 -0
- package/dist/sandbox/tab-sync/index.js +272 -0
- package/dist/sandbox/tab-sync/index.js.map +1 -0
- package/dist/sandbox/types.d.ts +1235 -0
- package/dist/sandbox/types.d.ts.map +1 -0
- package/dist/sandbox/types.js +46 -0
- package/dist/sandbox/types.js.map +1 -0
- package/dist/storage/admin/api.d.ts +206 -0
- package/dist/storage/admin/api.d.ts.map +1 -0
- package/dist/storage/admin/api.js +349 -0
- package/dist/storage/admin/api.js.map +1 -0
- package/dist/storage/admin/handler.d.ts +29 -0
- package/dist/storage/admin/handler.d.ts.map +1 -0
- package/dist/storage/admin/handler.js +82 -0
- package/dist/storage/admin/handler.js.map +1 -0
- package/dist/storage/admin/spec.d.ts +64 -0
- package/dist/storage/admin/spec.d.ts.map +1 -0
- package/dist/storage/admin/spec.js +8 -0
- package/dist/storage/admin/spec.js.map +1 -0
- package/dist/storage/admin/tools.d.ts +23 -0
- package/dist/storage/admin/tools.d.ts.map +1 -0
- package/dist/storage/admin/tools.js +90 -0
- package/dist/storage/admin/tools.js.map +1 -0
- package/dist/storage/download.d.ts +27 -0
- package/dist/storage/download.d.ts.map +1 -0
- package/dist/storage/download.js +136 -0
- package/dist/storage/download.js.map +1 -0
- package/dist/storage/enforce.d.ts +26 -0
- package/dist/storage/enforce.d.ts.map +1 -0
- package/dist/storage/enforce.js +16 -0
- package/dist/storage/enforce.js.map +1 -0
- package/dist/storage/errors.d.ts +46 -0
- package/dist/storage/errors.d.ts.map +1 -0
- package/dist/storage/errors.js +62 -0
- package/dist/storage/errors.js.map +1 -0
- package/dist/storage/index.d.ts +49 -0
- package/dist/storage/index.d.ts.map +1 -0
- package/dist/storage/index.js +60 -0
- package/dist/storage/index.js.map +1 -0
- package/dist/storage/internal.d.ts +18 -0
- package/dist/storage/internal.d.ts.map +1 -0
- package/dist/storage/internal.js +18 -0
- package/dist/storage/internal.js.map +1 -0
- package/dist/storage/list.d.ts +17 -0
- package/dist/storage/list.d.ts.map +1 -0
- package/dist/storage/list.js +91 -0
- package/dist/storage/list.js.map +1 -0
- package/dist/storage/metadata.d.ts +86 -0
- package/dist/storage/metadata.d.ts.map +1 -0
- package/dist/storage/metadata.js +167 -0
- package/dist/storage/metadata.js.map +1 -0
- package/dist/storage/persistence.d.ts +134 -0
- package/dist/storage/persistence.d.ts.map +1 -0
- package/dist/storage/persistence.js +132 -0
- package/dist/storage/persistence.js.map +1 -0
- package/dist/storage/reference.d.ts +63 -0
- package/dist/storage/reference.d.ts.map +1 -0
- package/dist/storage/reference.js +156 -0
- package/dist/storage/reference.js.map +1 -0
- package/dist/storage/rules.d.ts +176 -0
- package/dist/storage/rules.d.ts.map +1 -0
- package/dist/storage/rules.js +621 -0
- package/dist/storage/rules.js.map +1 -0
- package/dist/storage/service.d.ts +139 -0
- package/dist/storage/service.d.ts.map +1 -0
- package/dist/storage/service.js +241 -0
- package/dist/storage/service.js.map +1 -0
- package/dist/storage/upload.d.ts +43 -0
- package/dist/storage/upload.d.ts.map +1 -0
- package/dist/storage/upload.js +235 -0
- package/dist/storage/upload.js.map +1 -0
- package/package.json +109 -3
|
@@ -0,0 +1,604 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* `@pyric/rtdb` modular SDK surface — Phase 3 implementation.
|
|
3
|
+
*
|
|
4
|
+
* Mirrors `firebase/database`'s tree-shakable free-function shape:
|
|
5
|
+
* `getDatabase`, `ref`, `child`, `get`, `set`, `update`, `remove`,
|
|
6
|
+
* `push`, `onValue`, `serverTimestamp`, `connectDatabaseEmulator`.
|
|
7
|
+
*
|
|
8
|
+
* Three backends picked by what's passed to `getDatabase`:
|
|
9
|
+
*
|
|
10
|
+
* - **Sandbox target** — wraps `RtdbBackend` (in-memory JSON tree
|
|
11
|
+
* plus the existing `@pyric/rtdb` rule simulator). Identity is the
|
|
12
|
+
* `SandboxContext`'s frozen `auth`.
|
|
13
|
+
* - **Sandbox-live target** — same backend, but identity is read
|
|
14
|
+
* per-op from `sandbox.currentUser` so a `pyric/auth`-driven
|
|
15
|
+
* sign-in flips the next op's `request.auth` without re-binding.
|
|
16
|
+
* - **Prod target** — wraps `firebase/database` against a real
|
|
17
|
+
* Firebase project.
|
|
18
|
+
*
|
|
19
|
+
* Dispatch machinery mirrors `pyric/firestore`:
|
|
20
|
+
* - {@link TARGET_SYMBOL} brand on every {@link Database} handle.
|
|
21
|
+
* - {@link refToTarget} WeakMap from refs to their owning target so
|
|
22
|
+
* chained calls (`child(ref, 'sub')`, `get(ref)`) recover routing.
|
|
23
|
+
*
|
|
24
|
+
* Every public function has a `target.kind` switch with explicit
|
|
25
|
+
* branches — structure is parallel and grep-friendly.
|
|
26
|
+
*
|
|
27
|
+
* **Critical contract — error shape (locked by oracle observation
|
|
28
|
+
* `scripts/oracle/observations/rtdb-rules-denied-error-code.json`):**
|
|
29
|
+
*
|
|
30
|
+
* - Throws a **plain `Error`** (NOT a `FirebaseError`).
|
|
31
|
+
* - `.code === 'PERMISSION_DENIED'` (uppercase snake-case — distinct
|
|
32
|
+
* from Firestore's `'permission-denied'`).
|
|
33
|
+
* - `.message === 'PERMISSION_DENIED: Permission denied'`.
|
|
34
|
+
*
|
|
35
|
+
* The sandbox backend matches this shape exactly. Tests assert against
|
|
36
|
+
* `.constructor.name === 'Error'` to catch any future "improvement" to
|
|
37
|
+
* a custom subclass.
|
|
38
|
+
*/
|
|
39
|
+
import type { FirebaseApp } from 'firebase/app';
|
|
40
|
+
import * as fb from 'firebase/database';
|
|
41
|
+
import type { AuthState, Sandbox, SandboxContext } from 'pyric/sandbox';
|
|
42
|
+
import { type PyricApp } from 'pyric/app';
|
|
43
|
+
import { RtdbBackend } from './sandbox/backend.js';
|
|
44
|
+
import { type ServerTimestampSentinel, type IncrementSentinel } from './sandbox/sentinels.js';
|
|
45
|
+
import { type JsonValue } from './sandbox/data-tree.js';
|
|
46
|
+
import { type Constraint, type QuerySpec } from './sandbox/query.js';
|
|
47
|
+
/** Hidden brand on every {@link Database} handle. */
|
|
48
|
+
export declare const TARGET_SYMBOL: unique symbol;
|
|
49
|
+
type SandboxTarget = {
|
|
50
|
+
kind: 'sandbox';
|
|
51
|
+
backend: RtdbBackend;
|
|
52
|
+
auth: AuthState;
|
|
53
|
+
admin?: boolean;
|
|
54
|
+
};
|
|
55
|
+
type SandboxLiveTarget = {
|
|
56
|
+
kind: 'sandbox-live';
|
|
57
|
+
backend: RtdbBackend;
|
|
58
|
+
sandbox: Sandbox;
|
|
59
|
+
admin?: boolean;
|
|
60
|
+
};
|
|
61
|
+
type ProdTarget = {
|
|
62
|
+
kind: 'prod';
|
|
63
|
+
db: fb.Database;
|
|
64
|
+
};
|
|
65
|
+
type Target = SandboxTarget | SandboxLiveTarget | ProdTarget;
|
|
66
|
+
/** Opaque RTDB handle. Routes via {@link TARGET_SYMBOL}. */
|
|
67
|
+
export interface Database {
|
|
68
|
+
readonly [TARGET_SYMBOL]: Target;
|
|
69
|
+
}
|
|
70
|
+
/**
|
|
71
|
+
* RTDB-shaped reference. Backend-opaque to consumers; mirrors
|
|
72
|
+
* `firebase/database`'s `DatabaseReference` for the subset of methods
|
|
73
|
+
* the modular SDK uses idiomatically as plain free-function args.
|
|
74
|
+
*
|
|
75
|
+
* `key` is the last path segment (matches `DatabaseReference.key`).
|
|
76
|
+
* `null` for the root ref. `parent` is the ref one segment up
|
|
77
|
+
* (`null` at root). `root` is always the root ref.
|
|
78
|
+
*
|
|
79
|
+
* `toString()` returns the absolute URL — for sandbox refs we
|
|
80
|
+
* stub a `sandbox://` URL; for prod refs `firebase/database`
|
|
81
|
+
* provides the real URL.
|
|
82
|
+
*/
|
|
83
|
+
export interface DatabaseReference {
|
|
84
|
+
readonly key: string | null;
|
|
85
|
+
readonly parent: DatabaseReference | null;
|
|
86
|
+
readonly root: DatabaseReference;
|
|
87
|
+
toString(): string;
|
|
88
|
+
/** Internal — the canonical path (`'/users/alice'`). */
|
|
89
|
+
readonly _path: string;
|
|
90
|
+
}
|
|
91
|
+
/**
|
|
92
|
+
* Lightweight `DataSnapshot` — matches the subset of
|
|
93
|
+
* `firebase/database`'s `DataSnapshot` we surface synchronously on a
|
|
94
|
+
* `get()`. Methods are the load-bearing ones (`val`, `exists`, `key`,
|
|
95
|
+
* `child`) plus a few utilities consumer code routinely reads.
|
|
96
|
+
*/
|
|
97
|
+
export interface DataSnapshot {
|
|
98
|
+
readonly key: string | null;
|
|
99
|
+
/**
|
|
100
|
+
* Number of child properties of this snapshot. A getter (NOT a
|
|
101
|
+
* `numChildren()` method — that was the legacy namespaced API). Locked
|
|
102
|
+
* by oracle `rtdb-modular-get-snapshot-shape.json`
|
|
103
|
+
* (`hasSize: true, hasNumChildren: false`) + upstream
|
|
104
|
+
* `api/Reference_impl.ts:331-333`.
|
|
105
|
+
*/
|
|
106
|
+
readonly size: number;
|
|
107
|
+
/**
|
|
108
|
+
* The node's priority, or `null`. The sandbox does not model RTDB's
|
|
109
|
+
* priority (deny-listed — see COMPAT) so this is always `null`, matching
|
|
110
|
+
* the common case (no `.priority` set). Mirrors `api/Reference_impl.ts:312`.
|
|
111
|
+
*/
|
|
112
|
+
readonly priority: string | number | null;
|
|
113
|
+
exists(): boolean;
|
|
114
|
+
val(): JsonValue;
|
|
115
|
+
child(path: string): DataSnapshot;
|
|
116
|
+
hasChild(path: string): boolean;
|
|
117
|
+
hasChildren(): boolean;
|
|
118
|
+
/**
|
|
119
|
+
* Like `val()` but includes priority info (for backups). With no
|
|
120
|
+
* priority modeled, this equals `val()`. Mirrors
|
|
121
|
+
* `api/Reference_impl.ts:374-376`.
|
|
122
|
+
*/
|
|
123
|
+
exportVal(): JsonValue;
|
|
124
|
+
toJSON(): JsonValue;
|
|
125
|
+
/**
|
|
126
|
+
* Iterate the snapshot's immediate children. The callback is invoked
|
|
127
|
+
* with a child `DataSnapshot` for each child; return `true` to stop
|
|
128
|
+
* iteration early (matches the `firebase/database` contract).
|
|
129
|
+
*
|
|
130
|
+
* For a snapshot built from a {@link Query}, children are visited in
|
|
131
|
+
* the order the query's `orderBy*` constraint computed — the windowed
|
|
132
|
+
* + filtered + limited sequence. For a plain ref snapshot, children
|
|
133
|
+
* are visited in key-insertion order (V8 object iteration order; the
|
|
134
|
+
* RTDB SDK does NOT guarantee an order on plain refs either).
|
|
135
|
+
*/
|
|
136
|
+
forEach(cb: (child: DataSnapshot) => boolean | void): boolean;
|
|
137
|
+
/** The ref the snap was taken from. */
|
|
138
|
+
readonly ref: DatabaseReference;
|
|
139
|
+
}
|
|
140
|
+
/**
|
|
141
|
+
* The return type of {@link push} — a regular {@link DatabaseReference}
|
|
142
|
+
* with `.then` / `.catch` attached so it can be `await`ed. Mirrors
|
|
143
|
+
* `firebase/database`'s `ThenableReference` (`api/Reference_impl.ts:569`).
|
|
144
|
+
*
|
|
145
|
+
* Critical (DB-B7): the ref + its `.key` are available SYNCHRONOUSLY —
|
|
146
|
+
* the key is minted client-side. The promise covers only the optional
|
|
147
|
+
* value write; a rules-denied write rejects the promise (it does NOT
|
|
148
|
+
* throw synchronously and lose the key). Oracle:
|
|
149
|
+
* `rtdb-push-autoid-format.json`.
|
|
150
|
+
*/
|
|
151
|
+
export interface ThenableReference extends DatabaseReference {
|
|
152
|
+
then<TResult1 = DatabaseReference, TResult2 = never>(onfulfilled?: ((value: DatabaseReference) => TResult1 | PromiseLike<TResult1>) | null, onrejected?: ((reason: unknown) => TResult2 | PromiseLike<TResult2>) | null): Promise<TResult1 | TResult2>;
|
|
153
|
+
catch<TResult = never>(onrejected?: ((reason: unknown) => TResult | PromiseLike<TResult>) | null): Promise<DatabaseReference | TResult>;
|
|
154
|
+
}
|
|
155
|
+
export type Unsubscribe = () => void;
|
|
156
|
+
/**
|
|
157
|
+
* Hidden brand on every {@link Query} (and on every QueryConstraint).
|
|
158
|
+
* Distinct from `TARGET_SYMBOL`; this brand is only used to dispatch
|
|
159
|
+
* `get` / `onValue` between plain refs and query-wrapped refs.
|
|
160
|
+
*/
|
|
161
|
+
export declare const QUERY_SYMBOL: unique symbol;
|
|
162
|
+
/** Hidden brand on every {@link QueryConstraint}. */
|
|
163
|
+
declare const CONSTRAINT_SYMBOL: unique symbol;
|
|
164
|
+
/**
|
|
165
|
+
* RTDB-shaped Query — a ref + an immutable constraint chain. Mirrors
|
|
166
|
+
* `firebase/database`'s `Query` for the subset of methods the modular
|
|
167
|
+
* SDK uses idiomatically.
|
|
168
|
+
*
|
|
169
|
+
* Construct with {@link query}; pass to {@link get} or {@link onValue}.
|
|
170
|
+
*/
|
|
171
|
+
export interface Query {
|
|
172
|
+
/** The Query's location. Used by `query()` chaining + listener fan-out. */
|
|
173
|
+
readonly ref: DatabaseReference;
|
|
174
|
+
/** Resolves to the same URL the ref would. */
|
|
175
|
+
toString(): string;
|
|
176
|
+
/** Internal — the constraint chain that built this query (sandbox path). */
|
|
177
|
+
readonly _spec: QuerySpec;
|
|
178
|
+
/** Internal — the prod-side fb.Query (when this query routes to prod). */
|
|
179
|
+
readonly _fbQuery?: fb.Query;
|
|
180
|
+
readonly [QUERY_SYMBOL]: true;
|
|
181
|
+
}
|
|
182
|
+
/**
|
|
183
|
+
* Opaque constraint produced by `orderByChild` / `equalTo` / `limitToFirst`
|
|
184
|
+
* etc. Pass to {@link query}.
|
|
185
|
+
*/
|
|
186
|
+
export interface QueryConstraint {
|
|
187
|
+
/** The constraint's variant — surfaces as the SDK's
|
|
188
|
+
* `QueryConstraintType` strings. */
|
|
189
|
+
readonly type: 'orderByChild' | 'orderByKey' | 'orderByValue' | 'startAt' | 'startAfter' | 'endAt' | 'endBefore' | 'equalTo' | 'limitToFirst' | 'limitToLast';
|
|
190
|
+
readonly [CONSTRAINT_SYMBOL]: Constraint;
|
|
191
|
+
}
|
|
192
|
+
/**
|
|
193
|
+
* Build a Database handle. Three overloads dispatch by input shape:
|
|
194
|
+
*
|
|
195
|
+
* - `SandboxContext` → sandbox-backed, frozen identity.
|
|
196
|
+
* - `Sandbox` → sandbox-backed, live identity (per-op `currentUser`).
|
|
197
|
+
* - `FirebaseApp` → prod-backed (delegates to `firebase/database`).
|
|
198
|
+
*
|
|
199
|
+
* @example
|
|
200
|
+
* ```ts
|
|
201
|
+
* import { initializeSandbox } from 'pyric/sandbox';
|
|
202
|
+
* import { getDatabase, ref, set, get } from 'pyric/database';
|
|
203
|
+
*
|
|
204
|
+
* const sandbox = initializeSandbox();
|
|
205
|
+
* const db = getDatabase(sandbox.withAuth({ uid: 'alice' }));
|
|
206
|
+
* await set(ref(db, 'greetings/hello'), { text: 'hi' });
|
|
207
|
+
* const snap = await get(ref(db, 'greetings/hello'));
|
|
208
|
+
* console.log(snap.val()); // { text: 'hi' }
|
|
209
|
+
* ```
|
|
210
|
+
*/
|
|
211
|
+
export declare function getDatabase(ctx: SandboxContext): Database;
|
|
212
|
+
export declare function getDatabase(sandbox: Sandbox): Database;
|
|
213
|
+
export declare function getDatabase(app: FirebaseApp): Database;
|
|
214
|
+
export declare function getDatabase(app: PyricApp): Database;
|
|
215
|
+
/**
|
|
216
|
+
* Sandbox-only rules-bypass RTDB handle. Mirrors Firestore's
|
|
217
|
+
* `getAdminFirestore(sandbox)` for Studio/Playground data browsers and
|
|
218
|
+
* controlled admin tools. A prod-backed app has no client-side rules-bypass
|
|
219
|
+
* equivalent and is rejected loudly.
|
|
220
|
+
*/
|
|
221
|
+
export declare function getAdminDatabase(sandbox: Sandbox): Database;
|
|
222
|
+
export declare function getAdminDatabase(ctx: SandboxContext): Database;
|
|
223
|
+
export declare function getAdminDatabase(app: PyricApp): Database;
|
|
224
|
+
/**
|
|
225
|
+
* Build a {@link DatabaseReference} at `path` (default root).
|
|
226
|
+
*
|
|
227
|
+
* Sandbox: returns a lightweight ref object owning its absolute path.
|
|
228
|
+
* Prod: delegates to `firebase/database`'s `ref(db, path)` and tags
|
|
229
|
+
* the returned ref so chained ops route correctly.
|
|
230
|
+
*
|
|
231
|
+
* Path normalisation: leading + trailing slashes are stripped;
|
|
232
|
+
* empty path / `'/'` becomes the root.
|
|
233
|
+
*/
|
|
234
|
+
export declare function ref(db: Database, path?: string): DatabaseReference;
|
|
235
|
+
/**
|
|
236
|
+
* Sub-path constructor. `child(ref, 'sub/path')` returns a ref at
|
|
237
|
+
* `<ref>/sub/path`.
|
|
238
|
+
*
|
|
239
|
+
* Mirrors `firebase/database`'s `child(parent, path)` — leading +
|
|
240
|
+
* empty segments stripped; the result inherits the parent's target.
|
|
241
|
+
*/
|
|
242
|
+
export declare function child(parent: DatabaseReference, path: string): DatabaseReference;
|
|
243
|
+
/**
|
|
244
|
+
* `get(ref)` — one-shot read at the ref's path. Resolves to a
|
|
245
|
+
* `DataSnapshot`-shaped object.
|
|
246
|
+
*
|
|
247
|
+
* Sandbox: runs through the rule engine; denial throws the plain-`Error`
|
|
248
|
+
* shape locked by the oracle. Prod: delegates to `firebase/database`'s
|
|
249
|
+
* `get(ref)` and wraps the returned snapshot in our minimal shape.
|
|
250
|
+
*
|
|
251
|
+
* Absent path → `snap.val() === null && snap.exists() === false`.
|
|
252
|
+
* Matches the SDK's `DataSnapshot.val()` contract.
|
|
253
|
+
*/
|
|
254
|
+
export declare function get(r: DatabaseReference | Query): Promise<DataSnapshot>;
|
|
255
|
+
/**
|
|
256
|
+
* `set(ref, value)` — replace the value at `ref`'s path. `null`
|
|
257
|
+
* deletes (matches the RTDB invariant — locked by oracle observation
|
|
258
|
+
* `rtdb-remove-vs-set-null.json`).
|
|
259
|
+
*
|
|
260
|
+
* `serverTimestamp()` sentinels are resolved at write time on the
|
|
261
|
+
* sandbox side; the prod side relies on `firebase/database`'s wire
|
|
262
|
+
* encoder.
|
|
263
|
+
*/
|
|
264
|
+
export declare function set(r: DatabaseReference, value: unknown): Promise<void>;
|
|
265
|
+
/**
|
|
266
|
+
* `update(ref, values)` — partial update.
|
|
267
|
+
*
|
|
268
|
+
* - When `values` keys contain `/`, the call is a **multi-path atomic
|
|
269
|
+
* update**: every listed path is written as one transaction (any
|
|
270
|
+
* denial fails the whole batch).
|
|
271
|
+
* - Otherwise it's a **shallow merge** at the ref's path: each
|
|
272
|
+
* top-level key replaces the corresponding child. `null` values
|
|
273
|
+
* delete.
|
|
274
|
+
*
|
|
275
|
+
* Both behaviors are sandbox-implemented per the RtdbBackend's
|
|
276
|
+
* `update` method (`rtdb-modular`-spec atomic claim, matrix row #23).
|
|
277
|
+
*/
|
|
278
|
+
export declare function update(r: DatabaseReference, values: Record<string, unknown>): Promise<void>;
|
|
279
|
+
/**
|
|
280
|
+
* `remove(ref)` — delete the subtree at the ref's path.
|
|
281
|
+
*
|
|
282
|
+
* RTDB invariant (oracle: `rtdb-remove-vs-set-null.json`): equivalent
|
|
283
|
+
* to `set(ref, null)`. The sandbox backend dispatches `remove` through
|
|
284
|
+
* the same code path as `set(_, null)`.
|
|
285
|
+
*/
|
|
286
|
+
export declare function remove(r: DatabaseReference): Promise<void>;
|
|
287
|
+
/**
|
|
288
|
+
* `push(ref, value?)` — mint an auto-id child key under `ref`'s path,
|
|
289
|
+
* optionally writing `value` at the new child.
|
|
290
|
+
*
|
|
291
|
+
* Returns a ref at the new child path. The ref's `key` is the minted
|
|
292
|
+
* id (locked by oracle observation `rtdb-push-autoid-format.json`:
|
|
293
|
+
* 20 chars, leading `-`, lex-sortable).
|
|
294
|
+
*
|
|
295
|
+
* Production note: the key is minted **client-side** (no server
|
|
296
|
+
* round-trip required); it's available synchronously on the returned
|
|
297
|
+
* ref even when the optional write is denied by rules. The oracle
|
|
298
|
+
* observation confirms this — the sandbox matches.
|
|
299
|
+
*/
|
|
300
|
+
export declare function push(r: DatabaseReference, value?: unknown): ThenableReference;
|
|
301
|
+
/**
|
|
302
|
+
* Pre-mint a push key without writing. Used by callers that need the
|
|
303
|
+
* key for a multi-path update (`update(rootRef, { [\`/users/${key}\`]: ... })`).
|
|
304
|
+
* Sandbox-side: returns a freshly-minted key. Prod-side: same — the
|
|
305
|
+
* `push(ref).key` pattern is the documented way.
|
|
306
|
+
*/
|
|
307
|
+
export declare function pushKey(): string;
|
|
308
|
+
/**
|
|
309
|
+
* `onValue(ref, cb)` — subscribe to value changes at the ref's path.
|
|
310
|
+
*
|
|
311
|
+
* Fires immediately on subscribe with the current value (or
|
|
312
|
+
* `null` + `exists: false` for an absent path), then on every
|
|
313
|
+
* subsequent write that touches the path or any descendant.
|
|
314
|
+
*
|
|
315
|
+
* Returns an unsubscribe function. The unsubscribe is idempotent;
|
|
316
|
+
* calling it twice is a no-op.
|
|
317
|
+
*
|
|
318
|
+
* `options.onlyOnce` (DB-B12): when `true`, the listener auto-unsubscribes
|
|
319
|
+
* after its first fire (mirrors `api/Reference_impl.ts:975-980`).
|
|
320
|
+
*
|
|
321
|
+
* Errors path: subscribing under rules that deny the read throws the
|
|
322
|
+
* plain-`Error` `PERMISSION_DENIED` shape synchronously (matching the
|
|
323
|
+
* production behavior where the subscribe path immediately errors).
|
|
324
|
+
*/
|
|
325
|
+
export declare function onValue(r: DatabaseReference | Query, cb: (snap: DataSnapshot) => void, options?: {
|
|
326
|
+
onlyOnce?: boolean;
|
|
327
|
+
}): Unsubscribe;
|
|
328
|
+
/**
|
|
329
|
+
* `onChildAdded(ref, cb)` — subscribe to child-added events at the
|
|
330
|
+
* ref's path.
|
|
331
|
+
*
|
|
332
|
+
* Semantics (locked by oracle observations under
|
|
333
|
+
* `scripts/oracle/observations/rtdb-modular-onchildadded-*.json`):
|
|
334
|
+
*
|
|
335
|
+
* - On subscribe, replays every existing direct child of `ref`'s path
|
|
336
|
+
* (one fire per existing key, in `orderByKey`-default order).
|
|
337
|
+
* - After subscribe, fires exactly once per new direct child write.
|
|
338
|
+
*
|
|
339
|
+
* Also accepts a {@link Query} (a `query(ref, ...)` with `orderBy*` /
|
|
340
|
+
* `limitTo*` constraints): child events are then computed against the
|
|
341
|
+
* ordered, windowed result — a child ENTERING the window fires
|
|
342
|
+
* `child_added`; on subscribe the current window is replayed in window
|
|
343
|
+
* order.
|
|
344
|
+
*
|
|
345
|
+
* Returns an unsubscribe; calling it twice is a no-op.
|
|
346
|
+
*/
|
|
347
|
+
export declare function onChildAdded(r: DatabaseReference | Query, cb: (snap: DataSnapshot) => void): Unsubscribe;
|
|
348
|
+
/**
|
|
349
|
+
* `onChildChanged(ref, cb)` — subscribe to child-changed events.
|
|
350
|
+
*
|
|
351
|
+
* Semantics (oracle: `rtdb-modular-onchildchanged-fires-on-update`):
|
|
352
|
+
*
|
|
353
|
+
* - No initial replay.
|
|
354
|
+
* - Fires when an existing direct child's value transitions to a
|
|
355
|
+
* NEW non-null value. Snapshot carries the NEW value.
|
|
356
|
+
* - Does NOT fire for added or removed children.
|
|
357
|
+
*
|
|
358
|
+
* Also accepts a {@link Query}: fires when a child that is IN the query
|
|
359
|
+
* window changes value (an in-window update).
|
|
360
|
+
*/
|
|
361
|
+
export declare function onChildChanged(r: DatabaseReference | Query, cb: (snap: DataSnapshot) => void): Unsubscribe;
|
|
362
|
+
/**
|
|
363
|
+
* `onChildRemoved(ref, cb)` — subscribe to child-removed events.
|
|
364
|
+
*
|
|
365
|
+
* Semantics (oracle: `rtdb-modular-onchildremoved-fires-on-delete`):
|
|
366
|
+
*
|
|
367
|
+
* - No initial replay.
|
|
368
|
+
* - Fires when a direct child is deleted (via `remove(child)` or
|
|
369
|
+
* `set(child, null)`).
|
|
370
|
+
* - Snapshot carries the PRIOR (now-removed) value — the listener
|
|
371
|
+
* sees what was there before deletion.
|
|
372
|
+
*
|
|
373
|
+
* Also accepts a {@link Query}: a child LEAVING the query window (e.g.
|
|
374
|
+
* displaced past a `limitTo*` boundary or filtered out) fires
|
|
375
|
+
* `child_removed` carrying its prior value.
|
|
376
|
+
*/
|
|
377
|
+
export declare function onChildRemoved(r: DatabaseReference | Query, cb: (snap: DataSnapshot) => void): Unsubscribe;
|
|
378
|
+
/**
|
|
379
|
+
* `onChildMoved(ref, cb)` — subscribe to child-moved events.
|
|
380
|
+
*
|
|
381
|
+
* Semantics (oracle: `rtdb-modular-onchildmoved-with-orderby`):
|
|
382
|
+
*
|
|
383
|
+
* - Only fires under an ordered query (`query(ref, orderByChild(...))`).
|
|
384
|
+
* - Under a plain ref, this listener is effectively a no-op — the
|
|
385
|
+
* upstream SDK accepts the subscription but never fires it
|
|
386
|
+
* (matches RTDB docs).
|
|
387
|
+
*
|
|
388
|
+
* Accepts a {@link Query} WITHOUT throwing, but the sandbox deliberately
|
|
389
|
+
* does NOT fire `child_moved` on reorder yet: prod fires here (matrix row
|
|
390
|
+
* `rtdb-modular#137`) while the sandbox holds — the reorder /
|
|
391
|
+
* `previousChildName` ordering semantics are pending two new oracle
|
|
392
|
+
* captures. This is a documented, pinned divergence (both sides asserted
|
|
393
|
+
* in `test/database/modular/sandbox-child-events.test.ts`).
|
|
394
|
+
*/
|
|
395
|
+
export declare function onChildMoved(r: DatabaseReference | Query, cb: (snap: DataSnapshot) => void): Unsubscribe;
|
|
396
|
+
type ChildEvent = 'child_added' | 'child_changed' | 'child_removed' | 'child_moved';
|
|
397
|
+
/**
|
|
398
|
+
* `off(ref, eventType?, callback?)` — unsubscribe variant.
|
|
399
|
+
*
|
|
400
|
+
* Semantics (locked by oracle observation
|
|
401
|
+
* `scripts/oracle/observations/rtdb-modular-off-stops-child-fires.json`):
|
|
402
|
+
*
|
|
403
|
+
* - `off(ref)` (no eventType) removes ALL listeners at that ref —
|
|
404
|
+
* value + every child event variety.
|
|
405
|
+
* - `off(ref, 'value')` removes only `value` listeners.
|
|
406
|
+
* - `off(ref, 'child_added')` (or any child event type) removes only
|
|
407
|
+
* that variety.
|
|
408
|
+
* - `off(ref, eventType, cb)` removes only the matching callback.
|
|
409
|
+
*
|
|
410
|
+
* The returned-unsubscribe pattern from `onValue` / `onChild*` is
|
|
411
|
+
* functionally equivalent to `off(ref, eventType, cb)` for a specific
|
|
412
|
+
* registration — both are supported.
|
|
413
|
+
*/
|
|
414
|
+
export declare function off(r: DatabaseReference, eventType?: 'value' | ChildEvent, callback?: (snap: DataSnapshot) => void): void;
|
|
415
|
+
/**
|
|
416
|
+
* `query(ref, ...constraints)` — wrap a ref in an immutable
|
|
417
|
+
* constraint chain. The resulting {@link Query} routes through
|
|
418
|
+
* {@link get}/{@link onValue} and applies the ordering + filtering +
|
|
419
|
+
* limit pipeline on the sandbox backend; on prod it delegates to
|
|
420
|
+
* `firebase/database`'s `query()`.
|
|
421
|
+
*
|
|
422
|
+
* Chaining is supported — `query(query(ref, orderByChild('x')),
|
|
423
|
+
* limitToFirst(2))` folds both constraints into one spec.
|
|
424
|
+
*
|
|
425
|
+
* Locked semantics (oracle):
|
|
426
|
+
* - `orderByChild('p') + startAt(v) + endAt(w)` is BOTH-inclusive
|
|
427
|
+
* (`rtdb-modular-orderbychild-window.json`).
|
|
428
|
+
* - `orderByKey() + startAt('b') + endAt('d')` matches `[b, c, d]`
|
|
429
|
+
* (`rtdb-modular-orderbykey-window.json`).
|
|
430
|
+
* - `orderByValue() + limitToFirst(3)` returns the 3 smallest by
|
|
431
|
+
* value (`rtdb-modular-orderbyvalue-numeric.json` — note: prod
|
|
432
|
+
* requires `.indexOn: ".value"`; sandbox does not enforce indexes).
|
|
433
|
+
* - `orderByChild('group') + equalTo('b')` returns ALL matching
|
|
434
|
+
* children (`rtdb-modular-equalTo-filter.json`).
|
|
435
|
+
* - `limitToFirst(N)` / `limitToLast(N)` take from the start / end of
|
|
436
|
+
* the ordered window (`rtdb-modular-limittofirst-vs-limittolast.json`).
|
|
437
|
+
* - `startAfter` / `endBefore` are EXCLUSIVE
|
|
438
|
+
* (`rtdb-modular-startafter-endbefore-exclusive.json`).
|
|
439
|
+
*/
|
|
440
|
+
export declare function query(refOrQuery: DatabaseReference | Query, ...constraints: QueryConstraint[]): Query;
|
|
441
|
+
/** `orderByChild('path')` — order children by the value at the nested
|
|
442
|
+
* child path. Locked by oracle observation
|
|
443
|
+
* `rtdb-modular-orderbychild-window.json`. */
|
|
444
|
+
export declare function orderByChild(path: string): QueryConstraint;
|
|
445
|
+
/** `orderByKey()` — order children lexicographically by key string.
|
|
446
|
+
* Locked by oracle observation `rtdb-modular-orderbykey-window.json`. */
|
|
447
|
+
export declare function orderByKey(): QueryConstraint;
|
|
448
|
+
/** `orderByValue()` — order children by primitive value. Prod requires
|
|
449
|
+
* `.indexOn: ".value"` (oracle: `rtdb-modular-orderbyvalue-numeric.json`
|
|
450
|
+
* threw `Index not defined` against blockingfun); sandbox does NOT
|
|
451
|
+
* enforce indexes (the rules engine here checks read-allow only, not
|
|
452
|
+
* query-index conformance). */
|
|
453
|
+
export declare function orderByValue(): QueryConstraint;
|
|
454
|
+
/** `startAt(value, key?)` — INCLUSIVE lower bound under the active
|
|
455
|
+
* ordering. Optional `key` is the tie-breaker when ordering by
|
|
456
|
+
* child/value and multiple children share the bound's value. */
|
|
457
|
+
export declare function startAt(value: JsonValue, key?: string): QueryConstraint;
|
|
458
|
+
/** `startAfter(value, key?)` — EXCLUSIVE lower bound. Locked by
|
|
459
|
+
* `rtdb-modular-startafter-endbefore-exclusive.json`. */
|
|
460
|
+
export declare function startAfter(value: JsonValue, key?: string): QueryConstraint;
|
|
461
|
+
/** `endAt(value, key?)` — INCLUSIVE upper bound. Adjacent to startAt;
|
|
462
|
+
* same key tie-breaker semantics. */
|
|
463
|
+
export declare function endAt(value: JsonValue, key?: string): QueryConstraint;
|
|
464
|
+
/** `endBefore(value, key?)` — EXCLUSIVE upper bound. Locked by
|
|
465
|
+
* `rtdb-modular-startafter-endbefore-exclusive.json`. */
|
|
466
|
+
export declare function endBefore(value: JsonValue, key?: string): QueryConstraint;
|
|
467
|
+
/** `equalTo(value, key?)` — sugar for `startAt(value, key) +
|
|
468
|
+
* endAt(value, key)`. Returns ALL matching children (no uniqueness).
|
|
469
|
+
* Locked by oracle observation `rtdb-modular-equalTo-filter.json`. */
|
|
470
|
+
export declare function equalTo(value: JsonValue, key?: string): QueryConstraint;
|
|
471
|
+
/** `limitToFirst(n)` — keep the first N children of the ordered window.
|
|
472
|
+
* Locked by oracle observation `rtdb-modular-limittofirst-vs-limittolast.json`. */
|
|
473
|
+
export declare function limitToFirst(n: number): QueryConstraint;
|
|
474
|
+
/** `limitToLast(n)` — keep the last N children of the ordered window.
|
|
475
|
+
* Locked by oracle observation `rtdb-modular-limittofirst-vs-limittolast.json`. */
|
|
476
|
+
export declare function limitToLast(n: number): QueryConstraint;
|
|
477
|
+
/**
|
|
478
|
+
* Result of {@link runTransaction}. Matches `firebase/database`'s
|
|
479
|
+
* `TransactionResult` for the fields agent / playground code reads
|
|
480
|
+
* idiomatically.
|
|
481
|
+
*
|
|
482
|
+
* `committed === false` when the update fn aborted by returning
|
|
483
|
+
* `undefined`. The snapshot still resolves — it reflects the **pre-
|
|
484
|
+
* transaction** value (oracle:
|
|
485
|
+
* `rtdb-modular-runtransaction-abort-undefined.json` →
|
|
486
|
+
* `afterValOnServer: 100` preserved).
|
|
487
|
+
*
|
|
488
|
+
* On rule denial the promise rejects with a plain `Error` whose
|
|
489
|
+
* `message === 'permission_denied'` (lowercase, no `.code`); see
|
|
490
|
+
* `rtdb-modular-runtransaction-on-rules-denied-path.json`.
|
|
491
|
+
*/
|
|
492
|
+
export interface TransactionResult {
|
|
493
|
+
readonly committed: boolean;
|
|
494
|
+
readonly snapshot: DataSnapshot;
|
|
495
|
+
}
|
|
496
|
+
/**
|
|
497
|
+
* `runTransaction(ref, transactionUpdate, options?)` — atomic
|
|
498
|
+
* read-modify-write.
|
|
499
|
+
*
|
|
500
|
+
* Contract (oracle-locked):
|
|
501
|
+
*
|
|
502
|
+
* 1. `transactionUpdate` is called with the CURRENT value at `ref`'s
|
|
503
|
+
* path. For an absent path the arg is `null` (NOT `undefined`);
|
|
504
|
+
* oracle:
|
|
505
|
+
* `rtdb-modular-runtransaction-current-value-arg.json` →
|
|
506
|
+
* `missingFirstWasNull: true`.
|
|
507
|
+
* 2. Returning `undefined` from the update fn ABORTS the transaction:
|
|
508
|
+
* resolves `{ committed: false, snapshot }` where the snapshot is
|
|
509
|
+
* the pre-transaction value; oracle:
|
|
510
|
+
* `rtdb-modular-runtransaction-abort-undefined.json` → `committed:
|
|
511
|
+
* false, snapVal: null`.
|
|
512
|
+
* 3. Returning any defined value WRITES that value (rules-checked);
|
|
513
|
+
* resolves `{ committed: true, snapshot }` where `snapshot.val()`
|
|
514
|
+
* is the committed value; oracle:
|
|
515
|
+
* `rtdb-modular-runtransaction-success.json` → `committedNewValue:
|
|
516
|
+
* true` and
|
|
517
|
+
* `rtdb-modular-runtransaction-returns-committed-snapshot.json`.
|
|
518
|
+
* 4. If rules deny the write, the promise REJECTS with a plain
|
|
519
|
+
* `Error` whose `message === 'permission_denied'` and NO `.code`
|
|
520
|
+
* field (distinct from `set`/`get`'s `'PERMISSION_DENIED:
|
|
521
|
+
* Permission denied'`); oracle:
|
|
522
|
+
* `rtdb-modular-runtransaction-on-rules-denied-path.json`.
|
|
523
|
+
*
|
|
524
|
+
* `options.applyLocally` (default `true`): when `false`, the
|
|
525
|
+
* intermediate optimistic value is NOT fanned out to listeners — they
|
|
526
|
+
* see only the committed value. In a single-client harness this is
|
|
527
|
+
* usually invisible; we honor the flag for prod-parity. Oracle
|
|
528
|
+
* observation `rtdb-modular-runtransaction-options-applylocally.json`
|
|
529
|
+
* confirms both branches commit and end at the same value; the
|
|
530
|
+
* intermediate-fire difference isn't observable from a single client.
|
|
531
|
+
*
|
|
532
|
+
* Single-client sandbox doesn't model concurrency conflicts; the
|
|
533
|
+
* documented "retry on conflict" path is degenerate (no other writer
|
|
534
|
+
* exists to conflict with). The fn is invoked once.
|
|
535
|
+
*/
|
|
536
|
+
export declare function runTransaction<T>(r: DatabaseReference, transactionUpdate: (current: T | null) => T | undefined, options?: {
|
|
537
|
+
applyLocally?: boolean;
|
|
538
|
+
}): Promise<TransactionResult>;
|
|
539
|
+
/**
|
|
540
|
+
* `serverTimestamp()` — returns the `{ ".sv": "timestamp" }` sentinel
|
|
541
|
+
* the wire encoder recognises. Resolves to `Date.now()` (epoch ms) on
|
|
542
|
+
* write — locked by the prod SDK's resolved-as-number contract
|
|
543
|
+
* (oracle: `rtdb-servertimestamp-resolves.json`).
|
|
544
|
+
*
|
|
545
|
+
* Same shape across targets: the sandbox backend recognises the
|
|
546
|
+
* marker; the prod backend's wire encoder does too. Agent code that
|
|
547
|
+
* imports `serverTimestamp` from `@pyric/rtdb` works identically on
|
|
548
|
+
* either target.
|
|
549
|
+
*/
|
|
550
|
+
export declare function serverTimestamp(): ServerTimestampSentinel;
|
|
551
|
+
/**
|
|
552
|
+
* `increment(delta)` — returns the `{ ".sv": { increment: delta } }`
|
|
553
|
+
* sentinel that atomically adds `delta` to the current value at the
|
|
554
|
+
* write's field. Starts from `0` when the field is absent or
|
|
555
|
+
* non-numeric (oracle: `rtdb-modular-increment-from-missing.json`).
|
|
556
|
+
*
|
|
557
|
+
* Same shape across targets: the sandbox backend resolves it against the
|
|
558
|
+
* field's prior value at write time; the prod backend's wire encoder
|
|
559
|
+
* recognises the marker. Mirrors `firebase/database`'s `increment`
|
|
560
|
+
* (`api/ServerValue.ts:38-44`).
|
|
561
|
+
*/
|
|
562
|
+
export declare function increment(delta: number): IncrementSentinel;
|
|
563
|
+
/**
|
|
564
|
+
* `connectDatabaseEmulator(db, host, port)` — point a prod handle at
|
|
565
|
+
* a Firebase emulator. No-op on sandbox handles (the sandbox IS a
|
|
566
|
+
* local emulator); the call is still accepted so consumer code that
|
|
567
|
+
* does the wiring unconditionally compiles against both targets.
|
|
568
|
+
*/
|
|
569
|
+
export declare function connectDatabaseEmulator(db: Database, host: string, port: number, options?: {
|
|
570
|
+
mockUserToken?: string | fb.EmulatorMockTokenOptions;
|
|
571
|
+
}): void;
|
|
572
|
+
export declare const sandbox: {
|
|
573
|
+
/**
|
|
574
|
+
* Replace deployed rules. Pass `null` to clear (sandbox returns to
|
|
575
|
+
* default-allow). Rules are evaluated through the existing
|
|
576
|
+
* `@pyric/rtdb` simulator — same engine as `simulate()` /
|
|
577
|
+
* `rtdb_simulate_access`.
|
|
578
|
+
*
|
|
579
|
+
* @example
|
|
580
|
+
* ```ts
|
|
581
|
+
* sandbox.setRules(db, {
|
|
582
|
+
* rules: {
|
|
583
|
+
* '.read': 'auth != null',
|
|
584
|
+
* '.write': 'auth != null',
|
|
585
|
+
* },
|
|
586
|
+
* });
|
|
587
|
+
* ```
|
|
588
|
+
*/
|
|
589
|
+
setRules(db: Database, rulesJson: {
|
|
590
|
+
rules: Record<string, unknown>;
|
|
591
|
+
} | null): void;
|
|
592
|
+
/**
|
|
593
|
+
* Bulk-load data bypassing rules. The supplied map's keys are
|
|
594
|
+
* absolute paths (`'/users/alice'`) and the values land at those
|
|
595
|
+
* paths. Convenient for test fixtures.
|
|
596
|
+
*/
|
|
597
|
+
setData(db: Database, data: Record<string, unknown>): void;
|
|
598
|
+
/** Snapshot the full sandbox tree (rule-bypass read). Usually a keyed
|
|
599
|
+
* object; may be a primitive when the root holds one (DB-B13). */
|
|
600
|
+
snapshotState(db: Database): JsonValue;
|
|
601
|
+
};
|
|
602
|
+
export type { Sandbox, SandboxContext, AuthState, FirebaseApp };
|
|
603
|
+
export type { JsonValue };
|
|
604
|
+
//# sourceMappingURL=modular.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"modular.d.ts","sourceRoot":"","sources":["../../src/database/modular.ts"],"names":[],"mappings":"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"}
|