@formity/system 0.1.0

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 (66) hide show
  1. package/README.md +32 -0
  2. package/dist/index.cjs.js +2 -0
  3. package/dist/index.cjs.js.map +1 -0
  4. package/dist/index.d.ts +12 -0
  5. package/dist/index.d.ts.map +1 -0
  6. package/dist/index.esm.js +2 -0
  7. package/dist/index.esm.js.map +1 -0
  8. package/dist/types/callbacks/custom.d.ts +6 -0
  9. package/dist/types/callbacks/custom.d.ts.map +1 -0
  10. package/dist/types/callbacks/static.d.ts +3 -0
  11. package/dist/types/callbacks/static.d.ts.map +1 -0
  12. package/dist/types/callbacks.d.ts +6 -0
  13. package/dist/types/callbacks.d.ts.map +1 -0
  14. package/dist/types/flow/cursor.d.ts +6 -0
  15. package/dist/types/flow/cursor.d.ts.map +1 -0
  16. package/dist/types/flow/entries.d.ts +38 -0
  17. package/dist/types/flow/entries.d.ts.map +1 -0
  18. package/dist/types/flow/flow.d.ts +7 -0
  19. package/dist/types/flow/flow.d.ts.map +1 -0
  20. package/dist/types/flow/position.d.ts +15 -0
  21. package/dist/types/flow/position.d.ts.map +1 -0
  22. package/dist/types/schema/custom.d.ts +52 -0
  23. package/dist/types/schema/custom.d.ts.map +1 -0
  24. package/dist/types/schema/static.d.ts +41 -0
  25. package/dist/types/schema/static.d.ts.map +1 -0
  26. package/dist/types/utils.d.ts +34 -0
  27. package/dist/types/utils.d.ts.map +1 -0
  28. package/dist/types/values/return.d.ts +14 -0
  29. package/dist/types/values/return.d.ts.map +1 -0
  30. package/dist/types/values/yield.d.ts +17 -0
  31. package/dist/types/values/yield.d.ts.map +1 -0
  32. package/dist/types/values.d.ts +33 -0
  33. package/dist/types/values.d.ts.map +1 -0
  34. package/dist/utils/entries/flow.cond.d.ts +7 -0
  35. package/dist/utils/entries/flow.cond.d.ts.map +1 -0
  36. package/dist/utils/entries/flow.d.ts +9 -0
  37. package/dist/utils/entries/flow.d.ts.map +1 -0
  38. package/dist/utils/entries/flow.list.d.ts +7 -0
  39. package/dist/utils/entries/flow.list.d.ts.map +1 -0
  40. package/dist/utils/entries/flow.loop.d.ts +7 -0
  41. package/dist/utils/entries/flow.loop.d.ts.map +1 -0
  42. package/dist/utils/entries/form.d.ts +4 -0
  43. package/dist/utils/entries/form.d.ts.map +1 -0
  44. package/dist/utils/flow.d.ts +5 -0
  45. package/dist/utils/flow.d.ts.map +1 -0
  46. package/dist/utils/form.d.ts +6 -0
  47. package/dist/utils/form.d.ts.map +1 -0
  48. package/dist/utils/navigate.d.ts +9 -0
  49. package/dist/utils/navigate.d.ts.map +1 -0
  50. package/dist/utils/schema/flow.cond.d.ts +7 -0
  51. package/dist/utils/schema/flow.cond.d.ts.map +1 -0
  52. package/dist/utils/schema/flow.d.ts +8 -0
  53. package/dist/utils/schema/flow.d.ts.map +1 -0
  54. package/dist/utils/schema/flow.list.d.ts +7 -0
  55. package/dist/utils/schema/flow.list.d.ts.map +1 -0
  56. package/dist/utils/schema/flow.loop.d.ts +7 -0
  57. package/dist/utils/schema/flow.loop.d.ts.map +1 -0
  58. package/dist/utils/schema/form.d.ts +3 -0
  59. package/dist/utils/schema/form.d.ts.map +1 -0
  60. package/dist/utils/schema/return.d.ts +3 -0
  61. package/dist/utils/schema/return.d.ts.map +1 -0
  62. package/dist/utils/schema/variables.d.ts +3 -0
  63. package/dist/utils/schema/variables.d.ts.map +1 -0
  64. package/dist/utils/schema/yield.d.ts +3 -0
  65. package/dist/utils/schema/yield.d.ts.map +1 -0
  66. package/package.json +31 -0
package/README.md ADDED
@@ -0,0 +1,32 @@
1
+ <!-- markdownlint-disable MD033 -->
2
+ <!-- markdownlint-disable MD041 -->
3
+
4
+ <div align="center">
5
+ <a href="https://formity.app/" title="Formity - Build The Most Powerful Forms, Without The Hassle">
6
+ <img src="https://raw.githubusercontent.com/martiserra99/formity/main/image.svg" alt="Formity Logo" />
7
+ </a>
8
+ </div>
9
+
10
+ ## @formity/system
11
+
12
+ Core system that powers the Formity library.
13
+
14
+ ## Website
15
+
16
+ **Visit [https://formity.app](https://formity.app) to get started with Formity.**
17
+
18
+ ## About
19
+
20
+ Formity is an advanced form-building package designed to help React developers create advanced multi-step forms.
21
+
22
+ ## Features
23
+
24
+ - Create advanced multi-step forms where each step adapts based on the user's previous responses.
25
+
26
+ - Integrate your custom components seamlessly, with no restrictions or limitations.
27
+
28
+ - Fully compatible with any form library of your choice.
29
+
30
+ ## License
31
+
32
+ This package is licensed under the [MIT licensed](../../LICENSE).
@@ -0,0 +1,2 @@
1
+ "use strict";function t(t){return Array.isArray(t)}function n(t){return"cond"in t}function e(t){return"loop"in t}function r(r){return t(r)||n(r)||e(r)}function o(r,o){if(t(r))return function(t){return t.length>0?{type:"list",slot:0}:null}(r);if(n(r))return function(t,n){if(t.cond.if(n)){if(t.cond.then.length>0)return{type:"cond",path:"then",slot:0}}else if(t.cond.else.length>0)return{type:"cond",path:"else",slot:0};return null}(r,o);if(e(r))return function(t,n){return t.loop.while(n)&&t.loop.do.length>0?{type:"loop",slot:0}:null}(r,o);throw new Error("Invalid schema")}function s(r,o,s){if(t(r))return function(t,n){const{slot:e}=n;return e<t.length-1?{type:"list",slot:e+1}:null}(r,o);if(n(r))return function(t,n){const{path:e,slot:r}=n;return r<t.cond[e].length-1?{type:"cond",path:e,slot:r+1}:null}(r,o);if(e(r))return function(t,n,e){const{slot:r}=n;return r<t.loop.do.length-1?{type:"loop",slot:r+1}:t.loop.while(e)?{type:"loop",slot:0}:null}(r,o,s);throw new Error("Invalid schema")}function u(r,o){if(t(r))return function(t,n){const{slot:e}=n;return t[e]}(r,o);if(n(r))return function(t,n){const{path:e,slot:r}=n;return t.cond[e][r]}(r,o);if(e(r))return function(t,n){const{slot:e}=n;return t.loop.do[e]}(r,o);throw new Error("Invalid schema")}function l(t,n){let e=t;for(const t of n){e=u(e,t)}return e}function c(t){return"form"in t}function i(t){return"yield"in t}function f(t){return"return"in t}function a(t){return"variables"in t}function h(t,n,e,r){const o={...t};o[n]=n in t?{...t[n],keys:{...t[n].keys}}:{data:{here:!1},keys:{}};let s=o[n];for(const t of e)if(t in s.keys){const n=s.keys[t],e={...n,keys:{...n.keys}};s.keys[t]=e,s=e}else{const n={data:{here:!1},keys:{}};s.keys[t]=n,s=n}return s.data={here:!0,data:r},o}function p(t,n,e,r,o){let s=t;for(const t of n){const n=w(s,t);if(!n)return o;s=n}return function(t,n,e,r){let o=t[n];for(const t of e){if(!(t in o.keys))return r;o=o.keys[t]}return o.data.here?o.data.data:r}(s,e,r,o)}function d(t,n,e,r,o){const s=v(t);let u=s;for(let t=0;t<n.length-1;t++){const e=n[t],r=w(u,e);if(r){const t=v(r);g(u,e,t),u=t}else{const r=y(n[t+1]);g(u,e,r),u=r}}const l=n[n.length-1],c=w(u,l);if(c){g(u,l,h(c,e,r,o))}else{g(u,l,h({[e]:{data:{here:!1},keys:{}}},e,r,o))}return s}function y(t){switch(t.type){case"list":return{type:"list",list:{}};case"cond":return{type:"cond",then:{},else:{}};case"loop":return{type:"loop",list:{}}}}function v(t){switch(t.type){case"list":case"loop":return function(t){return{...t,list:{...t.list}}}(t);case"cond":return function(t){return{...t,then:{...t.then},else:{...t.else}}}(t)}}function w(t,n){switch(t.type){case"list":return function(t,n){const{slot:e}=n;return e in t.list?t.list[e]:null}(t,n);case"cond":return function(t,n){const{path:e,slot:r}=n;return e in t&&r in t[e]?t[e][r]:null}(t,n);case"loop":return function(t,n){const{slot:e}=n;return e in t.list?t.list[e]:null}(t,n)}}function g(t,n,e){switch(t.type){case"list":return function(t,n,e){const{slot:r}=n;t.list[r]=e}(t,n,e);case"cond":return function(t,n,e){const{path:r,slot:o}=n;r in t?t[r][o]=e:t[r]={[o]:e}}(t,n,e);case"loop":return function(t,n,e){const{slot:r}=n;t.list[r]=e}(t,n,e)}}function m(t,n){let e=o(t,n);for(;e;){const r=k(t,e,n);if(r)return r;e=s(t,e,n)}return null}function k(t,n,e){const o=l(t,[n]);if(r(o)){const t=m(o,e);return t?[n,...t]:null}return[n]}function b(t,n){const e=x(t,n);if(e)return e;const r=function(t){if(t.path.length>1)return{path:t.path.slice(0,-1),values:t.values};return null}(n);return r?b(t,r):null}function x(t,n){const e=E(t,n);if(e){const n=F(t,e);return n||x(t,e)}return null}function E(t,n){const e=n.path.slice(0,-1),r=s(l(t,e),n.path[n.path.length-1],n.values);return r?{path:[...e,r],values:n.values}:null}function F(t,n){const e=l(t,n.path);if(r(e)){const r=o(e,n.values);if(r){const e={path:[...n.path,r],values:n.values},o=F(t,e);return o||x(t,e)}return null}return n}function I(t,n,e){const r=t.cursors[t.cursors.length-1],o=l(n,r.path).form.values(r.values);let s=t.entries;for(const[t,n]of Object.entries(e)){const e=t;s=d(s,r.path,t,o[e][1],n)}return s}exports.getFlow=function(t,n,e){return function(t,n,e){const r=t.cursors[t.cursors.length-1],o=l(n,r.path),s=o.form.values(r.values);let u=t.entries;for(const[t,n]of Object.entries(e)){const e=t;u=d(u,r.path,t,s[e][1],n)}return{cursors:t.cursors,entries:u}}(t,n,e)},exports.getForm=function(t,n,e,r,o,s,u){return function(t,n,e,r,o,s,u){const c=t.cursors[t.cursors.length-1],i=l(n,c.path),f=c.values,a=Object.fromEntries(Object.entries(i.form.values(c.values)).map((([n,[e,r]])=>[n,p(t.entries,c.path,n,r,e)])));return i.form.render({inputs:f,values:a,params:e,onNext:r,onBack:o,getFlow:s,setFlow:u})}(t,n,e,r,o,s,u)},exports.initFlow=function(t,n,e){return function(t,n,e){const r=function(t,n){const e=m(t,n);if(e)return e;throw new Error("Invalid schema")}(t,n),o=function(t,n,e){let r=n,o=r.values,s=l(t,r.path);for(;!c(s);){if(f(s))throw new Error("Invalid schema");if(i(s)){e(s.yield(o))}else if(a(s)){const t=s.variables(o);o={...o,...t}}if(r=b(t,{path:r.path,values:o}),!r)throw new Error("Invalid schema");s=l(t,r.path)}return r}(t,{path:r,values:n},e);return{cursors:[o],entries:{type:"list",list:{}}}}(t,n,e)},exports.nextFlow=function(t,n,e,r,o){return function(t,n,e,r,o){const s=t.cursors[t.cursors.length-1],u=function(t,n,e,r,o){let s=b(t,{path:n.path,values:{...n.values,...e}});if(!s)return null;let u=s.values,h=l(t,s.path);for(;!c(h);){if(f(h)){return o(h.return(u)),null}if(i(h)){r(h.yield(u))}else if(a(h)){const t=h.variables(u);u={...u,...t}}if(s=b(t,{path:s.path,values:u}),!s)return null;h=l(t,s.path)}return s}(n,s,e,r,o),h=u?[...t.cursors,u]:t.cursors,p=I(t,n,e);return{cursors:h,entries:p}}(t,n,e,r,o)},exports.prevFlow=function(t,n,e){return function(t,n,e){const r=t.cursors,o=r.length>1?r.slice(0,-1):r,s=I(t,n,e);return{cursors:o,entries:s}}(t,n,e)};
2
+ //# sourceMappingURL=index.cjs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.cjs.js","sources":["../src/utils/schema/flow.list.ts","../src/utils/schema/flow.cond.ts","../src/utils/schema/flow.loop.ts","../src/utils/schema/flow.ts","../src/utils/schema/form.ts","../src/utils/schema/yield.ts","../src/utils/schema/return.ts","../src/utils/schema/variables.ts","../src/utils/entries/form.ts","../src/utils/entries/flow.ts","../src/utils/entries/flow.list.ts","../src/utils/entries/flow.cond.ts","../src/utils/entries/flow.loop.ts","../src/utils/navigate.ts","../src/utils/flow.ts","../src/utils/form.ts"],"sourcesContent":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],"names":["is","schema","Array","isArray","ListSchemaUtils.is","CondSchemaUtils.is","LoopSchemaUtils.is","into","values","length","type","slot","ListSchemaUtils.into","cond","if","then","path","else","CondSchemaUtils.into","loop","while","do","LoopSchemaUtils.into","Error","next","position","ListSchemaUtils.next","CondSchemaUtils.next","LoopSchemaUtils.next","at","ListSchemaUtils.at","CondSchemaUtils.at","LoopSchemaUtils.at","find","current","set","form","name","keys","data","updated","here","key","copy","get","flow","defaultValue","item","getItem","FormEntriesUtils.get","value","clone","i","cloned","setItem","create","FormEntriesUtils.set","list","LoopEntriesUtils.clone","CondEntriesUtils.clone","ListEntriesUtils.getItem","CondEntriesUtils.getItem","LoopEntriesUtils.getItem","ListEntriesUtils.setItem","CondEntriesUtils.setItem","LoopEntriesUtils.setItem","initialPathOrNull","FlowSchemaUtils.into","initialPathFromPosition","FlowSchemaUtils.next","FlowSchemaUtils.find","FlowSchemaUtils.is","nextCursor","cursor","nextCursorInFlow","over","slice","overCursor","nextCursorInSameFlow","nextCursorInsideFlow","updateEntries","cursors","vals","curr","entries","Object","FlowEntriesUtils.set","internalGetFlow","params","onNext","onBack","getFlow","setFlow","inputs","fromEntries","map","FlowEntriesUtils.get","internalGetForm","onYield","initialPath","currCursor","currValues","currSchema","FormSchemaUtils.is","ReturnSchemaUtils.is","YieldSchemaUtils.is","VariablesSchemaUtils.is","variables","initialForm","internalInitFlow","onReturn","last","advanceForm","internalNextFlow","internalPrevFlow"],"mappings":"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"}
@@ -0,0 +1,12 @@
1
+ export type { ListSchema as Schema } from "./types/schema/custom";
2
+ export type { ListValues as Values } from "./types/values";
3
+ export type { OnYield, OnReturn } from "./types/callbacks/custom";
4
+ export type { Yield as YieldValues } from "./types/values/yield";
5
+ export type { Return as ReturnValues } from "./types/values/return";
6
+ export type { Cond, Loop, Form, Yield, Return, Variables } from "./types/utils";
7
+ export type { OnNext, OnBack, GetFlow, SetFlow } from "./types/callbacks";
8
+ export type { Flow } from "./types/flow/flow";
9
+ export { initFlow, nextFlow, prevFlow } from "./utils/navigate";
10
+ export { getForm } from "./utils/form";
11
+ export { getFlow } from "./utils/flow";
12
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,YAAY,EAAE,UAAU,IAAI,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAClE,YAAY,EAAE,UAAU,IAAI,MAAM,EAAE,MAAM,gBAAgB,CAAC;AAC3D,YAAY,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AAClE,YAAY,EAAE,KAAK,IAAI,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACjE,YAAY,EAAE,MAAM,IAAI,YAAY,EAAE,MAAM,uBAAuB,CAAC;AACpE,YAAY,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAChF,YAAY,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAC1E,YAAY,EAAE,IAAI,EAAE,MAAM,mBAAmB,CAAC;AAE9C,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAChE,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AACvC,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC"}
@@ -0,0 +1,2 @@
1
+ function t(t){return Array.isArray(t)}function n(t){return"cond"in t}function e(t){return"loop"in t}function r(r){return t(r)||n(r)||e(r)}function o(r,o){if(t(r))return function(t){return t.length>0?{type:"list",slot:0}:null}(r);if(n(r))return function(t,n){if(t.cond.if(n)){if(t.cond.then.length>0)return{type:"cond",path:"then",slot:0}}else if(t.cond.else.length>0)return{type:"cond",path:"else",slot:0};return null}(r,o);if(e(r))return function(t,n){return t.loop.while(n)&&t.loop.do.length>0?{type:"loop",slot:0}:null}(r,o);throw new Error("Invalid schema")}function s(r,o,s){if(t(r))return function(t,n){const{slot:e}=n;return e<t.length-1?{type:"list",slot:e+1}:null}(r,o);if(n(r))return function(t,n){const{path:e,slot:r}=n;return r<t.cond[e].length-1?{type:"cond",path:e,slot:r+1}:null}(r,o);if(e(r))return function(t,n,e){const{slot:r}=n;return r<t.loop.do.length-1?{type:"loop",slot:r+1}:t.loop.while(e)?{type:"loop",slot:0}:null}(r,o,s);throw new Error("Invalid schema")}function u(r,o){if(t(r))return function(t,n){const{slot:e}=n;return t[e]}(r,o);if(n(r))return function(t,n){const{path:e,slot:r}=n;return t.cond[e][r]}(r,o);if(e(r))return function(t,n){const{slot:e}=n;return t.loop.do[e]}(r,o);throw new Error("Invalid schema")}function l(t,n){let e=t;for(const t of n){e=u(e,t)}return e}function c(t){return"form"in t}function i(t){return"yield"in t}function f(t){return"return"in t}function a(t){return"variables"in t}function h(t,n,e,r){const o={...t};o[n]=n in t?{...t[n],keys:{...t[n].keys}}:{data:{here:!1},keys:{}};let s=o[n];for(const t of e)if(t in s.keys){const n=s.keys[t],e={...n,keys:{...n.keys}};s.keys[t]=e,s=e}else{const n={data:{here:!1},keys:{}};s.keys[t]=n,s=n}return s.data={here:!0,data:r},o}function p(t,n,e,r,o){let s=t;for(const t of n){const n=w(s,t);if(!n)return o;s=n}return function(t,n,e,r){let o=t[n];for(const t of e){if(!(t in o.keys))return r;o=o.keys[t]}return o.data.here?o.data.data:r}(s,e,r,o)}function d(t,n,e,r,o){const s=v(t);let u=s;for(let t=0;t<n.length-1;t++){const e=n[t],r=w(u,e);if(r){const t=v(r);g(u,e,t),u=t}else{const r=y(n[t+1]);g(u,e,r),u=r}}const l=n[n.length-1],c=w(u,l);if(c){g(u,l,h(c,e,r,o))}else{g(u,l,h({[e]:{data:{here:!1},keys:{}}},e,r,o))}return s}function y(t){switch(t.type){case"list":return{type:"list",list:{}};case"cond":return{type:"cond",then:{},else:{}};case"loop":return{type:"loop",list:{}}}}function v(t){switch(t.type){case"list":case"loop":return function(t){return{...t,list:{...t.list}}}(t);case"cond":return function(t){return{...t,then:{...t.then},else:{...t.else}}}(t)}}function w(t,n){switch(t.type){case"list":return function(t,n){const{slot:e}=n;return e in t.list?t.list[e]:null}(t,n);case"cond":return function(t,n){const{path:e,slot:r}=n;return e in t&&r in t[e]?t[e][r]:null}(t,n);case"loop":return function(t,n){const{slot:e}=n;return e in t.list?t.list[e]:null}(t,n)}}function g(t,n,e){switch(t.type){case"list":return function(t,n,e){const{slot:r}=n;t.list[r]=e}(t,n,e);case"cond":return function(t,n,e){const{path:r,slot:o}=n;r in t?t[r][o]=e:t[r]={[o]:e}}(t,n,e);case"loop":return function(t,n,e){const{slot:r}=n;t.list[r]=e}(t,n,e)}}function k(t,n,e){return function(t,n,e){const r=function(t,n){const e=m(t,n);if(e)return e;throw new Error("Invalid schema")}(t,n),o=function(t,n,e){let r=n,o=r.values,s=l(t,r.path);for(;!c(s);){if(f(s))throw new Error("Invalid schema");if(i(s)){e(s.yield(o))}else if(a(s)){const t=s.variables(o);o={...o,...t}}if(r=I(t,{path:r.path,values:o}),!r)throw new Error("Invalid schema");s=l(t,r.path)}return r}(t,{path:r,values:n},e);return{cursors:[o],entries:{type:"list",list:{}}}}(t,n,e)}function m(t,n){let e=o(t,n);for(;e;){const r=b(t,e,n);if(r)return r;e=s(t,e,n)}return null}function b(t,n,e){const o=l(t,[n]);if(r(o)){const t=m(o,e);return t?[n,...t]:null}return[n]}function E(t,n,e,r,o){return function(t,n,e,r,o){const s=t.cursors[t.cursors.length-1],u=function(t,n,e,r,o){let s=I(t,{path:n.path,values:{...n.values,...e}});if(!s)return null;let u=s.values,h=l(t,s.path);for(;!c(h);){if(f(h)){return o(h.return(u)),null}if(i(h)){r(h.yield(u))}else if(a(h)){const t=h.variables(u);u={...u,...t}}if(s=I(t,{path:s.path,values:u}),!s)return null;h=l(t,s.path)}return s}(n,s,e,r,o),h=u?[...t.cursors,u]:t.cursors,p=F(t,n,e);return{cursors:h,entries:p}}(t,n,e,r,o)}function I(t,n){const e=j(t,n);if(e)return e;const r=function(t){if(t.path.length>1)return{path:t.path.slice(0,-1),values:t.values};return null}(n);return r?I(t,r):null}function j(t,n){const e=O(t,n);if(e){const n=x(t,e);return n||j(t,e)}return null}function O(t,n){const e=n.path.slice(0,-1),r=s(l(t,e),n.path[n.path.length-1],n.values);return r?{path:[...e,r],values:n.values}:null}function x(t,n){const e=l(t,n.path);if(r(e)){const r=o(e,n.values);if(r){const e={path:[...n.path,r],values:n.values},o=x(t,e);return o||j(t,e)}return null}return n}function A(t,n,e){return function(t,n,e){const r=t.cursors,o=r.length>1?r.slice(0,-1):r,s=F(t,n,e);return{cursors:o,entries:s}}(t,n,e)}function F(t,n,e){const r=t.cursors[t.cursors.length-1],o=l(n,r.path).form.values(r.values);let s=t.entries;for(const[t,n]of Object.entries(e)){const e=t;s=d(s,r.path,t,o[e][1],n)}return s}function B(t,n,e,r,o,s,u){return function(t,n,e,r,o,s,u){const c=t.cursors[t.cursors.length-1],i=l(n,c.path),f=c.values,a=Object.fromEntries(Object.entries(i.form.values(c.values)).map((([n,[e,r]])=>[n,p(t.entries,c.path,n,r,e)])));return i.form.render({inputs:f,values:a,params:e,onNext:r,onBack:o,getFlow:s,setFlow:u})}(t,n,e,r,o,s,u)}function N(t,n,e){return function(t,n,e){const r=t.cursors[t.cursors.length-1],o=l(n,r.path),s=o.form.values(r.values);let u=t.entries;for(const[t,n]of Object.entries(e)){const e=t;u=d(u,r.path,t,s[e][1],n)}return{cursors:t.cursors,entries:u}}(t,n,e)}export{N as getFlow,B as getForm,k as initFlow,E as nextFlow,A as prevFlow};
2
+ //# sourceMappingURL=index.esm.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.esm.js","sources":["../src/utils/schema/flow.list.ts","../src/utils/schema/flow.cond.ts","../src/utils/schema/flow.loop.ts","../src/utils/schema/flow.ts","../src/utils/schema/form.ts","../src/utils/schema/yield.ts","../src/utils/schema/return.ts","../src/utils/schema/variables.ts","../src/utils/entries/form.ts","../src/utils/entries/flow.ts","../src/utils/entries/flow.list.ts","../src/utils/entries/flow.cond.ts","../src/utils/entries/flow.loop.ts","../src/utils/navigate.ts","../src/utils/form.ts","../src/utils/flow.ts"],"sourcesContent":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],"names":["is","schema","Array","isArray","ListSchemaUtils.is","CondSchemaUtils.is","LoopSchemaUtils.is","into","values","length","type","slot","ListSchemaUtils.into","cond","if","then","path","else","CondSchemaUtils.into","loop","while","do","LoopSchemaUtils.into","Error","next","position","ListSchemaUtils.next","CondSchemaUtils.next","LoopSchemaUtils.next","at","ListSchemaUtils.at","CondSchemaUtils.at","LoopSchemaUtils.at","find","current","set","form","name","keys","data","updated","here","key","copy","get","flow","defaultValue","item","getItem","FormEntriesUtils.get","value","clone","i","cloned","setItem","create","FormEntriesUtils.set","list","LoopEntriesUtils.clone","CondEntriesUtils.clone","ListEntriesUtils.getItem","CondEntriesUtils.getItem","LoopEntriesUtils.getItem","ListEntriesUtils.setItem","CondEntriesUtils.setItem","LoopEntriesUtils.setItem","initFlow","onYield","initialPathOrNull","initialPath","cursor","currCursor","currValues","currSchema","FlowSchemaUtils.find","FormSchemaUtils.is","ReturnSchemaUtils.is","YieldSchemaUtils.is","VariablesSchemaUtils.is","variables","nextCursor","initialForm","cursors","entries","internalInitFlow","FlowSchemaUtils.into","initialPathFromPosition","FlowSchemaUtils.next","FlowSchemaUtils.is","nextFlow","onReturn","last","advanceForm","updateEntries","internalNextFlow","nextCursorInFlow","over","slice","overCursor","nextCursorInSameFlow","nextCursorInsideFlow","prevFlow","internalPrevFlow","vals","curr","Object","FlowEntriesUtils.set","getForm","params","onNext","onBack","getFlow","setFlow","inputs","fromEntries","map","FlowEntriesUtils.get","internalGetForm","internalGetFlow"],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ import { ListValues } from "../values";
2
+ import { Yield } from "../values/yield";
3
+ import { Return } from "../values/return";
4
+ export type OnYield<T extends ListValues> = (values: Yield<T>) => void;
5
+ export type OnReturn<T extends ListValues> = (values: Return<T>) => void;
6
+ //# sourceMappingURL=custom.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"custom.d.ts","sourceRoot":"","sources":["../../../src/types/callbacks/custom.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AAEvC,OAAO,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAC;AACxC,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAE1C,MAAM,MAAM,OAAO,CAAC,CAAC,SAAS,UAAU,IAAI,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC;AACvE,MAAM,MAAM,QAAQ,CAAC,CAAC,SAAS,UAAU,IAAI,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC"}
@@ -0,0 +1,3 @@
1
+ export type OnYield = (values: object) => void;
2
+ export type OnReturn = (values: object) => void;
3
+ //# sourceMappingURL=static.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"static.d.ts","sourceRoot":"","sources":["../../../src/types/callbacks/static.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,OAAO,GAAG,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;AAC/C,MAAM,MAAM,QAAQ,GAAG,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC"}
@@ -0,0 +1,6 @@
1
+ import type { Flow } from "./flow/flow";
2
+ export type OnNext = (values: object) => void;
3
+ export type OnBack = (values: object) => void;
4
+ export type GetFlow = (values: object) => Flow;
5
+ export type SetFlow = (flow: Flow) => void;
6
+ //# sourceMappingURL=callbacks.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"callbacks.d.ts","sourceRoot":"","sources":["../../src/types/callbacks.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,aAAa,CAAC;AAExC,MAAM,MAAM,MAAM,GAAG,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;AAC9C,MAAM,MAAM,MAAM,GAAG,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;AAC9C,MAAM,MAAM,OAAO,GAAG,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;AAC/C,MAAM,MAAM,OAAO,GAAG,CAAC,IAAI,EAAE,IAAI,KAAK,IAAI,CAAC"}
@@ -0,0 +1,6 @@
1
+ import type { Position } from "./position";
2
+ export type Cursor = {
3
+ path: Position[];
4
+ values: object;
5
+ };
6
+ //# sourceMappingURL=cursor.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cursor.d.ts","sourceRoot":"","sources":["../../../src/types/flow/cursor.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAE3C,MAAM,MAAM,MAAM,GAAG;IACnB,IAAI,EAAE,QAAQ,EAAE,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;CAChB,CAAC"}
@@ -0,0 +1,38 @@
1
+ export type ItemEntries = FlowEntries | FormEntries;
2
+ export type FlowEntries = ListEntries | CondEntries | LoopEntries;
3
+ export type ListEntries = {
4
+ type: "list";
5
+ list: {
6
+ [position: number]: ItemEntries;
7
+ };
8
+ };
9
+ export type CondEntries = {
10
+ type: "cond";
11
+ then: {
12
+ [position: number]: ItemEntries;
13
+ };
14
+ else: {
15
+ [position: number]: ItemEntries;
16
+ };
17
+ };
18
+ export type LoopEntries = {
19
+ type: "loop";
20
+ list: {
21
+ [position: number]: ItemEntries;
22
+ };
23
+ };
24
+ export type FormEntries = {
25
+ [key: string]: NameEntries;
26
+ };
27
+ export type NameEntries = {
28
+ data: {
29
+ here: true;
30
+ data: unknown;
31
+ } | {
32
+ here: false;
33
+ };
34
+ keys: {
35
+ [key: PropertyKey]: NameEntries;
36
+ };
37
+ };
38
+ //# sourceMappingURL=entries.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"entries.d.ts","sourceRoot":"","sources":["../../../src/types/flow/entries.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,WAAW,GAAG,WAAW,GAAG,WAAW,CAAC;AAEpD,MAAM,MAAM,WAAW,GAAG,WAAW,GAAG,WAAW,GAAG,WAAW,CAAC;AAElE,MAAM,MAAM,WAAW,GAAG;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE;QAAE,CAAC,QAAQ,EAAE,MAAM,GAAG,WAAW,CAAA;KAAE,CAAC;CAC3C,CAAC;AAEF,MAAM,MAAM,WAAW,GAAG;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE;QAAE,CAAC,QAAQ,EAAE,MAAM,GAAG,WAAW,CAAA;KAAE,CAAC;IAC1C,IAAI,EAAE;QAAE,CAAC,QAAQ,EAAE,MAAM,GAAG,WAAW,CAAA;KAAE,CAAC;CAC3C,CAAC;AAEF,MAAM,MAAM,WAAW,GAAG;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE;QAAE,CAAC,QAAQ,EAAE,MAAM,GAAG,WAAW,CAAA;KAAE,CAAC;CAC3C,CAAC;AAEF,MAAM,MAAM,WAAW,GAAG;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,WAAW,CAAA;CAAE,CAAC;AAEzD,MAAM,MAAM,WAAW,GAAG;IACxB,IAAI,EAAE;QAAE,IAAI,EAAE,IAAI,CAAC;QAAC,IAAI,EAAE,OAAO,CAAA;KAAE,GAAG;QAAE,IAAI,EAAE,KAAK,CAAA;KAAE,CAAC;IACtD,IAAI,EAAE;QAAE,CAAC,GAAG,EAAE,WAAW,GAAG,WAAW,CAAA;KAAE,CAAC;CAC3C,CAAC"}
@@ -0,0 +1,7 @@
1
+ import { Cursor } from "./cursor";
2
+ import { ListEntries } from "./entries";
3
+ export type Flow = {
4
+ cursors: Cursor[];
5
+ entries: ListEntries;
6
+ };
7
+ //# sourceMappingURL=flow.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"flow.d.ts","sourceRoot":"","sources":["../../../src/types/flow/flow.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAClC,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AAExC,MAAM,MAAM,IAAI,GAAG;IACjB,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,OAAO,EAAE,WAAW,CAAC;CACtB,CAAC"}
@@ -0,0 +1,15 @@
1
+ export type Position = ListPosition | CondPosition | LoopPosition;
2
+ export type ListPosition = {
3
+ type: "list";
4
+ slot: number;
5
+ };
6
+ export type CondPosition = {
7
+ type: "cond";
8
+ path: "then" | "else";
9
+ slot: number;
10
+ };
11
+ export type LoopPosition = {
12
+ type: "loop";
13
+ slot: number;
14
+ };
15
+ //# sourceMappingURL=position.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"position.d.ts","sourceRoot":"","sources":["../../../src/types/flow/position.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,QAAQ,GAAG,YAAY,GAAG,YAAY,GAAG,YAAY,CAAC;AAElE,MAAM,MAAM,YAAY,GAAG;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;CACd,CAAC;AAEF,MAAM,MAAM,YAAY,GAAG;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,GAAG,MAAM,CAAC;IACtB,IAAI,EAAE,MAAM,CAAC;CACd,CAAC;AAEF,MAAM,MAAM,YAAY,GAAG;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;CACd,CAAC"}
@@ -0,0 +1,52 @@
1
+ import type { ItemValues, FlowValues, ListValues, CondValues, LoopValues, FormValues, YieldValues, ReturnValues, VariablesValues } from "../values";
2
+ import type { OnNext, OnBack, GetFlow, SetFlow } from "../callbacks";
3
+ export type ItemSchema<Render, Values extends ItemValues, Inputs extends object, Params extends object> = Values extends FlowValues ? FlowSchema<Render, Values, Inputs, Params> : Values extends FormValues ? FormSchema<Render, Values, Inputs, Params> : Values extends YieldValues ? YieldSchema<Values, Inputs> : Values extends ReturnValues ? ReturnSchema<Values, Inputs> : Values extends VariablesValues ? VariablesSchema<Values, Inputs> : never;
4
+ export type FlowSchema<Render, Values extends FlowValues, Inputs extends object, Params extends object> = Values extends ListValues ? ListSchema<Render, Values, Inputs, Params> : Values extends CondValues ? CondSchema<Render, Values, Inputs, Params> : Values extends LoopValues ? LoopSchema<Render, Values, Inputs, Params> : never;
5
+ export type ListSchema<Render, Values extends ListValues, Inputs extends object, Params extends object> = Values extends [infer First, ...infer Other] ? First extends ItemValues ? Other extends ListValues ? [
6
+ ItemSchema<Render, First, Inputs, Params>,
7
+ ...ListSchema<Render, Other, Merge<Inputs, ItemOutput<First>>, Params>
8
+ ] : never : never : [];
9
+ export type CondSchema<Render, Values extends CondValues, Inputs extends object, Params extends object> = {
10
+ cond: {
11
+ if: (inputs: Inputs) => boolean;
12
+ then: ListSchema<Render, Values["cond"]["then"], Inputs, Params>;
13
+ else: ListSchema<Render, Values["cond"]["else"], Inputs, Params>;
14
+ };
15
+ };
16
+ export type LoopSchema<Render, Values extends LoopValues, Inputs extends object, Params extends object> = {
17
+ loop: {
18
+ while: (inputs: Inputs) => boolean;
19
+ do: ListSchema<Render, Values["loop"]["do"], Inputs, Params>;
20
+ };
21
+ };
22
+ export type FormSchema<Render, Values extends FormValues, Inputs extends object, Params extends object> = {
23
+ form: {
24
+ values: (inputs: Inputs) => {
25
+ [K in keyof Values["form"]]: [Values["form"][K], PropertyKey[]];
26
+ };
27
+ render: (args: {
28
+ inputs: Inputs;
29
+ values: Values["form"];
30
+ params: Params;
31
+ onNext: OnNext;
32
+ onBack: OnBack;
33
+ getFlow: GetFlow;
34
+ setFlow: SetFlow;
35
+ }) => Render;
36
+ };
37
+ };
38
+ export type YieldSchema<Values extends YieldValues, Inputs extends object> = {
39
+ yield: (inputs: Inputs) => Values["yield"];
40
+ };
41
+ export type ReturnSchema<Values extends ReturnValues, Inputs extends object> = {
42
+ return: (inputs: Inputs) => Values["return"];
43
+ };
44
+ export type VariablesSchema<Values extends VariablesValues, Inputs extends object> = {
45
+ variables: (inputs: Inputs) => Values["variables"];
46
+ };
47
+ type Merge<T extends object, U extends object> = Omit<T, keyof U> & U;
48
+ type ItemOutput<Values extends ItemValues> = Values extends FormValues ? FormOutput<Values> : Values extends VariablesValues ? VariablesOutput<Values> : object;
49
+ type FormOutput<Values extends FormValues> = Values["form"];
50
+ type VariablesOutput<Values extends VariablesValues> = Values["variables"];
51
+ export {};
52
+ //# sourceMappingURL=custom.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"custom.d.ts","sourceRoot":"","sources":["../../../src/types/schema/custom.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,41 @@
1
+ import type { OnNext, OnBack, GetFlow, SetFlow } from "../callbacks";
2
+ export type ItemSchema = FlowSchema | FormSchema | YieldSchema | ReturnSchema | VariablesSchema;
3
+ export type FlowSchema = ListSchema | CondSchema | LoopSchema;
4
+ export type ListSchema = ItemSchema[];
5
+ export type CondSchema = {
6
+ cond: {
7
+ if: (inputs: object) => boolean;
8
+ then: ListSchema;
9
+ else: ListSchema;
10
+ };
11
+ };
12
+ export type LoopSchema = {
13
+ loop: {
14
+ while: (inputs: object) => boolean;
15
+ do: ListSchema;
16
+ };
17
+ };
18
+ export type FormSchema = {
19
+ form: {
20
+ values: (inputs: object) => Record<string, [unknown, PropertyKey[]]>;
21
+ render: (args: {
22
+ inputs: object;
23
+ values: object;
24
+ params: object;
25
+ onNext: OnNext;
26
+ onBack: OnBack;
27
+ getFlow: GetFlow;
28
+ setFlow: SetFlow;
29
+ }) => unknown;
30
+ };
31
+ };
32
+ export type YieldSchema = {
33
+ yield: (inputs: object) => object;
34
+ };
35
+ export type ReturnSchema = {
36
+ return: (inputs: object) => object;
37
+ };
38
+ export type VariablesSchema = {
39
+ variables: (inputs: object) => object;
40
+ };
41
+ //# sourceMappingURL=static.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"static.d.ts","sourceRoot":"","sources":["../../../src/types/schema/static.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAErE,MAAM,MAAM,UAAU,GAClB,UAAU,GACV,UAAU,GACV,WAAW,GACX,YAAY,GACZ,eAAe,CAAC;AAEpB,MAAM,MAAM,UAAU,GAAG,UAAU,GAAG,UAAU,GAAG,UAAU,CAAC;AAE9D,MAAM,MAAM,UAAU,GAAG,UAAU,EAAE,CAAC;AAEtC,MAAM,MAAM,UAAU,GAAG;IACvB,IAAI,EAAE;QACJ,EAAE,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,OAAO,CAAC;QAChC,IAAI,EAAE,UAAU,CAAC;QACjB,IAAI,EAAE,UAAU,CAAC;KAClB,CAAC;CACH,CAAC;AAEF,MAAM,MAAM,UAAU,GAAG;IACvB,IAAI,EAAE;QACJ,KAAK,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,OAAO,CAAC;QACnC,EAAE,EAAE,UAAU,CAAC;KAChB,CAAC;CACH,CAAC;AAEF,MAAM,MAAM,UAAU,GAAG;IACvB,IAAI,EAAE;QACJ,MAAM,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,MAAM,CAAC,MAAM,EAAE,CAAC,OAAO,EAAE,WAAW,EAAE,CAAC,CAAC,CAAC;QACrE,MAAM,EAAE,CAAC,IAAI,EAAE;YACb,MAAM,EAAE,MAAM,CAAC;YACf,MAAM,EAAE,MAAM,CAAC;YACf,MAAM,EAAE,MAAM,CAAC;YACf,MAAM,EAAE,MAAM,CAAC;YACf,MAAM,EAAE,MAAM,CAAC;YACf,OAAO,EAAE,OAAO,CAAC;YACjB,OAAO,EAAE,OAAO,CAAC;SAClB,KAAK,OAAO,CAAC;KACf,CAAC;CACH,CAAC;AAEF,MAAM,MAAM,WAAW,GAAG;IACxB,KAAK,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,MAAM,CAAC;CACnC,CAAC;AAEF,MAAM,MAAM,YAAY,GAAG;IACzB,MAAM,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,MAAM,CAAC;CACpC,CAAC;AAEF,MAAM,MAAM,eAAe,GAAG;IAC5B,SAAS,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,MAAM,CAAC;CACvC,CAAC"}
@@ -0,0 +1,34 @@
1
+ import { ListValues } from "./values";
2
+ export type Cond<Values extends {
3
+ then: ListValues;
4
+ else: ListValues;
5
+ }> = {
6
+ type: "cond";
7
+ cond: {
8
+ then: Values["then"];
9
+ else: Values["else"];
10
+ };
11
+ };
12
+ export type Loop<Values extends ListValues> = {
13
+ type: "loop";
14
+ loop: {
15
+ do: Values;
16
+ };
17
+ };
18
+ export type Form<Values extends object> = {
19
+ type: "form";
20
+ form: Values;
21
+ };
22
+ export type Yield<Values extends object> = {
23
+ type: "yield";
24
+ yield: Values;
25
+ };
26
+ export type Return<Values extends object> = {
27
+ type: "return";
28
+ return: Values;
29
+ };
30
+ export type Variables<Values extends object> = {
31
+ type: "variables";
32
+ variables: Values;
33
+ };
34
+ //# sourceMappingURL=utils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/types/utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAEtC,MAAM,MAAM,IAAI,CAAC,MAAM,SAAS;IAAE,IAAI,EAAE,UAAU,CAAC;IAAC,IAAI,EAAE,UAAU,CAAA;CAAE,IAAI;IACxE,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE;QACJ,IAAI,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC;QACrB,IAAI,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC;KACtB,CAAC;CACH,CAAC;AAEF,MAAM,MAAM,IAAI,CAAC,MAAM,SAAS,UAAU,IAAI;IAC5C,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE;QACJ,EAAE,EAAE,MAAM,CAAC;KACZ,CAAC;CACH,CAAC;AAEF,MAAM,MAAM,IAAI,CAAC,MAAM,SAAS,MAAM,IAAI;IACxC,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;CACd,CAAC;AAEF,MAAM,MAAM,KAAK,CAAC,MAAM,SAAS,MAAM,IAAI;IACzC,IAAI,EAAE,OAAO,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;CACf,CAAC;AAEF,MAAM,MAAM,MAAM,CAAC,MAAM,SAAS,MAAM,IAAI;IAC1C,IAAI,EAAE,QAAQ,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF,MAAM,MAAM,SAAS,CAAC,MAAM,SAAS,MAAM,IAAI;IAC7C,IAAI,EAAE,WAAW,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;CACnB,CAAC"}
@@ -0,0 +1,14 @@
1
+ import { ItemValues, ListValues, CondValues, LoopValues, ReturnValues } from "../values";
2
+ export type Return<Values extends ListValues> = ListData<Values, never> extends [infer Next, unknown] ? Next : never;
3
+ type ItemData<Values extends ItemValues, Data> = Values extends ListValues ? ListData<Values, Data> : Values extends CondValues ? CondData<Values, Data> : Values extends LoopValues ? LoopData<Values, Data> : Values extends ReturnValues ? [Data | Values["return"], "T"] : [Data, "F"];
4
+ type ListData<Values extends ListValues, Data> = Values extends [
5
+ infer First,
6
+ ...infer Other
7
+ ] ? First extends ItemValues ? Other extends ListValues ? ItemData<First, Data> extends [infer Next, infer Return] ? Return extends "T" ? [Next, "T"] : ListData<Other, Next> : never : never : never : [Data, "F"];
8
+ type CondData<Values extends CondValues, Data> = ListData<Values["cond"]["then"], Data> extends [infer ThenNext, infer ThenReturn] ? ListData<Values["cond"]["else"], Data> extends [
9
+ infer ElseNext,
10
+ infer ElseReturn
11
+ ] ? [ThenReturn, ElseReturn] extends ["T", "T"] ? [ThenNext | ElseNext, "T"] : [ThenNext | ElseNext, "F"] : never : never;
12
+ type LoopData<Values extends LoopValues, Data> = ListData<Values["loop"]["do"], Data> extends [infer Next, unknown] ? [Next, "F"] : never;
13
+ export {};
14
+ //# sourceMappingURL=return.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"return.d.ts","sourceRoot":"","sources":["../../../src/types/values/return.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,UAAU,EACV,UAAU,EACV,UAAU,EACV,UAAU,EACV,YAAY,EACb,MAAM,WAAW,CAAC;AAEnB,MAAM,MAAM,MAAM,CAAC,MAAM,SAAS,UAAU,IAAI,QAAQ,CACtD,MAAM,EACN,KAAK,CACN,SAAS,CAAC,MAAM,IAAI,EAAE,OAAO,CAAC,GAC3B,IAAI,GACJ,KAAK,CAAC;AAEV,KAAK,QAAQ,CAAC,MAAM,SAAS,UAAU,EAAE,IAAI,IAAI,MAAM,SAAS,UAAU,GACtE,QAAQ,CAAC,MAAM,EAAE,IAAI,CAAC,GACtB,MAAM,SAAS,UAAU,GACzB,QAAQ,CAAC,MAAM,EAAE,IAAI,CAAC,GACtB,MAAM,SAAS,UAAU,GACzB,QAAQ,CAAC,MAAM,EAAE,IAAI,CAAC,GACtB,MAAM,SAAS,YAAY,GAC3B,CAAC,IAAI,GAAG,MAAM,CAAC,QAAQ,CAAC,EAAE,GAAG,CAAC,GAC9B,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;AAEhB,KAAK,QAAQ,CAAC,MAAM,SAAS,UAAU,EAAE,IAAI,IAAI,MAAM,SAAS;IAC9D,MAAM,KAAK;IACX,GAAG,MAAM,KAAK;CACf,GACG,KAAK,SAAS,UAAU,GACtB,KAAK,SAAS,UAAU,GACtB,QAAQ,CAAC,KAAK,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,IAAI,EAAE,MAAM,MAAM,CAAC,GACtD,MAAM,SAAS,GAAG,GAChB,CAAC,IAAI,EAAE,GAAG,CAAC,GACX,QAAQ,CAAC,KAAK,EAAE,IAAI,CAAC,GACvB,KAAK,GACP,KAAK,GACP,KAAK,GACP,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;AAEhB,KAAK,QAAQ,CAAC,MAAM,SAAS,UAAU,EAAE,IAAI,IAAI,QAAQ,CACvD,MAAM,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,EACtB,IAAI,CACL,SAAS,CAAC,MAAM,QAAQ,EAAE,MAAM,UAAU,CAAC,GACxC,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,EAAE,IAAI,CAAC,SAAS;IAC7C,MAAM,QAAQ;IACd,MAAM,UAAU;CACjB,GACC,CAAC,UAAU,EAAE,UAAU,CAAC,SAAS,CAAC,GAAG,EAAE,GAAG,CAAC,GACzC,CAAC,QAAQ,GAAG,QAAQ,EAAE,GAAG,CAAC,GAC1B,CAAC,QAAQ,GAAG,QAAQ,EAAE,GAAG,CAAC,GAC5B,KAAK,GACP,KAAK,CAAC;AAEV,KAAK,QAAQ,CAAC,MAAM,SAAS,UAAU,EAAE,IAAI,IAAI,QAAQ,CACvD,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,EACpB,IAAI,CACL,SAAS,CAAC,MAAM,IAAI,EAAE,OAAO,CAAC,GAC3B,CAAC,IAAI,EAAE,GAAG,CAAC,GACX,KAAK,CAAC"}
@@ -0,0 +1,17 @@
1
+ import { ItemValues, ListValues, CondValues, LoopValues, YieldValues, ReturnValues } from "../values";
2
+ export type Yield<Values extends ListValues> = ListData<Values, never> extends [
3
+ infer Next,
4
+ unknown
5
+ ] ? Next : never;
6
+ type ItemData<Values extends ItemValues, Data> = Values extends ListValues ? ListData<Values, Data> : Values extends CondValues ? CondData<Values, Data> : Values extends LoopValues ? LoopData<Values, Data> : Values extends YieldValues ? [Data | Values["yield"], "F"] : Values extends ReturnValues ? [Data, "T"] : [Data, "F"];
7
+ type ListData<Values extends ListValues, Data> = Values extends [
8
+ infer First,
9
+ ...infer Other
10
+ ] ? First extends ItemValues ? Other extends ListValues ? ItemData<First, Data> extends [infer Next, infer Return] ? Return extends "T" ? [Next, "T"] : ListData<Other, Next> : never : never : never : [Data, "F"];
11
+ type CondData<Values extends CondValues, Data> = ListData<Values["cond"]["then"], Data> extends [infer ThenNext, infer ThenReturn] ? ListData<Values["cond"]["else"], Data> extends [
12
+ infer ElseNext,
13
+ infer ElseReturn
14
+ ] ? [ThenReturn, ElseReturn] extends ["T", "T"] ? [ThenNext | ElseNext, "T"] : [ThenNext | ElseNext, "F"] : never : never;
15
+ type LoopData<Values extends LoopValues, Data> = ListData<Values["loop"]["do"], Data> extends [infer Next, unknown] ? [Next, "F"] : never;
16
+ export {};
17
+ //# sourceMappingURL=yield.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"yield.d.ts","sourceRoot":"","sources":["../../../src/types/values/yield.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,UAAU,EACV,UAAU,EACV,UAAU,EACV,UAAU,EACV,WAAW,EACX,YAAY,EACb,MAAM,WAAW,CAAC;AAEnB,MAAM,MAAM,KAAK,CAAC,MAAM,SAAS,UAAU,IAAI,QAAQ,CAAC,MAAM,EAAE,KAAK,CAAC,SAAS;IAC7E,MAAM,IAAI;IACV,OAAO;CACR,GACG,IAAI,GACJ,KAAK,CAAC;AAEV,KAAK,QAAQ,CAAC,MAAM,SAAS,UAAU,EAAE,IAAI,IAAI,MAAM,SAAS,UAAU,GACtE,QAAQ,CAAC,MAAM,EAAE,IAAI,CAAC,GACtB,MAAM,SAAS,UAAU,GACzB,QAAQ,CAAC,MAAM,EAAE,IAAI,CAAC,GACtB,MAAM,SAAS,UAAU,GACzB,QAAQ,CAAC,MAAM,EAAE,IAAI,CAAC,GACtB,MAAM,SAAS,WAAW,GAC1B,CAAC,IAAI,GAAG,MAAM,CAAC,OAAO,CAAC,EAAE,GAAG,CAAC,GAC7B,MAAM,SAAS,YAAY,GAC3B,CAAC,IAAI,EAAE,GAAG,CAAC,GACX,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;AAEhB,KAAK,QAAQ,CAAC,MAAM,SAAS,UAAU,EAAE,IAAI,IAAI,MAAM,SAAS;IAC9D,MAAM,KAAK;IACX,GAAG,MAAM,KAAK;CACf,GACG,KAAK,SAAS,UAAU,GACtB,KAAK,SAAS,UAAU,GACtB,QAAQ,CAAC,KAAK,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,IAAI,EAAE,MAAM,MAAM,CAAC,GACtD,MAAM,SAAS,GAAG,GAChB,CAAC,IAAI,EAAE,GAAG,CAAC,GACX,QAAQ,CAAC,KAAK,EAAE,IAAI,CAAC,GACvB,KAAK,GACP,KAAK,GACP,KAAK,GACP,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;AAEhB,KAAK,QAAQ,CAAC,MAAM,SAAS,UAAU,EAAE,IAAI,IAAI,QAAQ,CACvD,MAAM,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,EACtB,IAAI,CACL,SAAS,CAAC,MAAM,QAAQ,EAAE,MAAM,UAAU,CAAC,GACxC,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,EAAE,IAAI,CAAC,SAAS;IAC7C,MAAM,QAAQ;IACd,MAAM,UAAU;CACjB,GACC,CAAC,UAAU,EAAE,UAAU,CAAC,SAAS,CAAC,GAAG,EAAE,GAAG,CAAC,GACzC,CAAC,QAAQ,GAAG,QAAQ,EAAE,GAAG,CAAC,GAC1B,CAAC,QAAQ,GAAG,QAAQ,EAAE,GAAG,CAAC,GAC5B,KAAK,GACP,KAAK,CAAC;AAEV,KAAK,QAAQ,CAAC,MAAM,SAAS,UAAU,EAAE,IAAI,IAAI,QAAQ,CACvD,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,EACpB,IAAI,CACL,SAAS,CAAC,MAAM,IAAI,EAAE,OAAO,CAAC,GAC3B,CAAC,IAAI,EAAE,GAAG,CAAC,GACX,KAAK,CAAC"}
@@ -0,0 +1,33 @@
1
+ export type ItemValues = FlowValues | FormValues | YieldValues | ReturnValues | VariablesValues;
2
+ export type FlowValues = ListValues | CondValues | LoopValues;
3
+ export type ListValues = ItemValues[];
4
+ export type CondValues = {
5
+ type: "cond";
6
+ cond: {
7
+ then: ListValues;
8
+ else: ListValues;
9
+ };
10
+ };
11
+ export type LoopValues = {
12
+ type: "loop";
13
+ loop: {
14
+ do: ListValues;
15
+ };
16
+ };
17
+ export type FormValues = {
18
+ type: "form";
19
+ form: object;
20
+ };
21
+ export type YieldValues = {
22
+ type: "yield";
23
+ yield: object;
24
+ };
25
+ export type ReturnValues = {
26
+ type: "return";
27
+ return: object;
28
+ };
29
+ export type VariablesValues = {
30
+ type: "variables";
31
+ variables: object;
32
+ };
33
+ //# sourceMappingURL=values.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"values.d.ts","sourceRoot":"","sources":["../../src/types/values.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,UAAU,GAClB,UAAU,GACV,UAAU,GACV,WAAW,GACX,YAAY,GACZ,eAAe,CAAC;AAEpB,MAAM,MAAM,UAAU,GAAG,UAAU,GAAG,UAAU,GAAG,UAAU,CAAC;AAE9D,MAAM,MAAM,UAAU,GAAG,UAAU,EAAE,CAAC;AAEtC,MAAM,MAAM,UAAU,GAAG;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE;QACJ,IAAI,EAAE,UAAU,CAAC;QACjB,IAAI,EAAE,UAAU,CAAC;KAClB,CAAC;CACH,CAAC;AAEF,MAAM,MAAM,UAAU,GAAG;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE;QACJ,EAAE,EAAE,UAAU,CAAC;KAChB,CAAC;CACH,CAAC;AAEF,MAAM,MAAM,UAAU,GAAG;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;CACd,CAAC;AAEF,MAAM,MAAM,WAAW,GAAG;IACxB,IAAI,EAAE,OAAO,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;CACf,CAAC;AAEF,MAAM,MAAM,YAAY,GAAG;IACzB,IAAI,EAAE,QAAQ,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF,MAAM,MAAM,eAAe,GAAG;IAC5B,IAAI,EAAE,WAAW,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;CACnB,CAAC"}
@@ -0,0 +1,7 @@
1
+ import type { ItemEntries, FlowEntries, CondEntries } from "../../types/flow/entries";
2
+ import type { Position } from "../../types/flow/position";
3
+ export declare function create(): FlowEntries;
4
+ export declare function clone(flow: CondEntries): FlowEntries;
5
+ export declare function getItem(flow: CondEntries, position: Position): ItemEntries | null;
6
+ export declare function setItem(flow: CondEntries, position: Position, item: ItemEntries): void;
7
+ //# sourceMappingURL=flow.cond.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"flow.cond.d.ts","sourceRoot":"","sources":["../../../src/utils/entries/flow.cond.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,WAAW,EACX,WAAW,EACX,WAAW,EACZ,MAAM,0BAA0B,CAAC;AAElC,OAAO,KAAK,EAAE,QAAQ,EAAgB,MAAM,2BAA2B,CAAC;AAExE,wBAAgB,MAAM,IAAI,WAAW,CAEpC;AAED,wBAAgB,KAAK,CAAC,IAAI,EAAE,WAAW,GAAG,WAAW,CAEpD;AAED,wBAAgB,OAAO,CACrB,IAAI,EAAE,WAAW,EACjB,QAAQ,EAAE,QAAQ,GACjB,WAAW,GAAG,IAAI,CAMpB;AAED,wBAAgB,OAAO,CACrB,IAAI,EAAE,WAAW,EACjB,QAAQ,EAAE,QAAQ,EAClB,IAAI,EAAE,WAAW,GAChB,IAAI,CAIN"}
@@ -0,0 +1,9 @@
1
+ import type { ItemEntries, FlowEntries } from "../../types/flow/entries";
2
+ import type { Position } from "../../types/flow/position";
3
+ export declare function get(flow: FlowEntries, path: Position[], name: string, keys: PropertyKey[], defaultValue: unknown): unknown;
4
+ export declare function set(flow: FlowEntries, path: Position[], name: string, keys: PropertyKey[], value: unknown): FlowEntries;
5
+ export declare function create(position: Position): FlowEntries;
6
+ export declare function clone(flow: FlowEntries): FlowEntries;
7
+ export declare function getItem(flow: FlowEntries, position: Position): ItemEntries | null;
8
+ export declare function setItem(flow: FlowEntries, position: Position, item: ItemEntries): void;
9
+ //# sourceMappingURL=flow.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"flow.d.ts","sourceRoot":"","sources":["../../../src/utils/entries/flow.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,WAAW,EACX,WAAW,EAEZ,MAAM,0BAA0B,CAAC;AAElC,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,2BAA2B,CAAC;AAO1D,wBAAgB,GAAG,CACjB,IAAI,EAAE,WAAW,EACjB,IAAI,EAAE,QAAQ,EAAE,EAChB,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,WAAW,EAAE,EACnB,YAAY,EAAE,OAAO,GACpB,OAAO,CAUT;AAED,wBAAgB,GAAG,CACjB,IAAI,EAAE,WAAW,EACjB,IAAI,EAAE,QAAQ,EAAE,EAChB,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,WAAW,EAAE,EACnB,KAAK,EAAE,OAAO,GACb,WAAW,CA2Bb;AAED,wBAAgB,MAAM,CAAC,QAAQ,EAAE,QAAQ,GAAG,WAAW,CAStD;AAED,wBAAgB,KAAK,CAAC,IAAI,EAAE,WAAW,GAAG,WAAW,CASpD;AAED,wBAAgB,OAAO,CACrB,IAAI,EAAE,WAAW,EACjB,QAAQ,EAAE,QAAQ,GACjB,WAAW,GAAG,IAAI,CASpB;AAED,wBAAgB,OAAO,CACrB,IAAI,EAAE,WAAW,EACjB,QAAQ,EAAE,QAAQ,EAClB,IAAI,EAAE,WAAW,GAChB,IAAI,CASN"}
@@ -0,0 +1,7 @@
1
+ import type { ItemEntries, FlowEntries, ListEntries } from "../../types/flow/entries";
2
+ import type { Position } from "../../types/flow/position";
3
+ export declare function create(): FlowEntries;
4
+ export declare function clone(flow: ListEntries): FlowEntries;
5
+ export declare function getItem(flow: ListEntries, position: Position): ItemEntries | null;
6
+ export declare function setItem(flow: ListEntries, position: Position, item: ItemEntries): void;
7
+ //# sourceMappingURL=flow.list.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"flow.list.d.ts","sourceRoot":"","sources":["../../../src/utils/entries/flow.list.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,WAAW,EACX,WAAW,EACX,WAAW,EACZ,MAAM,0BAA0B,CAAC;AAElC,OAAO,KAAK,EAAE,QAAQ,EAAgB,MAAM,2BAA2B,CAAC;AAExE,wBAAgB,MAAM,IAAI,WAAW,CAEpC;AAED,wBAAgB,KAAK,CAAC,IAAI,EAAE,WAAW,GAAG,WAAW,CAEpD;AAED,wBAAgB,OAAO,CACrB,IAAI,EAAE,WAAW,EACjB,QAAQ,EAAE,QAAQ,GACjB,WAAW,GAAG,IAAI,CAIpB;AAED,wBAAgB,OAAO,CACrB,IAAI,EAAE,WAAW,EACjB,QAAQ,EAAE,QAAQ,EAClB,IAAI,EAAE,WAAW,GAChB,IAAI,CAGN"}
@@ -0,0 +1,7 @@
1
+ import type { ItemEntries, FlowEntries, LoopEntries } from "../../types/flow/entries";
2
+ import type { Position } from "../../types/flow/position";
3
+ export declare function create(): FlowEntries;
4
+ export declare function clone(flow: LoopEntries): FlowEntries;
5
+ export declare function getItem(flow: LoopEntries, position: Position): ItemEntries | null;
6
+ export declare function setItem(flow: LoopEntries, position: Position, item: ItemEntries): void;
7
+ //# sourceMappingURL=flow.loop.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"flow.loop.d.ts","sourceRoot":"","sources":["../../../src/utils/entries/flow.loop.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,WAAW,EACX,WAAW,EACX,WAAW,EACZ,MAAM,0BAA0B,CAAC;AAElC,OAAO,KAAK,EAAE,QAAQ,EAAgB,MAAM,2BAA2B,CAAC;AAExE,wBAAgB,MAAM,IAAI,WAAW,CAEpC;AAED,wBAAgB,KAAK,CAAC,IAAI,EAAE,WAAW,GAAG,WAAW,CAEpD;AAED,wBAAgB,OAAO,CACrB,IAAI,EAAE,WAAW,EACjB,QAAQ,EAAE,QAAQ,GACjB,WAAW,GAAG,IAAI,CAIpB;AAED,wBAAgB,OAAO,CACrB,IAAI,EAAE,WAAW,EACjB,QAAQ,EAAE,QAAQ,EAClB,IAAI,EAAE,WAAW,GAChB,IAAI,CAGN"}
@@ -0,0 +1,4 @@
1
+ import type { FormEntries } from "../../types/flow/entries";
2
+ export declare function get(form: FormEntries, name: string, keys: PropertyKey[], defaultValue: unknown): unknown;
3
+ export declare function set(form: FormEntries, name: string, keys: PropertyKey[], data: unknown): FormEntries;
4
+ //# sourceMappingURL=form.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"form.d.ts","sourceRoot":"","sources":["../../../src/utils/entries/form.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAe,MAAM,0BAA0B,CAAC;AAEzE,wBAAgB,GAAG,CACjB,IAAI,EAAE,WAAW,EACjB,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,WAAW,EAAE,EACnB,YAAY,EAAE,OAAO,GACpB,OAAO,CAaT;AAED,wBAAgB,GAAG,CACjB,IAAI,EAAE,WAAW,EACjB,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,WAAW,EAAE,EACnB,IAAI,EAAE,OAAO,GACZ,WAAW,CAsBb"}
@@ -0,0 +1,5 @@
1
+ import type { Flow } from "../types/flow/flow";
2
+ import type { ListSchema as CustomListSchema } from "../types/schema/custom";
3
+ import type { ListValues } from "../types/values";
4
+ export declare function getFlow<Render, Values extends ListValues, Inputs extends object, Params extends object>(flow: Flow, schema: CustomListSchema<Render, Values, Inputs, Params>, values: object): Flow;
5
+ //# sourceMappingURL=flow.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"flow.d.ts","sourceRoot":"","sources":["../../src/utils/flow.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,oBAAoB,CAAC;AAC/C,OAAO,KAAK,EAAE,UAAU,IAAI,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAE7E,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAMlD,wBAAgB,OAAO,CACrB,MAAM,EACN,MAAM,SAAS,UAAU,EACzB,MAAM,SAAS,MAAM,EACrB,MAAM,SAAS,MAAM,EAErB,IAAI,EAAE,IAAI,EACV,MAAM,EAAE,gBAAgB,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,EACxD,MAAM,EAAE,MAAM,GACb,IAAI,CAGN"}
@@ -0,0 +1,6 @@
1
+ import type { Flow } from "../types/flow/flow";
2
+ import type { ListSchema as CustomListSchema } from "../types/schema/custom";
3
+ import type { ListValues } from "../types/values";
4
+ import type { OnNext, OnBack, GetFlow, SetFlow } from "../types/callbacks";
5
+ export declare function getForm<Render, Values extends ListValues, Inputs extends object, Params extends object>(flow: Flow, schema: CustomListSchema<Render, Values, Inputs, Params>, params: Params, onNext: OnNext, onBack: OnBack, getFlow: GetFlow, setFlow: SetFlow): Render;
6
+ //# sourceMappingURL=form.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"form.d.ts","sourceRoot":"","sources":["../../src/utils/form.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,oBAAoB,CAAC;AAC/C,OAAO,KAAK,EAAE,UAAU,IAAI,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAE7E,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAClD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAK3E,wBAAgB,OAAO,CACrB,MAAM,EACN,MAAM,SAAS,UAAU,EACzB,MAAM,SAAS,MAAM,EACrB,MAAM,SAAS,MAAM,EAErB,IAAI,EAAE,IAAI,EACV,MAAM,EAAE,gBAAgB,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,EACxD,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,OAAO,EAChB,OAAO,EAAE,OAAO,GACf,MAAM,CAYR"}
@@ -0,0 +1,9 @@
1
+ import type { Flow } from "../types/flow/flow";
2
+ import type { ListSchema as CustomListSchema } from "../types/schema/custom";
3
+ import type { OnYield as CustomOnYield } from "../types/callbacks/custom";
4
+ import type { OnReturn as CustomOnReturn } from "../types/callbacks/custom";
5
+ import type { ListValues } from "../types/values";
6
+ export declare function initFlow<Render, Values extends ListValues, Inputs extends object, Params extends object>(schema: CustomListSchema<Render, Values, Inputs, Params>, values: Inputs, onYield: CustomOnYield<Values>): Flow;
7
+ export declare function nextFlow<Render, Values extends ListValues, Inputs extends object, Params extends object>(flow: Flow, schema: CustomListSchema<Render, Values, Inputs, Params>, values: object, onYield: CustomOnYield<Values>, onReturn: CustomOnReturn<Values>): Flow;
8
+ export declare function prevFlow<Render, Values extends ListValues, Inputs extends object, Params extends object>(flow: Flow, schema: CustomListSchema<Render, Values, Inputs, Params>, values: object): Flow;
9
+ //# sourceMappingURL=navigate.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"navigate.d.ts","sourceRoot":"","sources":["../../src/utils/navigate.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,oBAAoB,CAAC;AAK/C,OAAO,KAAK,EAAE,UAAU,IAAI,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC7E,OAAO,KAAK,EAAE,OAAO,IAAI,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAC1E,OAAO,KAAK,EAAE,QAAQ,IAAI,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAO5E,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAUlD,wBAAgB,QAAQ,CACtB,MAAM,EACN,MAAM,SAAS,UAAU,EACzB,MAAM,SAAS,MAAM,EACrB,MAAM,SAAS,MAAM,EAErB,MAAM,EAAE,gBAAgB,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,EACxD,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,aAAa,CAAC,MAAM,CAAC,GAC7B,IAAI,CAKN;AA4ED,wBAAgB,QAAQ,CACtB,MAAM,EACN,MAAM,SAAS,UAAU,EACzB,MAAM,SAAS,MAAM,EACrB,MAAM,SAAS,MAAM,EAErB,IAAI,EAAE,IAAI,EACV,MAAM,EAAE,gBAAgB,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,EACxD,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,aAAa,CAAC,MAAM,CAAC,EAC9B,QAAQ,EAAE,cAAc,CAAC,MAAM,CAAC,QAMjC;AAkHD,wBAAgB,QAAQ,CACtB,MAAM,EACN,MAAM,SAAS,UAAU,EACzB,MAAM,SAAS,MAAM,EACrB,MAAM,SAAS,MAAM,EAErB,IAAI,EAAE,IAAI,EACV,MAAM,EAAE,gBAAgB,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,EACxD,MAAM,EAAE,MAAM,GACb,IAAI,CAGN"}
@@ -0,0 +1,7 @@
1
+ import type { ItemSchema, CondSchema } from "../../types/schema/static";
2
+ import type { Position } from "../../types/flow/position";
3
+ export declare function is(schema: ItemSchema): schema is CondSchema;
4
+ export declare function into(schema: CondSchema, values: object): Position | null;
5
+ export declare function next(schema: CondSchema, position: Position): Position | null;
6
+ export declare function at(schema: CondSchema, position: Position): ItemSchema;
7
+ //# sourceMappingURL=flow.cond.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"flow.cond.d.ts","sourceRoot":"","sources":["../../../src/utils/schema/flow.cond.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AACxE,OAAO,KAAK,EAAE,QAAQ,EAAgB,MAAM,2BAA2B,CAAC;AAExE,wBAAgB,EAAE,CAAC,MAAM,EAAE,UAAU,GAAG,MAAM,IAAI,UAAU,CAE3D;AAED,wBAAgB,IAAI,CAAC,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,GAAG,QAAQ,GAAG,IAAI,CAWxE;AAED,wBAAgB,IAAI,CAAC,MAAM,EAAE,UAAU,EAAE,QAAQ,EAAE,QAAQ,GAAG,QAAQ,GAAG,IAAI,CAM5E;AAED,wBAAgB,EAAE,CAAC,MAAM,EAAE,UAAU,EAAE,QAAQ,EAAE,QAAQ,GAAG,UAAU,CAGrE"}
@@ -0,0 +1,8 @@
1
+ import type { ItemSchema, FlowSchema } from "../../types/schema/static";
2
+ import type { Position } from "../../types/flow/position";
3
+ export declare function is(schema: ItemSchema): schema is FlowSchema;
4
+ export declare function into(schema: FlowSchema, values: object): Position | null;
5
+ export declare function next(schema: FlowSchema, position: Position, values: object): Position | null;
6
+ export declare function at(schema: FlowSchema, position: Position): ItemSchema;
7
+ export declare function find(schema: FlowSchema, path: Position[]): ItemSchema;
8
+ //# sourceMappingURL=flow.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"flow.d.ts","sourceRoot":"","sources":["../../../src/utils/schema/flow.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AACxE,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,2BAA2B,CAAC;AAM1D,wBAAgB,EAAE,CAAC,MAAM,EAAE,UAAU,GAAG,MAAM,IAAI,UAAU,CAM3D;AAED,wBAAgB,IAAI,CAAC,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,GAAG,QAAQ,GAAG,IAAI,CAWxE;AAED,wBAAgB,IAAI,CAClB,MAAM,EAAE,UAAU,EAClB,QAAQ,EAAE,QAAQ,EAClB,MAAM,EAAE,MAAM,GACb,QAAQ,GAAG,IAAI,CAWjB;AAED,wBAAgB,EAAE,CAAC,MAAM,EAAE,UAAU,EAAE,QAAQ,EAAE,QAAQ,GAAG,UAAU,CAWrE;AAED,wBAAgB,IAAI,CAAC,MAAM,EAAE,UAAU,EAAE,IAAI,EAAE,QAAQ,EAAE,cAOxD"}
@@ -0,0 +1,7 @@
1
+ import type { ItemSchema, ListSchema } from "../../types/schema/static";
2
+ import type { Position } from "../../types/flow/position";
3
+ export declare function is(schema: ItemSchema): schema is ListSchema;
4
+ export declare function into(schema: ListSchema): Position | null;
5
+ export declare function next(schema: ListSchema, position: Position): Position | null;
6
+ export declare function at(schema: ListSchema, position: Position): ItemSchema;
7
+ //# sourceMappingURL=flow.list.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"flow.list.d.ts","sourceRoot":"","sources":["../../../src/utils/schema/flow.list.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AACxE,OAAO,KAAK,EAAE,QAAQ,EAAgB,MAAM,2BAA2B,CAAC;AAExE,wBAAgB,EAAE,CAAC,MAAM,EAAE,UAAU,GAAG,MAAM,IAAI,UAAU,CAE3D;AAED,wBAAgB,IAAI,CAAC,MAAM,EAAE,UAAU,GAAG,QAAQ,GAAG,IAAI,CAKxD;AAED,wBAAgB,IAAI,CAAC,MAAM,EAAE,UAAU,EAAE,QAAQ,EAAE,QAAQ,GAAG,QAAQ,GAAG,IAAI,CAM5E;AAED,wBAAgB,EAAE,CAAC,MAAM,EAAE,UAAU,EAAE,QAAQ,EAAE,QAAQ,GAAG,UAAU,CAGrE"}
@@ -0,0 +1,7 @@
1
+ import type { ItemSchema, LoopSchema } from "../../types/schema/static";
2
+ import type { Position } from "../../types/flow/position";
3
+ export declare function is(schema: ItemSchema): schema is LoopSchema;
4
+ export declare function into(schema: LoopSchema, values: object): Position | null;
5
+ export declare function next(schema: LoopSchema, position: Position, values: object): Position | null;
6
+ export declare function at(schema: LoopSchema, position: Position): ItemSchema;
7
+ //# sourceMappingURL=flow.loop.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"flow.loop.d.ts","sourceRoot":"","sources":["../../../src/utils/schema/flow.loop.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AACxE,OAAO,KAAK,EAAE,QAAQ,EAAgB,MAAM,2BAA2B,CAAC;AAExE,wBAAgB,EAAE,CAAC,MAAM,EAAE,UAAU,GAAG,MAAM,IAAI,UAAU,CAE3D;AAED,wBAAgB,IAAI,CAAC,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,GAAG,QAAQ,GAAG,IAAI,CAOxE;AAED,wBAAgB,IAAI,CAClB,MAAM,EAAE,UAAU,EAClB,QAAQ,EAAE,QAAQ,EAClB,MAAM,EAAE,MAAM,GACb,QAAQ,GAAG,IAAI,CASjB;AAED,wBAAgB,EAAE,CAAC,MAAM,EAAE,UAAU,EAAE,QAAQ,EAAE,QAAQ,GAAG,UAAU,CAGrE"}
@@ -0,0 +1,3 @@
1
+ import type { ItemSchema, FormSchema } from "../../types/schema/static";
2
+ export declare function is(schema: ItemSchema): schema is FormSchema;
3
+ //# sourceMappingURL=form.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"form.d.ts","sourceRoot":"","sources":["../../../src/utils/schema/form.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AAExE,wBAAgB,EAAE,CAAC,MAAM,EAAE,UAAU,GAAG,MAAM,IAAI,UAAU,CAE3D"}
@@ -0,0 +1,3 @@
1
+ import type { ItemSchema, ReturnSchema } from "../../types/schema/static";
2
+ export declare function is(schema: ItemSchema): schema is ReturnSchema;
3
+ //# sourceMappingURL=return.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"return.d.ts","sourceRoot":"","sources":["../../../src/utils/schema/return.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAE1E,wBAAgB,EAAE,CAAC,MAAM,EAAE,UAAU,GAAG,MAAM,IAAI,YAAY,CAE7D"}
@@ -0,0 +1,3 @@
1
+ import type { ItemSchema, VariablesSchema } from "../../types/schema/static";
2
+ export declare function is(schema: ItemSchema): schema is VariablesSchema;
3
+ //# sourceMappingURL=variables.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"variables.d.ts","sourceRoot":"","sources":["../../../src/utils/schema/variables.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAE7E,wBAAgB,EAAE,CAAC,MAAM,EAAE,UAAU,GAAG,MAAM,IAAI,eAAe,CAEhE"}
@@ -0,0 +1,3 @@
1
+ import type { ItemSchema, YieldSchema } from "../../types/schema/static";
2
+ export declare function is(schema: ItemSchema): schema is YieldSchema;
3
+ //# sourceMappingURL=yield.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"yield.d.ts","sourceRoot":"","sources":["../../../src/utils/schema/yield.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AAEzE,wBAAgB,EAAE,CAAC,MAAM,EAAE,UAAU,GAAG,MAAM,IAAI,WAAW,CAE5D"}
package/package.json ADDED
@@ -0,0 +1,31 @@
1
+ {
2
+ "name": "@formity/system",
3
+ "version": "0.1.0",
4
+ "license": "MIT",
5
+ "private": false,
6
+ "description": "Core system that powers the Formity library.",
7
+ "keywords": [
8
+ "formity",
9
+ "form",
10
+ "multi-step form",
11
+ "dynamic form"
12
+ ],
13
+ "repository": {
14
+ "type": "git",
15
+ "url": "https://github.com/martiserra99/formity"
16
+ },
17
+ "homepage": "https://formity.app/",
18
+ "main": "dist/index.cjs.js",
19
+ "module": "dist/index.esm.js",
20
+ "source": "src/index.ts",
21
+ "types": "dist/index.d.ts",
22
+ "files": [
23
+ "dist"
24
+ ],
25
+ "scripts": {
26
+ "lint": "eslint",
27
+ "test": "vitest run --passWithNoTests",
28
+ "build": "rollup --config rollup.config.mjs",
29
+ "dev": "rollup --config rollup.config.mjs --watch"
30
+ }
31
+ }