New Case Study:See how Anthropic automated 95% of dependency reviews with Socket.Learn More
Socket
Sign inDemoInstall
Socket

kea

Package Overview
Dependencies
Maintainers
1
Versions
233
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

kea - npm Package Compare versions

Comparing version 2.2.0-beta.4 to 2.2.0-beta.5

3

lib/index.cjs.js

@@ -330,2 +330,5 @@ 'use strict';

try {
// TODO: This will return "undefined" in the next major/breaking version of kea.
// The TypeScript types already say "void" for actions.
// ... even if this still returns the dispatched "actionCreator" output
return getContext().store.dispatch(builtAction);

@@ -332,0 +335,0 @@ } finally {

@@ -0,1 +1,2 @@

export * from './types';
export { kea, connect } from './kea';

@@ -2,0 +3,0 @@ export { useValues, useAllValues, useActions, useMountedLogic, useKea } from './react/hooks';

@@ -326,2 +326,5 @@ import { createSelector } from 'reselect';

try {
// TODO: This will return "undefined" in the next major/breaking version of kea.
// The TypeScript types already say "void" for actions.
// ... even if this still returns the dispatched "actionCreator" output
return getContext().store.dispatch(builtAction);

@@ -328,0 +331,0 @@ } finally {

@@ -55,5 +55,5 @@ import { Reducer, Store, Action as ReduxAction } from 'redux';

export declare type LogicWrapper = Logic & LogicWrapperAdditions;
declare type ActionDefinitions<LogicType extends Logic> = Record<string, any | (() => any)>;
declare type ActionDefinitions<LogicType extends Logic> = Record<string, any | (() => any)> | LogicType['actionCreators'];
declare type ReducerActions<LogicType extends Logic, ReducerType> = {
[K in keyof LogicType['actions']]?: (state: ReducerType, payload: ReturnType<LogicType['actions'][K]>['payload']) => ReducerType;
[K in keyof LogicType['actionCreators']]?: (state: ReducerType, payload: ReturnType<LogicType['actionCreators'][K]>['payload']) => ReducerType;
} | {

@@ -65,9 +65,12 @@ [K in keyof LogicType['__keaTypeGenInternalReducerActions']]?: (state: ReducerType, payload: ReturnType<LogicType['__keaTypeGenInternalReducerActions'][K]>['payload']) => ReducerType;

};
declare type SelectorDefinition<Selectors, S extends Selector, SelectorFunction extends any> = [(s: Selectors) => [] | [Selector] | [Selector, Selector] | [Selector, Selector, Selector] | [Selector, Selector, Selector, Selector] | [Selector, Selector, Selector, Selector, Selector] | [Selector, Selector, Selector, Selector, Selector, Selector] | [Selector, Selector, Selector, Selector, Selector, Selector, Selector] | [Selector, Selector, Selector, Selector, Selector, Selector, Selector, Selector] | [Selector, Selector, Selector, Selector, Selector, Selector, Selector, Selector, Selector] | [Selector, Selector, Selector, Selector, Selector, Selector, Selector, Selector, Selector, Selector] | [Selector, Selector, Selector, Selector, Selector, Selector, Selector, Selector, Selector, Selector, Selector], SelectorFunction];
declare type SelectorTuple = [] | [Selector] | [Selector, Selector] | [Selector, Selector, Selector] | [Selector, Selector, Selector, Selector] | [Selector, Selector, Selector, Selector, Selector] | [Selector, Selector, Selector, Selector, Selector, Selector] | [Selector, Selector, Selector, Selector, Selector, Selector, Selector] | [Selector, Selector, Selector, Selector, Selector, Selector, Selector, Selector] | [Selector, Selector, Selector, Selector, Selector, Selector, Selector, Selector, Selector] | [Selector, Selector, Selector, Selector, Selector, Selector, Selector, Selector, Selector, Selector] | [Selector, Selector, Selector, Selector, Selector, Selector, Selector, Selector, Selector, Selector, Selector];
declare type SelectorDefinition<Selectors, SelectorFunction extends any> = [(s: Selectors) => SelectorTuple, SelectorFunction];
declare type SelectorDefinitions<LogicType extends Logic> = {
[K in keyof LogicType['selectors']]?: SelectorDefinition<LogicType['selectors'], LogicType['selectors'][K], LogicType['__keaTypeGenInternalSelectorTypes'][K]>;
[K in keyof LogicType['selectors']]?: SelectorDefinition<LogicType['selectors'], LogicType['__keaTypeGenInternalSelectorTypes'][K]>;
} | {
[key: string]: SelectorDefinition<LogicType['selectors'], any>;
};
declare type BreakPointFunction = (() => void) & ((ms: number) => Promise<void>);
declare type ListenerDefinitions<LogicType extends Logic> = {
[K in keyof LogicType['actions']]?: ((payload: ReturnType<LogicType['actions'][K]>['payload'], breakpoint: BreakPointFunction, action: ReturnType<LogicType['actions'][K]>, previousState: any) => void | Promise<void>) | (() => void | Promise<void>);
[K in keyof LogicType['actionCreators']]?: ((payload: ReturnType<LogicType['actionCreators'][K]>['payload'], breakpoint: BreakPointFunction, action: ReturnType<LogicType['actionCreators'][K]>, previousState: any) => void | Promise<void>) | (() => void | Promise<void>);
} | {

@@ -78,3 +81,3 @@ [K in keyof LogicType['__keaTypeGenInternalReducerActions']]?: ((payload: ReturnType<LogicType['__keaTypeGenInternalReducerActions'][K]>['payload'], breakpoint: BreakPointFunction, action: ReturnType<LogicType['__keaTypeGenInternalReducerActions'][K]>, previousState: any) => void | Promise<void>) | (() => void | Promise<void>);

declare type LoaderFunctions<LogicType extends Logic, ReducerReturnType> = {
[K in keyof LogicType['actions']]?: (payload: ReturnType<LogicType['actions'][K]>['payload'], breakpoint: BreakPointFunction, action: ReturnType<LogicType['actions'][K]>) => ReducerReturnType | Promise<ReducerReturnType>;
[K in keyof LogicType['actionCreators']]?: (payload: ReturnType<LogicType['actionCreators'][K]>['payload'], breakpoint: BreakPointFunction, action: ReturnType<LogicType['actionCreators'][K]>) => ReducerReturnType | Promise<ReducerReturnType>;
};

@@ -114,2 +117,35 @@ declare type LoaderDefinitions<LogicType extends Logic> = {

};
export interface MakeLogicType<Values = Record<string, unknown>, Actions = Record<string, AnyFunction>> extends Logic {
actionCreators: {
[ActionKey in keyof Actions]: Actions[ActionKey] extends AnyFunction ? ActionCreatorForPayloadBuilder<Actions[ActionKey]> : never;
};
actionKeys: Record<string, string>;
actionTypes: {
[ActionKey in keyof Actions]: string;
};
actions: Actions;
cache: Record<string, unknown>;
constants: Record<string, string>;
defaults: Values;
path: string[];
pathString: string;
reducerOptions: Record<string, unknown>;
reducer: (state: Values, action: () => any, fullState: any) => Values;
reducers: {
[Value in keyof Values]?: (state: Values[Value], action: () => any, fullState: any) => Values[Value];
};
selector: (state: any, props: any) => Values;
selectors: {
[Value in keyof Values]?: (state: any, props: any) => Values[Value];
};
values: Values;
__keaTypeGenInternalSelectorTypes: {
[K in keyof Values]: (...args: any) => Values[K];
};
}
declare type AnyFunction = (...args: any) => any;
declare type ActionCreatorForPayloadBuilder<B extends AnyFunction> = (...args: Parameters<B>) => {
type: string;
payload: ReturnType<B>;
};
interface CreateStoreOptions {

@@ -116,0 +152,0 @@ paths?: string[];

2

package.json
{
"name": "kea",
"version": "2.2.0-beta.4",
"version": "2.2.0-beta.5",
"description": "Smart front-end architecture",

@@ -5,0 +5,0 @@ "author": "Marius Andra",

@@ -120,3 +120,3 @@ /* global test, expect, beforeEach */

store.dispatch(firstLogic.actions.updateName('derpy'))
store.dispatch(firstLogic.actionCreators.updateName('derpy'))
expect(firstLogic.selectors.name(store.getState())).toBe('derpy')

@@ -211,3 +211,3 @@

store.dispatch(firstLogic.actions.updateName('derpy'))
store.dispatch(firstLogic.actionCreators.updateName('derpy'))
expect(firstLogic.values.name).toBe('derpy')

@@ -214,0 +214,0 @@

@@ -27,2 +27,5 @@ import { getContext } from '../../context'

try {
// TODO: This will return "undefined" in the next major/breaking version of kea.
// The TypeScript types already say "void" for actions.
// ... even if this still returns the dispatched "actionCreator" output
return getContext().store.dispatch(builtAction)

@@ -29,0 +32,0 @@ } finally {

@@ -0,1 +1,3 @@

export * from './types'
import { resetContext } from './context'

@@ -2,0 +4,0 @@

@@ -62,11 +62,11 @@ import { Reducer, Store, Action as ReduxAction } from 'redux'

// input helpers (using the kea-typegen generated logic type as input)
// input helpers (using the generated logic type as input)
type ActionDefinitions<LogicType extends Logic> = Record<string, any | (() => any)>
type ActionDefinitions<LogicType extends Logic> = Record<string, any | (() => any)> | LogicType['actionCreators']
type ReducerActions<LogicType extends Logic, ReducerType> =
| {
[K in keyof LogicType['actions']]?: (
[K in keyof LogicType['actionCreators']]?: (
state: ReducerType,
payload: ReturnType<LogicType['actions'][K]>['payload'],
payload: ReturnType<LogicType['actionCreators'][K]>['payload'],
) => ReducerType

@@ -90,29 +90,29 @@ }

type SelectorDefinition<Selectors, S extends Selector, SelectorFunction extends any> = [
(
s: Selectors,
) =>
| []
| [Selector]
| [Selector, Selector]
| [Selector, Selector, Selector]
| [Selector, Selector, Selector, Selector]
| [Selector, Selector, Selector, Selector, Selector]
| [Selector, Selector, Selector, Selector, Selector, Selector]
| [Selector, Selector, Selector, Selector, Selector, Selector, Selector]
| [Selector, Selector, Selector, Selector, Selector, Selector, Selector, Selector]
| [Selector, Selector, Selector, Selector, Selector, Selector, Selector, Selector, Selector]
| [Selector, Selector, Selector, Selector, Selector, Selector, Selector, Selector, Selector, Selector]
| [Selector, Selector, Selector, Selector, Selector, Selector, Selector, Selector, Selector, Selector, Selector],
SelectorFunction,
]
type SelectorTuple =
| []
| [Selector]
| [Selector, Selector]
| [Selector, Selector, Selector]
| [Selector, Selector, Selector, Selector]
| [Selector, Selector, Selector, Selector, Selector]
| [Selector, Selector, Selector, Selector, Selector, Selector]
| [Selector, Selector, Selector, Selector, Selector, Selector, Selector]
| [Selector, Selector, Selector, Selector, Selector, Selector, Selector, Selector]
| [Selector, Selector, Selector, Selector, Selector, Selector, Selector, Selector, Selector]
| [Selector, Selector, Selector, Selector, Selector, Selector, Selector, Selector, Selector, Selector]
| [Selector, Selector, Selector, Selector, Selector, Selector, Selector, Selector, Selector, Selector, Selector]
type SelectorDefinitions<LogicType extends Logic> = {
[K in keyof LogicType['selectors']]?: SelectorDefinition<
LogicType['selectors'],
LogicType['selectors'][K],
LogicType['__keaTypeGenInternalSelectorTypes'][K]
>
}
type SelectorDefinition<Selectors, SelectorFunction extends any> = [(s: Selectors) => SelectorTuple, SelectorFunction]
type SelectorDefinitions<LogicType extends Logic> =
| {
[K in keyof LogicType['selectors']]?: SelectorDefinition<
LogicType['selectors'],
LogicType['__keaTypeGenInternalSelectorTypes'][K]
>
}
| {
[key: string]: SelectorDefinition<LogicType['selectors'], any>
}
type BreakPointFunction = (() => void) & ((ms: number) => Promise<void>)

@@ -122,7 +122,7 @@

| {
[K in keyof LogicType['actions']]?:
[K in keyof LogicType['actionCreators']]?:
| ((
payload: ReturnType<LogicType['actions'][K]>['payload'],
payload: ReturnType<LogicType['actionCreators'][K]>['payload'],
breakpoint: BreakPointFunction,
action: ReturnType<LogicType['actions'][K]>,
action: ReturnType<LogicType['actionCreators'][K]>,
previousState: any,

@@ -146,6 +146,6 @@ ) => void | Promise<void>)

type LoaderFunctions<LogicType extends Logic, ReducerReturnType> = {
[K in keyof LogicType['actions']]?: (
payload: ReturnType<LogicType['actions'][K]>['payload'],
[K in keyof LogicType['actionCreators']]?: (
payload: ReturnType<LogicType['actionCreators'][K]>['payload'],
breakpoint: BreakPointFunction,
action: ReturnType<LogicType['actions'][K]>,
action: ReturnType<LogicType['actionCreators'][K]>,
) => ReducerReturnType | Promise<ReducerReturnType>

@@ -202,2 +202,47 @@ }

// MakeLogicType:
// - create a close-enough approxmiation of the logic's types if passed two interfaces:
//
// MakeLogicType<Values, Actions>
// - Values = { valueKey: type }
// - Actions = { actionKey: (id) => void } // <- this works
// - Actions = { actionKey: (id) => { id } } // <- adds type completion in reducers
export interface MakeLogicType<Values = Record<string, unknown>, Actions = Record<string, AnyFunction>> extends Logic {
actionCreators: {
[ActionKey in keyof Actions]: Actions[ActionKey] extends AnyFunction
? ActionCreatorForPayloadBuilder<Actions[ActionKey]>
: never
}
actionKeys: Record<string, string>
actionTypes: {
[ActionKey in keyof Actions]: string
}
actions: Actions
cache: Record<string, unknown>
constants: Record<string, string>
defaults: Values
path: string[]
pathString: string
reducerOptions: Record<string, unknown>
reducer: (state: Values, action: () => any, fullState: any) => Values
reducers: {
[Value in keyof Values]?: (state: Values[Value], action: () => any, fullState: any) => Values[Value]
}
selector: (state: any, props: any) => Values
selectors: {
[Value in keyof Values]?: (state: any, props: any) => Values[Value]
}
values: Values
__keaTypeGenInternalSelectorTypes: {
[K in keyof Values]: (...args: any) => Values[K]
}
}
type AnyFunction = (...args: any) => any
type ActionCreatorForPayloadBuilder<B extends AnyFunction> = (
...args: Parameters<B>
) => { type: string; payload: ReturnType<B> }
// kea setup stuff

@@ -204,0 +249,0 @@

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc