@rocicorp/zero 0.5.2024110200 → 0.6.2024111600
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/out/{internal.js → advanced.js} +1 -1
- package/out/{chunk-INJ4WJHS.js → chunk-V5NTGJ4X.js} +1152 -585
- package/out/chunk-V5NTGJ4X.js.map +7 -0
- package/out/react.js.map +2 -2
- package/out/shared/src/browser-env.d.ts +17 -0
- package/out/shared/src/browser-env.d.ts.map +1 -1
- package/out/shared/src/expand.d.ts +7 -0
- package/out/shared/src/expand.d.ts.map +1 -0
- package/out/solid.js +4 -4
- package/out/solid.js.map +2 -2
- package/out/zero-cache/src/auth/load-authorization.d.ts +3 -0
- package/out/zero-cache/src/auth/load-authorization.d.ts.map +1 -0
- package/out/zero-cache/src/auth/load-authorization.js +21 -0
- package/out/zero-cache/src/auth/load-authorization.js.map +1 -0
- package/out/zero-cache/src/config/config.d.ts +112 -0
- package/out/zero-cache/src/config/config.d.ts.map +1 -0
- package/out/zero-cache/src/config/config.js +246 -0
- package/out/zero-cache/src/config/config.js.map +1 -0
- package/out/zero-cache/src/config/zero-config.d.ts +145 -964
- package/out/zero-cache/src/config/zero-config.d.ts.map +1 -1
- package/out/zero-cache/src/config/zero-config.js +242 -115
- package/out/zero-cache/src/config/zero-config.js.map +1 -1
- package/out/zero-cache/src/db/delete-lite-db.d.ts +2 -0
- package/out/zero-cache/src/db/delete-lite-db.d.ts.map +1 -0
- package/out/zero-cache/src/db/delete-lite-db.js +7 -0
- package/out/zero-cache/src/db/delete-lite-db.js.map +1 -0
- package/out/zero-cache/src/db/migration.d.ts +1 -0
- package/out/zero-cache/src/db/migration.d.ts.map +1 -1
- package/out/zero-cache/src/db/migration.js +17 -7
- package/out/zero-cache/src/db/migration.js.map +1 -1
- package/out/zero-cache/src/db/pg-to-lite.d.ts +1 -1
- package/out/zero-cache/src/db/pg-to-lite.d.ts.map +1 -1
- package/out/zero-cache/src/db/pg-to-lite.js +7 -3
- package/out/zero-cache/src/db/pg-to-lite.js.map +1 -1
- package/out/zero-cache/src/db/short-lived-client.d.ts +16 -0
- package/out/zero-cache/src/db/short-lived-client.d.ts.map +1 -0
- package/out/zero-cache/src/db/short-lived-client.js +50 -0
- package/out/zero-cache/src/db/short-lived-client.js.map +1 -0
- package/out/zero-cache/src/db/specs.d.ts +12 -3
- package/out/zero-cache/src/db/specs.d.ts.map +1 -1
- package/out/zero-cache/src/db/specs.js +6 -1
- package/out/zero-cache/src/db/specs.js.map +1 -1
- package/out/zero-cache/src/db/transaction-pool.d.ts +7 -2
- package/out/zero-cache/src/db/transaction-pool.d.ts.map +1 -1
- package/out/zero-cache/src/db/transaction-pool.js +42 -8
- package/out/zero-cache/src/db/transaction-pool.js.map +1 -1
- package/out/zero-cache/src/server/change-streamer.d.ts.map +1 -1
- package/out/zero-cache/src/server/change-streamer.js +34 -9
- package/out/zero-cache/src/server/change-streamer.js.map +1 -1
- package/out/zero-cache/src/server/life-cycle.d.ts +1 -1
- package/out/zero-cache/src/server/life-cycle.d.ts.map +1 -1
- package/out/zero-cache/src/server/life-cycle.js +2 -3
- package/out/zero-cache/src/server/life-cycle.js.map +1 -1
- package/out/zero-cache/src/server/logging.d.ts.map +1 -1
- package/out/zero-cache/src/server/logging.js +2 -15
- package/out/zero-cache/src/server/logging.js.map +1 -1
- package/out/zero-cache/src/server/main.js +28 -10
- package/out/zero-cache/src/server/main.js.map +1 -1
- package/out/zero-cache/src/server/replicator.d.ts.map +1 -1
- package/out/zero-cache/src/server/replicator.js +6 -5
- package/out/zero-cache/src/server/replicator.js.map +1 -1
- package/out/zero-cache/src/server/syncer.d.ts.map +1 -1
- package/out/zero-cache/src/server/syncer.js +16 -12
- package/out/zero-cache/src/server/syncer.js.map +1 -1
- package/out/zero-cache/src/services/change-streamer/change-streamer-http.d.ts +2 -3
- package/out/zero-cache/src/services/change-streamer/change-streamer-http.d.ts.map +1 -1
- package/out/zero-cache/src/services/change-streamer/change-streamer-http.js +2 -3
- package/out/zero-cache/src/services/change-streamer/change-streamer-http.js.map +1 -1
- package/out/zero-cache/src/services/change-streamer/change-streamer-service.d.ts +153 -2
- package/out/zero-cache/src/services/change-streamer/change-streamer-service.d.ts.map +1 -1
- package/out/zero-cache/src/services/change-streamer/change-streamer-service.js +136 -19
- package/out/zero-cache/src/services/change-streamer/change-streamer-service.js.map +1 -1
- package/out/zero-cache/src/services/change-streamer/change-streamer.d.ts +17 -9
- package/out/zero-cache/src/services/change-streamer/change-streamer.d.ts.map +1 -1
- package/out/zero-cache/src/services/change-streamer/change-streamer.js +4 -2
- package/out/zero-cache/src/services/change-streamer/change-streamer.js.map +1 -1
- package/out/zero-cache/src/services/change-streamer/forwarder.d.ts +1 -0
- package/out/zero-cache/src/services/change-streamer/forwarder.d.ts.map +1 -1
- package/out/zero-cache/src/services/change-streamer/forwarder.js +9 -2
- package/out/zero-cache/src/services/change-streamer/forwarder.js.map +1 -1
- package/out/zero-cache/src/services/change-streamer/pg/change-source.d.ts +10 -0
- package/out/zero-cache/src/services/change-streamer/pg/change-source.d.ts.map +1 -1
- package/out/zero-cache/src/services/change-streamer/pg/change-source.js +171 -24
- package/out/zero-cache/src/services/change-streamer/pg/change-source.js.map +1 -1
- package/out/zero-cache/src/services/change-streamer/pg/initial-sync.d.ts.map +1 -1
- package/out/zero-cache/src/services/change-streamer/pg/initial-sync.js +32 -18
- package/out/zero-cache/src/services/change-streamer/pg/initial-sync.js.map +1 -1
- package/out/zero-cache/src/services/change-streamer/pg/schema/ddl.d.ts +62 -39
- package/out/zero-cache/src/services/change-streamer/pg/schema/ddl.d.ts.map +1 -1
- package/out/zero-cache/src/services/change-streamer/pg/schema/ddl.js +8 -40
- package/out/zero-cache/src/services/change-streamer/pg/schema/ddl.js.map +1 -1
- package/out/zero-cache/src/services/change-streamer/pg/schema/init.d.ts +8 -0
- package/out/zero-cache/src/services/change-streamer/pg/schema/init.d.ts.map +1 -1
- package/out/zero-cache/src/services/change-streamer/pg/schema/init.js +41 -8
- package/out/zero-cache/src/services/change-streamer/pg/schema/init.js.map +1 -1
- package/out/zero-cache/src/services/change-streamer/pg/schema/published.d.ts +83 -13
- package/out/zero-cache/src/services/change-streamer/pg/schema/published.d.ts.map +1 -1
- package/out/zero-cache/src/services/change-streamer/pg/schema/published.js +15 -5
- package/out/zero-cache/src/services/change-streamer/pg/schema/published.js.map +1 -1
- package/out/zero-cache/src/services/change-streamer/pg/schema/shard.d.ts +39 -3
- package/out/zero-cache/src/services/change-streamer/pg/schema/shard.d.ts.map +1 -1
- package/out/zero-cache/src/services/change-streamer/pg/schema/shard.js +67 -36
- package/out/zero-cache/src/services/change-streamer/pg/schema/shard.js.map +1 -1
- package/out/zero-cache/src/services/change-streamer/pg/schema/validation.d.ts +8 -0
- package/out/zero-cache/src/services/change-streamer/pg/schema/validation.d.ts.map +1 -0
- package/out/zero-cache/src/services/change-streamer/pg/schema/validation.js +33 -0
- package/out/zero-cache/src/services/change-streamer/pg/schema/validation.js.map +1 -0
- package/out/zero-cache/src/services/change-streamer/schema/change.d.ts +5 -1
- package/out/zero-cache/src/services/change-streamer/schema/change.d.ts.map +1 -1
- package/out/zero-cache/src/services/change-streamer/schema/change.js +3 -0
- package/out/zero-cache/src/services/change-streamer/schema/change.js.map +1 -1
- package/out/zero-cache/src/services/change-streamer/schema/init.d.ts.map +1 -1
- package/out/zero-cache/src/services/change-streamer/schema/init.js +4 -6
- package/out/zero-cache/src/services/change-streamer/schema/init.js.map +1 -1
- package/out/zero-cache/src/services/change-streamer/schema/tables.d.ts +6 -1
- package/out/zero-cache/src/services/change-streamer/schema/tables.d.ts.map +1 -1
- package/out/zero-cache/src/services/change-streamer/schema/tables.js +19 -4
- package/out/zero-cache/src/services/change-streamer/schema/tables.js.map +1 -1
- package/out/zero-cache/src/services/change-streamer/storer.d.ts +29 -2
- package/out/zero-cache/src/services/change-streamer/storer.d.ts.map +1 -1
- package/out/zero-cache/src/services/change-streamer/storer.js +90 -8
- package/out/zero-cache/src/services/change-streamer/storer.js.map +1 -1
- package/out/zero-cache/src/services/change-streamer/subscriber.d.ts +1 -0
- package/out/zero-cache/src/services/change-streamer/subscriber.d.ts.map +1 -1
- package/out/zero-cache/src/services/change-streamer/subscriber.js +18 -3
- package/out/zero-cache/src/services/change-streamer/subscriber.js.map +1 -1
- package/out/zero-cache/src/services/dispatcher/dispatcher.d.ts +5 -3
- package/out/zero-cache/src/services/dispatcher/dispatcher.d.ts.map +1 -1
- package/out/zero-cache/src/services/dispatcher/dispatcher.js +20 -5
- package/out/zero-cache/src/services/dispatcher/dispatcher.js.map +1 -1
- package/out/zero-cache/src/services/mutagen/mutagen.d.ts +6 -5
- package/out/zero-cache/src/services/mutagen/mutagen.d.ts.map +1 -1
- package/out/zero-cache/src/services/mutagen/mutagen.js +26 -20
- package/out/zero-cache/src/services/mutagen/mutagen.js.map +1 -1
- package/out/zero-cache/src/services/mutagen/write-authorizer.d.ts +7 -6
- package/out/zero-cache/src/services/mutagen/write-authorizer.d.ts.map +1 -1
- package/out/zero-cache/src/services/mutagen/write-authorizer.js +10 -18
- package/out/zero-cache/src/services/mutagen/write-authorizer.js.map +1 -1
- package/out/zero-cache/src/services/replicator/incremental-sync.d.ts +1 -1
- package/out/zero-cache/src/services/replicator/incremental-sync.d.ts.map +1 -1
- package/out/zero-cache/src/services/replicator/incremental-sync.js +8 -8
- package/out/zero-cache/src/services/replicator/incremental-sync.js.map +1 -1
- package/out/zero-cache/src/services/replicator/schema/replication-state.d.ts.map +1 -1
- package/out/zero-cache/src/services/replicator/schema/replication-state.js +1 -10
- package/out/zero-cache/src/services/replicator/schema/replication-state.js.map +1 -1
- package/out/zero-cache/src/services/running-state.d.ts +6 -1
- package/out/zero-cache/src/services/running-state.d.ts.map +1 -1
- package/out/zero-cache/src/services/running-state.js +23 -5
- package/out/zero-cache/src/services/running-state.js.map +1 -1
- package/out/zero-cache/src/services/view-syncer/schema/types.d.ts +49 -29
- package/out/zero-cache/src/services/view-syncer/schema/types.d.ts.map +1 -1
- package/out/zero-cache/src/services/view-syncer/view-syncer.d.ts.map +1 -1
- package/out/zero-cache/src/services/view-syncer/view-syncer.js +2 -1
- package/out/zero-cache/src/services/view-syncer/view-syncer.js.map +1 -1
- package/out/zero-cache/src/types/lexi-version.d.ts +3 -2
- package/out/zero-cache/src/types/lexi-version.d.ts.map +1 -1
- package/out/zero-cache/src/types/lexi-version.js +8 -6
- package/out/zero-cache/src/types/lexi-version.js.map +1 -1
- package/out/zero-cache/src/types/processes.d.ts.map +1 -1
- package/out/zero-cache/src/types/processes.js +1 -0
- package/out/zero-cache/src/types/processes.js.map +1 -1
- package/out/zero-cache/src/workers/replicator.d.ts.map +1 -1
- package/out/zero-cache/src/workers/replicator.js +2 -4
- package/out/zero-cache/src/workers/replicator.js.map +1 -1
- package/out/zero-cache/src/workers/syncer.js +1 -1
- package/out/zero-cache/src/workers/syncer.js.map +1 -1
- package/out/zero-client/src/client/crud.d.ts +56 -25
- package/out/zero-client/src/client/crud.d.ts.map +1 -1
- package/out/zero-client/src/client/http-string.d.ts +1 -0
- package/out/zero-client/src/client/http-string.d.ts.map +1 -1
- package/out/zero-client/src/client/log-options.d.ts +2 -1
- package/out/zero-client/src/client/log-options.d.ts.map +1 -1
- package/out/zero-client/src/client/options.d.ts +8 -8
- package/out/zero-client/src/client/options.d.ts.map +1 -1
- package/out/zero-client/src/client/protocol-version.d.ts +2 -0
- package/out/zero-client/src/client/protocol-version.d.ts.map +1 -0
- package/out/zero-client/src/client/server-option.d.ts.map +1 -1
- package/out/zero-client/src/client/zero-poke-handler.d.ts +1 -1
- package/out/zero-client/src/client/zero-poke-handler.d.ts.map +1 -1
- package/out/zero-client/src/client/zero.d.ts +26 -14
- package/out/zero-client/src/client/zero.d.ts.map +1 -1
- package/out/zero-client/src/mod.d.ts +4 -2
- package/out/zero-client/src/mod.d.ts.map +1 -1
- package/out/zero-protocol/src/ast.d.ts +37 -21
- package/out/zero-protocol/src/ast.d.ts.map +1 -1
- package/out/zero-protocol/src/ast.js +21 -6
- package/out/zero-protocol/src/ast.js.map +1 -1
- package/out/zero-protocol/src/change-desired-queries.d.ts +16 -8
- package/out/zero-protocol/src/change-desired-queries.d.ts.map +1 -1
- package/out/zero-protocol/src/connect.d.ts +16 -8
- package/out/zero-protocol/src/connect.d.ts.map +1 -1
- package/out/zero-protocol/src/down.d.ts +16 -8
- package/out/zero-protocol/src/down.d.ts.map +1 -1
- package/out/zero-protocol/src/poke.d.ts +32 -16
- package/out/zero-protocol/src/poke.d.ts.map +1 -1
- package/out/zero-protocol/src/push.d.ts +18 -18
- package/out/zero-protocol/src/push.d.ts.map +1 -1
- package/out/zero-protocol/src/push.js +5 -5
- package/out/zero-protocol/src/push.js.map +1 -1
- package/out/zero-protocol/src/queries-patch.d.ts +24 -12
- package/out/zero-protocol/src/queries-patch.d.ts.map +1 -1
- package/out/zero-protocol/src/up.d.ts +18 -10
- package/out/zero-protocol/src/up.d.ts.map +1 -1
- package/out/zero-react/src/use-zero.d.ts.map +1 -1
- package/out/zero-schema/src/authorization.d.ts +25 -0
- package/out/zero-schema/src/authorization.d.ts.map +1 -0
- package/out/zero-schema/src/compiled-authorization.d.ts +379 -0
- package/out/zero-schema/src/compiled-authorization.d.ts.map +1 -0
- package/out/zero-schema/src/compiled-authorization.js +15 -0
- package/out/zero-schema/src/compiled-authorization.js.map +1 -0
- package/out/zero-schema/src/mod.d.ts +1 -0
- package/out/zero-schema/src/mod.d.ts.map +1 -1
- package/out/{zero-client/src/client → zero-schema/src}/normalized-schema.d.ts +2 -2
- package/out/zero-schema/src/normalized-schema.d.ts.map +1 -0
- package/out/zero-schema/src/table-schema.d.ts +15 -7
- package/out/zero-schema/src/table-schema.d.ts.map +1 -1
- package/out/zero-schema/src/table-schema.js.map +1 -1
- package/out/zero.js +9 -13
- package/out/zql/src/builder/builder.d.ts +1 -1
- package/out/zql/src/builder/builder.d.ts.map +1 -1
- package/out/zql/src/builder/builder.js +74 -30
- package/out/zql/src/builder/builder.js.map +1 -1
- package/out/zql/src/builder/filter.d.ts +2 -1
- package/out/zql/src/builder/filter.d.ts.map +1 -1
- package/out/zql/src/builder/filter.js +18 -0
- package/out/zql/src/builder/filter.js.map +1 -1
- package/out/zql/src/builder/like.d.ts +2 -2
- package/out/zql/src/builder/like.d.ts.map +1 -1
- package/out/zql/src/ivm/change.d.ts +1 -0
- package/out/zql/src/ivm/change.d.ts.map +1 -1
- package/out/zql/src/ivm/change.js +4 -1
- package/out/zql/src/ivm/change.js.map +1 -1
- package/out/zql/src/ivm/exists.d.ts +18 -0
- package/out/zql/src/ivm/exists.d.ts.map +1 -0
- package/out/zql/src/ivm/exists.js +186 -0
- package/out/zql/src/ivm/exists.js.map +1 -0
- package/out/zql/src/ivm/fan-in.d.ts +1 -1
- package/out/zql/src/ivm/fan-in.d.ts.map +1 -1
- package/out/zql/src/ivm/fan-in.js +3 -3
- package/out/zql/src/ivm/fan-in.js.map +1 -1
- package/out/zql/src/ivm/fan-out.d.ts.map +1 -1
- package/out/zql/src/ivm/fan-out.js +4 -7
- package/out/zql/src/ivm/fan-out.js.map +1 -1
- package/out/zql/src/ivm/filter.js +1 -1
- package/out/zql/src/ivm/filter.js.map +1 -1
- package/out/zql/src/ivm/memory-source.d.ts +10 -6
- package/out/zql/src/ivm/memory-source.d.ts.map +1 -1
- package/out/zql/src/ivm/memory-source.js +60 -75
- package/out/zql/src/ivm/memory-source.js.map +1 -1
- package/out/zql/src/ivm/skip.js +1 -1
- package/out/zql/src/ivm/skip.js.map +1 -1
- package/out/zql/src/ivm/take.d.ts +1 -1
- package/out/zql/src/ivm/take.d.ts.map +1 -1
- package/out/zql/src/ivm/take.js +11 -7
- package/out/zql/src/ivm/take.js.map +1 -1
- package/out/zql/src/query/auth-query.d.ts +7 -3
- package/out/zql/src/query/auth-query.d.ts.map +1 -1
- package/out/zql/src/query/dnf.d.ts +10 -0
- package/out/zql/src/query/dnf.d.ts.map +1 -0
- package/out/zql/src/query/expression.d.ts +40 -23
- package/out/zql/src/query/expression.d.ts.map +1 -1
- package/out/zql/src/query/query-impl.d.ts +7 -6
- package/out/zql/src/query/query-impl.d.ts.map +1 -1
- package/out/zql/src/query/query.d.ts +17 -46
- package/out/zql/src/query/query.d.ts.map +1 -1
- package/out/zqlite/src/db.d.ts.map +1 -1
- package/out/zqlite/src/db.js +19 -6
- package/out/zqlite/src/db.js.map +1 -1
- package/out/zqlite/src/table-source.d.ts +12 -3
- package/out/zqlite/src/table-source.d.ts.map +1 -1
- package/out/zqlite/src/table-source.js +81 -2
- package/out/zqlite/src/table-source.js.map +1 -1
- package/package.json +7 -11
- package/out/chunk-INJ4WJHS.js.map +0 -7
- package/out/datadog/src/datadog-log-sink.js +0 -231
- package/out/datadog/src/datadog-log-sink.js.map +0 -1
- package/out/datadog/src/mod.js +0 -2
- package/out/datadog/src/mod.js.map +0 -1
- package/out/shared/src/immutable.js +0 -2
- package/out/shared/src/immutable.js.map +0 -1
- package/out/shared/src/sorted-entries.js +0 -6
- package/out/shared/src/sorted-entries.js.map +0 -1
- package/out/shared/src/writable.js +0 -2
- package/out/shared/src/writable.js.map +0 -1
- package/out/zero/src/config.d.ts +0 -2
- package/out/zero/src/config.d.ts.map +0 -1
- package/out/zero/src/config.js +0 -2
- package/out/zero/src/config.js.map +0 -1
- package/out/zero-cache/src/config/config-query.d.ts +0 -19
- package/out/zero-cache/src/config/config-query.d.ts.map +0 -1
- package/out/zero-cache/src/config/config-query.js +0 -22
- package/out/zero-cache/src/config/config-query.js.map +0 -1
- package/out/zero-cache/src/config/define-config.d.ts +0 -43
- package/out/zero-cache/src/config/define-config.d.ts.map +0 -1
- package/out/zero-cache/src/config/define-config.js +0 -121
- package/out/zero-cache/src/config/define-config.js.map +0 -1
- package/out/zero-cache/src/config/refs.d.ts +0 -3
- package/out/zero-cache/src/config/refs.d.ts.map +0 -1
- package/out/zero-cache/src/config/refs.js +0 -14
- package/out/zero-cache/src/config/refs.js.map +0 -1
- package/out/zero-client/src/client/normalized-schema.d.ts.map +0 -1
- package/out/zero-client/src/client/normalized-schema.js +0 -31
- package/out/zero-client/src/client/normalized-schema.js.map +0 -1
- package/out/zero-protocol/src/ast-hash.js +0 -14
- package/out/zero-protocol/src/ast-hash.js.map +0 -1
- package/out/zero-schema/src/mod.js +0 -4
- package/out/zero-schema/src/mod.js.map +0 -1
- package/out/zero-schema/src/normalize-table-schema.js +0 -116
- package/out/zero-schema/src/normalize-table-schema.js.map +0 -1
- package/out/zero-schema/src/schema.js +0 -4
- package/out/zero-schema/src/schema.js.map +0 -1
- package/out/zql/src/ivm/array-view.js +0 -70
- package/out/zql/src/ivm/array-view.js.map +0 -1
- package/out/zql/src/ivm/view-apply-change.js +0 -156
- package/out/zql/src/ivm/view-apply-change.js.map +0 -1
- package/out/zql/src/ivm/view.js +0 -2
- package/out/zql/src/ivm/view.js.map +0 -1
- package/out/zql/src/query/auth-query.js +0 -26
- package/out/zql/src/query/auth-query.js.map +0 -1
- package/out/zql/src/query/expression.js +0 -121
- package/out/zql/src/query/expression.js.map +0 -1
- package/out/zql/src/query/query-impl.js +0 -291
- package/out/zql/src/query/query-impl.js.map +0 -1
- package/out/zql/src/query/query-internal.js +0 -2
- package/out/zql/src/query/query-internal.js.map +0 -1
- package/out/zql/src/query/query.js +0 -3
- package/out/zql/src/query/query.js.map +0 -1
- package/out/zql/src/query/typed-view.js +0 -2
- package/out/zql/src/query/typed-view.js.map +0 -1
- /package/out/{internal.js.map → advanced.js.map} +0 -0
|
@@ -1,231 +0,0 @@
|
|
|
1
|
-
import { Lock } from '@rocicorp/lock';
|
|
2
|
-
const DD_BASE_URL = new URL('https://http-intake.logs.datadoghq.com/api/v2/logs');
|
|
3
|
-
// https://docs.datadoghq.com/api/latest/logs/
|
|
4
|
-
export const MAX_LOG_ENTRIES_PER_FLUSH = 1000;
|
|
5
|
-
export const FORCE_FLUSH_THRESHOLD = 250;
|
|
6
|
-
const MAX_ENTRY_BYTES = 5 * 1024 * 1024;
|
|
7
|
-
const MAX_MESSAGE_RETRIES = 2;
|
|
8
|
-
// Conservative limit that assumes all chars are encoded as 4 UTF-8 bytes.
|
|
9
|
-
// This makes the actual limit somewhere closer to 1.25 MB, which is still
|
|
10
|
-
// a reasonable amount of log data to send per request.
|
|
11
|
-
export const MAX_ENTRY_CHARS = MAX_ENTRY_BYTES / 4;
|
|
12
|
-
export class DatadogLogSink {
|
|
13
|
-
#messages = [];
|
|
14
|
-
#apiKey;
|
|
15
|
-
#source;
|
|
16
|
-
#service;
|
|
17
|
-
#host;
|
|
18
|
-
#version;
|
|
19
|
-
#interval;
|
|
20
|
-
#baseURL;
|
|
21
|
-
#timerID = 0;
|
|
22
|
-
#flushLock = new Lock();
|
|
23
|
-
constructor(options) {
|
|
24
|
-
const { apiKey, source, service, host, version, interval = 5_000, baseURL: baseUrl = DD_BASE_URL, } = options;
|
|
25
|
-
this.#apiKey = apiKey;
|
|
26
|
-
this.#source = source;
|
|
27
|
-
this.#service = service;
|
|
28
|
-
this.#host = host;
|
|
29
|
-
this.#version = version;
|
|
30
|
-
this.#interval = interval;
|
|
31
|
-
this.#baseURL = baseUrl.toString();
|
|
32
|
-
}
|
|
33
|
-
log(level, context, ...args) {
|
|
34
|
-
this.#messages.push(makeMessage(args, context, level));
|
|
35
|
-
if (level === 'error' || this.#messages.length === FORCE_FLUSH_THRESHOLD) {
|
|
36
|
-
// Do not await. Later calls to flush will await as needed.
|
|
37
|
-
void this.flush();
|
|
38
|
-
}
|
|
39
|
-
else {
|
|
40
|
-
this.#startTimer();
|
|
41
|
-
}
|
|
42
|
-
}
|
|
43
|
-
#startTimer() {
|
|
44
|
-
if (this.#timerID) {
|
|
45
|
-
return;
|
|
46
|
-
}
|
|
47
|
-
this.#timerID = setTimeout(() => {
|
|
48
|
-
this.#timerID = 0;
|
|
49
|
-
void this.flush();
|
|
50
|
-
}, this.#interval);
|
|
51
|
-
}
|
|
52
|
-
flush() {
|
|
53
|
-
return this.#flushLock.withLock(async () => {
|
|
54
|
-
const { length } = this.#messages;
|
|
55
|
-
if (length === 0) {
|
|
56
|
-
return;
|
|
57
|
-
}
|
|
58
|
-
do {
|
|
59
|
-
const flushTime = Date.now();
|
|
60
|
-
const stringified = [];
|
|
61
|
-
let totalBytes = 0;
|
|
62
|
-
for (const m of this.#messages) {
|
|
63
|
-
// As a small perf optimization, we directly mutate
|
|
64
|
-
// the message rather than making a shallow copy.
|
|
65
|
-
// The LOG_SINK_FLUSH_DELAY_ATTRIBUTE will be clobbered by
|
|
66
|
-
// the next flush if this flush fails (which is the desired behavior).
|
|
67
|
-
m.flushDelayMs = flushTime - m.date;
|
|
68
|
-
let str = JSON.stringify(m);
|
|
69
|
-
if (str.length > MAX_ENTRY_CHARS) {
|
|
70
|
-
// A single message above the total payload limit will otherwise halt
|
|
71
|
-
// log flushing progress. Drop and replace with a message indicating so.
|
|
72
|
-
m.message = `[Dropped message of length ${str.length}]`;
|
|
73
|
-
str = JSON.stringify(m);
|
|
74
|
-
}
|
|
75
|
-
// Calculate the totalBytes with the newline characters between messages.
|
|
76
|
-
if (str.length + totalBytes + stringified.length > MAX_ENTRY_CHARS) {
|
|
77
|
-
break;
|
|
78
|
-
}
|
|
79
|
-
totalBytes += str.length;
|
|
80
|
-
stringified.push(str);
|
|
81
|
-
if (stringified.length === MAX_LOG_ENTRIES_PER_FLUSH) {
|
|
82
|
-
break;
|
|
83
|
-
}
|
|
84
|
-
}
|
|
85
|
-
const body = stringified.join('\n');
|
|
86
|
-
const url = new URL(this.#baseURL);
|
|
87
|
-
if (this.#apiKey !== undefined) {
|
|
88
|
-
url.searchParams.set('dd-api-key', this.#apiKey);
|
|
89
|
-
}
|
|
90
|
-
if (this.#source) {
|
|
91
|
-
// Both need to be set for server to treat us as the browser SDK for
|
|
92
|
-
// value 'browser'.
|
|
93
|
-
url.searchParams.set('ddsource', this.#source);
|
|
94
|
-
url.searchParams.set('dd-evp-origin', this.#source);
|
|
95
|
-
}
|
|
96
|
-
if (this.#service) {
|
|
97
|
-
url.searchParams.set('service', this.#service);
|
|
98
|
-
}
|
|
99
|
-
if (this.#host) {
|
|
100
|
-
url.searchParams.set('host', this.#host);
|
|
101
|
-
}
|
|
102
|
-
if (this.#version) {
|
|
103
|
-
url.searchParams.set('ddtags', `version:${this.#version}`);
|
|
104
|
-
}
|
|
105
|
-
let ok = false;
|
|
106
|
-
try {
|
|
107
|
-
const response = await fetch(url.toString(), {
|
|
108
|
-
method: 'POST',
|
|
109
|
-
body,
|
|
110
|
-
keepalive: true,
|
|
111
|
-
});
|
|
112
|
-
ok = response.ok;
|
|
113
|
-
if (!ok) {
|
|
114
|
-
// Log to console so that we might catch this in `wrangler tail`.
|
|
115
|
-
console.error('response', response.status, response.statusText, await response.text);
|
|
116
|
-
}
|
|
117
|
-
}
|
|
118
|
-
catch (e) {
|
|
119
|
-
// Log to console so that we might catch this in `wrangler tail`.
|
|
120
|
-
console.error('Log flush to datadog failed', e);
|
|
121
|
-
}
|
|
122
|
-
if (ok) {
|
|
123
|
-
// Remove messages that were successfully flushed.
|
|
124
|
-
this.#messages.splice(0, stringified.length);
|
|
125
|
-
}
|
|
126
|
-
else {
|
|
127
|
-
let numWithTooManyRetries = 0;
|
|
128
|
-
for (let i = 0; i < stringified.length; i++) {
|
|
129
|
-
const m = this.#messages[i];
|
|
130
|
-
m.flushRetryCount = (m.flushRetryCount ?? 0) + 1;
|
|
131
|
-
if (m.flushRetryCount > MAX_MESSAGE_RETRIES) {
|
|
132
|
-
numWithTooManyRetries++;
|
|
133
|
-
}
|
|
134
|
-
}
|
|
135
|
-
if (numWithTooManyRetries > 0) {
|
|
136
|
-
console.error(`Dropping ${numWithTooManyRetries} datadog log messages which failed to send ${MAX_MESSAGE_RETRIES + 1} times.`);
|
|
137
|
-
// Remove messages that have failed too many times.
|
|
138
|
-
this.#messages.splice(0, numWithTooManyRetries);
|
|
139
|
-
}
|
|
140
|
-
}
|
|
141
|
-
} while (this.#messages.length >= FORCE_FLUSH_THRESHOLD);
|
|
142
|
-
// If any messages left at this point schedule another flush.
|
|
143
|
-
if (this.#messages.length) {
|
|
144
|
-
this.#startTimer();
|
|
145
|
-
}
|
|
146
|
-
});
|
|
147
|
-
}
|
|
148
|
-
}
|
|
149
|
-
function flattenMessage(message) {
|
|
150
|
-
if (Array.isArray(message) && message.length === 1) {
|
|
151
|
-
return flattenMessage(message[0]);
|
|
152
|
-
}
|
|
153
|
-
return message;
|
|
154
|
-
}
|
|
155
|
-
function convertError(e) {
|
|
156
|
-
return {
|
|
157
|
-
name: e.name,
|
|
158
|
-
message: e.message,
|
|
159
|
-
stack: e.stack,
|
|
160
|
-
};
|
|
161
|
-
}
|
|
162
|
-
function convertErrors(message) {
|
|
163
|
-
if (message instanceof Error) {
|
|
164
|
-
return convertError(message);
|
|
165
|
-
}
|
|
166
|
-
if (message instanceof Array) {
|
|
167
|
-
const convertedMessage = [];
|
|
168
|
-
for (const item of message) {
|
|
169
|
-
if (item instanceof Error) {
|
|
170
|
-
convertedMessage.push(convertError(item));
|
|
171
|
-
}
|
|
172
|
-
else {
|
|
173
|
-
convertedMessage.push(item);
|
|
174
|
-
}
|
|
175
|
-
}
|
|
176
|
-
return convertedMessage;
|
|
177
|
-
}
|
|
178
|
-
return message;
|
|
179
|
-
}
|
|
180
|
-
const LOG_SINK_FLUSH_RETRY_COUNT = 'flushRetryCount';
|
|
181
|
-
const LOG_SINK_FLUSH_DELAY_ATTRIBUTE = 'flushDelayMs';
|
|
182
|
-
// This code assumes that no context keys will start with
|
|
183
|
-
// @DATADOG_RESERVED_ (a fairly safe assumption).
|
|
184
|
-
const RESERVED_KEY_PREFIX = '@DATADOG_RESERVED_';
|
|
185
|
-
// See https://docs.datadoghq.com/logs/log_configuration/attributes_naming_convention/#reserved-attributes
|
|
186
|
-
// Note 'msg' and 'date' are not documented.
|
|
187
|
-
// We should avoid using these as context keys. We escape them here
|
|
188
|
-
// because otherwise the impact on the data dog log UI is very confusing
|
|
189
|
-
// (e.g. using 'msg' as a context key results, in the context value
|
|
190
|
-
// replacing the log message.)
|
|
191
|
-
const RESERVED_KEYS = [
|
|
192
|
-
'host',
|
|
193
|
-
'source',
|
|
194
|
-
'status',
|
|
195
|
-
'service',
|
|
196
|
-
'version',
|
|
197
|
-
'trace_id',
|
|
198
|
-
'message',
|
|
199
|
-
'msg', // alias for message
|
|
200
|
-
'date',
|
|
201
|
-
// The following are attributes reserved by the DataDogLogSink
|
|
202
|
-
// itself (as opposed to DataDog), to report on its own behavior.
|
|
203
|
-
LOG_SINK_FLUSH_DELAY_ATTRIBUTE,
|
|
204
|
-
LOG_SINK_FLUSH_RETRY_COUNT,
|
|
205
|
-
];
|
|
206
|
-
function makeMessage(message, context, logLevel) {
|
|
207
|
-
let safeContext = undefined;
|
|
208
|
-
if (context !== undefined) {
|
|
209
|
-
for (const reservedKey of RESERVED_KEYS) {
|
|
210
|
-
if (Object.hasOwn(context, reservedKey)) {
|
|
211
|
-
if (safeContext === undefined) {
|
|
212
|
-
safeContext = { ...context };
|
|
213
|
-
}
|
|
214
|
-
safeContext[RESERVED_KEY_PREFIX + reservedKey] =
|
|
215
|
-
safeContext[reservedKey];
|
|
216
|
-
delete safeContext[reservedKey];
|
|
217
|
-
}
|
|
218
|
-
}
|
|
219
|
-
}
|
|
220
|
-
const msg = {
|
|
221
|
-
...(safeContext ?? context),
|
|
222
|
-
date: Date.now(),
|
|
223
|
-
message: convertErrors(flattenMessage(message)),
|
|
224
|
-
status: logLevel,
|
|
225
|
-
};
|
|
226
|
-
if (logLevel === 'error') {
|
|
227
|
-
msg.error = { origin: 'logger' };
|
|
228
|
-
}
|
|
229
|
-
return msg;
|
|
230
|
-
}
|
|
231
|
-
//# sourceMappingURL=datadog-log-sink.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"datadog-log-sink.js","sourceRoot":"","sources":["../../../../datadog/src/datadog-log-sink.ts"],"names":[],"mappings":"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"}
|
package/out/datadog/src/mod.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"mod.js","sourceRoot":"","sources":["../../../../datadog/src/mod.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,cAAc,GAEf,MAAM,uBAAuB,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"immutable.js","sourceRoot":"","sources":["../../../../shared/src/immutable.ts"],"names":[],"mappings":""}
|
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
import { stringCompare } from './string-compare.js';
|
|
2
|
-
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
3
|
-
export function sortedEntries(object) {
|
|
4
|
-
return Object.entries(object).sort((a, b) => stringCompare(a[0], b[0]));
|
|
5
|
-
}
|
|
6
|
-
//# sourceMappingURL=sorted-entries.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"sorted-entries.js","sourceRoot":"","sources":["../../../../shared/src/sorted-entries.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,aAAa,EAAC,MAAM,qBAAqB,CAAC;AAElD,8DAA8D;AAC9D,MAAM,UAAU,aAAa,CAC3B,MAAS;IAET,OAAO,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC1E,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"writable.js","sourceRoot":"","sources":["../../../../shared/src/writable.ts"],"names":[],"mappings":""}
|
package/out/zero/src/config.d.ts
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../../src/config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,YAAY,EAAC,MAAM,8CAA8C,CAAC"}
|
package/out/zero/src/config.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../../src/config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,YAAY,EAAC,MAAM,8CAA8C,CAAC"}
|
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
import type { AST } from '../../../zero-protocol/src/ast.js';
|
|
2
|
-
import type { Format } from '../../../zql/src/ivm/view.js';
|
|
3
|
-
import type { NormalizedTableSchema } from '../../../zero-schema/src/normalize-table-schema.js';
|
|
4
|
-
import { AbstractQuery } from '../../../zql/src/query/query-impl.js';
|
|
5
|
-
import type { DefaultQueryResultRow, Query, QueryType, Smash } from '../../../zql/src/query/query.js';
|
|
6
|
-
import type { TableSchema } from '../../../zero-schema/src/table-schema.js';
|
|
7
|
-
import type { TypedView } from '../../../zql/src/query/typed-view.js';
|
|
8
|
-
export declare class ConfigQuery<TTableSchema extends TableSchema, TReturn extends QueryType = DefaultQueryResultRow<TTableSchema>> extends AbstractQuery<TTableSchema, TReturn> {
|
|
9
|
-
constructor(schema: NormalizedTableSchema, ast?: AST, format?: Format | undefined);
|
|
10
|
-
get ast(): AST;
|
|
11
|
-
protected _newQuery<TSchema extends TableSchema, TReturn extends QueryType>(schema: NormalizedTableSchema, ast: AST, format: Format | undefined): Query<TSchema, TReturn>;
|
|
12
|
-
materialize(): TypedView<Smash<TReturn>>;
|
|
13
|
-
run(): Smash<TReturn>;
|
|
14
|
-
preload(): {
|
|
15
|
-
cleanup: () => void;
|
|
16
|
-
complete: Promise<void>;
|
|
17
|
-
};
|
|
18
|
-
}
|
|
19
|
-
//# sourceMappingURL=config-query.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"config-query.d.ts","sourceRoot":"","sources":["../../../../../zero-cache/src/config/config-query.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,GAAG,EAAC,MAAM,mCAAmC,CAAC;AAC3D,OAAO,KAAK,EAAC,MAAM,EAAC,MAAM,8BAA8B,CAAC;AACzD,OAAO,KAAK,EAAC,qBAAqB,EAAC,MAAM,oDAAoD,CAAC;AAC9F,OAAO,EAAC,aAAa,EAAC,MAAM,sCAAsC,CAAC;AACnE,OAAO,KAAK,EACV,qBAAqB,EACrB,KAAK,EACL,SAAS,EACT,KAAK,EACN,MAAM,iCAAiC,CAAC;AACzC,OAAO,KAAK,EAAC,WAAW,EAAC,MAAM,0CAA0C,CAAC;AAC1E,OAAO,KAAK,EAAC,SAAS,EAAC,MAAM,sCAAsC,CAAC;AAEpE,qBAAa,WAAW,CACtB,YAAY,SAAS,WAAW,EAChC,OAAO,SAAS,SAAS,GAAG,qBAAqB,CAAC,YAAY,CAAC,CAC/D,SAAQ,aAAa,CAAC,YAAY,EAAE,OAAO,CAAC;gBAE1C,MAAM,EAAE,qBAAqB,EAC7B,GAAG,GAAE,GAA+B,EACpC,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS;IAK7B,IAAI,GAAG,QAEN;IAED,SAAS,CAAC,SAAS,CAAC,OAAO,SAAS,WAAW,EAAE,OAAO,SAAS,SAAS,EACxE,MAAM,EAAE,qBAAqB,EAC7B,GAAG,EAAE,GAAG,EACR,MAAM,EAAE,MAAM,GAAG,SAAS,GACzB,KAAK,CAAC,OAAO,EAAE,OAAO,CAAC;IAI1B,WAAW,IAAI,SAAS,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IAIxC,GAAG,IAAI,KAAK,CAAC,OAAO,CAAC;IAIrB,OAAO,IAAI;QACT,OAAO,EAAE,MAAM,IAAI,CAAC;QACpB,QAAQ,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;KACzB;CAGF"}
|
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
import { AbstractQuery } from '../../../zql/src/query/query-impl.js';
|
|
2
|
-
export class ConfigQuery extends AbstractQuery {
|
|
3
|
-
constructor(schema, ast = { table: schema.tableName }, format) {
|
|
4
|
-
super(schema, ast, format);
|
|
5
|
-
}
|
|
6
|
-
get ast() {
|
|
7
|
-
return this._completeAst();
|
|
8
|
-
}
|
|
9
|
-
_newQuery(schema, ast, format) {
|
|
10
|
-
return new ConfigQuery(schema, ast, format);
|
|
11
|
-
}
|
|
12
|
-
materialize() {
|
|
13
|
-
throw new Error('ConfigQuery cannot be materialized');
|
|
14
|
-
}
|
|
15
|
-
run() {
|
|
16
|
-
throw new Error('ConfigQuery cannot be run');
|
|
17
|
-
}
|
|
18
|
-
preload() {
|
|
19
|
-
throw new Error('ConfigQuery cannot be preloaded');
|
|
20
|
-
}
|
|
21
|
-
}
|
|
22
|
-
//# sourceMappingURL=config-query.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"config-query.js","sourceRoot":"","sources":["../../../../../zero-cache/src/config/config-query.ts"],"names":[],"mappings":"AAGA,OAAO,EAAC,aAAa,EAAC,MAAM,sCAAsC,CAAC;AAUnE,MAAM,OAAO,WAGX,SAAQ,aAAoC;IAC5C,YACE,MAA6B,EAC7B,MAAW,EAAC,KAAK,EAAE,MAAM,CAAC,SAAS,EAAC,EACpC,MAA2B;QAE3B,KAAK,CAAC,MAAM,EAAE,GAAG,EAAE,MAAM,CAAC,CAAC;IAC7B,CAAC;IAED,IAAI,GAAG;QACL,OAAO,IAAI,CAAC,YAAY,EAAE,CAAC;IAC7B,CAAC;IAES,SAAS,CACjB,MAA6B,EAC7B,GAAQ,EACR,MAA0B;QAE1B,OAAO,IAAI,WAAW,CAAC,MAAM,EAAE,GAAG,EAAE,MAAM,CAAC,CAAC;IAC9C,CAAC;IAED,WAAW;QACT,MAAM,IAAI,KAAK,CAAC,oCAAoC,CAAC,CAAC;IACxD,CAAC;IAED,GAAG;QACD,MAAM,IAAI,KAAK,CAAC,2BAA2B,CAAC,CAAC;IAC/C,CAAC;IAED,OAAO;QAIL,MAAM,IAAI,KAAK,CAAC,iCAAiC,CAAC,CAAC;IACrD,CAAC;CACF"}
|
|
@@ -1,43 +0,0 @@
|
|
|
1
|
-
import type { Query } from '../../../zql/src/query/query.js';
|
|
2
|
-
import { type TableSchema, type TableSchemaToRow } from '../../../zero-schema/src/table-schema.js';
|
|
3
|
-
import type { Action, ZeroConfig as CompiledZeroConfig, LogConfig, ZeroConfigBase } from './zero-config.js';
|
|
4
|
-
export type { ZeroConfig as CompiledZeroConfig } from './zero-config.js';
|
|
5
|
-
type Schema = {
|
|
6
|
-
readonly version: number;
|
|
7
|
-
readonly tables: {
|
|
8
|
-
readonly [table: string]: TableSchema;
|
|
9
|
-
};
|
|
10
|
-
};
|
|
11
|
-
export type Queries<TSchema extends Schema> = {
|
|
12
|
-
[K in keyof TSchema['tables']]: Query<TSchema['tables'][K]>;
|
|
13
|
-
};
|
|
14
|
-
type InstanceAuthzRule<TAuthDataShape, TSchema extends TableSchema> = (authData: TAuthDataShape, row: TableSchemaToRow<TSchema>) => Query<TableSchema>;
|
|
15
|
-
type StaticAuthzRule<TAuthDataShape> = (authData: TAuthDataShape) => Query<TableSchema>;
|
|
16
|
-
type StaticAssetAuthorization<TAuthDataShape> = {
|
|
17
|
-
[K in Action]?: StaticAuthzRule<TAuthDataShape>[];
|
|
18
|
-
};
|
|
19
|
-
type InstanceAssetAuthorization<TAuthDataShape, TSchema extends TableSchema> = {
|
|
20
|
-
[K in Action]?: InstanceAuthzRule<TAuthDataShape, TSchema>[];
|
|
21
|
-
};
|
|
22
|
-
export type AuthorizationConfig<TAuthDataShape, TSchema extends Schema> = {
|
|
23
|
-
[K in keyof TSchema['tables']]?: {
|
|
24
|
-
table?: StaticAssetAuthorization<TAuthDataShape>;
|
|
25
|
-
column?: {
|
|
26
|
-
[C in keyof TSchema['tables'][K]['columns']]?: StaticAssetAuthorization<TAuthDataShape>;
|
|
27
|
-
};
|
|
28
|
-
row?: InstanceAssetAuthorization<TAuthDataShape, TSchema['tables'][K]>;
|
|
29
|
-
cell?: {
|
|
30
|
-
[C in keyof TSchema['tables'][K]['columns']]?: InstanceAssetAuthorization<TAuthDataShape, TSchema['tables'][K]>;
|
|
31
|
-
};
|
|
32
|
-
};
|
|
33
|
-
};
|
|
34
|
-
export type ZeroConfig<TAuthDataShape, TSchema extends Schema> = ZeroConfigBase & {
|
|
35
|
-
authorization?: AuthorizationConfig<TAuthDataShape, TSchema>;
|
|
36
|
-
shard?: {
|
|
37
|
-
id?: string;
|
|
38
|
-
publications?: string[];
|
|
39
|
-
};
|
|
40
|
-
log?: LogConfig;
|
|
41
|
-
};
|
|
42
|
-
export declare function defineConfig<TAuthDataShape, TSchema extends Schema>(schema: TSchema, definer: (query: Queries<TSchema>) => Promise<ZeroConfig<TAuthDataShape, TSchema>> | ZeroConfig<TAuthDataShape, TSchema>): Promise<CompiledZeroConfig>;
|
|
43
|
-
//# sourceMappingURL=define-config.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"define-config.d.ts","sourceRoot":"","sources":["../../../../../zero-cache/src/config/define-config.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,121 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Developers can define their configuration via typescript.
|
|
3
|
-
* These types represent the shape that their config must adhere to
|
|
4
|
-
* so we can compile it to a JSON ZeroConfig.
|
|
5
|
-
*/
|
|
6
|
-
import { normalizeSchema } from '../../../zero-client/src/client/normalized-schema.js';
|
|
7
|
-
import {} from '../../../zero-schema/src/table-schema.js';
|
|
8
|
-
import { ConfigQuery } from './config-query.js';
|
|
9
|
-
import { authDataRef, preMutationRowRef } from './refs.js';
|
|
10
|
-
export async function defineConfig(schema, definer) {
|
|
11
|
-
const normalizedSchema = normalizeSchema(schema);
|
|
12
|
-
const queries = {};
|
|
13
|
-
for (const [name, tableSchema] of Object.entries(normalizedSchema.tables)) {
|
|
14
|
-
queries[name] = new ConfigQuery(tableSchema);
|
|
15
|
-
}
|
|
16
|
-
const config = await definer(queries);
|
|
17
|
-
return compileConfig(config);
|
|
18
|
-
}
|
|
19
|
-
const DEFAULT_SHARD_ID = '0';
|
|
20
|
-
function compileConfig(config) {
|
|
21
|
-
return {
|
|
22
|
-
...config,
|
|
23
|
-
authorization: compileAuthorization(config.authorization),
|
|
24
|
-
shard: {
|
|
25
|
-
id: config.shard?.id ?? DEFAULT_SHARD_ID,
|
|
26
|
-
publications: config?.shard?.publications ?? [],
|
|
27
|
-
},
|
|
28
|
-
log: {
|
|
29
|
-
format: config.log?.format ?? 'text',
|
|
30
|
-
level: config.log?.level ?? 'info',
|
|
31
|
-
datadogLogsApiKey: config.log?.datadogLogsApiKey,
|
|
32
|
-
datadogServiceLabel: config.log?.datadogServiceLabel,
|
|
33
|
-
},
|
|
34
|
-
};
|
|
35
|
-
}
|
|
36
|
-
function compileAuthorization(authz) {
|
|
37
|
-
if (!authz) {
|
|
38
|
-
return undefined;
|
|
39
|
-
}
|
|
40
|
-
const ret = {};
|
|
41
|
-
for (const [tableName, tableConfig] of Object.entries(authz)) {
|
|
42
|
-
ret[tableName] = {
|
|
43
|
-
table: compileTableConfig(tableConfig.table),
|
|
44
|
-
column: compileColumnConfig(tableConfig.column),
|
|
45
|
-
row: compileRowConfig(tableConfig.row),
|
|
46
|
-
cell: compileCellConfig(tableConfig.cell),
|
|
47
|
-
};
|
|
48
|
-
}
|
|
49
|
-
return ret;
|
|
50
|
-
}
|
|
51
|
-
function compileTableConfig(tableRules) {
|
|
52
|
-
if (!tableRules) {
|
|
53
|
-
return undefined;
|
|
54
|
-
}
|
|
55
|
-
return {
|
|
56
|
-
select: compileStaticRules(tableRules.select),
|
|
57
|
-
insert: compileStaticRules(tableRules.insert),
|
|
58
|
-
update: compileStaticRules(tableRules.update),
|
|
59
|
-
delete: compileStaticRules(tableRules.delete),
|
|
60
|
-
};
|
|
61
|
-
}
|
|
62
|
-
function compileStaticRules(rules) {
|
|
63
|
-
if (!rules) {
|
|
64
|
-
return undefined;
|
|
65
|
-
}
|
|
66
|
-
return rules.map(rule => [
|
|
67
|
-
'allow',
|
|
68
|
-
rule(authDataRef).ast,
|
|
69
|
-
]);
|
|
70
|
-
}
|
|
71
|
-
function compileColumnConfig(columnRules) {
|
|
72
|
-
if (!columnRules) {
|
|
73
|
-
return undefined;
|
|
74
|
-
}
|
|
75
|
-
const ret = {};
|
|
76
|
-
for (const [columnName, rules] of Object.entries(columnRules)) {
|
|
77
|
-
ret[columnName] = {
|
|
78
|
-
select: compileStaticRules(rules.select),
|
|
79
|
-
insert: compileStaticRules(rules.insert),
|
|
80
|
-
update: compileStaticRules(rules.update),
|
|
81
|
-
delete: compileStaticRules(rules.delete),
|
|
82
|
-
};
|
|
83
|
-
}
|
|
84
|
-
return ret;
|
|
85
|
-
}
|
|
86
|
-
function compileRowConfig(rowRules) {
|
|
87
|
-
if (!rowRules) {
|
|
88
|
-
return undefined;
|
|
89
|
-
}
|
|
90
|
-
return {
|
|
91
|
-
select: compileInstanceRules(rowRules.select),
|
|
92
|
-
insert: compileInstanceRules(rowRules.insert),
|
|
93
|
-
update: compileInstanceRules(rowRules.update),
|
|
94
|
-
delete: compileInstanceRules(rowRules.delete),
|
|
95
|
-
};
|
|
96
|
-
}
|
|
97
|
-
function compileInstanceRules(rules) {
|
|
98
|
-
if (!rules) {
|
|
99
|
-
return undefined;
|
|
100
|
-
}
|
|
101
|
-
return rules.map(rule => [
|
|
102
|
-
'allow',
|
|
103
|
-
rule(authDataRef, preMutationRowRef).ast,
|
|
104
|
-
]);
|
|
105
|
-
}
|
|
106
|
-
function compileCellConfig(cellRules) {
|
|
107
|
-
if (!cellRules) {
|
|
108
|
-
return undefined;
|
|
109
|
-
}
|
|
110
|
-
const ret = {};
|
|
111
|
-
for (const [columnName, rules] of Object.entries(cellRules)) {
|
|
112
|
-
ret[columnName] = {
|
|
113
|
-
select: compileInstanceRules(rules.select),
|
|
114
|
-
insert: compileInstanceRules(rules.insert),
|
|
115
|
-
update: compileInstanceRules(rules.update),
|
|
116
|
-
delete: compileInstanceRules(rules.delete),
|
|
117
|
-
};
|
|
118
|
-
}
|
|
119
|
-
return ret;
|
|
120
|
-
}
|
|
121
|
-
//# sourceMappingURL=define-config.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"define-config.js","sourceRoot":"","sources":["../../../../../zero-cache/src/config/define-config.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,EAAC,eAAe,EAAC,MAAM,sDAAsD,CAAC;AAGrF,OAAO,EAGN,MAAM,0CAA0C,CAAC;AAClD,OAAO,EAAC,WAAW,EAAC,MAAM,mBAAmB,CAAC;AAC9C,OAAO,EAAC,WAAW,EAAE,iBAAiB,EAAC,MAAM,WAAW,CAAC;AAiEzD,MAAM,CAAC,KAAK,UAAU,YAAY,CAChC,MAAe,EACf,OAIuC;IAEvC,MAAM,gBAAgB,GAAG,eAAe,CAAC,MAAM,CAAC,CAAC;IACjD,MAAM,OAAO,GAAG,EAAwC,CAAC;IACzD,KAAK,MAAM,CAAC,IAAI,EAAE,WAAW,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,gBAAgB,CAAC,MAAM,CAAC,EAAE,CAAC;QAC1E,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,WAAW,CAAC,WAAW,CAAC,CAAC;IAC/C,CAAC;IAED,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,OAA2B,CAAC,CAAC;IAC1D,OAAO,aAAa,CAAC,MAAM,CAAC,CAAC;AAC/B,CAAC;AAED,MAAM,gBAAgB,GAAG,GAAG,CAAC;AAC7B,SAAS,aAAa,CACpB,MAA2C;IAE3C,OAAO;QACL,GAAG,MAAM;QACT,aAAa,EAAE,oBAAoB,CAAC,MAAM,CAAC,aAAa,CAAC;QACzD,KAAK,EAAE;YACL,EAAE,EAAE,MAAM,CAAC,KAAK,EAAE,EAAE,IAAI,gBAAgB;YACxC,YAAY,EAAE,MAAM,EAAE,KAAK,EAAE,YAAY,IAAI,EAAE;SAChD;QACD,GAAG,EAAE;YACH,MAAM,EAAE,MAAM,CAAC,GAAG,EAAE,MAAM,IAAI,MAAM;YACpC,KAAK,EAAE,MAAM,CAAC,GAAG,EAAE,KAAK,IAAI,MAAM;YAClC,iBAAiB,EAAE,MAAM,CAAC,GAAG,EAAE,iBAAiB;YAChD,mBAAmB,EAAE,MAAM,CAAC,GAAG,EAAE,mBAAmB;SACrD;KACF,CAAC;AACJ,CAAC;AAED,SAAS,oBAAoB,CAC3B,KAA+D;IAE/D,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,MAAM,GAAG,GAAgC,EAAE,CAAC;IAC5C,KAAK,MAAM,CAAC,SAAS,EAAE,WAAW,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QAC7D,GAAG,CAAC,SAAS,CAAC,GAAG;YACf,KAAK,EAAE,kBAAkB,CAAC,WAAW,CAAC,KAAK,CAAC;YAC5C,MAAM,EAAE,mBAAmB,CAAC,WAAW,CAAC,MAAM,CAAC;YAC/C,GAAG,EAAE,gBAAgB,CAAC,WAAW,CAAC,GAAG,CAAC;YACtC,IAAI,EAAE,iBAAiB,CAAC,WAAW,CAAC,IAAI,CAAC;SAC1C,CAAC;IACJ,CAAC;IAED,OAAO,GAAG,CAAC;AACb,CAAC;AAED,SAAS,kBAAkB,CACzB,UAAgE;IAEhE,IAAI,CAAC,UAAU,EAAE,CAAC;QAChB,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,OAAO;QACL,MAAM,EAAE,kBAAkB,CAAC,UAAU,CAAC,MAAM,CAAC;QAC7C,MAAM,EAAE,kBAAkB,CAAC,UAAU,CAAC,MAAM,CAAC;QAC7C,MAAM,EAAE,kBAAkB,CAAC,UAAU,CAAC,MAAM,CAAC;QAC7C,MAAM,EAAE,kBAAkB,CAAC,UAAU,CAAC,MAAM,CAAC;KAC9C,CAAC;AACJ,CAAC;AAED,SAAS,kBAAkB,CACzB,KAAoD;IAEpD,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,OAAO,KAAK,CAAC,GAAG,CACd,IAAI,CAAC,EAAE,CACL;QACE,OAAO;QAEL,IAAI,CAAC,WAA6B,CAGnC,CAAC,GAAG;KACG,CACb,CAAC;AACJ,CAAC;AAED,SAAS,mBAAmB,CAC1B,WAEa;IAEb,IAAI,CAAC,WAAW,EAAE,CAAC;QACjB,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,MAAM,GAAG,GAA+C,EAAE,CAAC;IAC3D,KAAK,MAAM,CAAC,UAAU,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE,CAAC;QAC9D,GAAG,CAAC,UAAU,CAAC,GAAG;YAChB,MAAM,EAAE,kBAAkB,CAAC,KAAK,CAAC,MAAM,CAAC;YACxC,MAAM,EAAE,kBAAkB,CAAC,KAAK,CAAC,MAAM,CAAC;YACxC,MAAM,EAAE,kBAAkB,CAAC,KAAK,CAAC,MAAM,CAAC;YACxC,MAAM,EAAE,kBAAkB,CAAC,KAAK,CAAC,MAAM,CAAC;SACzC,CAAC;IACJ,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAED,SAAS,gBAAgB,CACvB,QAAyE;IAEzE,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,OAAO;QACL,MAAM,EAAE,oBAAoB,CAAC,QAAQ,CAAC,MAAM,CAAC;QAC7C,MAAM,EAAE,oBAAoB,CAAC,QAAQ,CAAC,MAAM,CAAC;QAC7C,MAAM,EAAE,oBAAoB,CAAC,QAAQ,CAAC,MAAM,CAAC;QAC7C,MAAM,EAAE,oBAAoB,CAAC,QAAQ,CAAC,MAAM,CAAC;KAC9C,CAAC;AACJ,CAAC;AAED,SAAS,oBAAoB,CAC3B,KAA+D;IAE/D,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,OAAO,KAAK,CAAC,GAAG,CACd,IAAI,CAAC,EAAE,CACL;QACE,OAAO;QAEL,IAAI,CACF,WAA6B,EAC7B,iBAA8C,CAIjD,CAAC,GAAG;KACG,CACb,CAAC;AACJ,CAAC;AAED,SAAS,iBAAiB,CACxB,SAEa;IAEb,IAAI,CAAC,SAAS,EAAE,CAAC;QACf,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,MAAM,GAAG,GAA+C,EAAE,CAAC;IAC3D,KAAK,MAAM,CAAC,UAAU,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,CAAC;QAC5D,GAAG,CAAC,UAAU,CAAC,GAAG;YAChB,MAAM,EAAE,oBAAoB,CAAC,KAAK,CAAC,MAAM,CAAC;YAC1C,MAAM,EAAE,oBAAoB,CAAC,KAAK,CAAC,MAAM,CAAC;YAC1C,MAAM,EAAE,oBAAoB,CAAC,KAAK,CAAC,MAAM,CAAC;YAC1C,MAAM,EAAE,oBAAoB,CAAC,KAAK,CAAC,MAAM,CAAC;SAC3C,CAAC;IACJ,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"refs.d.ts","sourceRoot":"","sources":["../../../../../zero-cache/src/config/refs.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,WAAW,IAQvB,CAAC;AAEF,eAAO,MAAM,iBAAiB,IAQ7B,CAAC"}
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
import { staticParam } from '../../../zql/src/query/query-impl.js';
|
|
2
|
-
export const authDataRef = new Proxy({}, {
|
|
3
|
-
get(_target, prop, _receiver) {
|
|
4
|
-
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
5
|
-
return staticParam('authData', prop);
|
|
6
|
-
},
|
|
7
|
-
});
|
|
8
|
-
export const preMutationRowRef = new Proxy({}, {
|
|
9
|
-
get(_target, prop, _receiver) {
|
|
10
|
-
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
11
|
-
return staticParam('preMutationRow', prop);
|
|
12
|
-
},
|
|
13
|
-
});
|
|
14
|
-
//# sourceMappingURL=refs.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"refs.js","sourceRoot":"","sources":["../../../../../zero-cache/src/config/refs.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,WAAW,EAAC,MAAM,sCAAsC,CAAC;AAEjE,MAAM,CAAC,MAAM,WAAW,GAAG,IAAI,KAAK,CAClC,EAAE,EACF;IACE,GAAG,CAAC,OAAO,EAAE,IAAI,EAAE,SAAS;QAC1B,8DAA8D;QAC9D,OAAO,WAAW,CAAW,UAAU,EAAE,IAAc,CAAC,CAAC;IAC3D,CAAC;CACF,CACF,CAAC;AAEF,MAAM,CAAC,MAAM,iBAAiB,GAAG,IAAI,KAAK,CACxC,EAAE,EACF;IACE,GAAG,CAAC,OAAO,EAAE,IAAI,EAAE,SAAS;QAC1B,8DAA8D;QAC9D,OAAO,WAAW,CAAW,gBAAgB,EAAE,IAAc,CAAC,CAAC;IACjE,CAAC;CACF,CACF,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"normalized-schema.d.ts","sourceRoot":"","sources":["../../../../../zero-client/src/client/normalized-schema.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,qBAAqB,EAGtB,MAAM,oDAAoD,CAAC;AAC5D,OAAO,KAAK,EAAC,MAAM,EAAC,MAAM,iCAAiC,CAAC;AAE5D;;;;;GAKG;AACH,wBAAgB,eAAe,CAAC,MAAM,EAAE,MAAM,GAAG,gBAAgB,CAKhE;AAED,qBAAa,gBAAgB;IAC3B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,MAAM,EAAE;QACf,QAAQ,EAAE,KAAK,EAAE,MAAM,GAAG,qBAAqB,CAAC;KACjD,CAAC;gBAEU,MAAM,EAAE,MAAM;CAI3B"}
|
|
@@ -1,31 +0,0 @@
|
|
|
1
|
-
import { sortedEntries } from '../../../shared/src/sorted-entries.js';
|
|
2
|
-
import { NormalizedTableSchema, normalizeTableSchemaWithCache, } from '../../../zero-schema/src/normalize-table-schema.js';
|
|
3
|
-
/**
|
|
4
|
-
* Creates a normalized schema from a schema.
|
|
5
|
-
*
|
|
6
|
-
* A normalized schema has all the keys sorted and the primary key and the
|
|
7
|
-
* primary key columns are checked to be valid.
|
|
8
|
-
*/
|
|
9
|
-
export function normalizeSchema(schema) {
|
|
10
|
-
if (schema instanceof NormalizedSchema) {
|
|
11
|
-
return schema;
|
|
12
|
-
}
|
|
13
|
-
return new NormalizedSchema(schema);
|
|
14
|
-
}
|
|
15
|
-
export class NormalizedSchema {
|
|
16
|
-
version;
|
|
17
|
-
tables;
|
|
18
|
-
constructor(schema) {
|
|
19
|
-
this.version = schema.version;
|
|
20
|
-
this.tables = normalizeTables(schema.tables);
|
|
21
|
-
}
|
|
22
|
-
}
|
|
23
|
-
function normalizeTables(tables) {
|
|
24
|
-
const rv = {};
|
|
25
|
-
const tableSchemaCache = new Map();
|
|
26
|
-
for (const [name, table] of sortedEntries(tables)) {
|
|
27
|
-
rv[name] = normalizeTableSchemaWithCache(table, name, tableSchemaCache);
|
|
28
|
-
}
|
|
29
|
-
return rv;
|
|
30
|
-
}
|
|
31
|
-
//# sourceMappingURL=normalized-schema.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"normalized-schema.js","sourceRoot":"","sources":["../../../../../zero-client/src/client/normalized-schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,aAAa,EAAC,MAAM,uCAAuC,CAAC;AAEpE,OAAO,EACL,qBAAqB,EACrB,6BAA6B,GAE9B,MAAM,oDAAoD,CAAC;AAG5D;;;;;GAKG;AACH,MAAM,UAAU,eAAe,CAAC,MAAc;IAC5C,IAAI,MAAM,YAAY,gBAAgB,EAAE,CAAC;QACvC,OAAO,MAAM,CAAC;IAChB,CAAC;IACD,OAAO,IAAI,gBAAgB,CAAC,MAAM,CAAC,CAAC;AACtC,CAAC;AAED,MAAM,OAAO,gBAAgB;IAClB,OAAO,CAAS;IAChB,MAAM,CAEb;IAEF,YAAY,MAAc;QACxB,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC;QAC9B,IAAI,CAAC,MAAM,GAAG,eAAe,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IAC/C,CAAC;CACF;AAED,SAAS,eAAe,CAAC,MAAwB;IAG/C,MAAM,EAAE,GAEH,EAAE,CAAC;IACR,MAAM,gBAAgB,GAAqB,IAAI,GAAG,EAAE,CAAC;IACrD,KAAK,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,aAAa,CAAC,MAAM,CAAC,EAAE,CAAC;QAClD,EAAE,CAAC,IAAI,CAAC,GAAG,6BAA6B,CAAC,KAAK,EAAE,IAAI,EAAE,gBAAgB,CAAC,CAAC;IAC1E,CAAC;IACD,OAAO,EAAE,CAAC;AACZ,CAAC"}
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
import { h64 } from '../../shared/src/xxhash.js';
|
|
2
|
-
import { normalizeAST } from './ast.js';
|
|
3
|
-
const hashCache = new WeakMap();
|
|
4
|
-
export function hashOfAST(ast) {
|
|
5
|
-
const normalized = normalizeAST(ast);
|
|
6
|
-
const cached = hashCache.get(normalized);
|
|
7
|
-
if (cached) {
|
|
8
|
-
return cached;
|
|
9
|
-
}
|
|
10
|
-
const hash = h64(JSON.stringify(normalized)).toString(36);
|
|
11
|
-
hashCache.set(normalized, hash);
|
|
12
|
-
return hash;
|
|
13
|
-
}
|
|
14
|
-
//# sourceMappingURL=ast-hash.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ast-hash.js","sourceRoot":"","sources":["../../../../zero-protocol/src/ast-hash.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,GAAG,EAAC,MAAM,4BAA4B,CAAC;AAC/C,OAAO,EAAC,YAAY,EAAW,MAAM,UAAU,CAAC;AAEhD,MAAM,SAAS,GAAG,IAAI,OAAO,EAAe,CAAC;AAE7C,MAAM,UAAU,SAAS,CAAC,GAAQ;IAChC,MAAM,UAAU,GAAG,YAAY,CAAC,GAAG,CAAC,CAAC;IACrC,MAAM,MAAM,GAAG,SAAS,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;IACzC,IAAI,MAAM,EAAE,CAAC;QACX,OAAO,MAAM,CAAC;IAChB,CAAC;IACD,MAAM,IAAI,GAAG,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;IAC1D,SAAS,CAAC,GAAG,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;IAChC,OAAO,IAAI,CAAC;AACd,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"mod.js","sourceRoot":"","sources":["../../../../zero-schema/src/mod.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,SAAS,EAAC,MAAM,mCAAmC,CAAC;AAC5D,OAAO,EACL,iBAAiB,GAGlB,MAAM,mBAAmB,CAAC;AAC3B,cAAc,aAAa,CAAC"}
|