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 @@
|
|
|
1
|
+
{"version":3,"file":"sandbox-backend.js","sourceRoot":"","sources":["../../src/auth/sandbox-backend.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Dispatch routing for `pyric/auth`.
|
|
3
|
+
*
|
|
4
|
+
* Each {@link Auth} handle carries a hidden {@link Target} discriminator
|
|
5
|
+
* via {@link TARGET_SYMBOL}. Free functions read it through
|
|
6
|
+
* {@link targetOf} and switch on `target.kind`, mirroring the same
|
|
7
|
+
* pattern `pyric/firestore` uses (see
|
|
8
|
+
* `packages/firestore/src/index.ts`).
|
|
9
|
+
*
|
|
10
|
+
* Sandbox-side state (the in-memory user DB, listener set,
|
|
11
|
+
* mock-result registry) lives on the {@link SandboxBackend} attached
|
|
12
|
+
* to the sandbox target; the prod-side state lives on the upstream
|
|
13
|
+
* `fb.Auth` handle. Both surfaces look the same to consumer code.
|
|
14
|
+
*/
|
|
15
|
+
import type { Sandbox } from 'pyric/sandbox';
|
|
16
|
+
import type * as fb from 'firebase/auth';
|
|
17
|
+
import type { SandboxBackend } from './sandbox-backend.js';
|
|
18
|
+
import type { Auth } from './types.js';
|
|
19
|
+
/** Sandbox dispatch target — carries the per-sandbox `SandboxBackend`
|
|
20
|
+
* that owns the in-memory user DB and listener registry, plus the
|
|
21
|
+
* underlying {@link Sandbox} the backend writes `currentUser`
|
|
22
|
+
* through. */
|
|
23
|
+
export interface SandboxTarget {
|
|
24
|
+
kind: 'sandbox';
|
|
25
|
+
sandbox: Sandbox;
|
|
26
|
+
backend: SandboxBackend;
|
|
27
|
+
}
|
|
28
|
+
/** Prod dispatch target — wraps an upstream `firebase/auth.Auth`. */
|
|
29
|
+
export interface ProdTarget {
|
|
30
|
+
kind: 'prod';
|
|
31
|
+
auth: fb.Auth;
|
|
32
|
+
}
|
|
33
|
+
export type Target = SandboxTarget | ProdTarget;
|
|
34
|
+
/**
|
|
35
|
+
* Recover the dispatch target for an {@link Auth} handle. Throws if
|
|
36
|
+
* the handle wasn't produced by this package — the brand is the
|
|
37
|
+
* only way in.
|
|
38
|
+
*/
|
|
39
|
+
export declare function targetOf(auth: Auth): Target;
|
|
40
|
+
//# sourceMappingURL=target.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"target.d.ts","sourceRoot":"","sources":["../../src/auth/target.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAC7C,OAAO,KAAK,KAAK,EAAE,MAAM,eAAe,CAAC;AAEzC,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAC3D,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,YAAY,CAAC;AAGvC;;;eAGe;AACf,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,SAAS,CAAC;IAChB,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,EAAE,cAAc,CAAC;CACzB;AAED,qEAAqE;AACrE,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC;CACf;AAED,MAAM,MAAM,MAAM,GAAG,aAAa,GAAG,UAAU,CAAC;AAEhD;;;;GAIG;AACH,wBAAgB,QAAQ,CAAC,IAAI,EAAE,IAAI,GAAG,MAAM,CAQ3C"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Dispatch routing for `pyric/auth`.
|
|
3
|
+
*
|
|
4
|
+
* Each {@link Auth} handle carries a hidden {@link Target} discriminator
|
|
5
|
+
* via {@link TARGET_SYMBOL}. Free functions read it through
|
|
6
|
+
* {@link targetOf} and switch on `target.kind`, mirroring the same
|
|
7
|
+
* pattern `pyric/firestore` uses (see
|
|
8
|
+
* `packages/firestore/src/index.ts`).
|
|
9
|
+
*
|
|
10
|
+
* Sandbox-side state (the in-memory user DB, listener set,
|
|
11
|
+
* mock-result registry) lives on the {@link SandboxBackend} attached
|
|
12
|
+
* to the sandbox target; the prod-side state lives on the upstream
|
|
13
|
+
* `fb.Auth` handle. Both surfaces look the same to consumer code.
|
|
14
|
+
*/
|
|
15
|
+
import { TARGET_SYMBOL } from './types.js';
|
|
16
|
+
/**
|
|
17
|
+
* Recover the dispatch target for an {@link Auth} handle. Throws if
|
|
18
|
+
* the handle wasn't produced by this package — the brand is the
|
|
19
|
+
* only way in.
|
|
20
|
+
*/
|
|
21
|
+
export function targetOf(auth) {
|
|
22
|
+
const t = auth[TARGET_SYMBOL];
|
|
23
|
+
if (!t) {
|
|
24
|
+
throw new TypeError('pyric/auth: unrecognized Auth handle — was it produced by getAuth(...)?');
|
|
25
|
+
}
|
|
26
|
+
return t;
|
|
27
|
+
}
|
|
28
|
+
//# sourceMappingURL=target.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"target.js","sourceRoot":"","sources":["../../src/auth/target.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAOH,OAAO,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAoB3C;;;;GAIG;AACH,MAAM,UAAU,QAAQ,CAAC,IAAU;IACjC,MAAM,CAAC,GAAI,IAAqC,CAAC,aAAa,CAAC,CAAC;IAChE,IAAI,CAAC,CAAC,EAAE,CAAC;QACP,MAAM,IAAI,SAAS,CACjB,yEAAyE,CAC1E,CAAC;IACJ,CAAC;IACD,OAAO,CAAC,CAAC;AACX,CAAC"}
|
|
@@ -0,0 +1,252 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Public types for `pyric/auth`. Backend-opaque shapes that mirror
|
|
3
|
+
* `firebase/auth`'s modular surface at the type level. Sandbox and
|
|
4
|
+
* prod targets both satisfy these interfaces — consumer code stays
|
|
5
|
+
* agnostic.
|
|
6
|
+
*
|
|
7
|
+
* Where the upstream SDK exposes deeper fields than the dual-target
|
|
8
|
+
* surface can guarantee (provider data internals, multi-factor
|
|
9
|
+
* extensions, etc.), the pyric type is a *subset* — fields the
|
|
10
|
+
* sandbox can synthesize and the prod backend already provides. Code
|
|
11
|
+
* that touches only the subset works across both.
|
|
12
|
+
*/
|
|
13
|
+
import type { Target } from './target.js';
|
|
14
|
+
/** Branded handle for {@link Auth}. Set on every handle returned by
|
|
15
|
+
* {@link getAuth}; consumers don't read it. Exposed only so the
|
|
16
|
+
* dispatch helpers in this package can recover routing without a
|
|
17
|
+
* WeakMap lookup. */
|
|
18
|
+
export declare const TARGET_SYMBOL: unique symbol;
|
|
19
|
+
/**
|
|
20
|
+
* Result of `getIdTokenResult()`. Mirrors the `firebase/auth` shape.
|
|
21
|
+
*
|
|
22
|
+
* On the sandbox backend `token` is an opaque sandbox-issued string
|
|
23
|
+
* with a recognizable prefix (`sandbox-id-token-`) — NOT a JWT and
|
|
24
|
+
* NOT cryptographically signed. `claims` echoes the user's
|
|
25
|
+
* `customClaims` (from `sandbox.seedUsers`) plus a small set of
|
|
26
|
+
* synthesized standard claims (`sub`, `aud`, `iss`). Expiration is
|
|
27
|
+
* set far in the future since the sandbox has no refresh story.
|
|
28
|
+
*/
|
|
29
|
+
export interface IdTokenResult {
|
|
30
|
+
/** Opaque token string. Sandbox: `sandbox-id-token-<uid>-<hash>`.
|
|
31
|
+
* Prod: a real Firebase ID token (JWT). */
|
|
32
|
+
token: string;
|
|
33
|
+
/** Custom + standard claims. Same map seen by the rules engine as
|
|
34
|
+
* `request.auth.token.*`. */
|
|
35
|
+
claims: Record<string, unknown>;
|
|
36
|
+
/** ISO string. Sandbox: far-future. */
|
|
37
|
+
expirationTime: string;
|
|
38
|
+
/** ISO string. */
|
|
39
|
+
issuedAtTime: string;
|
|
40
|
+
/** ISO string — when the user last *signed in* (not when the token
|
|
41
|
+
* was last refreshed). */
|
|
42
|
+
authTime: string;
|
|
43
|
+
/**
|
|
44
|
+
* Provider of the current sign-in session — `'password'`,
|
|
45
|
+
* `'anonymous'`, `'google.com'`, etc., or `null` when unknown.
|
|
46
|
+
* Mirrors `firebase/auth`'s `IdTokenResult.signInProvider` (prod
|
|
47
|
+
* derives it from the JWT's `firebase.sign_in_provider` claim; the
|
|
48
|
+
* sandbox synthesizes the same claim).
|
|
49
|
+
*
|
|
50
|
+
* Optional (`?`) for now: external `User` implementations built
|
|
51
|
+
* before this field existed (the playground's helper-minted users,
|
|
52
|
+
* until Track B's lockstep swap lands) omit it. The sandbox backend
|
|
53
|
+
* always populates it. Tighten to required once all `User` minting
|
|
54
|
+
* is backend-owned.
|
|
55
|
+
*/
|
|
56
|
+
signInProvider?: string | null;
|
|
57
|
+
}
|
|
58
|
+
/**
|
|
59
|
+
* Per-provider profile info — mirror of `firebase/auth`'s `UserInfo`.
|
|
60
|
+
* Each entry in {@link User.providerData} describes one linked provider.
|
|
61
|
+
*/
|
|
62
|
+
export interface UserInfo {
|
|
63
|
+
/** Display name from this provider, or `null`. */
|
|
64
|
+
readonly displayName: string | null;
|
|
65
|
+
/** Email from this provider, or `null`. */
|
|
66
|
+
readonly email: string | null;
|
|
67
|
+
/** E.164 phone number from this provider, or `null`. */
|
|
68
|
+
readonly phoneNumber: string | null;
|
|
69
|
+
/** Profile photo URL from this provider, or `null`. */
|
|
70
|
+
readonly photoURL: string | null;
|
|
71
|
+
/** Provider id (e.g. `'password'`, `'google.com'`). */
|
|
72
|
+
readonly providerId: string;
|
|
73
|
+
/** The user's id as known to this provider. */
|
|
74
|
+
readonly uid: string;
|
|
75
|
+
}
|
|
76
|
+
/**
|
|
77
|
+
* The signed-in user. Subset of `firebase/auth`'s `User` interface —
|
|
78
|
+
* fields the sandbox can synthesize and that the prod backend
|
|
79
|
+
* already provides on a real `User`.
|
|
80
|
+
*
|
|
81
|
+
* The heavier `User` surface the sandbox does NOT model (`metadata`,
|
|
82
|
+
* `refreshToken`, `tenantId`, `reload()`, `delete()`, `toJSON()`) is
|
|
83
|
+
* documented in `docs/auth/COMPAT.md` / the deny-list rather than
|
|
84
|
+
* synthesized — see AUTH-GAP.
|
|
85
|
+
*/
|
|
86
|
+
export interface User {
|
|
87
|
+
/** Firebase UID — globally unique per project. Sandbox: minted by
|
|
88
|
+
* `signInAnonymously` or supplied via `seedUsers`. */
|
|
89
|
+
readonly uid: string;
|
|
90
|
+
/** Email address, or `null` for anonymous users / providers that
|
|
91
|
+
* didn't supply one. */
|
|
92
|
+
readonly email: string | null;
|
|
93
|
+
/** Whether the email has been verified. Sandbox: `false` unless the
|
|
94
|
+
* seeded/mock user set it (no verification flow). Optional on the
|
|
95
|
+
* type so host helpers that synthesize a partial `User` aren't forced
|
|
96
|
+
* to specify it; the sandbox + prod backends always populate it. */
|
|
97
|
+
readonly emailVerified?: boolean;
|
|
98
|
+
/** Display name, or `null` if none. */
|
|
99
|
+
readonly displayName: string | null;
|
|
100
|
+
/** Profile photo URL, or `null`. Optional on the type (see
|
|
101
|
+
* {@link emailVerified}); always populated by the backends. */
|
|
102
|
+
readonly photoURL?: string | null;
|
|
103
|
+
/** E.164 phone number, or `null`. Optional on the type; always
|
|
104
|
+
* populated by the backends. */
|
|
105
|
+
readonly phoneNumber?: string | null;
|
|
106
|
+
/** True iff this user signed in via `signInAnonymously`. */
|
|
107
|
+
readonly isAnonymous: boolean;
|
|
108
|
+
/** The aggregate provider id (`'firebase'` for a real `User`;
|
|
109
|
+
* per-provider ids live in {@link providerData}). Optional on the
|
|
110
|
+
* type; always populated by the backends. */
|
|
111
|
+
readonly providerId?: string;
|
|
112
|
+
/** One {@link UserInfo} per linked provider. Sandbox synthesizes a
|
|
113
|
+
* single entry from the user's own fields for non-anonymous users;
|
|
114
|
+
* empty for anonymous. Optional on the type; always populated by the
|
|
115
|
+
* backends. */
|
|
116
|
+
readonly providerData?: UserInfo[];
|
|
117
|
+
/**
|
|
118
|
+
* Get the user's ID token, refreshing it if needed.
|
|
119
|
+
*
|
|
120
|
+
* Sandbox: returns the cached opaque token; with
|
|
121
|
+
* `forceRefresh: true` mints a fresh token, caches it, and fires
|
|
122
|
+
* `onIdTokenChanged` listeners (matches prod — oracle:
|
|
123
|
+
* `scripts/oracle/observations/auth-getidtoken-force-refresh.json`
|
|
124
|
+
* and `…/auth-onidtokenchanged-force-refresh.json`).
|
|
125
|
+
* Prod: delegates to `firebase/auth`'s `User.getIdToken(forceRefresh)`.
|
|
126
|
+
*/
|
|
127
|
+
getIdToken(forceRefresh?: boolean): Promise<string>;
|
|
128
|
+
/** Get the full ID token + claims. See {@link IdTokenResult}. */
|
|
129
|
+
getIdTokenResult(forceRefresh?: boolean): Promise<IdTokenResult>;
|
|
130
|
+
}
|
|
131
|
+
/**
|
|
132
|
+
* Result of every sign-in method. Mirrors `firebase/auth`.
|
|
133
|
+
*
|
|
134
|
+
* `operationType` is `'signIn'` for fresh sign-ins, `'reauthenticate'`
|
|
135
|
+
* for re-auth flows (not implemented in v0; field present for type
|
|
136
|
+
* parity), `'link'` for link flows (also v0 deny-list).
|
|
137
|
+
*/
|
|
138
|
+
export interface UserCredential {
|
|
139
|
+
user: User;
|
|
140
|
+
providerId: string | null;
|
|
141
|
+
operationType: 'signIn' | 'reauthenticate' | 'link';
|
|
142
|
+
}
|
|
143
|
+
/**
|
|
144
|
+
* Auth credential — opaque token from a sign-in flow. Used by
|
|
145
|
+
* `signInWithCredential(auth, credential)`. The sandbox does not
|
|
146
|
+
* verify these; they're treated as bearer markers paired with a
|
|
147
|
+
* `mockSignInResult` pre-stage.
|
|
148
|
+
*/
|
|
149
|
+
export interface AuthCredential {
|
|
150
|
+
/** Provider identifier (e.g. `'google.com'`, `'password'`). */
|
|
151
|
+
providerId: string;
|
|
152
|
+
/** Sign-in method identifier (often equal to `providerId`). */
|
|
153
|
+
signInMethod: string;
|
|
154
|
+
}
|
|
155
|
+
/**
|
|
156
|
+
* What a popup/redirect sign-in flow needs to know about the request.
|
|
157
|
+
* Mirrors the params `firebase/auth` hands its emulator widget
|
|
158
|
+
* (`providerId`, `authType`, `scopes`, `customParameters` — see
|
|
159
|
+
* upstream `core/util/handler.ts`), so a resolver implementation has
|
|
160
|
+
* the same inputs the real flow does.
|
|
161
|
+
*/
|
|
162
|
+
export interface AuthFlowRequest {
|
|
163
|
+
/** e.g. `'google.com'`, `'github.com'`, or a generic `OAuthProvider` id. */
|
|
164
|
+
providerId: string;
|
|
165
|
+
/** Why the popup/redirect opened. v0 only drives `'signIn'`; the
|
|
166
|
+
* others exist for parity with reauth/link flows. */
|
|
167
|
+
authType: 'signIn' | 'reauth' | 'link';
|
|
168
|
+
/** OAuth scopes the provider requested (`addScope`). Sandbox-opaque. */
|
|
169
|
+
scopes?: string[];
|
|
170
|
+
/** Provider custom parameters (`setCustomParameters`). Sandbox-opaque. */
|
|
171
|
+
customParameters?: Record<string, unknown>;
|
|
172
|
+
}
|
|
173
|
+
/**
|
|
174
|
+
* Pluggable popup/redirect resolver — pyric's analog of
|
|
175
|
+
* `firebase/auth`'s `PopupRedirectResolver`. The SDK stays UI-free and
|
|
176
|
+
* delegates the *experience* to whatever implements this: a playground
|
|
177
|
+
* modal, a headless test fixture, a CLI prompt. One resolver serves all
|
|
178
|
+
* three flows.
|
|
179
|
+
*
|
|
180
|
+
* Configured the same three ways the upstream resolver is: passed
|
|
181
|
+
* per-call to `signInWithPopup` / `signInWithRedirect`, injected once
|
|
182
|
+
* via `sandbox.setAuthFlowResolver` (the analog of browser `getAuth`
|
|
183
|
+
* wiring `browserPopupRedirectResolver`), or installed implicitly as a
|
|
184
|
+
* one-shot by `sandbox.mockSignInResult`.
|
|
185
|
+
*
|
|
186
|
+
* Implementations reject with `auth/popup-closed-by-user` when the user
|
|
187
|
+
* dismisses the experience — matches `firebase/auth`.
|
|
188
|
+
*/
|
|
189
|
+
export interface AuthFlowResolver {
|
|
190
|
+
/** Resolve a `signInWithPopup` flow to a credential. */
|
|
191
|
+
openPopup(req: AuthFlowRequest): Promise<UserCredential>;
|
|
192
|
+
/** Resolve a `signInWithRedirect` flow. In a real browser the redirect
|
|
193
|
+
* navigates away and the credential surfaces on return; the sandbox has
|
|
194
|
+
* no navigation, so this resolves inline to the credential and the SDK
|
|
195
|
+
* stashes it for the next `getRedirectResult`. */
|
|
196
|
+
openRedirect(req: AuthFlowRequest): Promise<UserCredential>;
|
|
197
|
+
}
|
|
198
|
+
/**
|
|
199
|
+
* Observer shape accepted by `onAuthStateChanged` / `onIdTokenChanged`.
|
|
200
|
+
* Mirrors `firebase/auth`'s `NextOrObserver<User | null>`.
|
|
201
|
+
*/
|
|
202
|
+
export type AuthObserver = ((user: User | null) => void) | {
|
|
203
|
+
next?: (user: User | null) => void;
|
|
204
|
+
error?: (err: Error) => void;
|
|
205
|
+
complete?: () => void;
|
|
206
|
+
};
|
|
207
|
+
/** Returned by `onAuthStateChanged` / `onIdTokenChanged`. */
|
|
208
|
+
export type Unsubscribe = () => void;
|
|
209
|
+
/**
|
|
210
|
+
* Hidden brand stamped non-enumerably on every {@link User} object so the
|
|
211
|
+
* top-level `updateProfile(user, …)` free function can dispatch to the
|
|
212
|
+
* right backend WITHOUT an `auth` handle in scope (matching
|
|
213
|
+
* `firebase/auth`'s `updateProfile(user, profile)` signature, which takes
|
|
214
|
+
* only the user). Consumers never read it.
|
|
215
|
+
*/
|
|
216
|
+
export declare const USER_INTERNAL: unique symbol;
|
|
217
|
+
/**
|
|
218
|
+
* Backend dispatch contract carried on a {@link User} via {@link USER_INTERNAL}.
|
|
219
|
+
* The sandbox backend stamps an implementation that mutates the stored record
|
|
220
|
+
* + the in-memory user in place; the prod backend stamps one that delegates
|
|
221
|
+
* to the real `firebase/auth.updateProfile`.
|
|
222
|
+
*/
|
|
223
|
+
export interface UserInternal {
|
|
224
|
+
updateProfile(profile: {
|
|
225
|
+
displayName?: string | null;
|
|
226
|
+
photoURL?: string | null;
|
|
227
|
+
}): Promise<void>;
|
|
228
|
+
}
|
|
229
|
+
/**
|
|
230
|
+
* Opaque marker for `setPersistence`. Sandbox treats these as
|
|
231
|
+
* no-ops; prod hands them to `firebase/auth.setPersistence` which
|
|
232
|
+
* looks at the `type` field at runtime.
|
|
233
|
+
*/
|
|
234
|
+
export interface Persistence {
|
|
235
|
+
readonly type: 'SESSION' | 'LOCAL' | 'NONE';
|
|
236
|
+
}
|
|
237
|
+
/**
|
|
238
|
+
* Hidden brand on every {@link Auth} handle. Carries the dispatch
|
|
239
|
+
* target (sandbox vs prod). Consumers don't read it.
|
|
240
|
+
*/
|
|
241
|
+
export interface Auth {
|
|
242
|
+
/** Currently signed-in user, or `null`. Snapshot value — read
|
|
243
|
+
* through `onAuthStateChanged` for live updates. */
|
|
244
|
+
readonly currentUser: User | null;
|
|
245
|
+
/** Sign the current user out. Method form of the free `signOut(auth)`
|
|
246
|
+
* function — `firebase/auth`'s `Auth` exposes both, so consumer code
|
|
247
|
+
* written as `auth.signOut()` works unchanged (AUTH-GAP). */
|
|
248
|
+
signOut(): Promise<void>;
|
|
249
|
+
/** Internal — discriminates sandbox vs prod backend. */
|
|
250
|
+
readonly [TARGET_SYMBOL]: Target;
|
|
251
|
+
}
|
|
252
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/auth/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Public types for `pyric/auth`. Backend-opaque shapes that mirror
|
|
3
|
+
* `firebase/auth`'s modular surface at the type level. Sandbox and
|
|
4
|
+
* prod targets both satisfy these interfaces — consumer code stays
|
|
5
|
+
* agnostic.
|
|
6
|
+
*
|
|
7
|
+
* Where the upstream SDK exposes deeper fields than the dual-target
|
|
8
|
+
* surface can guarantee (provider data internals, multi-factor
|
|
9
|
+
* extensions, etc.), the pyric type is a *subset* — fields the
|
|
10
|
+
* sandbox can synthesize and the prod backend already provides. Code
|
|
11
|
+
* that touches only the subset works across both.
|
|
12
|
+
*/
|
|
13
|
+
/** Branded handle for {@link Auth}. Set on every handle returned by
|
|
14
|
+
* {@link getAuth}; consumers don't read it. Exposed only so the
|
|
15
|
+
* dispatch helpers in this package can recover routing without a
|
|
16
|
+
* WeakMap lookup. */
|
|
17
|
+
export const TARGET_SYMBOL = Symbol('pyric/auth/target');
|
|
18
|
+
/**
|
|
19
|
+
* Hidden brand stamped non-enumerably on every {@link User} object so the
|
|
20
|
+
* top-level `updateProfile(user, …)` free function can dispatch to the
|
|
21
|
+
* right backend WITHOUT an `auth` handle in scope (matching
|
|
22
|
+
* `firebase/auth`'s `updateProfile(user, profile)` signature, which takes
|
|
23
|
+
* only the user). Consumers never read it.
|
|
24
|
+
*/
|
|
25
|
+
export const USER_INTERNAL = Symbol('pyric.user.internal');
|
|
26
|
+
//# sourceMappingURL=types.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/auth/types.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAIH;;;sBAGsB;AACtB,MAAM,CAAC,MAAM,aAAa,GAAkB,MAAM,CAAC,mBAAmB,CAAC,CAAC;AA4MxE;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,aAAa,GAAkB,MAAM,CAAC,qBAAqB,CAAC,CAAC"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import type { Expr, Segment } from './types.js';
|
|
2
|
+
export declare const authenticated: () => Expr;
|
|
3
|
+
/** Path-based ownership: auth.uid matches a URL path variable */
|
|
4
|
+
export declare const ownPath: (pathVar: string) => Expr;
|
|
5
|
+
/** Field-based ownership: auth.uid matches a value stored in a data field */
|
|
6
|
+
export declare const ownField: (field: string) => Expr;
|
|
7
|
+
/** Data at this path doesn't exist yet (creation check) */
|
|
8
|
+
export declare const isNew: () => Expr;
|
|
9
|
+
/** Incoming data must be an object with at least one child */
|
|
10
|
+
export declare const hasChildren: () => Expr;
|
|
11
|
+
/** Incoming data must have a specific child field */
|
|
12
|
+
export declare const hasChild: (field: string) => Expr;
|
|
13
|
+
/** Field must be a string */
|
|
14
|
+
export declare const fieldIsString: (field: string) => Expr;
|
|
15
|
+
/** Field must be a number */
|
|
16
|
+
export declare const fieldIsNumber: (field: string) => Expr;
|
|
17
|
+
/** Field must be a boolean */
|
|
18
|
+
export declare const fieldIsBoolean: (field: string) => Expr;
|
|
19
|
+
/** Field must be one of the allowed string values */
|
|
20
|
+
export declare const fieldEnum: (field: string, values: string[]) => Expr;
|
|
21
|
+
/** Field can be set on creation but never changed after */
|
|
22
|
+
export declare const immutable: (field: string) => Expr;
|
|
23
|
+
/** This node's own value can be set on creation but never changed */
|
|
24
|
+
export declare const immutableSelf: () => Expr;
|
|
25
|
+
/** Check if a path exists in the database (via root) */
|
|
26
|
+
export declare const rootExists: (segments: Segment[]) => Expr;
|
|
27
|
+
/** Check if a path's value equals a specific string (via root) */
|
|
28
|
+
export declare const rootEquals: (segments: Segment[], value: string) => Expr;
|
|
29
|
+
//# sourceMappingURL=atoms.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"atoms.d.ts","sourceRoot":"","sources":["../../../src/database/constraints/atoms.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAchD,eAAO,MAAM,aAAa,QAAO,IAA0B,CAAC;AAI5D,iEAAiE;AACjE,eAAO,MAAM,OAAO,GAAI,SAAS,MAAM,KAAG,IAAoC,CAAC;AAE/E,6EAA6E;AAC7E,eAAO,MAAM,QAAQ,GAAI,OAAO,MAAM,KAAG,IAAsD,CAAC;AAIhG,2DAA2D;AAC3D,eAAO,MAAM,KAAK,QAAO,IAA2B,CAAC;AAIrD,8DAA8D;AAC9D,eAAO,MAAM,WAAW,QAAO,IAAkC,CAAC;AAElE,qDAAqD;AACrD,eAAO,MAAM,QAAQ,GAAI,OAAO,MAAM,KAAG,IAAyC,CAAC;AAEnF,6BAA6B;AAC7B,eAAO,MAAM,aAAa,GAAI,OAAO,MAAM,KAAG,IAAiD,CAAC;AAEhG,6BAA6B;AAC7B,eAAO,MAAM,aAAa,GAAI,OAAO,MAAM,KAAG,IAAiD,CAAC;AAEhG,8BAA8B;AAC9B,eAAO,MAAM,cAAc,GAAI,OAAO,MAAM,KAAG,IAAkD,CAAC;AAElG,qDAAqD;AACrD,eAAO,MAAM,SAAS,GAAI,OAAO,MAAM,EAAE,QAAQ,MAAM,EAAE,KAAG,IACmB,CAAC;AAIhF,2DAA2D;AAC3D,eAAO,MAAM,SAAS,GAAI,OAAO,MAAM,KAAG,IAC+C,CAAC;AAE1F,qEAAqE;AACrE,eAAO,MAAM,aAAa,QAAO,IACoB,CAAC;AAItD,wDAAwD;AACxD,eAAO,MAAM,UAAU,GAAI,UAAU,OAAO,EAAE,KAAG,IACN,CAAC;AAE5C,kEAAkE;AAClE,eAAO,MAAM,UAAU,GAAI,UAAU,OAAO,EAAE,EAAE,OAAO,MAAM,KAAG,IACT,CAAC"}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
const e = (raw) => raw;
|
|
2
|
+
function buildPath(segments) {
|
|
3
|
+
return segments.map(s => {
|
|
4
|
+
if (typeof s === 'string')
|
|
5
|
+
return `child("${s}")`;
|
|
6
|
+
// Unquoted reference: path variable ($teamId) or runtime (auth.uid)
|
|
7
|
+
return `child(${s.$})`;
|
|
8
|
+
}).join('.');
|
|
9
|
+
}
|
|
10
|
+
// --- Authentication ---
|
|
11
|
+
export const authenticated = () => e('auth !== null');
|
|
12
|
+
// --- Ownership ---
|
|
13
|
+
/** Path-based ownership: auth.uid matches a URL path variable */
|
|
14
|
+
export const ownPath = (pathVar) => e(`auth.uid === ${pathVar}`);
|
|
15
|
+
/** Field-based ownership: auth.uid matches a value stored in a data field */
|
|
16
|
+
export const ownField = (field) => e(`auth.uid === data.child("${field}").val()`);
|
|
17
|
+
// --- Existence ---
|
|
18
|
+
/** Data at this path doesn't exist yet (creation check) */
|
|
19
|
+
export const isNew = () => e('!data.exists()');
|
|
20
|
+
// --- Schema ---
|
|
21
|
+
/** Incoming data must be an object with at least one child */
|
|
22
|
+
export const hasChildren = () => e('newData.hasChildren()');
|
|
23
|
+
/** Incoming data must have a specific child field */
|
|
24
|
+
export const hasChild = (field) => e(`newData.hasChild("${field}")`);
|
|
25
|
+
/** Field must be a string */
|
|
26
|
+
export const fieldIsString = (field) => e(`newData.child("${field}").isString()`);
|
|
27
|
+
/** Field must be a number */
|
|
28
|
+
export const fieldIsNumber = (field) => e(`newData.child("${field}").isNumber()`);
|
|
29
|
+
/** Field must be a boolean */
|
|
30
|
+
export const fieldIsBoolean = (field) => e(`newData.child("${field}").isBoolean()`);
|
|
31
|
+
/** Field must be one of the allowed string values */
|
|
32
|
+
export const fieldEnum = (field, values) => e(values.map(v => `newData.child("${field}").val() === "${v}"`).join(' || '));
|
|
33
|
+
// --- Immutability ---
|
|
34
|
+
/** Field can be set on creation but never changed after */
|
|
35
|
+
export const immutable = (field) => e(`!data.exists() || newData.child("${field}").val() === data.child("${field}").val()`);
|
|
36
|
+
/** This node's own value can be set on creation but never changed */
|
|
37
|
+
export const immutableSelf = () => e('!data.exists() || newData.val() === data.val()');
|
|
38
|
+
// --- Cross-path lookups ---
|
|
39
|
+
/** Check if a path exists in the database (via root) */
|
|
40
|
+
export const rootExists = (segments) => e(`root.${buildPath(segments)}.exists()`);
|
|
41
|
+
/** Check if a path's value equals a specific string (via root) */
|
|
42
|
+
export const rootEquals = (segments, value) => e(`root.${buildPath(segments)}.val() === "${value}"`);
|
|
43
|
+
//# sourceMappingURL=atoms.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"atoms.js","sourceRoot":"","sources":["../../../src/database/constraints/atoms.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,GAAG,CAAC,GAAW,EAAQ,EAAE,CAAC,GAAW,CAAC;AAE7C,SAAS,SAAS,CAAC,QAAmB;IACpC,OAAO,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE;QACtB,IAAI,OAAO,CAAC,KAAK,QAAQ;YAAE,OAAO,UAAU,CAAC,IAAI,CAAC;QAClD,oEAAoE;QACpE,OAAO,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC;IACzB,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AACf,CAAC;AAED,yBAAyB;AAEzB,MAAM,CAAC,MAAM,aAAa,GAAG,GAAS,EAAE,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC;AAE5D,oBAAoB;AAEpB,iEAAiE;AACjE,MAAM,CAAC,MAAM,OAAO,GAAG,CAAC,OAAe,EAAQ,EAAE,CAAC,CAAC,CAAC,gBAAgB,OAAO,EAAE,CAAC,CAAC;AAE/E,6EAA6E;AAC7E,MAAM,CAAC,MAAM,QAAQ,GAAG,CAAC,KAAa,EAAQ,EAAE,CAAC,CAAC,CAAC,4BAA4B,KAAK,UAAU,CAAC,CAAC;AAEhG,oBAAoB;AAEpB,2DAA2D;AAC3D,MAAM,CAAC,MAAM,KAAK,GAAG,GAAS,EAAE,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC;AAErD,iBAAiB;AAEjB,8DAA8D;AAC9D,MAAM,CAAC,MAAM,WAAW,GAAG,GAAS,EAAE,CAAC,CAAC,CAAC,uBAAuB,CAAC,CAAC;AAElE,qDAAqD;AACrD,MAAM,CAAC,MAAM,QAAQ,GAAG,CAAC,KAAa,EAAQ,EAAE,CAAC,CAAC,CAAC,qBAAqB,KAAK,IAAI,CAAC,CAAC;AAEnF,6BAA6B;AAC7B,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,KAAa,EAAQ,EAAE,CAAC,CAAC,CAAC,kBAAkB,KAAK,eAAe,CAAC,CAAC;AAEhG,6BAA6B;AAC7B,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,KAAa,EAAQ,EAAE,CAAC,CAAC,CAAC,kBAAkB,KAAK,eAAe,CAAC,CAAC;AAEhG,8BAA8B;AAC9B,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,KAAa,EAAQ,EAAE,CAAC,CAAC,CAAC,kBAAkB,KAAK,gBAAgB,CAAC,CAAC;AAElG,qDAAqD;AACrD,MAAM,CAAC,MAAM,SAAS,GAAG,CAAC,KAAa,EAAE,MAAgB,EAAQ,EAAE,CACjE,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,kBAAkB,KAAK,iBAAiB,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;AAEhF,uBAAuB;AAEvB,2DAA2D;AAC3D,MAAM,CAAC,MAAM,SAAS,GAAG,CAAC,KAAa,EAAQ,EAAE,CAC/C,CAAC,CAAC,oCAAoC,KAAK,4BAA4B,KAAK,UAAU,CAAC,CAAC;AAE1F,qEAAqE;AACrE,MAAM,CAAC,MAAM,aAAa,GAAG,GAAS,EAAE,CACtC,CAAC,CAAC,gDAAgD,CAAC,CAAC;AAEtD,6BAA6B;AAE7B,wDAAwD;AACxD,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,QAAmB,EAAQ,EAAE,CACtD,CAAC,CAAC,QAAQ,SAAS,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;AAE5C,kEAAkE;AAClE,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,QAAmB,EAAE,KAAa,EAAQ,EAAE,CACrE,CAAC,CAAC,QAAQ,SAAS,CAAC,QAAQ,CAAC,eAAe,KAAK,GAAG,CAAC,CAAC"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import type { Expr } from './types.js';
|
|
2
|
+
/** Create an Expr from a raw expression string. */
|
|
3
|
+
export declare const expr: (raw: string) => Expr;
|
|
4
|
+
/** All conditions must be true (AND). */
|
|
5
|
+
export declare const all: (...exprs: Expr[]) => Expr;
|
|
6
|
+
/** At least one condition must be true (OR). */
|
|
7
|
+
export declare const any: (...exprs: Expr[]) => Expr;
|
|
8
|
+
/** Negate a condition. */
|
|
9
|
+
export declare const not: (e: Expr) => Expr;
|
|
10
|
+
/** Always deny (false). */
|
|
11
|
+
export declare const deny: () => Expr;
|
|
12
|
+
/** Always allow (true). */
|
|
13
|
+
export declare const always: () => Expr;
|
|
14
|
+
/** Always allow (true). Readable alias for always(). */
|
|
15
|
+
export declare const allow: () => Expr;
|
|
16
|
+
//# sourceMappingURL=compose.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"compose.d.ts","sourceRoot":"","sources":["../../../src/database/constraints/compose.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,YAAY,CAAC;AAEvC,mDAAmD;AACnD,eAAO,MAAM,IAAI,GAAI,KAAK,MAAM,KAAG,IAAmB,CAAC;AAEvD,yCAAyC;AACzC,eAAO,MAAM,GAAG,GAAI,GAAG,OAAO,IAAI,EAAE,KAAG,IACM,CAAC;AAE9C,gDAAgD;AAChD,eAAO,MAAM,GAAG,GAAI,GAAG,OAAO,IAAI,EAAE,KAAG,IACM,CAAC;AAE9C,0BAA0B;AAC1B,eAAO,MAAM,GAAG,GAAI,GAAG,IAAI,KAAG,IAAuB,CAAC;AAEtD,2BAA2B;AAC3B,eAAO,MAAM,IAAI,QAAO,IAAqB,CAAC;AAE9C,2BAA2B;AAC3B,eAAO,MAAM,MAAM,QAAO,IAAoB,CAAC;AAE/C,wDAAwD;AACxD,eAAO,MAAM,KAAK,QAHQ,IAGC,CAAC"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
/** Create an Expr from a raw expression string. */
|
|
2
|
+
export const expr = (raw) => raw;
|
|
3
|
+
/** All conditions must be true (AND). */
|
|
4
|
+
export const all = (...exprs) => expr(exprs.map(e => `(${e})`).join(' && '));
|
|
5
|
+
/** At least one condition must be true (OR). */
|
|
6
|
+
export const any = (...exprs) => expr(exprs.map(e => `(${e})`).join(' || '));
|
|
7
|
+
/** Negate a condition. */
|
|
8
|
+
export const not = (e) => expr(`!(${e})`);
|
|
9
|
+
/** Always deny (false). */
|
|
10
|
+
export const deny = () => expr('false');
|
|
11
|
+
/** Always allow (true). */
|
|
12
|
+
export const always = () => expr('true');
|
|
13
|
+
/** Always allow (true). Readable alias for always(). */
|
|
14
|
+
export const allow = always;
|
|
15
|
+
//# sourceMappingURL=compose.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"compose.js","sourceRoot":"","sources":["../../../src/database/constraints/compose.ts"],"names":[],"mappings":"AAEA,mDAAmD;AACnD,MAAM,CAAC,MAAM,IAAI,GAAG,CAAC,GAAW,EAAQ,EAAE,CAAC,GAAW,CAAC;AAEvD,yCAAyC;AACzC,MAAM,CAAC,MAAM,GAAG,GAAG,CAAC,GAAG,KAAa,EAAQ,EAAE,CAC5C,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;AAE9C,gDAAgD;AAChD,MAAM,CAAC,MAAM,GAAG,GAAG,CAAC,GAAG,KAAa,EAAQ,EAAE,CAC5C,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;AAE9C,0BAA0B;AAC1B,MAAM,CAAC,MAAM,GAAG,GAAG,CAAC,CAAO,EAAQ,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;AAEtD,2BAA2B;AAC3B,MAAM,CAAC,MAAM,IAAI,GAAG,GAAS,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;AAE9C,2BAA2B;AAC3B,MAAM,CAAC,MAAM,MAAM,GAAG,GAAS,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;AAE/C,wDAAwD;AACxD,MAAM,CAAC,MAAM,KAAK,GAAG,MAAM,CAAC"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import type { Expr, Segment } from './types.js';
|
|
2
|
+
type CompareValue = string | number | boolean | null | Segment;
|
|
3
|
+
/** Read data value at current node or a child path (pre-write state) */
|
|
4
|
+
export declare const dataVal: (path?: string) => Expr;
|
|
5
|
+
/** Read incoming data value at current node or a child path (post-write state) */
|
|
6
|
+
export declare const newDataVal: (path?: string) => Expr;
|
|
7
|
+
/** Check if data exists at current node or a child path */
|
|
8
|
+
export declare const dataExists: (path?: string) => Expr;
|
|
9
|
+
/** Check if incoming data exists at current node or a child path */
|
|
10
|
+
export declare const newDataExists: (path?: string) => Expr;
|
|
11
|
+
/** Check incoming data type at current node */
|
|
12
|
+
export declare const newDataIs: (type: "String" | "Number" | "Boolean") => Expr;
|
|
13
|
+
/** Navigate up from data snapshot, then read a child field's value */
|
|
14
|
+
export declare const dataParentVal: (depth: number, field: string) => Expr;
|
|
15
|
+
/** Navigate up from newData snapshot, then read a child field's value */
|
|
16
|
+
export declare const newDataParentVal: (depth: number, field: string) => Expr;
|
|
17
|
+
/** Navigate up from newData snapshot, then check if a child field exists */
|
|
18
|
+
export declare const newDataParentExists: (depth: number, field: string) => Expr;
|
|
19
|
+
/** Strict equality: left === right (right is a literal value or runtime ref) */
|
|
20
|
+
export declare const eq: (left: Expr, right: CompareValue) => Expr;
|
|
21
|
+
/** Strict inequality: left !== right */
|
|
22
|
+
export declare const neq: (left: Expr, right: CompareValue) => Expr;
|
|
23
|
+
/** Greater than: left > right */
|
|
24
|
+
export declare const gt: (left: Expr, right: number) => Expr;
|
|
25
|
+
/** Less than or equal: left <= right */
|
|
26
|
+
export declare const lte: (left: Expr, right: number) => Expr;
|
|
27
|
+
/** auth.uid as a comparison value (unquoted in expressions) */
|
|
28
|
+
export declare const AUTH_UID: Segment;
|
|
29
|
+
export {};
|
|
30
|
+
//# sourceMappingURL=data.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"data.d.ts","sourceRoot":"","sources":["../../../src/database/constraints/data.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAIhD,KAAK,YAAY,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,IAAI,GAAG,OAAO,CAAC;AAW/D,wEAAwE;AACxE,eAAO,MAAM,OAAO,GAAI,OAAO,MAAM,KAAG,IACmB,CAAC;AAE5D,kFAAkF;AAClF,eAAO,MAAM,UAAU,GAAI,OAAO,MAAM,KAAG,IACsB,CAAC;AAIlE,2DAA2D;AAC3D,eAAO,MAAM,UAAU,GAAI,OAAO,MAAM,KAAG,IACsB,CAAC;AAElE,oEAAoE;AACpE,eAAO,MAAM,aAAa,GAAI,OAAO,MAAM,KAAG,IACyB,CAAC;AAIxE,+CAA+C;AAC/C,eAAO,MAAM,SAAS,GAAI,MAAM,QAAQ,GAAG,QAAQ,GAAG,SAAS,KAAG,IACxC,CAAC;AAQ3B,sEAAsE;AACtE,eAAO,MAAM,aAAa,GAAI,OAAO,MAAM,EAAE,OAAO,MAAM,KAAG,IACD,CAAC;AAE7D,yEAAyE;AACzE,eAAO,MAAM,gBAAgB,GAAI,OAAO,MAAM,EAAE,OAAO,MAAM,KAAG,IACD,CAAC;AAEhE,4EAA4E;AAC5E,eAAO,MAAM,mBAAmB,GAAI,OAAO,MAAM,EAAE,OAAO,MAAM,KAAG,IACD,CAAC;AAInE,gFAAgF;AAChF,eAAO,MAAM,EAAE,GAAI,MAAM,IAAI,EAAE,OAAO,YAAY,KAAG,IACb,CAAC;AAEzC,wCAAwC;AACxC,eAAO,MAAM,GAAG,GAAI,MAAM,IAAI,EAAE,OAAO,YAAY,KAAG,IACd,CAAC;AAEzC,iCAAiC;AACjC,eAAO,MAAM,EAAE,GAAI,MAAM,IAAI,EAAE,OAAO,MAAM,KAAG,IACtB,CAAC;AAE1B,wCAAwC;AACxC,eAAO,MAAM,GAAG,GAAI,MAAM,IAAI,EAAE,OAAO,MAAM,KAAG,IACtB,CAAC;AAI3B,+DAA+D;AAC/D,eAAO,MAAM,QAAQ,EAAE,OAA2B,CAAC"}
|