@powerhousedao/analytics-engine-knex 0.6.1 → 0.6.2

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@powerhousedao/analytics-engine-knex",
3
- "version": "0.6.1",
3
+ "version": "0.6.2",
4
4
  "license": "AGPL-3.0-only",
5
5
  "repository": {
6
6
  "type": "git",
@@ -9,18 +9,24 @@
9
9
  "publishConfig": {
10
10
  "access": "public"
11
11
  },
12
- "exports": "./dist/src/index.js",
13
- "types": "./dist/src/index.d.ts",
14
12
  "type": "module",
13
+ "exports": {
14
+ ".": {
15
+ "types": "./dist/src/index.d.ts",
16
+ "default": "./build/index.js"
17
+ }
18
+ },
15
19
  "files": [
16
- "dist"
20
+ "./build/index.js",
21
+ "./build/index.js.map",
22
+ "./dist/index.d.ts"
17
23
  ],
18
24
  "dependencies": {
19
25
  "date-fns": "4.1.0",
20
26
  "knex": "3.1.0",
21
27
  "luxon": "3.7.2",
22
28
  "pg": "8.18.0",
23
- "@powerhousedao/analytics-engine-core": "0.6.1"
29
+ "@powerhousedao/analytics-engine-core": "0.6.2"
24
30
  },
25
31
  "devDependencies": {
26
32
  "@types/pg": "8.16.0",
@@ -29,6 +35,7 @@
29
35
  },
30
36
  "scripts": {
31
37
  "dev": "pnpm tsc -b -w",
38
+ "bundle": "bun run ./bundle.ts",
32
39
  "test": "vitest --run ./**/*.test.ts"
33
40
  }
34
41
  }
@@ -1,52 +0,0 @@
1
- import type { Knex } from "knex";
2
- import { AnalyticsPath, type AnalyticsSeries, type AnalyticsSeriesInput, type AnalyticsSeriesQuery, type IAnalyticsStore, type AnalyticsUpdateCallback } from "@powerhousedao/analytics-engine-core";
3
- export type AnalyticsSeriesRecord = {
4
- id: number;
5
- source: string;
6
- start: Date;
7
- end: Date | null;
8
- metric: string;
9
- value: number;
10
- unit: string | null;
11
- fn: string;
12
- params: Record<string, any> | null;
13
- [dimension: `dim_${string}`]: string;
14
- dimensionMetadata?: Record<string, string>;
15
- };
16
- /**
17
- * Using an interface here, so that a null implementation can be used in production,
18
- * without the added overhead of calling toString().
19
- */
20
- export interface IQuery {
21
- toString(): string;
22
- }
23
- export interface IKnexQueryExecutor {
24
- execute<T extends {}, U>(query: Knex.QueryBuilder<T, U>): Promise<any>;
25
- }
26
- export type KnexAnalyticsStoreOptions = {
27
- executor: IKnexQueryExecutor;
28
- knex: Knex;
29
- };
30
- export declare class KnexAnalyticsStore implements IAnalyticsStore {
31
- protected readonly _executor: IKnexQueryExecutor;
32
- protected readonly _knex: Knex;
33
- private readonly _subscriptionManager;
34
- constructor({ executor, knex }: KnexAnalyticsStoreOptions);
35
- destroy(): void;
36
- clearSeriesBySource(source: AnalyticsPath, cleanUpDimensions?: boolean): Promise<number>;
37
- clearEmptyAnalyticsDimensions(): Promise<any>;
38
- getMatchingSeries(query: AnalyticsSeriesQuery): Promise<AnalyticsSeries[]>;
39
- addSeriesValue(input: AnalyticsSeriesInput): Promise<void>;
40
- addSeriesValues(inputs: AnalyticsSeriesInput[]): Promise<void>;
41
- private _formatQueryRecords;
42
- private _buildViewQuery;
43
- private _buildDimensionQuery;
44
- private _linkDimensions;
45
- private _createDimensionPath;
46
- private addDimensionMetadata;
47
- getDimensions(): Promise<any>;
48
- getMetrics(): Promise<any>;
49
- getCurrencies(): Promise<any>;
50
- subscribeToSource(path: AnalyticsPath, callback: AnalyticsUpdateCallback): () => void;
51
- }
52
- //# sourceMappingURL=KnexAnalyticsStore.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"KnexAnalyticsStore.d.ts","sourceRoot":"","sources":["../../src/KnexAnalyticsStore.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAEjC,OAAO,EACL,aAAa,EACb,KAAK,eAAe,EACpB,KAAK,oBAAoB,EACzB,KAAK,oBAAoB,EAEzB,KAAK,eAAe,EACpB,KAAK,uBAAuB,EAE7B,MAAM,sCAAsC,CAAC;AAK9C,MAAM,MAAM,qBAAqB,GAAG;IAClC,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,IAAI,CAAC;IACZ,GAAG,EAAE,IAAI,GAAG,IAAI,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACpB,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,IAAI,CAAC;IACnC,CAAC,SAAS,EAAE,OAAO,MAAM,EAAE,GAAG,MAAM,CAAC;IACrC,iBAAiB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAC5C,CAAC;AAEF;;;GAGG;AACH,MAAM,WAAW,MAAM;IACrB,QAAQ,IAAI,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,kBAAkB;IACjC,OAAO,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC;CACxE;AAED,MAAM,MAAM,yBAAyB,GAAG;IACtC,QAAQ,EAAE,kBAAkB,CAAC;IAC7B,IAAI,EAAE,IAAI,CAAC;CACZ,CAAC;AAEF,qBAAa,kBAAmB,YAAW,eAAe;IACxD,SAAS,CAAC,QAAQ,CAAC,SAAS,EAAE,kBAAkB,CAAC;IACjD,SAAS,CAAC,QAAQ,CAAC,KAAK,EAAE,IAAI,CAAC;IAC/B,OAAO,CAAC,QAAQ,CAAC,oBAAoB,CACA;gBAElB,EAAE,QAAQ,EAAE,IAAI,EAAE,EAAE,yBAAyB;IAKzD,OAAO;IAID,mBAAmB,CAC9B,MAAM,EAAE,aAAa,EACrB,iBAAiB,GAAE,OAAe,GACjC,OAAO,CAAC,MAAM,CAAC;IAgBL,6BAA6B;IAa7B,iBAAiB,CAC5B,KAAK,EAAE,oBAAoB,GAC1B,OAAO,CAAC,eAAe,EAAE,CAAC;IAuChB,cAAc,CAAC,KAAK,EAAE,oBAAoB;IAI1C,eAAe,CAAC,MAAM,EAAE,oBAAoB,EAAE;IAyD3D,OAAO,CAAC,mBAAmB;IAoC3B,OAAO,CAAC,eAAe;IA0BvB,OAAO,CAAC,oBAAoB;YAWd,eAAe;YA8Bf,oBAAoB;YAUpB,oBAAoB;IAoBrB,aAAa;IAqCb,UAAU;IAuBV,aAAa;IAUnB,iBAAiB,CACtB,IAAI,EAAE,aAAa,EACnB,QAAQ,EAAE,uBAAuB,GAChC,MAAM,IAAI;CAGd"}
@@ -1,256 +0,0 @@
1
- import { DateTime } from "luxon";
2
- import { AnalyticsPath, AnalyticsSubscriptionManager, } from "@powerhousedao/analytics-engine-core";
3
- import { toPascalCase } from "./util.js";
4
- export class KnexAnalyticsStore {
5
- _executor;
6
- _knex;
7
- _subscriptionManager = new AnalyticsSubscriptionManager();
8
- constructor({ executor, knex }) {
9
- this._executor = executor;
10
- this._knex = knex;
11
- }
12
- destroy() {
13
- this._knex.destroy();
14
- }
15
- async clearSeriesBySource(source, cleanUpDimensions = false) {
16
- const query = this._knex("AnalyticsSeries")
17
- .whereLike("source", source.toString("/%"))
18
- .delete();
19
- let result = await this._executor.execute(query);
20
- if (cleanUpDimensions) {
21
- result += await this.clearEmptyAnalyticsDimensions();
22
- }
23
- this._subscriptionManager.notifySubscribers([source]);
24
- return result;
25
- }
26
- async clearEmptyAnalyticsDimensions() {
27
- const query = this._knex("AnalyticsDimension AS AD")
28
- .whereNotExists((q) => q
29
- .select("*")
30
- .from("AnalyticsSeries_AnalyticsDimension AS ASAD")
31
- .where("ASAD.dimensionId", this._knex.ref("AD.id")))
32
- .delete();
33
- return await this._executor.execute(query);
34
- }
35
- async getMatchingSeries(query) {
36
- const units = query.currency ? query.currency.firstSegment().filters : null;
37
- const analyticsView = this._buildViewQuery("AV", Object.keys(query.select), query.metrics.map((m) => m), units, query.end);
38
- const baseQuery = this._knex(this._knex.raw(analyticsView)).select("AV.*");
39
- // Add dimension filter(s)
40
- for (const [dimension, paths] of Object.entries(query.select)) {
41
- baseQuery.leftJoin(`AnalyticsDimension as ${dimension}`, (q) => {
42
- q.on(`${dimension}.path`, `dim_${dimension}`);
43
- });
44
- baseQuery.select(`${dimension}.icon as dim_icon`);
45
- baseQuery.select(`${dimension}.description as dim_description`);
46
- baseQuery.select(`${dimension}.label as dim_label`);
47
- if (paths.length == 1) {
48
- baseQuery.andWhereLike(`dim_${dimension}`, paths[0].toString("/%"));
49
- }
50
- else if (paths.length > 1) {
51
- baseQuery.andWhere((q) => {
52
- paths.forEach((p) => q.orWhereLike(`dim_${dimension}`, p.toString("/%")));
53
- return q;
54
- });
55
- }
56
- }
57
- baseQuery.orderBy("start");
58
- const results = await this._executor.execute(baseQuery);
59
- return this._formatQueryRecords(results, Object.keys(query.select));
60
- }
61
- async addSeriesValue(input) {
62
- return this.addSeriesValues([input]);
63
- }
64
- async addSeriesValues(inputs) {
65
- const dimensionsMap = {};
66
- for (let i = 0; i < inputs.length; i++) {
67
- const input = inputs[i];
68
- const query = this._knex("AnalyticsSeries").insert({
69
- start: input.start.toJSDate(),
70
- end: input.end ? input.end.toJSDate() : null,
71
- source: input.source.toString("/"),
72
- metric: toPascalCase(input.metric),
73
- value: input.value,
74
- unit: input.unit || null,
75
- fn: input.fn || "Single",
76
- params: input.params || null,
77
- }, "id");
78
- const record = await this._executor.execute(query);
79
- for (const [dim, path] of Object.entries(inputs[i].dimensions || {})) {
80
- if (!dimensionsMap[dim]) {
81
- dimensionsMap[dim] = {};
82
- }
83
- const pKey = path.toString("/");
84
- if (!dimensionsMap[dim][pKey]) {
85
- dimensionsMap[dim][pKey] = [];
86
- }
87
- dimensionsMap[dim][pKey].push(record[0].id);
88
- }
89
- }
90
- for (const [dim, pathMap] of Object.entries(dimensionsMap)) {
91
- await this._linkDimensions(dim, pathMap);
92
- }
93
- // Adding dimension metadata
94
- for (let i = 0; i < inputs.length; i++) {
95
- const metaDimension = inputs[i].dimensionMetadata;
96
- if (!metaDimension) {
97
- continue;
98
- }
99
- await this.addDimensionMetadata(metaDimension.path, metaDimension.icon, metaDimension.label, metaDimension.description);
100
- }
101
- // notify subscribers about updates
102
- const sourcePaths = inputs.map((input) => input.source);
103
- this._subscriptionManager.notifySubscribers(sourcePaths);
104
- }
105
- _formatQueryRecords(records, dimensions) {
106
- const formatted = records.map((r) => {
107
- const result = {
108
- id: r.id,
109
- source: AnalyticsPath.fromString(r.source.slice(0, -1)),
110
- start: DateTime.fromJSDate(r.start),
111
- end: r.end ? DateTime.fromJSDate(r.end) : null,
112
- metric: r.metric,
113
- value: r.value,
114
- unit: r.unit,
115
- fn: r.fn,
116
- params: r.params,
117
- dimensions: {},
118
- };
119
- dimensions.forEach((d) => (result.dimensions[d] = {
120
- path: AnalyticsPath.fromString(r[`dim_${d}`] ? r[`dim_${d}`].slice(0, -1) : "?"),
121
- icon: r[`dim_icon`] ? r[`dim_icon`] : "",
122
- label: r[`dim_label`] ? r[`dim_label`] : "",
123
- description: r[`dim_description`] ? r[`dim_description`] : "",
124
- }));
125
- return result;
126
- });
127
- // sort by id
128
- return formatted.sort((a, b) => a.id - b.id);
129
- }
130
- _buildViewQuery(name, dimensions, metrics, units, until) {
131
- const baseQuery = this._knex("AnalyticsSeries as AS_inner")
132
- .select("*")
133
- .whereIn("metric", metrics);
134
- for (const dimension of dimensions) {
135
- baseQuery.select(this._buildDimensionQuery(dimension));
136
- }
137
- if (units && units.length > 0 && units[0] !== "") {
138
- baseQuery.whereIn("unit", units);
139
- }
140
- if (until) {
141
- baseQuery.where("start", "<", until.toISO());
142
- }
143
- return `(${baseQuery.toString()}) AS "${name}"`;
144
- }
145
- _buildDimensionQuery(dimension) {
146
- const seriesIdRef = this._knex.ref("AS_inner.id");
147
- return this._knex("AnalyticsSeries_AnalyticsDimension as ASAD")
148
- .leftJoin("AnalyticsDimension as AD", "AD.id", "ASAD.dimensionId")
149
- .where("ASAD.seriesId", seriesIdRef)
150
- .where("AD.dimension", dimension)
151
- .select("path")
152
- .as(`dim_${dimension}`);
153
- }
154
- async _linkDimensions(dimension, pathMap) {
155
- const query = this._knex("AnalyticsDimension")
156
- .select("path", "id")
157
- .where("dimension", dimension)
158
- .whereIn("path", Object.keys(pathMap));
159
- const dimensionIds = await this._executor.execute(query);
160
- for (const [path, ids] of Object.entries(pathMap)) {
161
- const i = dimensionIds.findIndex((record) => record.path == path);
162
- const dimensionId = i < 0
163
- ? await this._createDimensionPath(dimension, path)
164
- : dimensionIds[i].id;
165
- for (let j = 0; j < ids.length; j++) {
166
- const query = this._knex("AnalyticsSeries_AnalyticsDimension").insert({
167
- seriesId: ids[j],
168
- dimensionId,
169
- });
170
- await this._executor.execute(query);
171
- }
172
- }
173
- }
174
- async _createDimensionPath(dimension, path) {
175
- const query = this._knex("AnalyticsDimension").insert({ dimension, path }, "id");
176
- const result = await this._executor.execute(query);
177
- return result[0].id;
178
- }
179
- async addDimensionMetadata(path, icon, label, description) {
180
- if (!icon && !label && !description) {
181
- return;
182
- }
183
- const query = this._knex("AnalyticsDimension")
184
- .where("path", `${path.toString()}/`)
185
- .update({
186
- icon: icon ? icon : "",
187
- label: label ? label : "",
188
- description: description ? description : "",
189
- });
190
- await this._executor.execute(query);
191
- }
192
- async getDimensions() {
193
- // Fetch all rows from the database
194
- const query = this._knex
195
- .select("dimension", "path", "icon", "label", "description")
196
- .from("AnalyticsDimension")
197
- .whereNotNull("path")
198
- .whereNot("path", "")
199
- .whereNot("path", "/");
200
- const rows = await this._executor.execute(query);
201
- // Process the rows to group them by dimension and format them
202
- const grouped = rows.reduce((acc, row) => {
203
- // If the dimension is not yet in the accumulator, add it
204
- if (!acc[row.dimension]) {
205
- acc[row.dimension] = {
206
- name: row.dimension,
207
- values: [],
208
- };
209
- }
210
- // Add the path, icon, label, and description to the dimension's values
211
- acc[row.dimension].values.push({
212
- path: row.path,
213
- icon: row.icon,
214
- label: row.label,
215
- description: row.description,
216
- });
217
- return acc;
218
- }, {});
219
- // Convert the grouped object to an array
220
- const dimensionPaths = Object.values(grouped);
221
- return dimensionPaths;
222
- }
223
- async getMetrics() {
224
- const query = this._knex("AnalyticsSeries")
225
- .select("metric")
226
- .distinct()
227
- .whereNotNull("metric");
228
- const list = await this._executor.execute(query);
229
- const filtered = list.map((l) => l.metric);
230
- const metrics = [
231
- "Budget",
232
- "Forecast",
233
- "Actuals",
234
- "PaymentsOnChain",
235
- "PaymentsOffChainIncluded",
236
- ];
237
- metrics.forEach((metric) => {
238
- if (!filtered.includes(metric)) {
239
- filtered.push(metric);
240
- }
241
- });
242
- return filtered;
243
- }
244
- async getCurrencies() {
245
- const query = this._knex("AnalyticsSeries")
246
- .select("unit")
247
- .distinct()
248
- .whereNotNull("unit");
249
- const currencies = await this._executor.execute(query);
250
- return currencies.map((c) => c.unit);
251
- }
252
- subscribeToSource(path, callback) {
253
- return this._subscriptionManager.subscribeToPath(path, callback);
254
- }
255
- }
256
- //# sourceMappingURL=KnexAnalyticsStore.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"KnexAnalyticsStore.js","sourceRoot":"","sources":["../../src/KnexAnalyticsStore.ts"],"names":[],"mappings":"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"}
@@ -1,12 +0,0 @@
1
- import { type IAnalyticsProfiler } from "@powerhousedao/analytics-engine-core";
2
- import type { Knex } from "knex";
3
- import { type IKnexQueryExecutor } from "./KnexAnalyticsStore.js";
4
- export declare class KnexQueryExecutor implements IKnexQueryExecutor {
5
- private readonly _queryLogger?;
6
- private readonly _resultsLogger?;
7
- private readonly _profiler?;
8
- private _index;
9
- constructor(_queryLogger?: ((index: number, query: string) => void) | undefined, _resultsLogger?: ((index: number, results: any) => void) | undefined, _profiler?: IAnalyticsProfiler | undefined);
10
- execute<T extends {}, U>(query: Knex.QueryBuilder<T, U>): Promise<any>;
11
- }
12
- //# sourceMappingURL=KnexQueryExecutor.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"KnexQueryExecutor.d.ts","sourceRoot":"","sources":["../../src/KnexQueryExecutor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,kBAAkB,EAAE,MAAM,sCAAsC,CAAC;AAC/E,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AACjC,OAAO,EAAE,KAAK,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAElE,qBAAa,iBAAkB,YAAW,kBAAkB;IAIxD,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAC;IAC9B,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAC;IAChC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC;IAL7B,OAAO,CAAC,MAAM,CAAa;gBAGR,YAAY,CAAC,GAAE,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,KAAK,IAAI,aAAA,EACrD,cAAc,CAAC,GAAE,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,KAAK,IAAI,aAAA,EACtD,SAAS,CAAC,EAAE,kBAAkB,YAAA;IAO3C,OAAO,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,OAAO,CAAC,GAAG,CAAC;CAqB7E"}
@@ -1,35 +0,0 @@
1
- import {} from "@powerhousedao/analytics-engine-core";
2
- import {} from "./KnexAnalyticsStore.js";
3
- export class KnexQueryExecutor {
4
- _queryLogger;
5
- _resultsLogger;
6
- _profiler;
7
- _index = 0;
8
- constructor(_queryLogger, _resultsLogger, _profiler) {
9
- this._queryLogger = _queryLogger;
10
- this._resultsLogger = _resultsLogger;
11
- this._profiler = _profiler;
12
- if (this._profiler) {
13
- this._profiler.push("Knex");
14
- }
15
- }
16
- async execute(query) {
17
- const index = this._index++;
18
- if (this._queryLogger) {
19
- this._queryLogger(index, query.toString());
20
- }
21
- let results;
22
- if (this._profiler) {
23
- // profile the query
24
- results = await this._profiler.record("Query", async () => await query);
25
- }
26
- else {
27
- results = await query;
28
- }
29
- if (this._resultsLogger) {
30
- this._resultsLogger(index, results);
31
- }
32
- return results;
33
- }
34
- }
35
- //# sourceMappingURL=KnexQueryExecutor.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"KnexQueryExecutor.js","sourceRoot":"","sources":["../../src/KnexQueryExecutor.ts"],"names":[],"mappings":"AAAA,OAAO,EAA2B,MAAM,sCAAsC,CAAC;AAE/E,OAAO,EAA2B,MAAM,yBAAyB,CAAC;AAElE,MAAM,OAAO,iBAAiB;IAIT;IACA;IACA;IALX,MAAM,GAAW,CAAC,CAAC;IAE3B,YACmB,YAAqD,EACrD,cAAsD,EACtD,SAA8B;QAF9B,iBAAY,GAAZ,YAAY,CAAyC;QACrD,mBAAc,GAAd,cAAc,CAAwC;QACtD,cAAS,GAAT,SAAS,CAAqB;QAE/C,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;YACnB,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAC9B,CAAC;IACH,CAAC;IAED,KAAK,CAAC,OAAO,CAAkB,KAA8B;QAC3D,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;QAE5B,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;YACtB,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC;QAC7C,CAAC;QAED,IAAI,OAAO,CAAC;QACZ,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;YACnB,oBAAoB;YACpB,OAAO,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,OAAO,EAAE,KAAK,IAAI,EAAE,CAAC,MAAM,KAAK,CAAC,CAAC;QAC1E,CAAC;aAAM,CAAC;YACN,OAAO,GAAG,MAAM,KAAK,CAAC;QACxB,CAAC;QAED,IAAI,IAAI,CAAC,cAAc,EAAE,CAAC;YACxB,IAAI,CAAC,cAAc,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;QACtC,CAAC;QAED,OAAO,OAAO,CAAC;IACjB,CAAC;CACF"}
@@ -1,6 +0,0 @@
1
- export * from "./KnexAnalyticsStore.js";
2
- export { KnexQueryExecutor } from "./KnexQueryExecutor.js";
3
- export type { IKnexQueryExecutor, KnexAnalyticsStoreOptions, } from "./KnexAnalyticsStore.js";
4
- export type { SqlQueryLogger, SqlResultsLogger } from "./util.js";
5
- export { defaultQueryLogger, defaultResultsLogger } from "./util.js";
6
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,yBAAyB,CAAC;AACxC,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAC3D,YAAY,EACV,kBAAkB,EAClB,yBAAyB,GAC1B,MAAM,yBAAyB,CAAC;AACjC,YAAY,EAAE,cAAc,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAC;AAClE,OAAO,EAAE,kBAAkB,EAAE,oBAAoB,EAAE,MAAM,WAAW,CAAC"}
package/dist/src/index.js DELETED
@@ -1,4 +0,0 @@
1
- export * from "./KnexAnalyticsStore.js";
2
- export { KnexQueryExecutor } from "./KnexQueryExecutor.js";
3
- export { defaultQueryLogger, defaultResultsLogger } from "./util.js";
4
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,yBAAyB,CAAC;AACxC,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAM3D,OAAO,EAAE,kBAAkB,EAAE,oBAAoB,EAAE,MAAM,WAAW,CAAC"}
@@ -1,6 +0,0 @@
1
- export type SqlQueryLogger = (index: number, query: string) => void;
2
- export type SqlResultsLogger = (index: number, results: any) => void;
3
- export declare const defaultQueryLogger: (tag: string) => SqlQueryLogger;
4
- export declare const defaultResultsLogger: (tag: string) => SqlResultsLogger;
5
- export declare function toPascalCase(str: string): string;
6
- //# sourceMappingURL=util.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"util.d.ts","sourceRoot":"","sources":["../../src/util.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,cAAc,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;AACpE,MAAM,MAAM,gBAAgB,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,KAAK,IAAI,CAAC;AAErE,eAAO,MAAM,kBAAkB,GAC5B,KAAK,MAAM,KAAG,cAGd,CAAC;AAEJ,eAAO,MAAM,oBAAoB,GAC9B,KAAK,MAAM,KAAG,gBAOd,CAAC;AAEJ,wBAAgB,YAAY,CAAC,GAAG,EAAE,MAAM,UAMvC"}
package/dist/src/util.js DELETED
@@ -1,19 +0,0 @@
1
- export const defaultQueryLogger = (tag) => (index, query) => {
2
- console.log(`[${tag}][Q:${index}]: ${query}\n`);
3
- };
4
- export const defaultResultsLogger = (tag) => (index, results) => {
5
- if (Array.isArray(results)) {
6
- console.log(`[${tag}][R:${index}]: ${results.length} results\n`);
7
- }
8
- else {
9
- console.log(`[${tag}][R:${index}]: Received ${typeof results}.\n`);
10
- }
11
- };
12
- export function toPascalCase(str) {
13
- return str
14
- .replace(/\w+/g, function (word) {
15
- return word[0].toUpperCase() + word.slice(1);
16
- })
17
- .replace(/\s+/g, "");
18
- }
19
- //# sourceMappingURL=util.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"util.js","sourceRoot":"","sources":["../../src/util.ts"],"names":[],"mappings":"AAGA,MAAM,CAAC,MAAM,kBAAkB,GAC7B,CAAC,GAAW,EAAkB,EAAE,CAChC,CAAC,KAAa,EAAE,KAAa,EAAE,EAAE;IAC/B,OAAO,CAAC,GAAG,CAAC,IAAI,GAAG,OAAO,KAAK,MAAM,KAAK,IAAI,CAAC,CAAC;AAClD,CAAC,CAAC;AAEJ,MAAM,CAAC,MAAM,oBAAoB,GAC/B,CAAC,GAAW,EAAoB,EAAE,CAClC,CAAC,KAAa,EAAE,OAAY,EAAE,EAAE;IAC9B,IAAI,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;QAC3B,OAAO,CAAC,GAAG,CAAC,IAAI,GAAG,OAAO,KAAK,MAAM,OAAO,CAAC,MAAM,YAAY,CAAC,CAAC;IACnE,CAAC;SAAM,CAAC;QACN,OAAO,CAAC,GAAG,CAAC,IAAI,GAAG,OAAO,KAAK,eAAe,OAAO,OAAO,KAAK,CAAC,CAAC;IACrE,CAAC;AACH,CAAC,CAAC;AAEJ,MAAM,UAAU,YAAY,CAAC,GAAW;IACtC,OAAO,GAAG;SACP,OAAO,CAAC,MAAM,EAAE,UAAU,IAAI;QAC7B,OAAO,IAAI,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IAC/C,CAAC,CAAC;SACD,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;AACzB,CAAC"}