@vrplatform/kysely 1.3.17 → 1.3.21
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/build/.data.tar +0 -0
- package/build/main/index.d.ts +1 -0
- package/build/main/index.js +1 -0
- package/build/main/index.js.map +1 -1
- package/build/main/query/index.d.ts +1 -0
- package/build/main/query/index.js +18 -0
- package/build/main/query/index.js.map +1 -0
- package/build/main/query/listing/index.d.ts +1 -0
- package/build/main/query/listing/index.js +18 -0
- package/build/main/query/listing/index.js.map +1 -0
- package/build/main/query/listing/is-active-or-at-least-one-ownership-period-active.d.ts +6 -0
- package/build/main/query/listing/is-active-or-at-least-one-ownership-period-active.js +24 -0
- package/build/main/query/listing/is-active-or-at-least-one-ownership-period-active.js.map +1 -0
- package/build/main/tsconfig.main.tsbuildinfo +1 -1
- package/build/module/index.d.ts +1 -0
- package/build/module/index.js +1 -0
- package/build/module/index.js.map +1 -1
- package/build/module/query/index.d.ts +1 -0
- package/build/module/query/index.js +2 -0
- package/build/module/query/index.js.map +1 -0
- package/build/module/query/listing/index.d.ts +1 -0
- package/build/module/query/listing/index.js +2 -0
- package/build/module/query/listing/index.js.map +1 -0
- package/build/module/query/listing/is-active-or-at-least-one-ownership-period-active.d.ts +6 -0
- package/build/module/query/listing/is-active-or-at-least-one-ownership-period-active.js +21 -0
- package/build/module/query/listing/is-active-or-at-least-one-ownership-period-active.js.map +1 -0
- package/build/module/tsconfig.esm.tsbuildinfo +1 -1
- package/package.json +9 -6
- package/build/main/local.d.ts +0 -3
- package/build/main/local.js +0 -158
- package/build/main/local.js.map +0 -1
- package/build/main/test.d.ts +0 -4
- package/build/main/test.js +0 -19
- package/build/main/test.js.map +0 -1
- package/build/main/v0.generated.d.ts +0 -1996
- package/build/main/v0.generated.js +0 -7
- package/build/main/v0.generated.js.map +0 -1
- package/build/module/local.d.ts +0 -3
- package/build/module/local.js +0 -119
- package/build/module/local.js.map +0 -1
- package/build/module/test.d.ts +0 -4
- package/build/module/test.js +0 -16
- package/build/module/test.js.map +0 -1
- package/build/module/v0.generated.d.ts +0 -1996
- package/build/module/v0.generated.js +0 -6
- package/build/module/v0.generated.js.map +0 -1
- package/src/camel-case/index.ts +0 -68
- package/src/error.ts +0 -6
- package/src/index.ts +0 -144
- package/src/isomorphic.ts +0 -33
- package/src/local/digest.ts +0 -44
- package/src/local/generate.ts +0 -137
- package/src/local/index.ts +0 -48
- package/src/pganalyze-comment-plugin/comment-transformer.ts +0 -117
- package/src/pganalyze-comment-plugin/index.ts +0 -27
- package/src/plugins.ts +0 -30
- package/src/test/index.ts +0 -64
- package/src/v1.generated.ts +0 -1917
|
@@ -1,117 +0,0 @@
|
|
|
1
|
-
import {
|
|
2
|
-
type DeleteQueryNode,
|
|
3
|
-
type InsertQueryNode,
|
|
4
|
-
OperationNodeTransformer,
|
|
5
|
-
type RootOperationNode,
|
|
6
|
-
SelectModifierNode,
|
|
7
|
-
type SelectQueryNode,
|
|
8
|
-
sql,
|
|
9
|
-
type UpdateQueryNode,
|
|
10
|
-
} from 'kysely';
|
|
11
|
-
|
|
12
|
-
function createCommentNode(repositoryName: string): SelectModifierNode {
|
|
13
|
-
return SelectModifierNode.createWithExpression(
|
|
14
|
-
sql.raw(`/* repository: ${repositoryName} */`).toOperationNode()
|
|
15
|
-
);
|
|
16
|
-
}
|
|
17
|
-
/**
|
|
18
|
-
* Transformer that adds a SQL comment to queries for pganalyze tracking.
|
|
19
|
-
* The comment format is: repository: REPOSITORY_NAME
|
|
20
|
-
*
|
|
21
|
-
* This works by appending the comment to queries using the endModifiers property,
|
|
22
|
-
* similar to how modifyEnd works.
|
|
23
|
-
*/
|
|
24
|
-
export class CommentTransformer extends OperationNodeTransformer {
|
|
25
|
-
constructor(readonly _repositoryName: string) {
|
|
26
|
-
super();
|
|
27
|
-
}
|
|
28
|
-
|
|
29
|
-
transformRootNode(node: RootOperationNode): RootOperationNode {
|
|
30
|
-
if (node.kind === 'SelectQueryNode') {
|
|
31
|
-
return this.transformSelectQuery(node);
|
|
32
|
-
}
|
|
33
|
-
if (node.kind === 'InsertQueryNode') {
|
|
34
|
-
return this.transformInsertQuery(node);
|
|
35
|
-
}
|
|
36
|
-
if (node.kind === 'UpdateQueryNode') {
|
|
37
|
-
return this.transformUpdateQuery(node);
|
|
38
|
-
}
|
|
39
|
-
if (node.kind === 'DeleteQueryNode') {
|
|
40
|
-
return this.transformDeleteQuery(node);
|
|
41
|
-
}
|
|
42
|
-
return node;
|
|
43
|
-
}
|
|
44
|
-
|
|
45
|
-
protected override transformSelectQuery(
|
|
46
|
-
node: SelectQueryNode
|
|
47
|
-
): SelectQueryNode {
|
|
48
|
-
const transformed = super.transformSelectQuery(node);
|
|
49
|
-
return this.addCommentToSelectQuery(transformed);
|
|
50
|
-
}
|
|
51
|
-
|
|
52
|
-
protected override transformInsertQuery(
|
|
53
|
-
node: InsertQueryNode
|
|
54
|
-
): InsertQueryNode {
|
|
55
|
-
const transformed = super.transformInsertQuery(node);
|
|
56
|
-
return this.addCommentToInsertQuery(transformed);
|
|
57
|
-
}
|
|
58
|
-
|
|
59
|
-
protected override transformUpdateQuery(
|
|
60
|
-
node: UpdateQueryNode
|
|
61
|
-
): UpdateQueryNode {
|
|
62
|
-
const transformed = super.transformUpdateQuery(node);
|
|
63
|
-
return this.addCommentToUpdateQuery(transformed);
|
|
64
|
-
}
|
|
65
|
-
|
|
66
|
-
protected override transformDeleteQuery(
|
|
67
|
-
node: DeleteQueryNode
|
|
68
|
-
): DeleteQueryNode {
|
|
69
|
-
const transformed = super.transformDeleteQuery(node);
|
|
70
|
-
return this.addCommentToDeleteQuery(transformed);
|
|
71
|
-
}
|
|
72
|
-
|
|
73
|
-
private addCommentToSelectQuery(node: SelectQueryNode): SelectQueryNode {
|
|
74
|
-
// Append comment using endModifiers property, similar to modifyEnd
|
|
75
|
-
const commentNode = createCommentNode(this._repositoryName);
|
|
76
|
-
|
|
77
|
-
return {
|
|
78
|
-
...node,
|
|
79
|
-
endModifiers: node.endModifiers
|
|
80
|
-
? [...node.endModifiers, commentNode]
|
|
81
|
-
: [commentNode],
|
|
82
|
-
};
|
|
83
|
-
}
|
|
84
|
-
|
|
85
|
-
private addCommentToInsertQuery(node: InsertQueryNode): InsertQueryNode {
|
|
86
|
-
const commentNode = createCommentNode(this._repositoryName);
|
|
87
|
-
|
|
88
|
-
return {
|
|
89
|
-
...node,
|
|
90
|
-
endModifiers: node.endModifiers
|
|
91
|
-
? [...node.endModifiers, commentNode]
|
|
92
|
-
: [commentNode],
|
|
93
|
-
};
|
|
94
|
-
}
|
|
95
|
-
|
|
96
|
-
private addCommentToUpdateQuery(node: UpdateQueryNode): UpdateQueryNode {
|
|
97
|
-
const commentNode = createCommentNode(this._repositoryName);
|
|
98
|
-
|
|
99
|
-
return {
|
|
100
|
-
...node,
|
|
101
|
-
endModifiers: node.endModifiers
|
|
102
|
-
? [...node.endModifiers, commentNode]
|
|
103
|
-
: [commentNode],
|
|
104
|
-
};
|
|
105
|
-
}
|
|
106
|
-
|
|
107
|
-
private addCommentToDeleteQuery(node: DeleteQueryNode): DeleteQueryNode {
|
|
108
|
-
const commentNode = createCommentNode(this._repositoryName);
|
|
109
|
-
|
|
110
|
-
return {
|
|
111
|
-
...node,
|
|
112
|
-
endModifiers: node.endModifiers
|
|
113
|
-
? [...node.endModifiers, commentNode]
|
|
114
|
-
: [commentNode],
|
|
115
|
-
};
|
|
116
|
-
}
|
|
117
|
-
}
|
|
@@ -1,27 +0,0 @@
|
|
|
1
|
-
import type {
|
|
2
|
-
KyselyPlugin,
|
|
3
|
-
PluginTransformQueryArgs,
|
|
4
|
-
PluginTransformResultArgs,
|
|
5
|
-
QueryResult,
|
|
6
|
-
RootOperationNode,
|
|
7
|
-
UnknownRow,
|
|
8
|
-
} from 'kysely';
|
|
9
|
-
import { CommentTransformer } from './comment-transformer';
|
|
10
|
-
|
|
11
|
-
export class KyselyPganalyzeCommentPlugin implements KyselyPlugin {
|
|
12
|
-
readonly #transformer: CommentTransformer;
|
|
13
|
-
|
|
14
|
-
constructor(options: { repository: string }) {
|
|
15
|
-
this.#transformer = new CommentTransformer(options.repository);
|
|
16
|
-
}
|
|
17
|
-
|
|
18
|
-
transformQuery(args: PluginTransformQueryArgs): RootOperationNode {
|
|
19
|
-
return this.#transformer.transformRootNode(args.node);
|
|
20
|
-
}
|
|
21
|
-
|
|
22
|
-
async transformResult(
|
|
23
|
-
args: PluginTransformResultArgs
|
|
24
|
-
): Promise<QueryResult<UnknownRow>> {
|
|
25
|
-
return args.result;
|
|
26
|
-
}
|
|
27
|
-
}
|
package/src/plugins.ts
DELETED
|
@@ -1,30 +0,0 @@
|
|
|
1
|
-
import {
|
|
2
|
-
type Dialect,
|
|
3
|
-
Kysely as K,
|
|
4
|
-
type KyselyPlugin,
|
|
5
|
-
type LogConfig,
|
|
6
|
-
} from 'kysely';
|
|
7
|
-
import { CustomCasePlugin } from './camel-case';
|
|
8
|
-
import { KyselyPganalyzeCommentPlugin } from './pganalyze-comment-plugin';
|
|
9
|
-
import type { DB } from './v1.generated';
|
|
10
|
-
|
|
11
|
-
export function getKysely(
|
|
12
|
-
dialect: Dialect,
|
|
13
|
-
options: { repositoryName?: string; log?: true | LogConfig }
|
|
14
|
-
) {
|
|
15
|
-
const plugins: KyselyPlugin[] = [new CustomCasePlugin()];
|
|
16
|
-
|
|
17
|
-
if (options?.repositoryName) {
|
|
18
|
-
plugins.push(
|
|
19
|
-
new KyselyPganalyzeCommentPlugin({
|
|
20
|
-
repository: options.repositoryName,
|
|
21
|
-
})
|
|
22
|
-
);
|
|
23
|
-
}
|
|
24
|
-
const kysely = new K<DB>({
|
|
25
|
-
dialect,
|
|
26
|
-
plugins,
|
|
27
|
-
log: options?.log === true ? ['query', 'error'] : options?.log,
|
|
28
|
-
});
|
|
29
|
-
return kysely;
|
|
30
|
-
}
|
package/src/test/index.ts
DELETED
|
@@ -1,64 +0,0 @@
|
|
|
1
|
-
import { afterAll } from 'bun:test';
|
|
2
|
-
import type { Kysely } from 'kysely';
|
|
3
|
-
import { type UseLocalKyselyOptions, useLocalKysely } from '../local';
|
|
4
|
-
import type { DB } from '../v1.generated';
|
|
5
|
-
|
|
6
|
-
/**
|
|
7
|
-
* @deprecated Use `useLocalKyselyResource` instead.
|
|
8
|
-
*/
|
|
9
|
-
export async function useTestKysely(
|
|
10
|
-
cleanupStrategy: 'afterAll',
|
|
11
|
-
args?: UseLocalKyselyOptions
|
|
12
|
-
) {
|
|
13
|
-
const kysely = await useLocalKysely(args);
|
|
14
|
-
|
|
15
|
-
if (cleanupStrategy === 'afterAll')
|
|
16
|
-
afterAll(async () => {
|
|
17
|
-
await kysely.destroy();
|
|
18
|
-
});
|
|
19
|
-
|
|
20
|
-
return {
|
|
21
|
-
kysely,
|
|
22
|
-
};
|
|
23
|
-
}
|
|
24
|
-
|
|
25
|
-
export async function useTestAutoCleanupKysely(args?: UseLocalKyselyOptions) {
|
|
26
|
-
const kysely = await useLocalKysely(args);
|
|
27
|
-
|
|
28
|
-
afterAll(async () => {
|
|
29
|
-
await kysely.destroy();
|
|
30
|
-
});
|
|
31
|
-
|
|
32
|
-
return kysely;
|
|
33
|
-
}
|
|
34
|
-
|
|
35
|
-
type ReturnType = Kysely<DB> & {
|
|
36
|
-
[Symbol.dispose]: () => Promise<void>;
|
|
37
|
-
};
|
|
38
|
-
|
|
39
|
-
export async function useLocalKyselyResource(
|
|
40
|
-
args?: UseLocalKyselyOptions
|
|
41
|
-
): Promise<ReturnType> {
|
|
42
|
-
const kysely = await useLocalKysely(args);
|
|
43
|
-
|
|
44
|
-
return new Proxy(
|
|
45
|
-
{},
|
|
46
|
-
{
|
|
47
|
-
get(_target, prop) {
|
|
48
|
-
// somehow not working if using Symbol.dispose
|
|
49
|
-
if (prop === Symbol.asyncDispose) {
|
|
50
|
-
return async () => {
|
|
51
|
-
await kysely.destroy();
|
|
52
|
-
};
|
|
53
|
-
}
|
|
54
|
-
if (prop === 'kysely') {
|
|
55
|
-
return kysely;
|
|
56
|
-
}
|
|
57
|
-
if (typeof kysely[prop] === 'function') {
|
|
58
|
-
return kysely[prop].bind(kysely);
|
|
59
|
-
}
|
|
60
|
-
return kysely[prop];
|
|
61
|
-
},
|
|
62
|
-
}
|
|
63
|
-
) as ReturnType;
|
|
64
|
-
}
|