@@ -52,6 +52,127 @@ foldlOf :: forall s t a b r. Fold (Dual (Endo r)) s t a b -> (r -> a -> r) -> r
5252
5353Left fold over a ` Fold ` .
5454
55+ #### ` allOf `
56+
57+ ``` purescript
58+ allOf :: forall s t a b r. (BooleanAlgebra r) => Fold (Conj r) s t a b -> (a -> r) -> s -> r
59+ ```
60+
61+ Whether all foci of a ` Fold ` satisfy a predicate.
62+
63+ #### ` anyOf `
64+
65+ ``` purescript
66+ anyOf :: forall s t a b r. (BooleanAlgebra r) => Fold (Disj r) s t a b -> (a -> r) -> s -> r
67+ ```
68+
69+ Whether any focus of a ` Fold ` satisfies a predicate.
70+
71+ #### ` andOf `
72+
73+ ``` purescript
74+ andOf :: forall s t a b. (BooleanAlgebra a) => Fold (Conj a) s t a b -> s -> a
75+ ```
76+
77+ The conjunction of all foci of a ` Fold ` .
78+
79+ #### ` orOf `
80+
81+ ``` purescript
82+ orOf :: forall s t a b. (BooleanAlgebra a) => Fold (Disj a) s t a b -> s -> a
83+ ```
84+
85+ The disjunction of all foci of a ` Fold ` .
86+
87+ #### ` elemOf `
88+
89+ ``` purescript
90+ elemOf :: forall s t a b. (Eq a) => Fold (Disj Boolean) s t a b -> a -> s -> Boolean
91+ ```
92+
93+ Whether a ` Fold ` contains a given element.
94+
95+ #### ` notElemOf `
96+
97+ ``` purescript
98+ notElemOf :: forall s t a b. (Eq a) => Fold (Conj Boolean) s t a b -> a -> s -> Boolean
99+ ```
100+
101+ Whether a ` Fold ` not contains a given element.
102+
103+ #### ` sumOf `
104+
105+ ``` purescript
106+ sumOf :: forall s t a b. (Semiring a) => Fold (Additive a) s t a b -> s -> a
107+ ```
108+
109+ The sum of all foci of a ` Fold ` .
110+
111+ #### ` productOf `
112+
113+ ``` purescript
114+ productOf :: forall s t a b. (Semiring a) => Fold (Multiplicative a) s t a b -> s -> a
115+ ```
116+
117+ The product of all foci of a ` Fold ` .
118+
119+ #### ` lengthOf `
120+
121+ ``` purescript
122+ lengthOf :: forall s t a b. Fold (Additive Int) s t a b -> s -> Int
123+ ```
124+
125+ The number of foci of a ` Fold ` .
126+
127+ #### ` firstOf `
128+
129+ ``` purescript
130+ firstOf :: forall s t a b. Fold (First a) s t a b -> s -> Maybe a
131+ ```
132+
133+ The first focus of a ` Fold ` , if there is any. Synonym for ` preview ` .
134+
135+ #### ` lastOf `
136+
137+ ``` purescript
138+ lastOf :: forall s t a b. Fold (Last a) s t a b -> s -> Maybe a
139+ ```
140+
141+ The last focus of a ` Fold ` , if there is any.
142+
143+ #### ` maximumOf `
144+
145+ ``` purescript
146+ maximumOf :: forall s t a b. (Ord a) => Fold (Endo (Maybe a)) s t a b -> s -> Maybe a
147+ ```
148+
149+ The maximum of all foci of a ` Fold ` , if there is any.
150+
151+ #### ` minimumOf `
152+
153+ ``` purescript
154+ minimumOf :: forall s t a b. (Ord a) => Fold (Endo (Maybe a)) s t a b -> s -> Maybe a
155+ ```
156+
157+ The minimum of all foci of a ` Fold ` , if there is any.
158+
159+ #### ` findOf `
160+
161+ ``` purescript
162+ findOf :: forall s t a b. Fold (Endo (Maybe a)) s t a b -> (a -> Boolean) -> s -> Maybe a
163+ ```
164+
165+ Find the first focus of a ` Fold ` that satisfies a predicate, if there is any.
166+
167+ #### ` sequenceOf_ `
168+
169+ ``` purescript
170+ sequenceOf_ :: forall f s t a b. (Applicative f) => Fold (Endo (f Unit)) s t (f a) b -> s -> f Unit
171+ ```
172+
173+ Sequence the foci of a ` Fold ` , pulling out an ` Applicative ` , and ignore
174+ the result. If you need the result, see ` sequenceOf ` for ` Traversal ` s.
175+
55176#### ` toListOf `
56177
57178``` purescript
@@ -86,4 +207,20 @@ hasn't :: forall s t a b r. (BooleanAlgebra r) => Fold (Conj r) s t a b -> s ->
86207
87208Determines whether a ` Fold ` does not have a focus.
88209
210+ #### ` filtered `
211+
212+ ``` purescript
213+ filtered :: forall p a. (Choice p) => (a -> Boolean) -> OpticP p a a
214+ ```
215+
216+ Filters on a predicate.
217+
218+ #### ` replicated `
219+
220+ ``` purescript
221+ replicated :: forall r a b t f. (Applicative f, Contravariant f) => Int -> Optic (Star f) a b a t
222+ ```
223+
224+ Replicates the elements of a fold.
225+
89226
0 commit comments