| 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." |