redux-model-builder

1.2.4 • Public • Published
��# r e d u x - m o d e l - b u i l d e r t h i s p a c k a g e m e n t t o h e l p y o u t o c r e a t e i t e m s i n s e r v e r a n d u p d a t e c o m p l e x s t a t e i n r e a c t r e d u x a p p l i c a t i o n s . t h i s p a c k a g e i s u s e d b e h i n d t h e s c e n e s i n ` s a g a - a x i o s ` p a c k a g e . # # b a s i c u s a g e # # # 1 . U p d a t e t h e r e d u x s t o r e f i l e ` s t o r e . j s ` ` ` ` j s i m p o r t { c o n f i g u r e S t o r e } f r o m " @ r e d u x j s / t o o l k i t " ; i m p o r t c r e a t e S a g a M i d d l e w a r e f r o m " r e d u x - s a g a " ; i m p o r t { a l l , f o r k } f r o m " r e d u x - s a g a / e f f e c t s " ; i m p o r t { t a k e E v e r y S e n d T o P r o c e s s } f r o m " s a g a - a x i o s " ; i m p o r t { p r o c e s s S e t A d d T o R e d u x } f r o m " r e d u x - m o d e l - b u i l d e r " ; c o n s t s a g a M i d d l e w a r e = c r e a t e S a g a M i d d l e w a r e ( ) ; c o n s t m i d d l e w a r e s = [ s a g a M i d d l e w a r e ] ; f u n c t i o n * r o o t S a g a ( ) { y i e l d a l l ( [ f o r k ( t a k e E v e r y S e n d T o P r o c e s s ) ] ) ; } e x p o r t c o n s t c r e a t e A p p S t o r e = ( ) = > { c o n s t s t o r e = c o n f i g u r e S t o r e ( { r e d u c e r : c o m b i n e R e d u c e r s ( { p r o d u c t s _ r e d u c e r : c r e a t e R e d u c e r ( { } , { [ ' P R O D U C T S _ A D D _ T O _ R E D U X ' ] : ( s t a t e , a c t i o n ) = > { p r o c e s s S e t A d d T o R e d u x ( a c t i o n , s t a t e ) ; } , } ) } ) , m i d d l e w a r e : m i d d l e w a r e s , } ) ; s a g a M i d d l e w a r e . r u n ( r o o t S a g a ) ; r e t u r n s t o r e ; } ; e x p o r t c o n s t s t o r e = c r e a t e A p p S t o r e ( ) ; ` ` ` # # # 2 . C r e a t e B a s e M o d e l f i l e ` b a s e M o d e l . m o d e l s . j s ` ` ` ` j s i m p o r t { B a s e M o d e l } f r o m " r e d u x - m o d e l - b u i l d e r " ; e x p o r t c o n s t m a k e B a s e M o d e l = ( d i s p a t c h ) = > { B a s e M o d e l . s e t D i s p a t c h = d i s p a t c h ; r e t u r n B a s e M o d e l ; } ; ` ` ` # # # 3 . C r e a t e M o d e l f i l e ` p r o d u c t s . m o d e l s . j s ` ` ` ` j s i m p o r t { u s e D i s p a t c h } f r o m " r e a c t - r e d u x " ; i m p o r t { m a k e B a s e M o d e l } f r o m " . / b a s e M o d e l . m o d e l s " ; e x p o r t c o n s t u s e M o d e l P r o d u c t s = ( s e l e c t o r _ t y p e = " b a s e " ) = > { c o n s t d i s p a t c h = u s e D i s p a t c h ( ) ; c o n s t B a s e M o d e l = m a k e B a s e M o d e l ( d i s p a t c h ) ; c o n s t R E D U C E R _ N A M E = ' P R O D U C T S _ A D D _ T O _ R E D U X ' c l a s s M o d e l P r o d u c t s e x t e n d s B a s e M o d e l { c o n s t r u c t o r ( p r o p s ) { s u p e r ( ) ; t h i s . s e l e c t o r _ t y p e = s e l e c t o r _ t y p e ; / / m u s t t o b e a f t e r s u p e r ( ) i n t h e f i r s t a t t r i b u t e t h i s . t y p e = R E D U C E R _ N A M E t h i s . u r l = ' h t t p s : / / l o c a l h o s t : 8 0 0 0 / a p i / p r o d u c t s ' ; t h i s . b a s e _ p a t h = " p r o d u c t s " ; t h i s . r e d u c e r _ n a m e = " p r o d u c t s _ r e d u c e r " ; t h i s . i s _ s i n g u l a r = f a l s e / / d e f a u l t } } c o n s t i n s t a n c e = n e w M o d e l P r o d u c t s ( ) ; r e t u r n i n s t a n c e ; } ; e x p o r t d e f a u l t u s e M o d e l P r o d u c t s ; ` ` ` # # # 4 . U s e t h e M o d e l f o r C R U D o p e r a t i o n s ` p r o d u c t s . j s ` ` ` ` j s i m p o r t u s e M o d e l P r o d u c t s f r o m " . / p r o d u c t s . m o d e l s " ; i m p o r t { u s e S e l e c t o r } f r o m " r e a c t - r e d u x " ; c o n s t P r o d u c t s = ( p r o p s ) = > { c o n s t M o d e l P r o d u c t s = u s e M o d e l P r o d u c t s ( ) ; c o n s t p r o d u c t s = u s e S e l e c t o r ( M o d e l P r o d u c t s . s e l e c t A l l ( ) ) ; c o n s t p r o d u c t I d 5 = u s e S e l e c t o r ( M o d e l P r o d u c t s . s e l e c t G e t B y I d ( { i d : 5 } ) ) ; c o n s t p r o d u c t I d 5 N a m e = u s e S e l e c t o r ( M o d e l P r o d u c t s . s e l e c t F i e l d ( { i d : 5 , f i e l d _ n a m e : " n a m e " } ) ) ; c o n s t h a n d l e A d d P r o d u c t = ( ) = > { M o d e l P r o d u c t s . c r e a t e I t e m ( { p a y l o a d : { n a m e : " p r o d u c t n a m e " , p r i c e : " p r o d u c t p r i c e " , d e s c r i p t i o n : " p r o d u c t d e s c r i p t i o n " } } ) } c o n s t h a n d l e U p d a t e P r o d u c t = ( ) = > { M o d e l P r o d u c t s . u p d a t e I t e m ( { i d : " p r o d u c t i d " , p a y l o a d : { n a m e : " u p d a t e d p r o d u c t n a m e " , d e s c r i p t i o n : " u p d a t e d p r o d u c t d e s c r i p t i o n " } } ) } c o n s t h a n d l e D e l e t e P r o d u c t = ( ) = > { M o d e l P r o d u c t s . d e l e t e I t e m ( { i d : " p r o d u c t i d " } ) } r e t u r n ( <

Readme

Keywords

none

Package Sidebar

Install

npm i redux-model-builder

Weekly Downloads

2

Version

1.2.4

License

ISC

Unpacked Size

48.1 kB

Total Files

17

Last publish

Collaborators

  • yohaido159