@picked/svelte 0.0.1-dev.1764710808992 → 0.0.1-dev.1764728988965
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/dist/form/index.js +1 -1
- package/dist/hooks/action.d.ts +2 -0
- package/dist/hooks/action.js +1 -0
- package/dist/hooks/feature.d.ts +5 -0
- package/dist/hooks/feature.js +1 -0
- package/dist/hooks/index.d.ts +3 -0
- package/dist/hooks/index.js +1 -1
- package/dist/hooks/predicate.d.ts +3 -0
- package/dist/hooks/predicate.js +1 -0
- package/package.json +7 -3
package/dist/form/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{createEvent as k,createEffect as l,attach as b,sample as x,split as B}from"effector";import{getPicked as F,getExperience as D}from"../hooks/client.js";import"
|
|
1
|
+
import{createEvent as k,createEffect as l,attach as b,sample as x,split as B}from"effector";import{getPicked as F,getExperience as D}from"../hooks/client.js";import"@picked/client";import"svelte";import"svelte/store";import"@picked/analytics";function P({id:f,title:m,onError:d,onSuccess:v}){const i=F(),o=D(),{currentStepStore:c}=o,h=k(),y=l(e=>i.responses.commit(e)),g=b({source:{step:c},effect:l(({step:e})=>{i.eventBus({type:"form_submit_success",form:{id:f,title:m},experience:o,step:e??void 0}),v==null||v()})}),_=b({source:{step:c},mapParams:(e,a)=>({step:a.step,errors:e.errors}),effect:l(({step:e,errors:a})=>{i.eventBus({type:"form_submit_error",form:{id:f,title:m},exception:{reason:a},experience:o,step:e??void 0}),a.forEach(n=>{i.eventBus({type:"field_validation_error",exception:{reason:[n]},experience:o,step:e??void 0})}),d==null||d(a)})});return x({clock:h,source:{step:c},fn:({step:e})=>({formId:f,title:m,step:e}),target:l(({formId:e,title:a,step:n})=>{i.eventBus({type:"form_submit",form:{id:e,title:a},experience:o,step:n??void 0})})}),x({clock:h,source:{fields:i.fields.listStore,step:c},fn:({fields:e},a)=>{a.preventDefault();const n=new FormData(a.currentTarget),u={data:{},push(s){const r=s.questionId,t=this.data[r];t?Array.isArray(t)&&Array.isArray(s.value)?Array.isArray(t)&&Array.isArray(s.value)&&(typeof t[0]=="string"?this.data[r]=[...t,...s.value].map(String):typeof t[0]=="number"?this.data[r]=[...t,...s.value].map(Number):typeof t[0]=="boolean"?this.data[r]=[...t,...s.value].map(p=>!!p):this.data[r]=s.value):this.data[r]=s.value:this.data[r]=s.value}};for(const[s,r]of n.entries()){const t=e.find(A=>A.id===s);if(!t)continue;const p=t.id;switch(t.type){case"text":u.push({questionId:p,value:t.multiple?[String(r)]:String(r)});break;case"number":u.push({questionId:p,value:r===""?null:t.multiple?[Number(r)]:Number(r)});break;case"boolean":u.push({questionId:p,value:t.multiple?[r==="true"]:r==="true"});break}}return u.data},target:y}),B({source:y.doneData,match:{hasErrors:({errors:e})=>e.length>0},cases:{hasErrors:_,__:g}}),{form:{onsubmit:h}}}export{P as getForm};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{createStore as s,createEvent as f,attach as l,createEffect as u,sample as a}from"effector";import{getPicked as m}from"./client.js";function g(t){return m().actions.getEvokableAction(t)}function v(t){const c=g(t),o=s(void 0,{skipVoid:!1}),n=f(),r=l({source:c,mapParams:(e,i)=>i,effect:u(async e=>{if(e)return e()})});return a({clock:n,target:r}),a({clock:r.doneData,target:o}),n(),o}export{g as getAction,v as getActionResult};
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
export declare function getFeature(featureName: string): import('effector').Store<() => Promise<boolean | string | undefined>>;
|
|
2
|
+
export declare function getFeatureResult(featureName: string): import('effector').StoreWritable<{
|
|
3
|
+
id: string;
|
|
4
|
+
bucket: string | boolean;
|
|
5
|
+
} | undefined>;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{createStore as i,createEvent as s,attach as f,createEffect as l,sample as o}from"effector";import{getPicked as v}from"./client.js";function d(t){return v().features.getEvokableFeature(t)}function m(t){const r=d(t),c=i(void 0,{skipVoid:!1}),a=s(),n=f({source:r,mapParams:(e,u)=>u,effect:l(async e=>await e())});return o({clock:a,target:n}),o({clock:n.doneData,fn:e=>{if(e!==void 0)return{id:t,bucket:e}},target:c}),a(),o({clock:r,target:a}),c}export{d as getFeature,m as getFeatureResult};
|
package/dist/hooks/index.d.ts
CHANGED
|
@@ -1,4 +1,7 @@
|
|
|
1
1
|
export { getPicked, getExperience } from './client';
|
|
2
|
+
export { getPredicate, getPredicateResult } from './predicate';
|
|
3
|
+
export { getFeature, getFeatureResult } from './feature';
|
|
4
|
+
export { getAction, getActionResult } from './action';
|
|
2
5
|
export { getStep, setStepContext } from './step';
|
|
3
6
|
export { useUnit, getContextScope, setContextScope } from './stores';
|
|
4
7
|
export { createSessionStorageStore, createLocalStorageStore } from './storage.js';
|
package/dist/hooks/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{getExperience as o,getPicked as r}from"./client.js";import{
|
|
1
|
+
import{getExperience as o,getPicked as r}from"./client.js";import{getPredicate as g,getPredicateResult as p}from"./predicate.js";import{getFeature as x,getFeatureResult as a}from"./feature.js";import{getAction as i,getActionResult as s}from"./action.js";import{getStep as f,setStepContext as u}from"./step.js";import{getContextScope as l,setContextScope as P,useUnit as R}from"./stores.js";import{createLocalStorageStore as k,createSessionStorageStore as A}from"./storage.js";import{getTrackRecommendationPresentEvent as F}from"./events.js";export{k as createLocalStorageStore,A as createSessionStorageStore,i as getAction,s as getActionResult,l as getContextScope,o as getExperience,x as getFeature,a as getFeatureResult,r as getPicked,g as getPredicate,p as getPredicateResult,f as getStep,F as getTrackRecommendationPresentEvent,P as setContextScope,u as setStepContext,R as useUnit};
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
import { Predicate } from '@picked/client';
|
|
2
|
+
export declare function getPredicate(predicateName: string): import('effector').Store<() => ReturnType<Predicate>>;
|
|
3
|
+
export declare function getPredicateResult(predicateName: string): import('effector').StoreWritable<string | boolean | string[] | undefined>;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import"@picked/client";import{createStore as s,createEvent as d,attach as l,createEffect as f,sample as a}from"effector";import{getPicked as u}from"./client.js";function m(e){return u().predicates.getEvokablePredicate(e)}function v(e){const t=m(e),o=s(void 0,{skipVoid:!1}),r=d(),i=l({source:t,mapParams:(c,n)=>n,effect:f(async c=>{if(c)return await c()})});return a({clock:r,target:i}),a({clock:i.doneData,target:o}),r(),a({clock:t,target:r}),o}export{m as getPredicate,v as getPredicateResult};
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@picked/svelte",
|
|
3
|
-
"version": "0.0.1-dev.
|
|
3
|
+
"version": "0.0.1-dev.1764728988965",
|
|
4
4
|
"dependencies": {
|
|
5
5
|
"d3": "^7.9.0"
|
|
6
6
|
},
|
|
@@ -14,13 +14,15 @@
|
|
|
14
14
|
"@tsconfig/svelte": "^5.0.4",
|
|
15
15
|
"@types/d3": "^7.4.3",
|
|
16
16
|
"@types/node": "^22",
|
|
17
|
+
"@vitest/coverage-istanbul": "^3.2.4",
|
|
17
18
|
"effector": "^23.3.0",
|
|
18
19
|
"fast-glob": "^3.3.3",
|
|
19
20
|
"svelte-check": "^4.2.2",
|
|
20
21
|
"typedoc": "^0.28.5",
|
|
21
22
|
"typedoc-plugin-markdown": "^4.6.3",
|
|
22
23
|
"vite": "^6.4.1",
|
|
23
|
-
"vite-plugin-dts": "^4.5.4"
|
|
24
|
+
"vite-plugin-dts": "^4.5.4",
|
|
25
|
+
"vitest": "^3.2.4"
|
|
24
26
|
},
|
|
25
27
|
"exports": {
|
|
26
28
|
".": {
|
|
@@ -71,7 +73,7 @@
|
|
|
71
73
|
],
|
|
72
74
|
"module": "./dist/index.js",
|
|
73
75
|
"peerDependencies": {
|
|
74
|
-
"@picked/client": "0.0.1-dev.
|
|
76
|
+
"@picked/client": "0.0.1-dev.1764728988965",
|
|
75
77
|
"effector": "^23.3.0",
|
|
76
78
|
"svelte": "^5.34.3"
|
|
77
79
|
},
|
|
@@ -85,6 +87,8 @@
|
|
|
85
87
|
"lint:format": "eslint . --fix",
|
|
86
88
|
"lint:report": "eslint . -o './.reports/eslint.json' -f json || [ -f './.reports/eslint.json' ]",
|
|
87
89
|
"svelte-check:report": "mkdir -p ./.reports && pnpm svelte-check --tsconfig ./tsconfig.json --output=machine > ./.reports/svelte-check.txt || [ -f './.reports/svelte-check.txt' ]",
|
|
90
|
+
"test": "vitest run",
|
|
91
|
+
"test:coverage": "vitest run --coverage",
|
|
88
92
|
"test:packaged-types": "attw --pack",
|
|
89
93
|
"type-check": "tsc -p . --noEmit"
|
|
90
94
|
},
|