@fragno-dev/pi-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.
- package/LICENSE.md +16 -0
- package/README.md +107 -0
- package/bin/run.js +72 -0
- package/dist/browser/client/react.d.ts +264 -0
- package/dist/browser/client/react.d.ts.map +1 -0
- package/dist/browser/client/react.js +84 -0
- package/dist/browser/client/react.js.map +1 -0
- package/dist/browser/client/solid.d.ts +266 -0
- package/dist/browser/client/solid.d.ts.map +1 -0
- package/dist/browser/client/solid.js +122 -0
- package/dist/browser/client/solid.js.map +1 -0
- package/dist/browser/client/svelte.d.ts +261 -0
- package/dist/browser/client/svelte.d.ts.map +1 -0
- package/dist/browser/client/svelte.js +126 -0
- package/dist/browser/client/svelte.js.map +1 -0
- package/dist/browser/client/vanilla.d.ts +238 -0
- package/dist/browser/client/vanilla.d.ts.map +1 -0
- package/dist/browser/client/vanilla.js +11 -0
- package/dist/browser/client/vanilla.js.map +1 -0
- package/dist/browser/client/vue.d.ts +264 -0
- package/dist/browser/client/vue.d.ts.map +1 -0
- package/dist/browser/client/vue.js +125 -0
- package/dist/browser/client/vue.js.map +1 -0
- package/dist/browser/client-Bk-J98pf.d.ts +679 -0
- package/dist/browser/client-Bk-J98pf.d.ts.map +1 -0
- package/dist/browser/factory-DKoO_lRA.js +2470 -0
- package/dist/browser/factory-DKoO_lRA.js.map +1 -0
- package/dist/browser/index.d.ts +776 -0
- package/dist/browser/index.d.ts.map +1 -0
- package/dist/browser/index.js +3 -0
- package/dist/cli/cli.d.ts +1 -0
- package/dist/cli/cli.js +10 -0
- package/dist/cli/cli.js.map +1 -0
- package/dist/cli/config.d.ts +13 -0
- package/dist/cli/config.d.ts.map +1 -0
- package/dist/cli/config.js +64 -0
- package/dist/cli/config.js.map +1 -0
- package/dist/cli/http/client.js +95 -0
- package/dist/cli/http/client.js.map +1 -0
- package/dist/cli/mod.d.ts +62 -0
- package/dist/cli/mod.d.ts.map +1 -0
- package/dist/cli/mod.js +644 -0
- package/dist/cli/mod.js.map +1 -0
- package/dist/cli/render/index.d.ts +23 -0
- package/dist/cli/render/index.d.ts.map +1 -0
- package/dist/cli/render/index.js +37 -0
- package/dist/cli/render/index.js.map +1 -0
- package/dist/node/index.d.ts +10 -0
- package/dist/node/index.js +9 -0
- package/dist/node/pi/clients.d.ts +240 -0
- package/dist/node/pi/clients.d.ts.map +1 -0
- package/dist/node/pi/clients.js +18 -0
- package/dist/node/pi/clients.js.map +1 -0
- package/dist/node/pi/constants.d.ts +9 -0
- package/dist/node/pi/constants.d.ts.map +1 -0
- package/dist/node/pi/constants.js +22 -0
- package/dist/node/pi/constants.js.map +1 -0
- package/dist/node/pi/definition.d.ts +13 -0
- package/dist/node/pi/definition.d.ts.map +1 -0
- package/dist/node/pi/definition.js +10 -0
- package/dist/node/pi/definition.js.map +1 -0
- package/dist/node/pi/dsl.d.ts +24 -0
- package/dist/node/pi/dsl.d.ts.map +1 -0
- package/dist/node/pi/dsl.js +57 -0
- package/dist/node/pi/dsl.js.map +1 -0
- package/dist/node/pi/factory.d.ts +220 -0
- package/dist/node/pi/factory.d.ts.map +1 -0
- package/dist/node/pi/factory.js +12 -0
- package/dist/node/pi/factory.js.map +1 -0
- package/dist/node/pi/mappers.js +47 -0
- package/dist/node/pi/mappers.js.map +1 -0
- package/dist/node/pi/route-schemas.js +112 -0
- package/dist/node/pi/route-schemas.js.map +1 -0
- package/dist/node/pi/types.d.ts +67 -0
- package/dist/node/pi/types.d.ts.map +1 -0
- package/dist/node/pi/workflow.d.ts +31 -0
- package/dist/node/pi/workflow.d.ts.map +1 -0
- package/dist/node/pi/workflow.js +242 -0
- package/dist/node/pi/workflow.js.map +1 -0
- package/dist/node/routes.d.ts +217 -0
- package/dist/node/routes.d.ts.map +1 -0
- package/dist/node/routes.js +328 -0
- package/dist/node/routes.js.map +1 -0
- package/dist/node/schema.js +12 -0
- package/dist/node/schema.js.map +1 -0
- package/dist/tsconfig.tsbuildinfo +1 -0
- package/package.json +125 -0
|
@@ -0,0 +1,125 @@
|
|
|
1
|
+
import { f as isGetHook, g as atom, h as isReadableAtom, m as isStore, o as createPiFragmentClients, p as isMutatorHook } from "../factory-DKoO_lRA.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 createVueStore(hook) {
|
|
84
|
+
if (isReadableAtom(hook.obj)) return () => useStore(hook.obj).value;
|
|
85
|
+
return () => {
|
|
86
|
+
const result = {};
|
|
87
|
+
for (const key in hook.obj) {
|
|
88
|
+
if (!Object.prototype.hasOwnProperty.call(hook.obj, key)) continue;
|
|
89
|
+
const value = hook.obj[key];
|
|
90
|
+
if (isReadableAtom(value)) result[key] = useStore(value).value;
|
|
91
|
+
else result[key] = value;
|
|
92
|
+
}
|
|
93
|
+
return result;
|
|
94
|
+
};
|
|
95
|
+
}
|
|
96
|
+
function useFragno(clientObj) {
|
|
97
|
+
const result = {};
|
|
98
|
+
for (const key in clientObj) {
|
|
99
|
+
if (!Object.prototype.hasOwnProperty.call(clientObj, key)) continue;
|
|
100
|
+
const hook = clientObj[key];
|
|
101
|
+
if (isGetHook(hook)) result[key] = createVueHook(hook);
|
|
102
|
+
else if (isMutatorHook(hook)) result[key] = createVueMutator(hook);
|
|
103
|
+
else if (isStore(hook)) result[key] = createVueStore(hook);
|
|
104
|
+
else result[key] = hook;
|
|
105
|
+
}
|
|
106
|
+
return result;
|
|
107
|
+
}
|
|
108
|
+
function useStore(store) {
|
|
109
|
+
const state = shallowRef();
|
|
110
|
+
const unsubscribe = store.subscribe((value) => {
|
|
111
|
+
state.value = value;
|
|
112
|
+
});
|
|
113
|
+
if (getCurrentScope()) onScopeDispose(unsubscribe);
|
|
114
|
+
return state;
|
|
115
|
+
}
|
|
116
|
+
|
|
117
|
+
//#endregion
|
|
118
|
+
//#region src/client/vue.ts
|
|
119
|
+
function createPiFragmentClient(config = {}) {
|
|
120
|
+
return useFragno(createPiFragmentClients(config));
|
|
121
|
+
}
|
|
122
|
+
|
|
123
|
+
//#endregion
|
|
124
|
+
export { createPiFragmentClient };
|
|
125
|
+
//# 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","createVueStore","obj","result","prototype","hasOwnProperty","call","useFragno","clientObj","state","useFragno","FragnoPublicClientConfig","createPiFragmentClients","createPiFragmentClient","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 createVueStore(hook) {\n\tif (isReadableAtom(hook.obj)) return (() => useStore(hook.obj).value);\n\treturn (() => {\n\t\tconst result = {};\n\t\tfor (const key in hook.obj) {\n\t\t\tif (!Object.prototype.hasOwnProperty.call(hook.obj, key)) continue;\n\t\t\tconst value = hook.obj[key];\n\t\t\tif (isReadableAtom(value)) result[key] = useStore(value).value;\n\t\t\telse result[key] = value;\n\t\t}\n\t\treturn result;\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\";\nimport type { FragnoPublicClientConfig } from \"@fragno-dev/core/client\";\nimport { createPiFragmentClients } from \"..\";\n\nexport function createPiFragmentClient(config: FragnoPublicClientConfig = {}) {\n return useFragno(createPiFragmentClients(config));\n}\n"],"mappings":";;;;;;;;;;;;AAaA,SAASa,UAAUC,OAAO;CACzB,MAAMC,IAAIX,qBAAKU,MAAME,MAAM;AAC3BJ,OAAME,QAAQG,WAAW;AACxBF,IAAEG,IAAID,OAAO;GACZ;AACF,QAAOF;;AAER,SAASI,cAAcC,MAAM;AAC5B,SAAQ,EAAEC,MAAMC,UAAU,EAAE,KAAK;EAChC,MAAMC,aAAa,EAAE;EACrB,MAAMC,cAAc,EAAE;AACtB,OAAK,MAAM,CAACC,KAAKT,UAAUU,OAAOC,QAAQN,QAAQ,EAAE,CAAC,EAAE;GACtD,MAAMO,IAAIZ;AACVO,cAAWE,OAAOjB,MAAMoB,EAAE,GAAGf,UAAUe,EAAE,GAAGA;;AAE7C,OAAK,MAAM,CAACH,KAAKT,UAAUU,OAAOC,QAAQL,SAAS,EAAE,CAAC,EAAE;GACvD,MAAMM,IAAIZ;AACVQ,eAAYC,OAAOjB,MAAMoB,EAAE,GAAGf,UAAUe,EAAE,GAAGA;;EAE9C,MAAMC,QAAQT,KAAKS,MAAM;GACxBR,MAAME;GACND,OAAOE;GACP,CAAC;EACF,MAAMM,OAAOpB,KAAK;EAClB,MAAMqB,UAAUrB,KAAK;EACrB,MAAMsB,QAAQtB,KAAK;EACnB,MAAMuB,cAAcJ,MAAMK,WAAWC,sBAAsB;AAC1DL,QAAKd,QAAQmB,kBAAkBL;AAC/BC,WAAQf,QAAQmB,kBAAkBJ;AAClCC,SAAMhB,QAAQmB,kBAAkBH;IAC/B;AACF,MAAIzB,iBAAiB,CAAEE,sBAAqB;AAC3CwB,gBAAa;IACZ;AACF,SAAO;GACNH;GACAC;GACAC;GACA;;;AAGH,SAASI,iBAAiBhB,MAAM;AAC/B,cAAa;EACZ,MAAMS,QAAQQ,SAASjB,KAAKkB,aAAa;EACzC,MAAMC,SAAS,OAAOC,SAAS;GAC9B,MAAM,EAAEC,MAAMpB,MAAMC,UAAUkB;GAC9B,MAAMjB,aAAa,EAAE;GACrB,MAAMC,cAAc,EAAE;AACtB,QAAK,MAAM,CAACC,KAAKT,UAAUU,OAAOC,QAAQN,QAAQ,EAAE,CAAC,EAAE;IACtD,MAAMO,IAAIZ;AACVO,eAAWE,OAAOjB,MAAMoB,EAAE,GAAGA,EAAEZ,QAAQY;;AAExC,QAAK,MAAM,CAACH,KAAKT,UAAUU,OAAOC,QAAQL,SAAS,EAAE,CAAC,EAAE;IACvD,MAAMM,IAAIZ;AACVQ,gBAAYC,OAAOjB,MAAMoB,EAAE,GAAGA,EAAEZ,QAAQY;;AAEzC,UAAOC,MAAMb,MAAMuB,OAAO;IACzBE;IACApB,MAAME;IACND,OAAOE;IACP,CAAC;;AAEH,SAAO;GACNe;GACAR,SAASzB,eAAiBuB,MAAMb,MAAMe,QAAQ;GAC9CC,OAAO1B,eAAiBuB,MAAMb,MAAMgB,MAAM;GAC1CF,MAAMxB,eAAiBuB,MAAMb,MAAMc,KAAI;GACvC;;;AAGH,SAASY,eAAetB,MAAM;AAC7B,KAAIpB,eAAeoB,KAAKuB,IAAI,CAAE,cAAcN,SAASjB,KAAKuB,IAAI,CAAC3B;AAC/D,cAAc;EACb,MAAM4B,SAAS,EAAE;AACjB,OAAK,MAAMnB,OAAOL,KAAKuB,KAAK;AAC3B,OAAI,CAACjB,OAAOmB,UAAUC,eAAeC,KAAK3B,KAAKuB,KAAKlB,IAAI,CAAE;GAC1D,MAAMT,QAAQI,KAAKuB,IAAIlB;AACvB,OAAIzB,eAAegB,MAAM,CAAE4B,QAAOnB,OAAOY,SAASrB,MAAM,CAACA;OACpD4B,QAAOnB,OAAOT;;AAEpB,SAAO4B;;;AAGT,SAASI,UAAUC,WAAW;CAC7B,MAAML,SAAS,EAAE;AACjB,MAAK,MAAMnB,OAAOwB,WAAW;AAC5B,MAAI,CAACvB,OAAOmB,UAAUC,eAAeC,KAAKE,WAAWxB,IAAI,CAAE;EAC3D,MAAML,OAAO6B,UAAUxB;AACvB,MAAIxB,UAAUmB,KAAK,CAAEwB,QAAOnB,OAAON,cAAcC,KAAK;WAC7ClB,cAAckB,KAAK,CAAEwB,QAAOnB,OAAOW,iBAAiBhB,KAAK;WACzDjB,QAAQiB,KAAK,CAAEwB,QAAOnB,OAAOiB,eAAetB,KAAK;MACrDwB,QAAOnB,OAAOL;;AAEpB,QAAOwB;;AAER,SAASP,SAASR,OAAO;CACxB,MAAMqB,QAAQvC,YAAY;CAC1B,MAAMsB,cAAcJ,MAAMK,WAAWlB,UAAU;AAC9CkC,QAAMlC,QAAQA;GACb;AACF,KAAIT,iBAAiB,CAAEE,gBAAewB,YAAY;AAClD,QAAOiB;;;;;AC9GR,SAAgBI,uBAAuBC,SAAmC,EAAE,EAAE;AAC5E,QAAOJ,UAAUE,wBAAwBE,OAAO,CAAC"}
|