swallowkit 0.1.0-alpha.1
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/LICENSE +21 -0
- package/README.md +563 -0
- package/dist/api/rpc-handler.d.ts +71 -0
- package/dist/api/rpc-handler.d.ts.map +1 -0
- package/dist/api/rpc-handler.js +205 -0
- package/dist/api/rpc-handler.js.map +1 -0
- package/dist/cli/commands/build.d.ts +6 -0
- package/dist/cli/commands/build.d.ts.map +1 -0
- package/dist/cli/commands/build.js +193 -0
- package/dist/cli/commands/build.js.map +1 -0
- package/dist/cli/commands/dev.d.ts +3 -0
- package/dist/cli/commands/dev.d.ts.map +1 -0
- package/dist/cli/commands/dev.js +305 -0
- package/dist/cli/commands/dev.js.map +1 -0
- package/dist/cli/commands/generate.d.ts +4 -0
- package/dist/cli/commands/generate.d.ts.map +1 -0
- package/dist/cli/commands/generate.js +238 -0
- package/dist/cli/commands/generate.js.map +1 -0
- package/dist/cli/commands/index.d.ts +9 -0
- package/dist/cli/commands/index.d.ts.map +1 -0
- package/dist/cli/commands/index.js +18 -0
- package/dist/cli/commands/index.js.map +1 -0
- package/dist/cli/commands/init.d.ts +7 -0
- package/dist/cli/commands/init.d.ts.map +1 -0
- package/dist/cli/commands/init.js +383 -0
- package/dist/cli/commands/init.js.map +1 -0
- package/dist/cli/commands/setup.d.ts +6 -0
- package/dist/cli/commands/setup.d.ts.map +1 -0
- package/dist/cli/commands/setup.js +254 -0
- package/dist/cli/commands/setup.js.map +1 -0
- package/dist/cli/index.d.ts +3 -0
- package/dist/cli/index.d.ts.map +1 -0
- package/dist/cli/index.js +32 -0
- package/dist/cli/index.js.map +1 -0
- package/dist/core/config.d.ts +25 -0
- package/dist/core/config.d.ts.map +1 -0
- package/dist/core/config.js +204 -0
- package/dist/core/config.js.map +1 -0
- package/dist/database/client.d.ts +46 -0
- package/dist/database/client.d.ts.map +1 -0
- package/dist/database/client.js +156 -0
- package/dist/database/client.js.map +1 -0
- package/dist/database/repository.d.ts +71 -0
- package/dist/database/repository.d.ts.map +1 -0
- package/dist/database/repository.js +89 -0
- package/dist/database/repository.js.map +1 -0
- package/dist/generator/api-generator.d.ts +53 -0
- package/dist/generator/api-generator.d.ts.map +1 -0
- package/dist/generator/api-generator.js +284 -0
- package/dist/generator/api-generator.js.map +1 -0
- package/dist/generator/schema-parser.d.ts +45 -0
- package/dist/generator/schema-parser.d.ts.map +1 -0
- package/dist/generator/schema-parser.js +198 -0
- package/dist/generator/schema-parser.js.map +1 -0
- package/dist/generator/templates/azure-functions.d.ts +15 -0
- package/dist/generator/templates/azure-functions.d.ts.map +1 -0
- package/dist/generator/templates/azure-functions.js +274 -0
- package/dist/generator/templates/azure-functions.js.map +1 -0
- package/dist/generator/templates/default-server-functions.d.ts +2 -0
- package/dist/generator/templates/default-server-functions.d.ts.map +1 -0
- package/dist/generator/templates/default-server-functions.js +67 -0
- package/dist/generator/templates/default-server-functions.js.map +1 -0
- package/dist/hooks/server-function-registry.d.ts +67 -0
- package/dist/hooks/server-function-registry.d.ts.map +1 -0
- package/dist/hooks/server-function-registry.js +153 -0
- package/dist/hooks/server-function-registry.js.map +1 -0
- package/dist/hooks/useQuery.d.ts +61 -0
- package/dist/hooks/useQuery.d.ts.map +1 -0
- package/dist/hooks/useQuery.js +147 -0
- package/dist/hooks/useQuery.js.map +1 -0
- package/dist/hooks/useServerFn.d.ts +27 -0
- package/dist/hooks/useServerFn.d.ts.map +1 -0
- package/dist/hooks/useServerFn.js +119 -0
- package/dist/hooks/useServerFn.js.map +1 -0
- package/dist/index.d.ts +17 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +73 -0
- package/dist/index.js.map +1 -0
- package/dist/schemas/example.d.ts +657 -0
- package/dist/schemas/example.d.ts.map +1 -0
- package/dist/schemas/example.js +133 -0
- package/dist/schemas/example.js.map +1 -0
- package/dist/server/todo-functions.d.ts +21 -0
- package/dist/server/todo-functions.d.ts.map +1 -0
- package/dist/server/todo-functions.js +121 -0
- package/dist/server/todo-functions.js.map +1 -0
- package/dist/types/index.d.ts +53 -0
- package/dist/types/index.d.ts.map +1 -0
- package/dist/types/index.js +6 -0
- package/dist/types/index.js.map +1 -0
- package/package.json +68 -0
|
@@ -0,0 +1,147 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.useQuery = useQuery;
|
|
4
|
+
exports.useMutation = useMutation;
|
|
5
|
+
exports.useSchemaQuery = useSchemaQuery;
|
|
6
|
+
exports.useSchemaMutation = useSchemaMutation;
|
|
7
|
+
const react_1 = require("react");
|
|
8
|
+
/**
|
|
9
|
+
* 高度なデータ取得フック
|
|
10
|
+
*/
|
|
11
|
+
function useQuery(queryKey, queryFn, options = {}) {
|
|
12
|
+
const [data, setData] = (0, react_1.useState)(undefined);
|
|
13
|
+
const [loading, setLoading] = (0, react_1.useState)(true);
|
|
14
|
+
const [isFetching, setIsFetching] = (0, react_1.useState)(false);
|
|
15
|
+
const [error, setError] = (0, react_1.useState)(null);
|
|
16
|
+
const [isStale, setIsStale] = (0, react_1.useState)(false);
|
|
17
|
+
const [lastFetch, setLastFetch] = (0, react_1.useState)(0);
|
|
18
|
+
const { enabled = true, refetchOnMount = true, refetchInterval, staleTime = 0, retry = 3, onSuccess, onError, } = options;
|
|
19
|
+
const executeQuery = (0, react_1.useCallback)(async (retryCount = 0) => {
|
|
20
|
+
if (!enabled)
|
|
21
|
+
return;
|
|
22
|
+
setIsFetching(true);
|
|
23
|
+
setError(null);
|
|
24
|
+
try {
|
|
25
|
+
const result = await queryFn();
|
|
26
|
+
setData(result);
|
|
27
|
+
setLastFetch(Date.now());
|
|
28
|
+
setIsStale(false);
|
|
29
|
+
onSuccess?.(result);
|
|
30
|
+
}
|
|
31
|
+
catch (err) {
|
|
32
|
+
if (retryCount < retry) {
|
|
33
|
+
setTimeout(() => executeQuery(retryCount + 1), 1000 * (retryCount + 1));
|
|
34
|
+
}
|
|
35
|
+
else {
|
|
36
|
+
setError(err);
|
|
37
|
+
onError?.(err);
|
|
38
|
+
console.error(`SwallowKit Query Error [${queryKey.join(",")}]:`, err);
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
finally {
|
|
42
|
+
setLoading(false);
|
|
43
|
+
setIsFetching(false);
|
|
44
|
+
}
|
|
45
|
+
}, [queryFn, enabled, retry, onSuccess, onError, queryKey]);
|
|
46
|
+
const refetch = (0, react_1.useCallback)(() => {
|
|
47
|
+
setLoading(true);
|
|
48
|
+
executeQuery();
|
|
49
|
+
}, [executeQuery]);
|
|
50
|
+
// 初回実行
|
|
51
|
+
(0, react_1.useEffect)(() => {
|
|
52
|
+
if (enabled && refetchOnMount) {
|
|
53
|
+
executeQuery();
|
|
54
|
+
}
|
|
55
|
+
}, [executeQuery, enabled, refetchOnMount]);
|
|
56
|
+
// インターバル実行
|
|
57
|
+
(0, react_1.useEffect)(() => {
|
|
58
|
+
if (refetchInterval && enabled) {
|
|
59
|
+
const interval = setInterval(() => {
|
|
60
|
+
executeQuery();
|
|
61
|
+
}, refetchInterval);
|
|
62
|
+
return () => clearInterval(interval);
|
|
63
|
+
}
|
|
64
|
+
}, [refetchInterval, enabled, executeQuery]);
|
|
65
|
+
// staleness check
|
|
66
|
+
(0, react_1.useEffect)(() => {
|
|
67
|
+
if (staleTime > 0 && lastFetch > 0) {
|
|
68
|
+
const timeout = setTimeout(() => {
|
|
69
|
+
setIsStale(true);
|
|
70
|
+
}, staleTime);
|
|
71
|
+
return () => clearTimeout(timeout);
|
|
72
|
+
}
|
|
73
|
+
}, [staleTime, lastFetch]);
|
|
74
|
+
return {
|
|
75
|
+
data,
|
|
76
|
+
loading,
|
|
77
|
+
error,
|
|
78
|
+
refetch,
|
|
79
|
+
isStale,
|
|
80
|
+
isFetching,
|
|
81
|
+
};
|
|
82
|
+
}
|
|
83
|
+
/**
|
|
84
|
+
* データ変更フック
|
|
85
|
+
*/
|
|
86
|
+
function useMutation(mutationFn, options = {}) {
|
|
87
|
+
const [loading, setLoading] = (0, react_1.useState)(false);
|
|
88
|
+
const [error, setError] = (0, react_1.useState)(null);
|
|
89
|
+
const [data, setData] = (0, react_1.useState)(undefined);
|
|
90
|
+
const { onSuccess, onError, onMutate } = options;
|
|
91
|
+
const mutateAsync = (0, react_1.useCallback)(async (variables) => {
|
|
92
|
+
setLoading(true);
|
|
93
|
+
setError(null);
|
|
94
|
+
try {
|
|
95
|
+
onMutate?.(variables);
|
|
96
|
+
const result = await mutationFn(variables);
|
|
97
|
+
setData(result);
|
|
98
|
+
onSuccess?.(result, variables);
|
|
99
|
+
return result;
|
|
100
|
+
}
|
|
101
|
+
catch (err) {
|
|
102
|
+
setError(err);
|
|
103
|
+
onError?.(err, variables);
|
|
104
|
+
throw err;
|
|
105
|
+
}
|
|
106
|
+
finally {
|
|
107
|
+
setLoading(false);
|
|
108
|
+
}
|
|
109
|
+
}, [mutationFn, onMutate, onSuccess, onError]);
|
|
110
|
+
const mutate = (0, react_1.useCallback)((variables) => {
|
|
111
|
+
return mutateAsync(variables);
|
|
112
|
+
}, [mutateAsync]);
|
|
113
|
+
const reset = (0, react_1.useCallback)(() => {
|
|
114
|
+
setLoading(false);
|
|
115
|
+
setError(null);
|
|
116
|
+
setData(undefined);
|
|
117
|
+
}, []);
|
|
118
|
+
return {
|
|
119
|
+
mutate,
|
|
120
|
+
mutateAsync,
|
|
121
|
+
loading,
|
|
122
|
+
error,
|
|
123
|
+
data,
|
|
124
|
+
reset,
|
|
125
|
+
};
|
|
126
|
+
}
|
|
127
|
+
/**
|
|
128
|
+
* Zodスキーマ付きのクエリフック
|
|
129
|
+
*/
|
|
130
|
+
function useSchemaQuery(queryKey, queryFn, schema, options = {}) {
|
|
131
|
+
const schemaQueryFn = (0, react_1.useCallback)(async () => {
|
|
132
|
+
const result = await queryFn();
|
|
133
|
+
return schema.parse(result);
|
|
134
|
+
}, [queryFn, schema]);
|
|
135
|
+
return useQuery(queryKey, schemaQueryFn, options);
|
|
136
|
+
}
|
|
137
|
+
/**
|
|
138
|
+
* Zodスキーマ付きのミューテーションフック
|
|
139
|
+
*/
|
|
140
|
+
function useSchemaMutation(mutationFn, responseSchema, options = {}) {
|
|
141
|
+
const schemaMutationFn = (0, react_1.useCallback)(async (variables) => {
|
|
142
|
+
const result = await mutationFn(variables);
|
|
143
|
+
return responseSchema.parse(result);
|
|
144
|
+
}, [mutationFn, responseSchema]);
|
|
145
|
+
return useMutation(schemaMutationFn, options);
|
|
146
|
+
}
|
|
147
|
+
//# sourceMappingURL=useQuery.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useQuery.js","sourceRoot":"","sources":["../../src/hooks/useQuery.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { ServerFunction, UseServerFnOptions, UseServerFnResult, ServerFnFactory } from "../types";
|
|
2
|
+
/**
|
|
3
|
+
* RPCエンドポイントを設定
|
|
4
|
+
*/
|
|
5
|
+
export declare function setRpcEndpoint(endpoint: string): void;
|
|
6
|
+
/**
|
|
7
|
+
* 現在のRPCエンドポイントを取得
|
|
8
|
+
*/
|
|
9
|
+
export declare function getRpcEndpoint(): string;
|
|
10
|
+
/**
|
|
11
|
+
* サーバー関数を呼び出すためのReact Hook
|
|
12
|
+
* SSRとCSRの両方に対応し、自動的に実行環境を判別する
|
|
13
|
+
*/
|
|
14
|
+
export declare function useServerFn<TArgs extends any[], TResult>(serverFn: ServerFunction<TArgs, TResult>, args: TArgs, options?: UseServerFnOptions): UseServerFnResult<TResult>;
|
|
15
|
+
/**
|
|
16
|
+
* 型安全なサーバー関数フック(defineServerFunction で定義された関数用)
|
|
17
|
+
*/
|
|
18
|
+
export declare function useTypedServerFn<TArgs extends any[], TResult>(serverFn: ServerFnFactory<TArgs, TResult>, args: TArgs, options?: UseServerFnOptions): UseServerFnResult<TResult>;
|
|
19
|
+
/**
|
|
20
|
+
* サーバー関数を直接呼び出す(ミューテーション用)
|
|
21
|
+
* useServerFnと異なり、状態管理なしで即座に実行される
|
|
22
|
+
*
|
|
23
|
+
* @example
|
|
24
|
+
* await callServerFn(addTodo, { text: "New task" });
|
|
25
|
+
*/
|
|
26
|
+
export declare function callServerFn<TArgs extends any[], TResult>(serverFn: ServerFunction<TArgs, TResult>, ...args: TArgs): Promise<TResult>;
|
|
27
|
+
//# sourceMappingURL=useServerFn.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useServerFn.d.ts","sourceRoot":"","sources":["../../src/hooks/useServerFn.ts"],"names":[],"mappings":"AACA,OAAO,EACL,cAAc,EACd,kBAAkB,EAClB,iBAAiB,EAGjB,eAAe,EAChB,MAAM,UAAU,CAAC;AAMlB;;GAEG;AACH,wBAAgB,cAAc,CAAC,QAAQ,EAAE,MAAM,QAE9C;AAED;;GAEG;AACH,wBAAgB,cAAc,IAAI,MAAM,CAEvC;AAED;;;GAGG;AACH,wBAAgB,WAAW,CAAC,KAAK,SAAS,GAAG,EAAE,EAAE,OAAO,EACtD,QAAQ,EAAE,cAAc,CAAC,KAAK,EAAE,OAAO,CAAC,EACxC,IAAI,EAAE,KAAK,EACX,OAAO,GAAE,kBAAuB,GAC/B,iBAAiB,CAAC,OAAO,CAAC,CAsD5B;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,SAAS,GAAG,EAAE,EAAE,OAAO,EAC3D,QAAQ,EAAE,eAAe,CAAC,KAAK,EAAE,OAAO,CAAC,EACzC,IAAI,EAAE,KAAK,EACX,OAAO,GAAE,kBAAuB,GAC/B,iBAAiB,CAAC,OAAO,CAAC,CAE5B;AAsCD;;;;;;GAMG;AACH,wBAAsB,YAAY,CAAC,KAAK,SAAS,GAAG,EAAE,EAAE,OAAO,EAC7D,QAAQ,EAAE,cAAc,CAAC,KAAK,EAAE,OAAO,CAAC,EACxC,GAAG,IAAI,EAAE,KAAK,GACb,OAAO,CAAC,OAAO,CAAC,CAElB"}
|
|
@@ -0,0 +1,119 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.setRpcEndpoint = setRpcEndpoint;
|
|
4
|
+
exports.getRpcEndpoint = getRpcEndpoint;
|
|
5
|
+
exports.useServerFn = useServerFn;
|
|
6
|
+
exports.useTypedServerFn = useTypedServerFn;
|
|
7
|
+
exports.callServerFn = callServerFn;
|
|
8
|
+
const react_1 = require("react");
|
|
9
|
+
const server_function_registry_1 = require("./server-function-registry");
|
|
10
|
+
// 設定可能なRPCエンドポイント
|
|
11
|
+
let rpcEndpoint = "/api/_swallowkit";
|
|
12
|
+
/**
|
|
13
|
+
* RPCエンドポイントを設定
|
|
14
|
+
*/
|
|
15
|
+
function setRpcEndpoint(endpoint) {
|
|
16
|
+
rpcEndpoint = endpoint;
|
|
17
|
+
}
|
|
18
|
+
/**
|
|
19
|
+
* 現在のRPCエンドポイントを取得
|
|
20
|
+
*/
|
|
21
|
+
function getRpcEndpoint() {
|
|
22
|
+
return rpcEndpoint;
|
|
23
|
+
}
|
|
24
|
+
/**
|
|
25
|
+
* サーバー関数を呼び出すためのReact Hook
|
|
26
|
+
* SSRとCSRの両方に対応し、自動的に実行環境を判別する
|
|
27
|
+
*/
|
|
28
|
+
function useServerFn(serverFn, args, options = {}) {
|
|
29
|
+
const [data, setData] = (0, react_1.useState)(null);
|
|
30
|
+
const [loading, setLoading] = (0, react_1.useState)(true);
|
|
31
|
+
const [error, setError] = (0, react_1.useState)(null);
|
|
32
|
+
const { mode = "auto", enabled = true } = options;
|
|
33
|
+
const executeServerFn = (0, react_1.useCallback)(async () => {
|
|
34
|
+
if (!enabled) {
|
|
35
|
+
setLoading(false);
|
|
36
|
+
return;
|
|
37
|
+
}
|
|
38
|
+
// 開発時の警告: 関数が登録されているかチェック
|
|
39
|
+
if (process.env.NODE_ENV === 'development' && !(0, server_function_registry_1.isServerFunctionRegistered)(serverFn)) {
|
|
40
|
+
console.warn(`SwallowKit: Server function "${serverFn.name || 'anonymous'}" is not registered. ` +
|
|
41
|
+
`Consider using defineServerFunction() or registerServerFunction() for better reliability.`);
|
|
42
|
+
}
|
|
43
|
+
setLoading(true);
|
|
44
|
+
setError(null);
|
|
45
|
+
try {
|
|
46
|
+
const isServer = typeof window === "undefined";
|
|
47
|
+
let result;
|
|
48
|
+
if ((mode === "auto" && isServer) || mode === "force-server") {
|
|
49
|
+
// サーバーサイドで直接実行
|
|
50
|
+
result = await Promise.resolve(serverFn(...args));
|
|
51
|
+
}
|
|
52
|
+
else {
|
|
53
|
+
// クライアントサイドでRPC呼び出し
|
|
54
|
+
result = await callServerFnRPC(serverFn, args);
|
|
55
|
+
}
|
|
56
|
+
setData(result);
|
|
57
|
+
}
|
|
58
|
+
catch (err) {
|
|
59
|
+
setError(err);
|
|
60
|
+
console.error("SwallowKit: Server function execution failed:", err);
|
|
61
|
+
}
|
|
62
|
+
finally {
|
|
63
|
+
setLoading(false);
|
|
64
|
+
}
|
|
65
|
+
}, [serverFn, JSON.stringify(args), mode, enabled]);
|
|
66
|
+
const refetch = (0, react_1.useCallback)(() => {
|
|
67
|
+
executeServerFn();
|
|
68
|
+
}, [executeServerFn]);
|
|
69
|
+
(0, react_1.useEffect)(() => {
|
|
70
|
+
executeServerFn();
|
|
71
|
+
}, [executeServerFn]);
|
|
72
|
+
return { data, loading, error, refetch };
|
|
73
|
+
}
|
|
74
|
+
/**
|
|
75
|
+
* 型安全なサーバー関数フック(defineServerFunction で定義された関数用)
|
|
76
|
+
*/
|
|
77
|
+
function useTypedServerFn(serverFn, args, options = {}) {
|
|
78
|
+
return useServerFn(serverFn, args, options);
|
|
79
|
+
}
|
|
80
|
+
/**
|
|
81
|
+
* サーバー関数をRPC経由で呼び出す(v4 API対応)
|
|
82
|
+
*/
|
|
83
|
+
async function callServerFnRPC(serverFn, args) {
|
|
84
|
+
const fnName = (0, server_function_registry_1.getServerFunctionName)(serverFn);
|
|
85
|
+
const request = {
|
|
86
|
+
fnName,
|
|
87
|
+
args,
|
|
88
|
+
};
|
|
89
|
+
// v4 API エンドポイントに対応(設定可能)
|
|
90
|
+
const response = await fetch(rpcEndpoint, {
|
|
91
|
+
method: "POST",
|
|
92
|
+
headers: {
|
|
93
|
+
"Content-Type": "application/json",
|
|
94
|
+
},
|
|
95
|
+
body: JSON.stringify(request),
|
|
96
|
+
});
|
|
97
|
+
if (!response.ok) {
|
|
98
|
+
throw new Error(`RPC request failed: ${response.status} ${response.statusText}`);
|
|
99
|
+
}
|
|
100
|
+
// v4 APIは直接結果を返すため、レスポンス形式を調整
|
|
101
|
+
try {
|
|
102
|
+
const result = await response.json();
|
|
103
|
+
return result;
|
|
104
|
+
}
|
|
105
|
+
catch (error) {
|
|
106
|
+
throw new Error("Failed to parse server response");
|
|
107
|
+
}
|
|
108
|
+
}
|
|
109
|
+
/**
|
|
110
|
+
* サーバー関数を直接呼び出す(ミューテーション用)
|
|
111
|
+
* useServerFnと異なり、状態管理なしで即座に実行される
|
|
112
|
+
*
|
|
113
|
+
* @example
|
|
114
|
+
* await callServerFn(addTodo, { text: "New task" });
|
|
115
|
+
*/
|
|
116
|
+
async function callServerFn(serverFn, ...args) {
|
|
117
|
+
return callServerFnRPC(serverFn, args);
|
|
118
|
+
}
|
|
119
|
+
//# sourceMappingURL=useServerFn.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useServerFn.js","sourceRoot":"","sources":["../../src/hooks/useServerFn.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
ADDED
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* SwallowKit - Azure Static Web Apps向けReact Hooksベースフレームワーク
|
|
3
|
+
* メインエクスポート
|
|
4
|
+
*/
|
|
5
|
+
export { useServerFn, useTypedServerFn, setRpcEndpoint, getRpcEndpoint, callServerFn } from "./hooks/useServerFn";
|
|
6
|
+
export { useQuery, useMutation, useSchemaQuery, useSchemaMutation, type UseQueryOptions, type UseQueryResult, type UseMutationOptions, type UseMutationResult } from "./hooks/useQuery";
|
|
7
|
+
export { registerServerFunction, registerServerFunctions, defineServerFunction, getServerFunctionName, getServerFunctionDefinition, getServerFunctionById, getServerFunctionId, isServerFunctionRegistered, getRegisteredFunctions, clearServerFunctionRegistry, autoRegisterServerFunctions, getRegistryDebugInfo, } from "./hooks/server-function-registry";
|
|
8
|
+
export type { ServerFunction, ServerFunctionDefinition, ServerFnFactory, UseServerFnOptions, UseServerFnResult, ServerFnMode, RPCRequest, RPCResponse, SwallowKitConfig, } from "./types";
|
|
9
|
+
export { DatabaseClient, getDatabaseClient } from "./database/client";
|
|
10
|
+
export { SchemaRepository, createRepository, TodoSchema, TodoRepository } from "./database/repository";
|
|
11
|
+
export type { Todo } from "./database/repository";
|
|
12
|
+
export { loadConfig, generateConfig, getFullConfig, validateConfig } from "./core/config";
|
|
13
|
+
export { ApiGenerator } from "./generator/api-generator";
|
|
14
|
+
export { SchemaParser } from "./generator/schema-parser";
|
|
15
|
+
export { RpcHandler, defaultRpcHandler } from "./api/rpc-handler";
|
|
16
|
+
export * from "./schemas/example";
|
|
17
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,EAAE,WAAW,EAAE,gBAAgB,EAAE,cAAc,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAClH,OAAO,EACL,QAAQ,EACR,WAAW,EACX,cAAc,EACd,iBAAiB,EACjB,KAAK,eAAe,EACpB,KAAK,cAAc,EACnB,KAAK,kBAAkB,EACvB,KAAK,iBAAiB,EACvB,MAAM,kBAAkB,CAAC;AAG1B,OAAO,EACL,sBAAsB,EACtB,uBAAuB,EACvB,oBAAoB,EACpB,qBAAqB,EACrB,2BAA2B,EAC3B,qBAAqB,EACrB,mBAAmB,EACnB,0BAA0B,EAC1B,sBAAsB,EACtB,2BAA2B,EAC3B,2BAA2B,EAC3B,oBAAoB,GACrB,MAAM,kCAAkC,CAAC;AAG1C,YAAY,EACV,cAAc,EACd,wBAAwB,EACxB,eAAe,EACf,kBAAkB,EAClB,iBAAiB,EACjB,YAAY,EACZ,UAAU,EACV,WAAW,EACX,gBAAgB,GACjB,MAAM,SAAS,CAAC;AAGjB,OAAO,EAAE,cAAc,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AACtE,OAAO,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvG,YAAY,EAAE,IAAI,EAAE,MAAM,uBAAuB,CAAC;AAGlD,OAAO,EAAE,UAAU,EAAE,cAAc,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAG1F,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AACzD,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AACzD,OAAO,EAAE,UAAU,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAGlE,cAAc,mBAAmB,CAAC"}
|
package/dist/index.js
ADDED
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* SwallowKit - Azure Static Web Apps向けReact Hooksベースフレームワーク
|
|
4
|
+
* メインエクスポート
|
|
5
|
+
*/
|
|
6
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
7
|
+
if (k2 === undefined) k2 = k;
|
|
8
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
9
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
10
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
11
|
+
}
|
|
12
|
+
Object.defineProperty(o, k2, desc);
|
|
13
|
+
}) : (function(o, m, k, k2) {
|
|
14
|
+
if (k2 === undefined) k2 = k;
|
|
15
|
+
o[k2] = m[k];
|
|
16
|
+
}));
|
|
17
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
18
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
19
|
+
};
|
|
20
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
21
|
+
exports.defaultRpcHandler = exports.RpcHandler = exports.SchemaParser = exports.ApiGenerator = exports.validateConfig = exports.getFullConfig = exports.generateConfig = exports.loadConfig = exports.TodoRepository = exports.TodoSchema = exports.createRepository = exports.SchemaRepository = exports.getDatabaseClient = exports.DatabaseClient = exports.getRegistryDebugInfo = exports.autoRegisterServerFunctions = exports.clearServerFunctionRegistry = exports.getRegisteredFunctions = exports.isServerFunctionRegistered = exports.getServerFunctionId = exports.getServerFunctionById = exports.getServerFunctionDefinition = exports.getServerFunctionName = exports.defineServerFunction = exports.registerServerFunctions = exports.registerServerFunction = exports.useSchemaMutation = exports.useSchemaQuery = exports.useMutation = exports.useQuery = exports.callServerFn = exports.getRpcEndpoint = exports.setRpcEndpoint = exports.useTypedServerFn = exports.useServerFn = void 0;
|
|
22
|
+
// フック
|
|
23
|
+
var useServerFn_1 = require("./hooks/useServerFn");
|
|
24
|
+
Object.defineProperty(exports, "useServerFn", { enumerable: true, get: function () { return useServerFn_1.useServerFn; } });
|
|
25
|
+
Object.defineProperty(exports, "useTypedServerFn", { enumerable: true, get: function () { return useServerFn_1.useTypedServerFn; } });
|
|
26
|
+
Object.defineProperty(exports, "setRpcEndpoint", { enumerable: true, get: function () { return useServerFn_1.setRpcEndpoint; } });
|
|
27
|
+
Object.defineProperty(exports, "getRpcEndpoint", { enumerable: true, get: function () { return useServerFn_1.getRpcEndpoint; } });
|
|
28
|
+
Object.defineProperty(exports, "callServerFn", { enumerable: true, get: function () { return useServerFn_1.callServerFn; } });
|
|
29
|
+
var useQuery_1 = require("./hooks/useQuery");
|
|
30
|
+
Object.defineProperty(exports, "useQuery", { enumerable: true, get: function () { return useQuery_1.useQuery; } });
|
|
31
|
+
Object.defineProperty(exports, "useMutation", { enumerable: true, get: function () { return useQuery_1.useMutation; } });
|
|
32
|
+
Object.defineProperty(exports, "useSchemaQuery", { enumerable: true, get: function () { return useQuery_1.useSchemaQuery; } });
|
|
33
|
+
Object.defineProperty(exports, "useSchemaMutation", { enumerable: true, get: function () { return useQuery_1.useSchemaMutation; } });
|
|
34
|
+
// サーバー関数レジストリ
|
|
35
|
+
var server_function_registry_1 = require("./hooks/server-function-registry");
|
|
36
|
+
Object.defineProperty(exports, "registerServerFunction", { enumerable: true, get: function () { return server_function_registry_1.registerServerFunction; } });
|
|
37
|
+
Object.defineProperty(exports, "registerServerFunctions", { enumerable: true, get: function () { return server_function_registry_1.registerServerFunctions; } });
|
|
38
|
+
Object.defineProperty(exports, "defineServerFunction", { enumerable: true, get: function () { return server_function_registry_1.defineServerFunction; } });
|
|
39
|
+
Object.defineProperty(exports, "getServerFunctionName", { enumerable: true, get: function () { return server_function_registry_1.getServerFunctionName; } });
|
|
40
|
+
Object.defineProperty(exports, "getServerFunctionDefinition", { enumerable: true, get: function () { return server_function_registry_1.getServerFunctionDefinition; } });
|
|
41
|
+
Object.defineProperty(exports, "getServerFunctionById", { enumerable: true, get: function () { return server_function_registry_1.getServerFunctionById; } });
|
|
42
|
+
Object.defineProperty(exports, "getServerFunctionId", { enumerable: true, get: function () { return server_function_registry_1.getServerFunctionId; } });
|
|
43
|
+
Object.defineProperty(exports, "isServerFunctionRegistered", { enumerable: true, get: function () { return server_function_registry_1.isServerFunctionRegistered; } });
|
|
44
|
+
Object.defineProperty(exports, "getRegisteredFunctions", { enumerable: true, get: function () { return server_function_registry_1.getRegisteredFunctions; } });
|
|
45
|
+
Object.defineProperty(exports, "clearServerFunctionRegistry", { enumerable: true, get: function () { return server_function_registry_1.clearServerFunctionRegistry; } });
|
|
46
|
+
Object.defineProperty(exports, "autoRegisterServerFunctions", { enumerable: true, get: function () { return server_function_registry_1.autoRegisterServerFunctions; } });
|
|
47
|
+
Object.defineProperty(exports, "getRegistryDebugInfo", { enumerable: true, get: function () { return server_function_registry_1.getRegistryDebugInfo; } });
|
|
48
|
+
// データベース
|
|
49
|
+
var client_1 = require("./database/client");
|
|
50
|
+
Object.defineProperty(exports, "DatabaseClient", { enumerable: true, get: function () { return client_1.DatabaseClient; } });
|
|
51
|
+
Object.defineProperty(exports, "getDatabaseClient", { enumerable: true, get: function () { return client_1.getDatabaseClient; } });
|
|
52
|
+
var repository_1 = require("./database/repository");
|
|
53
|
+
Object.defineProperty(exports, "SchemaRepository", { enumerable: true, get: function () { return repository_1.SchemaRepository; } });
|
|
54
|
+
Object.defineProperty(exports, "createRepository", { enumerable: true, get: function () { return repository_1.createRepository; } });
|
|
55
|
+
Object.defineProperty(exports, "TodoSchema", { enumerable: true, get: function () { return repository_1.TodoSchema; } });
|
|
56
|
+
Object.defineProperty(exports, "TodoRepository", { enumerable: true, get: function () { return repository_1.TodoRepository; } });
|
|
57
|
+
// 設定
|
|
58
|
+
var config_1 = require("./core/config");
|
|
59
|
+
Object.defineProperty(exports, "loadConfig", { enumerable: true, get: function () { return config_1.loadConfig; } });
|
|
60
|
+
Object.defineProperty(exports, "generateConfig", { enumerable: true, get: function () { return config_1.generateConfig; } });
|
|
61
|
+
Object.defineProperty(exports, "getFullConfig", { enumerable: true, get: function () { return config_1.getFullConfig; } });
|
|
62
|
+
Object.defineProperty(exports, "validateConfig", { enumerable: true, get: function () { return config_1.validateConfig; } });
|
|
63
|
+
// API自動生成
|
|
64
|
+
var api_generator_1 = require("./generator/api-generator");
|
|
65
|
+
Object.defineProperty(exports, "ApiGenerator", { enumerable: true, get: function () { return api_generator_1.ApiGenerator; } });
|
|
66
|
+
var schema_parser_1 = require("./generator/schema-parser");
|
|
67
|
+
Object.defineProperty(exports, "SchemaParser", { enumerable: true, get: function () { return schema_parser_1.SchemaParser; } });
|
|
68
|
+
var rpc_handler_1 = require("./api/rpc-handler");
|
|
69
|
+
Object.defineProperty(exports, "RpcHandler", { enumerable: true, get: function () { return rpc_handler_1.RpcHandler; } });
|
|
70
|
+
Object.defineProperty(exports, "defaultRpcHandler", { enumerable: true, get: function () { return rpc_handler_1.defaultRpcHandler; } });
|
|
71
|
+
// スキーマ例
|
|
72
|
+
__exportStar(require("./schemas/example"), exports);
|
|
73
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;;;;;;;;;;;;;;;AAEH,MAAM;AACN,mDAAkH;AAAzG,0GAAA,WAAW,OAAA;AAAE,+GAAA,gBAAgB,OAAA;AAAE,6GAAA,cAAc,OAAA;AAAE,6GAAA,cAAc,OAAA;AAAE,2GAAA,YAAY,OAAA;AACpF,6CAS0B;AARxB,oGAAA,QAAQ,OAAA;AACR,uGAAA,WAAW,OAAA;AACX,0GAAA,cAAc,OAAA;AACd,6GAAA,iBAAiB,OAAA;AAOnB,cAAc;AACd,6EAa0C;AAZxC,kIAAA,sBAAsB,OAAA;AACtB,mIAAA,uBAAuB,OAAA;AACvB,gIAAA,oBAAoB,OAAA;AACpB,iIAAA,qBAAqB,OAAA;AACrB,uIAAA,2BAA2B,OAAA;AAC3B,iIAAA,qBAAqB,OAAA;AACrB,+HAAA,mBAAmB,OAAA;AACnB,sIAAA,0BAA0B,OAAA;AAC1B,kIAAA,sBAAsB,OAAA;AACtB,uIAAA,2BAA2B,OAAA;AAC3B,uIAAA,2BAA2B,OAAA;AAC3B,gIAAA,oBAAoB,OAAA;AAgBtB,SAAS;AACT,4CAAsE;AAA7D,wGAAA,cAAc,OAAA;AAAE,2GAAA,iBAAiB,OAAA;AAC1C,oDAAuG;AAA9F,8GAAA,gBAAgB,OAAA;AAAE,8GAAA,gBAAgB,OAAA;AAAE,wGAAA,UAAU,OAAA;AAAE,4GAAA,cAAc,OAAA;AAGvE,KAAK;AACL,wCAA0F;AAAjF,oGAAA,UAAU,OAAA;AAAE,wGAAA,cAAc,OAAA;AAAE,uGAAA,aAAa,OAAA;AAAE,wGAAA,cAAc,OAAA;AAElE,UAAU;AACV,2DAAyD;AAAhD,6GAAA,YAAY,OAAA;AACrB,2DAAyD;AAAhD,6GAAA,YAAY,OAAA;AACrB,iDAAkE;AAAzD,yGAAA,UAAU,OAAA;AAAE,gHAAA,iBAAiB,OAAA;AAEtC,QAAQ;AACR,oDAAkC"}
|