1"effect/Predicate#all":
2 replacement: "Predicate.Tuple(Array.from(collection))"
3 note: "Use positional Tuple, materializing an Iterable when needed. V4 checks every configured position instead of accepting missing input values."
4"effect/Predicate#every":
5 replacement: "Predicate.every"
6 note: "Retained with the same AND semantics, short-circuiting, and true result for an empty collection."
7"effect/Predicate#isBigInt":
8 replacement: "Predicate.isBigInt"
9 note: "Retained with the same bigint refinement."
10"effect/Predicate#isBoolean":
11 replacement: "Predicate.isBoolean"
12 note: "Retained with the same boolean refinement."
13"effect/Predicate#isDate":
14 replacement: "Predicate.isDate"
15 note: "Retained with the same instanceof Date check."
16"effect/Predicate#isError":
17 replacement: "Predicate.isError"
18 note: "Retained with the same instanceof Error check."
19"effect/Predicate#isFunction":
20 replacement: "Predicate.isFunction"
21 note: "Retained with the same function refinement."
22"effect/Predicate#isIterable":
23 replacement: "Predicate.isIterable"
24 note: "Retained; strings and values exposing Symbol.iterator are still accepted."
25"effect/Predicate#isMap":
26 replacement: "Predicate.isMap"
27 note: "Retained with the same instanceof Map check."
28"effect/Predicate#isNever":
29 replacement: "Predicate.isNever"
30 note: "Retained as the always-false refinement."
31"effect/Predicate#isNotNull":
32 replacement: "Predicate.isNotNull"
33 note: "Retained; undefined still passes while null is excluded."
34"effect/Predicate#isNotNullable":
35 replacement: "Predicate.isNotNullish"
36 note: "Renamed to use nullish terminology; it still excludes null and undefined."
37"effect/Predicate#isNotUndefined":
38 replacement: "Predicate.isNotUndefined"
39 note: "Retained; null still passes while undefined is excluded."
40"effect/Predicate#isNull":
41 replacement: "Predicate.isNull"
42 note: "Retained with the same strict null refinement."
43"effect/Predicate#isNullable":
44 replacement: "Predicate.isNullish"
45 note: "Renamed to use nullish terminology. The guard now narrows with A & (null | undefined), including unknown inputs correctly."
46"effect/Predicate#isNumber":
47 replacement: "Predicate.isNumber"
48 note: "Retained; NaN and infinite numbers still pass."
49"effect/Predicate#isObject":
50 replacement: "Predicate.isObjectKeyword"
51 note: "Use isObjectKeyword to preserve v3 behavior accepting arrays and functions. V4 isObject has the former record-like semantics instead."
52"effect/Predicate#isPromise":
53 replacement: "Predicate.isPromise"
54 note: "Retained as the structural check for callable then and catch properties."
55"effect/Predicate#isPromiseLike":
56 replacement: "Predicate.isPromiseLike"
57 note: "Retained as the structural check for a callable then property."
58"effect/Predicate#isReadonlyRecord":
59 replacement: "Predicate.isReadonlyObject"
60 note: "Renamed; runtime behavior is unchanged and the index-key type now explicitly includes numbers."
61"effect/Predicate#isRecord":
62 replacement: "Predicate.isObject"
63 note: "Renamed; it still accepts non-null, non-array objects and now narrows with PropertyKey indexes."
64"effect/Predicate#isRegExp":
65 replacement: "Predicate.isRegExp"
66 note: "Retained with the same instanceof RegExp check."
67"effect/Predicate#isSet":
68 replacement: "Predicate.isSet"
69 note: "Retained with the same instanceof Set check."
70"effect/Predicate#isString":
71 replacement: "Predicate.isString"
72 note: "Retained with the same primitive string refinement."
73"effect/Predicate#isSymbol":
74 replacement: "Predicate.isSymbol"
75 note: "Retained with the same symbol refinement."
76"effect/Predicate#isTruthy":
77 replacement: "Predicate.isTruthy"
78 note: "Retained as a plain boolean predicate using JavaScript truthiness."
79"effect/Predicate#isUint8Array":
80 replacement: "Predicate.isUint8Array"
81 note: "Retained with the same instanceof Uint8Array check."
82"effect/Predicate#isUndefined":
83 replacement: "Predicate.isUndefined"
84 note: "Retained with the same strict undefined refinement."
85"effect/Predicate#isUnknown":
86 replacement: "Predicate.isUnknown"
87 note: "Retained as the always-true refinement."
88"effect/Predicate#not":
89 replacement: "Predicate.not"
90 note: "Retained with the same boolean negation; refinements still become plain predicates."
91"effect/Predicate#Predicate":
92 replacement: "Predicate.Predicate"
93 note: "The callable interface is retained. Predicate.Any now uses any rather than never, which can affect generic inference."
94"effect/Predicate#product":
95 replacement: "Predicate.Tuple([self, that])"
96 note: "Replace the two-position product helper with the Tuple constructor."
97"effect/Predicate#productMany":
98 replacement: "Predicate.Tuple([self, ...Array.from(collection)])"
99 note: "Materialize the predicate iterable in one Tuple call; v4 checks missing tail positions as undefined."
100"effect/Predicate#Refinement":
101 replacement: "Predicate.Refinement"
102 note: "The refinement interface and its In, Out, and Any namespace types are retained."
103"effect/Predicate#some":
104 replacement: "Predicate.some"
105 note: "Retained with the same OR semantics, short-circuiting, and false result for an empty collection."
106"effect/Predicate#struct":
107 replacement: "Predicate.Struct"
108 note: "Capitalized constructor name; field checks and refinement-aware typing are retained."
109"effect/Predicate#tuple":
110 replacement: "Predicate.Tuple([p1, p2, ...])"
111 note: "Capitalized constructor now takes one predicate array instead of rest arguments and checks missing positions as undefined."