effector / patronum

☄️ Effector operators library delivering modularity and convenience ✨
https://patronum.effector.dev
MIT License
297 stars 43 forks source link

Operator proposal: `includes` #337

Open sagdeev opened 2 months ago

sagdeev commented 2 months ago

Hi! I don’t think I’ve seen the operator for the includes method, but it can be very useful. What do you think about it? Also, it is possible to combine includes for arrays and strings.

const $array = createStore([1, 2, 3]);
const $string = createStore('Hello world!');

const $findInArray = createStore<number>(1);
const $findInString = createStore<string>('Hello');

const $isInclude = includes($array, 1);
const $isInclude = includes($array, $findInArray);

const $isInclude = includes($string, 'Hello');
const $isInclude = includes($string, $findInString);

Instead of combine

const $array = createStore([1, 2, 3]);
const $string = createStore('Hello world!');

const $findInArray = createStore<number>(1);
const $findInString = createStore<string>('Hello');

const $isInclude = combine($string, $findInString, (string, findInString) =>
  string.includes(findInString),
);