@fragno-dev/github-app-fragment 0.0.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.
Files changed (104) hide show
  1. package/LICENSE.md +16 -0
  2. package/README.md +163 -0
  3. package/bin/run.js +5 -0
  4. package/dist/browser/client/react.d.ts +37 -0
  5. package/dist/browser/client/react.d.ts.map +1 -0
  6. package/dist/browser/client/react.js +166 -0
  7. package/dist/browser/client/react.js.map +1 -0
  8. package/dist/browser/client/solid.d.ts +35 -0
  9. package/dist/browser/client/solid.d.ts.map +1 -0
  10. package/dist/browser/client/solid.js +136 -0
  11. package/dist/browser/client/solid.js.map +1 -0
  12. package/dist/browser/client/svelte.d.ts +30 -0
  13. package/dist/browser/client/svelte.d.ts.map +1 -0
  14. package/dist/browser/client/svelte.js +134 -0
  15. package/dist/browser/client/svelte.js.map +1 -0
  16. package/dist/browser/client/vanilla.d.ts +16 -0
  17. package/dist/browser/client/vanilla.d.ts.map +1 -0
  18. package/dist/browser/client/vanilla.js +11 -0
  19. package/dist/browser/client/vanilla.js.map +1 -0
  20. package/dist/browser/client/vue.d.ts +33 -0
  21. package/dist/browser/client/vue.d.ts.map +1 -0
  22. package/dist/browser/client/vue.js +133 -0
  23. package/dist/browser/client/vue.js.map +1 -0
  24. package/dist/browser/factory-BIj4C6PD.js +2210 -0
  25. package/dist/browser/factory-BIj4C6PD.js.map +1 -0
  26. package/dist/browser/index.d.ts +343 -0
  27. package/dist/browser/index.d.ts.map +1 -0
  28. package/dist/browser/index.js +3 -0
  29. package/dist/browser/types-BzeSSOQU.d.ts +660 -0
  30. package/dist/browser/types-BzeSSOQU.d.ts.map +1 -0
  31. package/dist/cli/commands/installations.js +92 -0
  32. package/dist/cli/commands/installations.js.map +1 -0
  33. package/dist/cli/commands/pulls.js +123 -0
  34. package/dist/cli/commands/pulls.js.map +1 -0
  35. package/dist/cli/commands/repositories.js +105 -0
  36. package/dist/cli/commands/repositories.js.map +1 -0
  37. package/dist/cli/commands/serve.js +187 -0
  38. package/dist/cli/commands/serve.js.map +1 -0
  39. package/dist/cli/commands/webhooks.js +122 -0
  40. package/dist/cli/commands/webhooks.js.map +1 -0
  41. package/dist/cli/github/api.js +94 -0
  42. package/dist/cli/github/api.js.map +1 -0
  43. package/dist/cli/github/definition.js +15 -0
  44. package/dist/cli/github/definition.js.map +1 -0
  45. package/dist/cli/github/factory.js +12 -0
  46. package/dist/cli/github/factory.js.map +1 -0
  47. package/dist/cli/github/repo-sync.js +33 -0
  48. package/dist/cli/github/repo-sync.js.map +1 -0
  49. package/dist/cli/github/utils.js +23 -0
  50. package/dist/cli/github/utils.js.map +1 -0
  51. package/dist/cli/github/webhook-processing.js +247 -0
  52. package/dist/cli/github/webhook-processing.js.map +1 -0
  53. package/dist/cli/index.d.ts +5 -0
  54. package/dist/cli/index.d.ts.map +1 -0
  55. package/dist/cli/index.js +263 -0
  56. package/dist/cli/index.js.map +1 -0
  57. package/dist/cli/routes.js +718 -0
  58. package/dist/cli/routes.js.map +1 -0
  59. package/dist/cli/schema.js +47 -0
  60. package/dist/cli/schema.js.map +1 -0
  61. package/dist/cli/utils/client.js +120 -0
  62. package/dist/cli/utils/client.js.map +1 -0
  63. package/dist/cli/utils/config.js +113 -0
  64. package/dist/cli/utils/config.js.map +1 -0
  65. package/dist/cli/utils/options.js +90 -0
  66. package/dist/cli/utils/options.js.map +1 -0
  67. package/dist/cli/utils/output.js +12 -0
  68. package/dist/cli/utils/output.js.map +1 -0
  69. package/dist/node/github/api.d.ts +52 -0
  70. package/dist/node/github/api.d.ts.map +1 -0
  71. package/dist/node/github/api.js +94 -0
  72. package/dist/node/github/api.js.map +1 -0
  73. package/dist/node/github/clients.d.ts +19 -0
  74. package/dist/node/github/clients.d.ts.map +1 -0
  75. package/dist/node/github/clients.js +12 -0
  76. package/dist/node/github/clients.js.map +1 -0
  77. package/dist/node/github/definition.d.ts +33 -0
  78. package/dist/node/github/definition.d.ts.map +1 -0
  79. package/dist/node/github/definition.js +15 -0
  80. package/dist/node/github/definition.js.map +1 -0
  81. package/dist/node/github/factory.d.ts +139 -0
  82. package/dist/node/github/factory.d.ts.map +1 -0
  83. package/dist/node/github/factory.js +18 -0
  84. package/dist/node/github/factory.js.map +1 -0
  85. package/dist/node/github/repo-sync.js +33 -0
  86. package/dist/node/github/repo-sync.js.map +1 -0
  87. package/dist/node/github/types.d.ts +24 -0
  88. package/dist/node/github/types.d.ts.map +1 -0
  89. package/dist/node/github/utils.js +23 -0
  90. package/dist/node/github/utils.js.map +1 -0
  91. package/dist/node/github/webhook-processing.d.ts +15 -0
  92. package/dist/node/github/webhook-processing.d.ts.map +1 -0
  93. package/dist/node/github/webhook-processing.js +247 -0
  94. package/dist/node/github/webhook-processing.js.map +1 -0
  95. package/dist/node/index.d.ts +7 -0
  96. package/dist/node/index.js +6 -0
  97. package/dist/node/routes.d.ts +127 -0
  98. package/dist/node/routes.d.ts.map +1 -0
  99. package/dist/node/routes.js +718 -0
  100. package/dist/node/routes.js.map +1 -0
  101. package/dist/node/schema.js +47 -0
  102. package/dist/node/schema.js.map +1 -0
  103. package/dist/tsconfig.tsbuildinfo +1 -0
  104. package/package.json +114 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"svelte.d.ts","names":["MaybeExtractPathParamsOrWiden","QueryParamsHint","InferOr","NonGetHTTPMethod","FragnoClientError","FragnoClientHookData","FragnoClientMutatorData","FragnoStoreData","FragnoStoreFactoryData","FragnoStoreObjectData","ReadableAtom","Readable","StandardSchemaV1","FragnoSvelteHook","_TMethod","TPath$1","TOutputSchema$1","TErrorCode$1","TQueryParameters$1","path","query","args","data","loading","error","FragnoSvelteMutator","TInputSchema$1","Promise","mutate","body","readableToAtom","T","value","runeToAtom","FragnoSvelteStore","TArgs","createSvelteStore","hook","useFragno","Record","K","TPath","TOutputSchema","TErrorCode","TQueryParameters","M","TInputSchema","TStoreObj","TStoreArgs","clientObj"],"sources":["../../../../fragno/dist/client/client.svelte.d.ts","../../../src/client/svelte.ts"],"mappings":";;;;;;;;KAkBKyB,mBAAAA,kBAAqCtB,gBAAAA,iDAAiES,gBAAAA,sCAAsDA,gBAAAA;EAC/JgB,MAAAA,GAASP,IAAAA;IACPQ,IAAAA,GAAO3B,OAAAA,CAAQwB,cAAAA;IACfP,IAAAA,GAAOnB,6BAAAA,CAA8Be,OAAAA,WAAkBJ,QAAAA,WAAmBD,YAAAA;IAC1EU,KAAAA,GAAQnB,eAAAA,CAAgBiB,kBAAAA,WAA6BP,QAAAA,WAAmBD,YAAAA;EAAAA,MACpEiB,OAAAA,CAAQzB,OAAAA,CAAQc,eAAAA;EACtBO,OAAAA,EAASZ,QAAAA;EACTa,KAAAA,EAAOb,QAAAA,CAASP,iBAAAA,CAAkBa,YAAAA;EAClCK,IAAAA,EAAMX,QAAAA,CAAST,OAAAA,CAAQc,eAAAA;AAAAA;;;iBCrBT,6BAAA,CAA8B,MAAA,GAAQ,mCAAA;2CAAwC,gBAAA"}
@@ -0,0 +1,134 @@
1
+ import { c as isMutatorHook, i as createGitHubAppFragmentClients, l as isStore, s as isGetHook, u as atom } from "../factory-BIj4C6PD.js";
2
+ import "../index.js";
3
+ import { onDestroy } from "svelte";
4
+ import { get, writable } from "svelte/store";
5
+
6
+ //#region ../fragno/dist/client/client.svelte.js
7
+ function isReadable(value) {
8
+ return typeof value === "object" && value !== null && "subscribe" in value;
9
+ }
10
+ function isCallable(value) {
11
+ return typeof value === "function";
12
+ }
13
+ function readableToAtom(value) {
14
+ const a = /* @__PURE__ */ atom(get(value));
15
+ value.subscribe((newVal) => {
16
+ a.set(newVal);
17
+ });
18
+ return a;
19
+ }
20
+ function runeToAtom(value) {
21
+ const a = /* @__PURE__ */ atom(value());
22
+ $effect(() => {
23
+ a.set(value());
24
+ });
25
+ return a;
26
+ }
27
+ function createSvelteHook(hook) {
28
+ return ({ path, query } = {}) => {
29
+ const pathParams = {};
30
+ const queryParams = {};
31
+ for (const [key, value] of Object.entries(path ?? {})) {
32
+ const v = value;
33
+ if (isCallable(v)) pathParams[key] = runeToAtom(v);
34
+ else pathParams[key] = isReadable(v) ? readableToAtom(v) : v;
35
+ }
36
+ for (const [key, value] of Object.entries(query ?? {})) {
37
+ const v = value;
38
+ if (isCallable(v)) queryParams[key] = runeToAtom(v);
39
+ else queryParams[key] = isReadable(v) ? readableToAtom(v) : v;
40
+ }
41
+ const store = hook.store({
42
+ path: pathParams,
43
+ query: queryParams
44
+ });
45
+ const data = writable(void 0);
46
+ const loading = writable(false);
47
+ const error = writable(void 0);
48
+ const unsubscribe = store.subscribe((updatedStoreValue) => {
49
+ data.set(updatedStoreValue.data);
50
+ loading.set(updatedStoreValue.loading);
51
+ error.set(updatedStoreValue.error);
52
+ });
53
+ onDestroy(() => {
54
+ unsubscribe();
55
+ });
56
+ return {
57
+ data,
58
+ loading,
59
+ error
60
+ };
61
+ };
62
+ }
63
+ function createSvelteMutator(hook) {
64
+ return () => {
65
+ const data = writable(void 0);
66
+ const loading = writable(void 0);
67
+ const error = writable(void 0);
68
+ const unsubscribe = hook.mutatorStore.subscribe((storeValue) => {
69
+ data.set(storeValue.data);
70
+ loading.set(storeValue.loading);
71
+ error.set(storeValue.error);
72
+ });
73
+ onDestroy(() => {
74
+ unsubscribe();
75
+ });
76
+ const mutate = async (args) => {
77
+ const { body, path, query } = args;
78
+ const pathParams = {};
79
+ const queryParams = {};
80
+ for (const [key, value] of Object.entries(path ?? {})) {
81
+ const v = value;
82
+ pathParams[key] = isReadable(v) ? readableToAtom(v) : v;
83
+ }
84
+ for (const [key, value] of Object.entries(query ?? {})) {
85
+ const v = value;
86
+ queryParams[key] = isReadable(v) ? readableToAtom(v) : v;
87
+ }
88
+ return hook.mutatorStore.mutate({
89
+ body,
90
+ path: pathParams,
91
+ query: queryParams
92
+ });
93
+ };
94
+ return {
95
+ mutate,
96
+ loading,
97
+ error,
98
+ data
99
+ };
100
+ };
101
+ }
102
+ function createSvelteStore(hook) {
103
+ if ("obj" in hook) return hook.obj;
104
+ return (...args) => {
105
+ const value = hook.factory(...args);
106
+ const disposer = value[Symbol.dispose];
107
+ if (typeof disposer === "function") onDestroy(() => {
108
+ disposer.call(value);
109
+ });
110
+ return value;
111
+ };
112
+ }
113
+ function useFragno(clientObj) {
114
+ const result = {};
115
+ for (const key in clientObj) {
116
+ if (!Object.prototype.hasOwnProperty.call(clientObj, key)) continue;
117
+ const hook = clientObj[key];
118
+ if (isGetHook(hook)) result[key] = createSvelteHook(hook);
119
+ else if (isMutatorHook(hook)) result[key] = createSvelteMutator(hook);
120
+ else if (isStore(hook)) result[key] = createSvelteStore(hook);
121
+ else result[key] = hook;
122
+ }
123
+ return result;
124
+ }
125
+
126
+ //#endregion
127
+ //#region src/client/svelte.ts
128
+ function createGitHubAppFragmentClient(config = {}) {
129
+ return useFragno(createGitHubAppFragmentClients(config));
130
+ }
131
+
132
+ //#endregion
133
+ export { createGitHubAppFragmentClient };
134
+ //# sourceMappingURL=svelte.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"svelte.js","names":["isGetHook","isMutatorHook","isStore","atom","onDestroy","get","writable","isReadable","value","isCallable","readableToAtom","a","subscribe","newVal","set","runeToAtom","$effect","createSvelteHook","hook","path","query","pathParams","queryParams","key","Object","entries","v","store","data","loading","error","unsubscribe","updatedStoreValue","createSvelteMutator","mutatorStore","storeValue","mutate","args","body","createSvelteStore","obj","factory","disposer","Symbol","dispose","call","useFragno","clientObj","result","prototype","hasOwnProperty","useFragno","createGitHubAppFragmentClients","GitHubAppFragmentPublicClientConfig","createGitHubAppFragmentClient","config"],"sources":["../../../../fragno/dist/client/client.svelte.js","../../../src/client/svelte.ts"],"sourcesContent":["import { isGetHook, isMutatorHook, isStore } from \"./client.js\";\nimport { atom } from \"nanostores\";\nimport { onDestroy } from \"svelte\";\nimport { get, writable } from \"svelte/store\";\n\n//#region src/client/client.svelte.ts\nfunction isReadable(value) {\n\treturn typeof value === \"object\" && value !== null && \"subscribe\" in value;\n}\nfunction isCallable(value) {\n\treturn typeof value === \"function\";\n}\nfunction readableToAtom(value) {\n\tconst a = atom(get(value));\n\tvalue.subscribe((newVal) => {\n\t\ta.set(newVal);\n\t});\n\treturn a;\n}\nfunction runeToAtom(value) {\n\tconst a = atom(value());\n\t$effect(() => {\n\t\ta.set(value());\n\t});\n\treturn a;\n}\nfunction createSvelteHook(hook) {\n\treturn ({ path, query } = {}) => {\n\t\tconst pathParams = {};\n\t\tconst queryParams = {};\n\t\tfor (const [key, value] of Object.entries(path ?? {})) {\n\t\t\tconst v = value;\n\t\t\tif (isCallable(v)) pathParams[key] = runeToAtom(v);\n\t\t\telse pathParams[key] = isReadable(v) ? readableToAtom(v) : v;\n\t\t}\n\t\tfor (const [key, value] of Object.entries(query ?? {})) {\n\t\t\tconst v = value;\n\t\t\tif (isCallable(v)) queryParams[key] = runeToAtom(v);\n\t\t\telse queryParams[key] = isReadable(v) ? readableToAtom(v) : v;\n\t\t}\n\t\tconst store = hook.store({\n\t\t\tpath: pathParams,\n\t\t\tquery: queryParams\n\t\t});\n\t\tconst data = writable(void 0);\n\t\tconst loading = writable(false);\n\t\tconst error = writable(void 0);\n\t\tconst unsubscribe = store.subscribe((updatedStoreValue) => {\n\t\t\tdata.set(updatedStoreValue.data);\n\t\t\tloading.set(updatedStoreValue.loading);\n\t\t\terror.set(updatedStoreValue.error);\n\t\t});\n\t\tonDestroy(() => {\n\t\t\tunsubscribe();\n\t\t});\n\t\treturn {\n\t\t\tdata,\n\t\t\tloading,\n\t\t\terror\n\t\t};\n\t};\n}\nfunction createSvelteMutator(hook) {\n\treturn () => {\n\t\tconst data = writable(void 0);\n\t\tconst loading = writable(void 0);\n\t\tconst error = writable(void 0);\n\t\tconst unsubscribe = hook.mutatorStore.subscribe((storeValue) => {\n\t\t\tdata.set(storeValue.data);\n\t\t\tloading.set(storeValue.loading);\n\t\t\terror.set(storeValue.error);\n\t\t});\n\t\tonDestroy(() => {\n\t\t\tunsubscribe();\n\t\t});\n\t\tconst mutate = async (args) => {\n\t\t\tconst { body, path, query } = args;\n\t\t\tconst pathParams = {};\n\t\t\tconst queryParams = {};\n\t\t\tfor (const [key, value] of Object.entries(path ?? {})) {\n\t\t\t\tconst v = value;\n\t\t\t\tpathParams[key] = isReadable(v) ? readableToAtom(v) : v;\n\t\t\t}\n\t\t\tfor (const [key, value] of Object.entries(query ?? {})) {\n\t\t\t\tconst v = value;\n\t\t\t\tqueryParams[key] = isReadable(v) ? readableToAtom(v) : v;\n\t\t\t}\n\t\t\treturn hook.mutatorStore.mutate({\n\t\t\t\tbody,\n\t\t\t\tpath: pathParams,\n\t\t\t\tquery: queryParams\n\t\t\t});\n\t\t};\n\t\treturn {\n\t\t\tmutate,\n\t\t\tloading,\n\t\t\terror,\n\t\t\tdata\n\t\t};\n\t};\n}\nfunction createSvelteStore(hook) {\n\tif (\"obj\" in hook) return hook.obj;\n\treturn ((...args) => {\n\t\tconst value = hook.factory(...args);\n\t\tconst disposer = value[Symbol.dispose];\n\t\tif (typeof disposer === \"function\") onDestroy(() => {\n\t\t\tdisposer.call(value);\n\t\t});\n\t\treturn value;\n\t});\n}\nfunction useFragno(clientObj) {\n\tconst result = {};\n\tfor (const key in clientObj) {\n\t\tif (!Object.prototype.hasOwnProperty.call(clientObj, key)) continue;\n\t\tconst hook = clientObj[key];\n\t\tif (isGetHook(hook)) result[key] = createSvelteHook(hook);\n\t\telse if (isMutatorHook(hook)) result[key] = createSvelteMutator(hook);\n\t\telse if (isStore(hook)) result[key] = createSvelteStore(hook);\n\t\telse result[key] = hook;\n\t}\n\treturn result;\n}\n\n//#endregion\nexport { createSvelteStore, readableToAtom, runeToAtom, useFragno };\n//# sourceMappingURL=client.svelte.js.map","import { useFragno } from \"@fragno-dev/core/svelte\";\n\nimport { createGitHubAppFragmentClients } from \"..\";\nimport type { GitHubAppFragmentPublicClientConfig } from \"../github/types\";\n\nexport function createGitHubAppFragmentClient(config: GitHubAppFragmentPublicClientConfig = {}) {\n return useFragno(createGitHubAppFragmentClients(config));\n}\n"],"mappings":"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"}
@@ -0,0 +1,16 @@
1
+ import { l as NonGetHTTPMethod, n as GitHubAppFragmentPublicClientConfig, o as FragnoClientMutatorData } from "../types-BzeSSOQU.js";
2
+ import * as zod from "zod";
3
+ import * as _standard_schema_spec0 from "@standard-schema/spec";
4
+ import * as zod_v4_core0 from "zod/v4/core";
5
+
6
+ //#region src/client/vanilla.d.ts
7
+ declare function createGitHubAppFragmentClient(config?: GitHubAppFragmentPublicClientConfig): {
8
+ useSyncInstallation: FragnoClientMutatorData<NonGetHTTPMethod, "/installations/:installationId/sync", _standard_schema_spec0.StandardSchemaV1<unknown, unknown> | undefined, zod.ZodObject<{
9
+ added: zod.ZodNumber;
10
+ removed: zod.ZodNumber;
11
+ updated: zod.ZodNumber;
12
+ }, zod_v4_core0.$strip> | undefined, "INSTALLATION_NOT_FOUND" | "GITHUB_API_ERROR", string>;
13
+ };
14
+ //#endregion
15
+ export { createGitHubAppFragmentClient };
16
+ //# sourceMappingURL=vanilla.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"vanilla.d.ts","names":[],"sources":["../../../src/client/vanilla.ts"],"mappings":";;;;;;iBAGgB,6BAAA,CAA8B,MAAA,GAAQ,mCAAA;+CAAwC,gBAAA"}
@@ -0,0 +1,11 @@
1
+ import { i as createGitHubAppFragmentClients } from "../factory-BIj4C6PD.js";
2
+ import "../index.js";
3
+
4
+ //#region src/client/vanilla.ts
5
+ function createGitHubAppFragmentClient(config = {}) {
6
+ return createGitHubAppFragmentClients(config);
7
+ }
8
+
9
+ //#endregion
10
+ export { createGitHubAppFragmentClient };
11
+ //# sourceMappingURL=vanilla.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"vanilla.js","names":["createGitHubAppFragmentClients","GitHubAppFragmentPublicClientConfig","createGitHubAppFragmentClient","config"],"sources":["../../../src/client/vanilla.ts"],"sourcesContent":["import { createGitHubAppFragmentClients } from \"..\";\nimport type { GitHubAppFragmentPublicClientConfig } from \"../github/types\";\n\nexport function createGitHubAppFragmentClient(config: GitHubAppFragmentPublicClientConfig = {}) {\n return createGitHubAppFragmentClients(config);\n}\n"],"mappings":";;;;AAGA,SAAgBE,8BAA8BC,SAA8C,EAAE,EAAE;AAC9F,QAAOH,+BAA+BG,OAAO"}
@@ -0,0 +1,33 @@
1
+ import { c as FragnoClientError, d as InferOr, h as QueryParamsHint, l as NonGetHTTPMethod, m as MaybeExtractPathParamsOrWiden, n as GitHubAppFragmentPublicClientConfig, s as ReadableAtom } from "../types-BzeSSOQU.js";
2
+ import * as zod from "zod";
3
+ import { Ref } from "vue";
4
+ import * as _standard_schema_spec0 from "@standard-schema/spec";
5
+ import { StandardSchemaV1 } from "@standard-schema/spec";
6
+ import * as zod_v4_core0 from "zod/v4/core";
7
+
8
+ //#region ../fragno/dist/client/vue.d.ts
9
+ type FragnoVueMutator<_TMethod extends NonGetHTTPMethod, TPath$1 extends string, TInputSchema$1 extends StandardSchemaV1 | undefined, TOutputSchema$1 extends StandardSchemaV1 | undefined, TErrorCode$1 extends string, TQueryParameters$1 extends string> = () => {
10
+ mutate: (args: {
11
+ body?: InferOr<TInputSchema$1, undefined>;
12
+ path?: MaybeExtractPathParamsOrWiden<TPath$1, string | Ref<string> | ReadableAtom<string>>;
13
+ query?: QueryParamsHint<TQueryParameters$1, string | Ref<string> | ReadableAtom<string>>;
14
+ }) => Promise<InferOr<TOutputSchema$1, undefined>>;
15
+ loading: Ref<boolean | undefined>;
16
+ error: Ref<FragnoClientError<TErrorCode$1[number]> | undefined>;
17
+ data: Ref<InferOr<TOutputSchema$1, undefined>>;
18
+ };
19
+ /**
20
+ * Type helper that wraps any Store fields of the object into reactive Vue refs.
21
+ */
22
+ //#endregion
23
+ //#region src/client/vue.d.ts
24
+ declare function createGitHubAppFragmentClient(config?: GitHubAppFragmentPublicClientConfig): {
25
+ useSyncInstallation: FragnoVueMutator<NonGetHTTPMethod, "/installations/:installationId/sync", _standard_schema_spec0.StandardSchemaV1<unknown, unknown> | undefined, zod.ZodObject<{
26
+ added: zod.ZodNumber;
27
+ removed: zod.ZodNumber;
28
+ updated: zod.ZodNumber;
29
+ }, zod_v4_core0.$strip> | undefined, "INSTALLATION_NOT_FOUND" | "GITHUB_API_ERROR", string>;
30
+ };
31
+ //#endregion
32
+ export { createGitHubAppFragmentClient };
33
+ //# sourceMappingURL=vue.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"vue.d.ts","names":["MaybeExtractPathParamsOrWiden","QueryParamsHint","InferOr","NonGetHTTPMethod","FragnoClientError","FragnoClientHookData","FragnoClientMutatorData","FragnoStoreFactoryData","FragnoStoreObjectData","ReadableAtom","Store","StoreValue","DeepReadonly","Ref","ShallowRef","UnwrapNestedRefs","StandardSchemaV1","FragnoVueHook","_TMethod","TPath$1","TOutputSchema$1","TErrorCode$1","TQueryParameters$1","path","query","args","data","loading","error","FragnoVueMutator","TInputSchema$1","Promise","mutate","body","FragnoVueStoreRef","T","FragnoVueStoreValue","K","FragnoVueStore","TArgs","refToAtom","ref","useFragno","Record","TPath","TOutputSchema","TErrorCode","TQueryParameters","M","TInputSchema","TStoreObj","TStoreArgs","clientObj","useStore","SomeStore","Value","store"],"sources":["../../../../fragno/dist/client/vue.d.ts","../../../src/client/vue.ts"],"mappings":";;;;;;;;KAkBK6B,gBAAAA,kBAAkC1B,gBAAAA,iDAAiEa,gBAAAA,sCAAsDA,gBAAAA;EAC5JgB,MAAAA,GAASP,IAAAA;IACPQ,IAAAA,GAAO/B,OAAAA,CAAQ4B,cAAAA;IACfP,IAAAA,GAAOvB,6BAAAA,CAA8BmB,OAAAA,WAAkBN,GAAAA,WAAcJ,YAAAA;IACrEe,KAAAA,GAAQvB,eAAAA,CAAgBqB,kBAAAA,WAA6BT,GAAAA,WAAcJ,YAAAA;EAAAA,MAC/DsB,OAAAA,CAAQ7B,OAAAA,CAAQkB,eAAAA;EACtBO,OAAAA,EAASd,GAAAA;EACTe,KAAAA,EAAOf,GAAAA,CAAIT,iBAAAA,CAAkBiB,YAAAA;EAC7BK,IAAAA,EAAMb,GAAAA,CAAIX,OAAAA,CAAQkB,eAAAA;AAAAA;;;;;;iBCrBJ,6BAAA,CAA8B,MAAA,GAAQ,mCAAA;wCAAwC,gBAAA"}
@@ -0,0 +1,133 @@
1
+ import { c as isMutatorHook, d as isReadableAtom, i as createGitHubAppFragmentClients, l as isStore, s as isGetHook, u as atom } from "../factory-BIj4C6PD.js";
2
+ import "../index.js";
3
+ import { computed, getCurrentScope, isRef, onScopeDispose, ref, shallowRef, watch } from "vue";
4
+
5
+ //#region ../fragno/dist/client/vue.js
6
+ /**
7
+ * Converts a Vue Ref to a NanoStore Atom.
8
+ *
9
+ * This is used to convert Vue refs to atoms, so that we can use them in the store.
10
+ *
11
+ * @private
12
+ */
13
+ function refToAtom(ref$1) {
14
+ const a = /* @__PURE__ */ atom(ref$1.value);
15
+ watch(ref$1, (newVal) => {
16
+ a.set(newVal);
17
+ });
18
+ return a;
19
+ }
20
+ function createVueHook(hook) {
21
+ return ({ path, query } = {}) => {
22
+ const pathParams = {};
23
+ const queryParams = {};
24
+ for (const [key, value] of Object.entries(path ?? {})) {
25
+ const v = value;
26
+ pathParams[key] = isRef(v) ? refToAtom(v) : v;
27
+ }
28
+ for (const [key, value] of Object.entries(query ?? {})) {
29
+ const v = value;
30
+ queryParams[key] = isRef(v) ? refToAtom(v) : v;
31
+ }
32
+ const store = hook.store({
33
+ path: pathParams,
34
+ query: queryParams
35
+ });
36
+ const data = ref();
37
+ const loading = ref();
38
+ const error = ref();
39
+ const unsubscribe = store.subscribe((updatedStoreValue) => {
40
+ data.value = updatedStoreValue.data;
41
+ loading.value = updatedStoreValue.loading;
42
+ error.value = updatedStoreValue.error;
43
+ });
44
+ if (getCurrentScope()) onScopeDispose(() => {
45
+ unsubscribe();
46
+ });
47
+ return {
48
+ data,
49
+ loading,
50
+ error
51
+ };
52
+ };
53
+ }
54
+ function createVueMutator(hook) {
55
+ return () => {
56
+ const store = useStore(hook.mutatorStore);
57
+ const mutate = async (args) => {
58
+ const { body, path, query } = args;
59
+ const pathParams = {};
60
+ const queryParams = {};
61
+ for (const [key, value] of Object.entries(path ?? {})) {
62
+ const v = value;
63
+ pathParams[key] = isRef(v) ? v.value : v;
64
+ }
65
+ for (const [key, value] of Object.entries(query ?? {})) {
66
+ const v = value;
67
+ queryParams[key] = isRef(v) ? v.value : v;
68
+ }
69
+ return store.value.mutate({
70
+ body,
71
+ path: pathParams,
72
+ query: queryParams
73
+ });
74
+ };
75
+ return {
76
+ mutate,
77
+ loading: computed(() => store.value.loading),
78
+ error: computed(() => store.value.error),
79
+ data: computed(() => store.value.data)
80
+ };
81
+ };
82
+ }
83
+ function unwrapVueStoreValue(value) {
84
+ if (isReadableAtom(value)) return useStore(value);
85
+ const result = {};
86
+ for (const key in value) {
87
+ if (!Object.prototype.hasOwnProperty.call(value, key)) continue;
88
+ const fieldValue = value[key];
89
+ if (isReadableAtom(fieldValue)) result[key] = useStore(fieldValue);
90
+ else result[key] = fieldValue;
91
+ }
92
+ return result;
93
+ }
94
+ function createVueStore(hook) {
95
+ return (...args) => {
96
+ const value = "factory" in hook ? hook.factory(...args) : hook.obj;
97
+ const disposer = value[Symbol.dispose];
98
+ if (typeof disposer === "function" && getCurrentScope()) onScopeDispose(() => {
99
+ disposer.call(value);
100
+ });
101
+ return unwrapVueStoreValue(value);
102
+ };
103
+ }
104
+ function useFragno(clientObj) {
105
+ const result = {};
106
+ for (const key in clientObj) {
107
+ if (!Object.prototype.hasOwnProperty.call(clientObj, key)) continue;
108
+ const hook = clientObj[key];
109
+ if (isGetHook(hook)) result[key] = createVueHook(hook);
110
+ else if (isMutatorHook(hook)) result[key] = createVueMutator(hook);
111
+ else if (isStore(hook)) result[key] = createVueStore(hook);
112
+ else result[key] = hook;
113
+ }
114
+ return result;
115
+ }
116
+ function useStore(store) {
117
+ const state = shallowRef();
118
+ const unsubscribe = store.subscribe((value) => {
119
+ state.value = value;
120
+ });
121
+ if (getCurrentScope()) onScopeDispose(unsubscribe);
122
+ return state;
123
+ }
124
+
125
+ //#endregion
126
+ //#region src/client/vue.ts
127
+ function createGitHubAppFragmentClient(config = {}) {
128
+ return useFragno(createGitHubAppFragmentClients(config));
129
+ }
130
+
131
+ //#endregion
132
+ export { createGitHubAppFragmentClient };
133
+ //# sourceMappingURL=vue.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"vue.js","names":["isReadableAtom","isGetHook","isMutatorHook","isStore","atom","computed","computed$1","getCurrentScope","isRef","onScopeDispose","ref","shallowRef","watch","refToAtom","ref$1","a","value","newVal","set","createVueHook","hook","path","query","pathParams","queryParams","key","Object","entries","v","store","data","loading","error","unsubscribe","subscribe","updatedStoreValue","createVueMutator","useStore","mutatorStore","mutate","args","body","unwrapVueStoreValue","result","prototype","hasOwnProperty","call","fieldValue","createVueStore","factory","obj","disposer","Symbol","dispose","useFragno","clientObj","state","useFragno","createGitHubAppFragmentClients","GitHubAppFragmentPublicClientConfig","createGitHubAppFragmentClient","config"],"sources":["../../../../fragno/dist/client/vue.js","../../../src/client/vue.ts"],"sourcesContent":["import { isReadableAtom } from \"../util/nanostores.js\";\nimport { isGetHook, isMutatorHook, isStore } from \"./client.js\";\nimport { atom } from \"nanostores\";\nimport { computed as computed$1, getCurrentScope, isRef, onScopeDispose, ref, shallowRef, watch } from \"vue\";\n\n//#region src/client/vue.ts\n/**\n* Converts a Vue Ref to a NanoStore Atom.\n*\n* This is used to convert Vue refs to atoms, so that we can use them in the store.\n*\n* @private\n*/\nfunction refToAtom(ref$1) {\n\tconst a = atom(ref$1.value);\n\twatch(ref$1, (newVal) => {\n\t\ta.set(newVal);\n\t});\n\treturn a;\n}\nfunction createVueHook(hook) {\n\treturn ({ path, query } = {}) => {\n\t\tconst pathParams = {};\n\t\tconst queryParams = {};\n\t\tfor (const [key, value] of Object.entries(path ?? {})) {\n\t\t\tconst v = value;\n\t\t\tpathParams[key] = isRef(v) ? refToAtom(v) : v;\n\t\t}\n\t\tfor (const [key, value] of Object.entries(query ?? {})) {\n\t\t\tconst v = value;\n\t\t\tqueryParams[key] = isRef(v) ? refToAtom(v) : v;\n\t\t}\n\t\tconst store = hook.store({\n\t\t\tpath: pathParams,\n\t\t\tquery: queryParams\n\t\t});\n\t\tconst data = ref();\n\t\tconst loading = ref();\n\t\tconst error = ref();\n\t\tconst unsubscribe = store.subscribe((updatedStoreValue) => {\n\t\t\tdata.value = updatedStoreValue.data;\n\t\t\tloading.value = updatedStoreValue.loading;\n\t\t\terror.value = updatedStoreValue.error;\n\t\t});\n\t\tif (getCurrentScope()) onScopeDispose(() => {\n\t\t\tunsubscribe();\n\t\t});\n\t\treturn {\n\t\t\tdata,\n\t\t\tloading,\n\t\t\terror\n\t\t};\n\t};\n}\nfunction createVueMutator(hook) {\n\treturn () => {\n\t\tconst store = useStore(hook.mutatorStore);\n\t\tconst mutate = async (args) => {\n\t\t\tconst { body, path, query } = args;\n\t\t\tconst pathParams = {};\n\t\t\tconst queryParams = {};\n\t\t\tfor (const [key, value] of Object.entries(path ?? {})) {\n\t\t\t\tconst v = value;\n\t\t\t\tpathParams[key] = isRef(v) ? v.value : v;\n\t\t\t}\n\t\t\tfor (const [key, value] of Object.entries(query ?? {})) {\n\t\t\t\tconst v = value;\n\t\t\t\tqueryParams[key] = isRef(v) ? v.value : v;\n\t\t\t}\n\t\t\treturn store.value.mutate({\n\t\t\t\tbody,\n\t\t\t\tpath: pathParams,\n\t\t\t\tquery: queryParams\n\t\t\t});\n\t\t};\n\t\treturn {\n\t\t\tmutate,\n\t\t\tloading: computed$1(() => store.value.loading),\n\t\t\terror: computed$1(() => store.value.error),\n\t\t\tdata: computed$1(() => store.value.data)\n\t\t};\n\t};\n}\nfunction unwrapVueStoreValue(value) {\n\tif (isReadableAtom(value)) return useStore(value);\n\tconst result = {};\n\tfor (const key in value) {\n\t\tif (!Object.prototype.hasOwnProperty.call(value, key)) continue;\n\t\tconst fieldValue = value[key];\n\t\tif (isReadableAtom(fieldValue)) result[key] = useStore(fieldValue);\n\t\telse result[key] = fieldValue;\n\t}\n\treturn result;\n}\nfunction createVueStore(hook) {\n\treturn ((...args) => {\n\t\tconst value = \"factory\" in hook ? hook.factory(...args) : hook.obj;\n\t\tconst disposer = value[Symbol.dispose];\n\t\tif (typeof disposer === \"function\" && getCurrentScope()) onScopeDispose(() => {\n\t\t\tdisposer.call(value);\n\t\t});\n\t\treturn unwrapVueStoreValue(value);\n\t});\n}\nfunction useFragno(clientObj) {\n\tconst result = {};\n\tfor (const key in clientObj) {\n\t\tif (!Object.prototype.hasOwnProperty.call(clientObj, key)) continue;\n\t\tconst hook = clientObj[key];\n\t\tif (isGetHook(hook)) result[key] = createVueHook(hook);\n\t\telse if (isMutatorHook(hook)) result[key] = createVueMutator(hook);\n\t\telse if (isStore(hook)) result[key] = createVueStore(hook);\n\t\telse result[key] = hook;\n\t}\n\treturn result;\n}\nfunction useStore(store) {\n\tconst state = shallowRef();\n\tconst unsubscribe = store.subscribe((value) => {\n\t\tstate.value = value;\n\t});\n\tif (getCurrentScope()) onScopeDispose(unsubscribe);\n\treturn state;\n}\n\n//#endregion\nexport { refToAtom, useFragno, useStore };\n//# sourceMappingURL=vue.js.map","import { useFragno } from \"@fragno-dev/core/vue\";\n\nimport { createGitHubAppFragmentClients } from \"..\";\nimport type { GitHubAppFragmentPublicClientConfig } from \"../github/types\";\n\nexport function createGitHubAppFragmentClient(config: GitHubAppFragmentPublicClientConfig = {}) {\n return useFragno(createGitHubAppFragmentClients(config));\n}\n"],"mappings":"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"}