@timescaledb/schemas
Version:
This package contains Zod schemas and types for all TimescaleDB objects.
36 lines • 1.34 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.GetTimeBucketOptionsSchema = exports.TimeBucketResultSchema = exports.TimeBucketRowSchema = exports.TimeBucketConfigSchema = exports.MetricConfigSchema = exports.TimeBucketMetricTypeSchema = void 0;
const zod_1 = require("zod");
const by_range_1 = require("./by-range");
exports.TimeBucketMetricTypeSchema = zod_1.z.enum([
'count',
'distinct_count',
'sum',
'avg',
'min',
'max',
'first',
'last',
]);
exports.MetricConfigSchema = zod_1.z.object({
type: exports.TimeBucketMetricTypeSchema,
column: zod_1.z.string().optional(),
alias: zod_1.z.string().optional(),
});
exports.TimeBucketConfigSchema = zod_1.z.object({
interval: zod_1.z.string(),
metrics: zod_1.z.array(exports.MetricConfigSchema),
});
exports.TimeBucketRowSchema = zod_1.z
.object({
interval: zod_1.z.string(),
})
.and(zod_1.z.record(zod_1.z.string(), zod_1.z.union([zod_1.z.number(), zod_1.z.string()])));
exports.TimeBucketResultSchema = zod_1.z.array(exports.TimeBucketRowSchema);
exports.GetTimeBucketOptionsSchema = zod_1.z.object({
range: by_range_1.ByRangeSchema.required(),
where: zod_1.z.string().optional(),
config: exports.TimeBucketConfigSchema.required(),
});
//# sourceMappingURL=time-bucket.js.map