@contractspec/example.analytics-dashboard 1.56.1 → 1.58.0
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/dist/browser/dashboard/dashboard.enum.js +34 -0
- package/dist/browser/dashboard/dashboard.operation.js +289 -0
- package/dist/browser/dashboard/dashboard.presentation.js +197 -0
- package/dist/browser/dashboard/dashboard.schema.js +126 -0
- package/dist/browser/dashboard/dashboard.test-spec.js +213 -0
- package/dist/browser/dashboard/index.js +299 -0
- package/dist/browser/dashboard.feature.js +84 -0
- package/dist/browser/datasource/posthog-datasource.js +289 -0
- package/dist/browser/docs/analytics-dashboard.docblock.js +103 -0
- package/dist/browser/docs/index.js +103 -0
- package/dist/browser/events.js +81 -0
- package/dist/browser/example.js +42 -0
- package/dist/browser/handlers/analytics.handlers.js +278 -0
- package/dist/browser/handlers/index.js +571 -0
- package/dist/browser/handlers/query.handlers.js +294 -0
- package/dist/browser/index.js +1677 -0
- package/dist/browser/query/index.js +159 -0
- package/dist/browser/query/query.enum.js +11 -0
- package/dist/browser/query/query.operation.js +154 -0
- package/dist/browser/query/query.presentation.js +119 -0
- package/dist/browser/query/query.schema.js +70 -0
- package/dist/browser/query/query.test-spec.js +113 -0
- package/dist/browser/query-engine/index.js +491 -0
- package/dist/browser/seeders/index.js +20 -0
- package/dist/browser/ui/AnalyticsDashboard.js +394 -0
- package/dist/browser/ui/hooks/index.js +69 -0
- package/dist/browser/ui/hooks/useAnalyticsData.js +66 -0
- package/dist/browser/ui/index.js +671 -0
- package/dist/browser/ui/renderers/analytics.markdown.js +275 -0
- package/dist/browser/ui/renderers/index.js +275 -0
- package/dist/dashboard/dashboard.enum.d.ts +3 -8
- package/dist/dashboard/dashboard.enum.d.ts.map +1 -1
- package/dist/dashboard/dashboard.enum.js +31 -39
- package/dist/dashboard/dashboard.operation.d.ts +444 -450
- package/dist/dashboard/dashboard.operation.d.ts.map +1 -1
- package/dist/dashboard/dashboard.operation.js +284 -207
- package/dist/dashboard/dashboard.presentation.d.ts +3 -8
- package/dist/dashboard/dashboard.presentation.d.ts.map +1 -1
- package/dist/dashboard/dashboard.presentation.js +193 -85
- package/dist/dashboard/dashboard.schema.d.ts +289 -294
- package/dist/dashboard/dashboard.schema.d.ts.map +1 -1
- package/dist/dashboard/dashboard.schema.js +119 -228
- package/dist/dashboard/dashboard.test-spec.d.ts +4 -9
- package/dist/dashboard/dashboard.test-spec.d.ts.map +1 -1
- package/dist/dashboard/dashboard.test-spec.js +209 -228
- package/dist/dashboard/index.d.ts +7 -4
- package/dist/dashboard/index.d.ts.map +1 -0
- package/dist/dashboard/index.js +299 -4
- package/dist/dashboard.feature.d.ts +1 -7
- package/dist/dashboard.feature.d.ts.map +1 -1
- package/dist/dashboard.feature.js +83 -175
- package/dist/datasource/posthog-datasource.d.ts +18 -0
- package/dist/datasource/posthog-datasource.d.ts.map +1 -0
- package/dist/datasource/posthog-datasource.js +290 -0
- package/dist/docs/analytics-dashboard.docblock.d.ts +2 -1
- package/dist/docs/analytics-dashboard.docblock.d.ts.map +1 -0
- package/dist/docs/analytics-dashboard.docblock.js +46 -56
- package/dist/docs/index.d.ts +2 -1
- package/dist/docs/index.d.ts.map +1 -0
- package/dist/docs/index.js +104 -1
- package/dist/events.d.ts +109 -115
- package/dist/events.d.ts.map +1 -1
- package/dist/events.js +74 -120
- package/dist/example.d.ts +2 -6
- package/dist/example.d.ts.map +1 -1
- package/dist/example.js +40 -55
- package/dist/handlers/analytics.handlers.d.ts +110 -110
- package/dist/handlers/analytics.handlers.d.ts.map +1 -1
- package/dist/handlers/analytics.handlers.js +267 -298
- package/dist/handlers/index.d.ts +3 -2
- package/dist/handlers/index.d.ts.map +1 -0
- package/dist/handlers/index.js +571 -2
- package/dist/handlers/query.handlers.d.ts +9 -0
- package/dist/handlers/query.handlers.d.ts.map +1 -0
- package/dist/handlers/query.handlers.js +295 -0
- package/dist/index.d.ts +12 -12
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +1678 -13
- package/dist/node/dashboard/dashboard.enum.js +34 -0
- package/dist/node/dashboard/dashboard.operation.js +289 -0
- package/dist/node/dashboard/dashboard.presentation.js +197 -0
- package/dist/node/dashboard/dashboard.schema.js +126 -0
- package/dist/node/dashboard/dashboard.test-spec.js +213 -0
- package/dist/node/dashboard/index.js +299 -0
- package/dist/node/dashboard.feature.js +84 -0
- package/dist/node/datasource/posthog-datasource.js +289 -0
- package/dist/node/docs/analytics-dashboard.docblock.js +103 -0
- package/dist/node/docs/index.js +103 -0
- package/dist/node/events.js +81 -0
- package/dist/node/example.js +42 -0
- package/dist/node/handlers/analytics.handlers.js +278 -0
- package/dist/node/handlers/index.js +571 -0
- package/dist/node/handlers/query.handlers.js +294 -0
- package/dist/node/index.js +1677 -0
- package/dist/node/query/index.js +159 -0
- package/dist/node/query/query.enum.js +11 -0
- package/dist/node/query/query.operation.js +154 -0
- package/dist/node/query/query.presentation.js +119 -0
- package/dist/node/query/query.schema.js +70 -0
- package/dist/node/query/query.test-spec.js +113 -0
- package/dist/node/query-engine/index.js +491 -0
- package/dist/node/seeders/index.js +20 -0
- package/dist/node/ui/AnalyticsDashboard.js +394 -0
- package/dist/node/ui/hooks/index.js +69 -0
- package/dist/node/ui/hooks/useAnalyticsData.js +66 -0
- package/dist/node/ui/index.js +671 -0
- package/dist/node/ui/renderers/analytics.markdown.js +275 -0
- package/dist/node/ui/renderers/index.js +275 -0
- package/dist/query/index.d.ts +7 -4
- package/dist/query/index.d.ts.map +1 -0
- package/dist/query/index.js +159 -4
- package/dist/query/query.enum.d.ts +1 -6
- package/dist/query/query.enum.d.ts.map +1 -1
- package/dist/query/query.enum.js +10 -14
- package/dist/query/query.operation.d.ts +148 -154
- package/dist/query/query.operation.d.ts.map +1 -1
- package/dist/query/query.operation.js +151 -109
- package/dist/query/query.presentation.d.ts +2 -7
- package/dist/query/query.presentation.d.ts.map +1 -1
- package/dist/query/query.presentation.js +116 -56
- package/dist/query/query.schema.d.ts +121 -126
- package/dist/query/query.schema.d.ts.map +1 -1
- package/dist/query/query.schema.js +66 -152
- package/dist/query/query.test-spec.d.ts +2 -7
- package/dist/query/query.test-spec.d.ts.map +1 -1
- package/dist/query/query.test-spec.js +111 -121
- package/dist/query-engine/index.d.ts +84 -86
- package/dist/query-engine/index.d.ts.map +1 -1
- package/dist/query-engine/index.js +490 -187
- package/dist/seeders/index.d.ts +4 -8
- package/dist/seeders/index.d.ts.map +1 -1
- package/dist/seeders/index.js +18 -16
- package/dist/ui/AnalyticsDashboard.d.ts +1 -6
- package/dist/ui/AnalyticsDashboard.d.ts.map +1 -1
- package/dist/ui/AnalyticsDashboard.js +389 -259
- package/dist/ui/hooks/index.d.ts +2 -2
- package/dist/ui/hooks/index.d.ts.map +1 -0
- package/dist/ui/hooks/index.js +69 -4
- package/dist/ui/hooks/useAnalyticsData.d.ts +16 -20
- package/dist/ui/hooks/useAnalyticsData.d.ts.map +1 -1
- package/dist/ui/hooks/useAnalyticsData.js +63 -69
- package/dist/ui/index.d.ts +7 -6
- package/dist/ui/index.d.ts.map +1 -0
- package/dist/ui/index.js +671 -5
- package/dist/ui/renderers/analytics.markdown.d.ts +13 -15
- package/dist/ui/renderers/analytics.markdown.d.ts.map +1 -1
- package/dist/ui/renderers/analytics.markdown.js +266 -254
- package/dist/ui/renderers/index.d.ts +2 -2
- package/dist/ui/renderers/index.d.ts.map +1 -0
- package/dist/ui/renderers/index.js +275 -2
- package/package.json +329 -62
- package/dist/dashboard/dashboard.enum.js.map +0 -1
- package/dist/dashboard/dashboard.operation.js.map +0 -1
- package/dist/dashboard/dashboard.presentation.js.map +0 -1
- package/dist/dashboard/dashboard.schema.js.map +0 -1
- package/dist/dashboard/dashboard.test-spec.js.map +0 -1
- package/dist/dashboard.feature.js.map +0 -1
- package/dist/docs/analytics-dashboard.docblock.js.map +0 -1
- package/dist/events.js.map +0 -1
- package/dist/example.js.map +0 -1
- package/dist/handlers/analytics.handlers.js.map +0 -1
- package/dist/query/query.enum.js.map +0 -1
- package/dist/query/query.operation.js.map +0 -1
- package/dist/query/query.presentation.js.map +0 -1
- package/dist/query/query.schema.js.map +0 -1
- package/dist/query/query.test-spec.js.map +0 -1
- package/dist/query-engine/index.js.map +0 -1
- package/dist/seeders/index.js.map +0 -1
- package/dist/ui/AnalyticsDashboard.js.map +0 -1
- package/dist/ui/hooks/useAnalyticsData.js.map +0 -1
- package/dist/ui/renderers/analytics.markdown.js.map +0 -1
|
@@ -1,124 +1,114 @@
|
|
|
1
|
+
// @bun
|
|
2
|
+
// src/query/query.test-spec.ts
|
|
1
3
|
import { defineTestSpec } from "@contractspec/lib.contracts";
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
sql: ""
|
|
56
|
-
}
|
|
57
|
-
},
|
|
58
|
-
then: [{
|
|
59
|
-
type: "expectError",
|
|
60
|
-
messageIncludes: "VALIDATION_ERROR"
|
|
61
|
-
}]
|
|
62
|
-
}]
|
|
4
|
+
var CreateQueryTest = defineTestSpec({
|
|
5
|
+
meta: {
|
|
6
|
+
key: "analytics.query.create.test",
|
|
7
|
+
version: "1.0.0",
|
|
8
|
+
title: "Create Query Test",
|
|
9
|
+
description: "Verifies query creation flow",
|
|
10
|
+
owners: ["@example.analytics-dashboard"],
|
|
11
|
+
tags: ["analytics", "query", "test"],
|
|
12
|
+
stability: "stable"
|
|
13
|
+
},
|
|
14
|
+
target: {
|
|
15
|
+
type: "operation",
|
|
16
|
+
operation: { key: "analytics.query.create", version: "1.0.0" }
|
|
17
|
+
},
|
|
18
|
+
scenarios: [
|
|
19
|
+
{
|
|
20
|
+
key: "success",
|
|
21
|
+
description: "Successfully create a query",
|
|
22
|
+
when: {
|
|
23
|
+
operation: { key: "analytics.query.create", version: "1.0.0" },
|
|
24
|
+
input: {
|
|
25
|
+
name: "Revenue Query",
|
|
26
|
+
sql: "SELECT * FROM revenue"
|
|
27
|
+
}
|
|
28
|
+
},
|
|
29
|
+
then: [
|
|
30
|
+
{
|
|
31
|
+
type: "expectOutput",
|
|
32
|
+
match: {
|
|
33
|
+
name: "Revenue Query",
|
|
34
|
+
type: "sql"
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
]
|
|
38
|
+
},
|
|
39
|
+
{
|
|
40
|
+
key: "error-invalid-sql",
|
|
41
|
+
description: "Fail with invalid SQL",
|
|
42
|
+
when: {
|
|
43
|
+
operation: { key: "analytics.query.create", version: "1.0.0" },
|
|
44
|
+
input: {
|
|
45
|
+
name: "Bad Query",
|
|
46
|
+
sql: ""
|
|
47
|
+
}
|
|
48
|
+
},
|
|
49
|
+
then: [
|
|
50
|
+
{
|
|
51
|
+
type: "expectError",
|
|
52
|
+
messageIncludes: "VALIDATION_ERROR"
|
|
53
|
+
}
|
|
54
|
+
]
|
|
55
|
+
}
|
|
56
|
+
]
|
|
63
57
|
});
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
type: "expectError",
|
|
117
|
-
messageIncludes: "NOT_FOUND"
|
|
118
|
-
}]
|
|
119
|
-
}]
|
|
58
|
+
var ExecuteQueryTest = defineTestSpec({
|
|
59
|
+
meta: {
|
|
60
|
+
key: "analytics.query.execute.test",
|
|
61
|
+
version: "1.0.0",
|
|
62
|
+
title: "Execute Query Test",
|
|
63
|
+
description: "Verifies query execution",
|
|
64
|
+
owners: ["@example.analytics-dashboard"],
|
|
65
|
+
tags: ["analytics", "query", "test"],
|
|
66
|
+
stability: "stable"
|
|
67
|
+
},
|
|
68
|
+
target: {
|
|
69
|
+
type: "operation",
|
|
70
|
+
operation: { key: "analytics.query.execute", version: "1.0.0" }
|
|
71
|
+
},
|
|
72
|
+
scenarios: [
|
|
73
|
+
{
|
|
74
|
+
key: "success",
|
|
75
|
+
description: "Successfully execute query",
|
|
76
|
+
when: {
|
|
77
|
+
operation: { key: "analytics.query.execute", version: "1.0.0" },
|
|
78
|
+
input: {
|
|
79
|
+
queryId: "q-123",
|
|
80
|
+
params: { limit: 10 }
|
|
81
|
+
}
|
|
82
|
+
},
|
|
83
|
+
then: [
|
|
84
|
+
{
|
|
85
|
+
type: "expectOutput",
|
|
86
|
+
match: {
|
|
87
|
+
rowCount: 1
|
|
88
|
+
}
|
|
89
|
+
}
|
|
90
|
+
]
|
|
91
|
+
},
|
|
92
|
+
{
|
|
93
|
+
key: "error-query-not-found",
|
|
94
|
+
description: "Fail when query not found",
|
|
95
|
+
when: {
|
|
96
|
+
operation: { key: "analytics.query.execute", version: "1.0.0" },
|
|
97
|
+
input: {
|
|
98
|
+
queryId: "q-999",
|
|
99
|
+
params: {}
|
|
100
|
+
}
|
|
101
|
+
},
|
|
102
|
+
then: [
|
|
103
|
+
{
|
|
104
|
+
type: "expectError",
|
|
105
|
+
messageIncludes: "NOT_FOUND"
|
|
106
|
+
}
|
|
107
|
+
]
|
|
108
|
+
}
|
|
109
|
+
]
|
|
120
110
|
});
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
111
|
+
export {
|
|
112
|
+
ExecuteQueryTest,
|
|
113
|
+
CreateQueryTest
|
|
114
|
+
};
|
|
@@ -1,106 +1,104 @@
|
|
|
1
|
-
//#region src/query-engine/index.d.ts
|
|
2
1
|
/**
|
|
3
2
|
* Analytics Query Engine
|
|
4
3
|
*
|
|
5
4
|
* Provides query execution and caching for analytics dashboards.
|
|
6
5
|
*/
|
|
7
|
-
interface QueryDefinition {
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
6
|
+
export interface QueryDefinition {
|
|
7
|
+
type: 'SQL' | 'METRIC' | 'AGGREGATION' | 'CUSTOM';
|
|
8
|
+
sql?: string;
|
|
9
|
+
metricIds?: string[];
|
|
10
|
+
aggregation?: AggregationDefinition;
|
|
11
|
+
custom?: CustomQueryDefinition;
|
|
13
12
|
}
|
|
14
|
-
interface AggregationDefinition {
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
13
|
+
export interface AggregationDefinition {
|
|
14
|
+
source: string;
|
|
15
|
+
measures: MeasureDefinition[];
|
|
16
|
+
dimensions: DimensionDefinition[];
|
|
17
|
+
filters?: FilterDefinition[];
|
|
18
|
+
orderBy?: OrderByDefinition[];
|
|
19
|
+
limit?: number;
|
|
21
20
|
}
|
|
22
|
-
interface MeasureDefinition {
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
21
|
+
export interface MeasureDefinition {
|
|
22
|
+
name: string;
|
|
23
|
+
field: string;
|
|
24
|
+
aggregation: 'COUNT' | 'SUM' | 'AVG' | 'MIN' | 'MAX' | 'COUNT_DISTINCT';
|
|
25
|
+
format?: string;
|
|
27
26
|
}
|
|
28
|
-
interface DimensionDefinition {
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
27
|
+
export interface DimensionDefinition {
|
|
28
|
+
name: string;
|
|
29
|
+
field: string;
|
|
30
|
+
type?: 'TIME' | 'STRING' | 'NUMBER';
|
|
31
|
+
granularity?: 'HOUR' | 'DAY' | 'WEEK' | 'MONTH' | 'YEAR';
|
|
33
32
|
}
|
|
34
|
-
interface FilterDefinition {
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
33
|
+
export interface FilterDefinition {
|
|
34
|
+
field: string;
|
|
35
|
+
operator: 'eq' | 'neq' | 'gt' | 'gte' | 'lt' | 'lte' | 'in' | 'nin' | 'contains' | 'between';
|
|
36
|
+
value: unknown;
|
|
38
37
|
}
|
|
39
|
-
interface OrderByDefinition {
|
|
40
|
-
|
|
41
|
-
|
|
38
|
+
export interface OrderByDefinition {
|
|
39
|
+
field: string;
|
|
40
|
+
direction: 'ASC' | 'DESC';
|
|
42
41
|
}
|
|
43
|
-
interface CustomQueryDefinition {
|
|
44
|
-
|
|
45
|
-
|
|
42
|
+
export interface CustomQueryDefinition {
|
|
43
|
+
handler: string;
|
|
44
|
+
parameters: Record<string, unknown>;
|
|
46
45
|
}
|
|
47
|
-
interface QueryParameters {
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
46
|
+
export interface QueryParameters {
|
|
47
|
+
dateRange?: {
|
|
48
|
+
start: Date;
|
|
49
|
+
end: Date;
|
|
50
|
+
granularity?: string;
|
|
51
|
+
};
|
|
52
|
+
filters?: FilterDefinition[];
|
|
53
|
+
parameters?: Record<string, unknown>;
|
|
55
54
|
}
|
|
56
|
-
interface QueryResult {
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
55
|
+
export interface QueryResult {
|
|
56
|
+
data: Record<string, unknown>[];
|
|
57
|
+
columns: ColumnDefinition[];
|
|
58
|
+
rowCount: number;
|
|
59
|
+
executionTimeMs: number;
|
|
60
|
+
cached: boolean;
|
|
61
|
+
cachedAt?: Date;
|
|
62
|
+
error?: string;
|
|
64
63
|
}
|
|
65
|
-
interface ColumnDefinition {
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
64
|
+
export interface ColumnDefinition {
|
|
65
|
+
name: string;
|
|
66
|
+
type: 'STRING' | 'NUMBER' | 'DATE' | 'BOOLEAN';
|
|
67
|
+
label?: string;
|
|
68
|
+
format?: string;
|
|
70
69
|
}
|
|
71
|
-
interface IQueryEngine {
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
70
|
+
export interface IQueryEngine {
|
|
71
|
+
execute(definition: QueryDefinition, params: QueryParameters): Promise<QueryResult>;
|
|
72
|
+
validateQuery(definition: QueryDefinition): {
|
|
73
|
+
valid: boolean;
|
|
74
|
+
errors: string[];
|
|
75
|
+
};
|
|
77
76
|
}
|
|
78
|
-
interface IQueryCache {
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
77
|
+
export interface IQueryCache {
|
|
78
|
+
get(key: string): Promise<QueryResult | null>;
|
|
79
|
+
set(key: string, result: QueryResult, ttlSeconds: number): Promise<void>;
|
|
80
|
+
invalidate(pattern: string): Promise<void>;
|
|
82
81
|
}
|
|
83
|
-
declare class InMemoryQueryCache implements IQueryCache {
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
82
|
+
export declare class InMemoryQueryCache implements IQueryCache {
|
|
83
|
+
private cache;
|
|
84
|
+
get(key: string): Promise<QueryResult | null>;
|
|
85
|
+
set(key: string, result: QueryResult, ttlSeconds: number): Promise<void>;
|
|
86
|
+
invalidate(pattern: string): Promise<void>;
|
|
88
87
|
}
|
|
89
|
-
declare class BasicQueryEngine implements IQueryEngine {
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
88
|
+
export declare class BasicQueryEngine implements IQueryEngine {
|
|
89
|
+
private cache;
|
|
90
|
+
constructor(cache?: IQueryCache);
|
|
91
|
+
execute(definition: QueryDefinition, params: QueryParameters): Promise<QueryResult>;
|
|
92
|
+
validateQuery(definition: QueryDefinition): {
|
|
93
|
+
valid: boolean;
|
|
94
|
+
errors: string[];
|
|
95
|
+
};
|
|
96
|
+
private buildCacheKey;
|
|
97
|
+
private executeAggregation;
|
|
98
|
+
private executeMetric;
|
|
99
|
+
private executeSql;
|
|
100
|
+
private generateMockData;
|
|
102
101
|
}
|
|
103
|
-
declare function createQueryEngine(cache?: IQueryCache): IQueryEngine;
|
|
104
|
-
|
|
105
|
-
export { AggregationDefinition, BasicQueryEngine, ColumnDefinition, CustomQueryDefinition, DimensionDefinition, FilterDefinition, IQueryCache, IQueryEngine, InMemoryQueryCache, MeasureDefinition, OrderByDefinition, QueryDefinition, QueryParameters, QueryResult, createQueryEngine };
|
|
102
|
+
export declare function createQueryEngine(cache?: IQueryCache): IQueryEngine;
|
|
103
|
+
export { PosthogQueryEngine, createPosthogQueryEngine, } from '../datasource/posthog-datasource';
|
|
106
104
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/query-engine/index.ts"],"names":[],"mappings":"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"}
|