@typed/fx 1.18.4 → 1.20.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/AsyncData/package.json +6 -0
- package/Emitter/package.json +6 -0
- package/Form/package.json +6 -0
- package/FormEntry/package.json +6 -0
- package/Fx/package.json +6 -0
- package/Guard/package.json +6 -0
- package/Idle/package.json +6 -0
- package/Match/package.json +6 -0
- package/Pull/package.json +6 -0
- package/Push/package.json +6 -0
- package/RefArray/package.json +6 -0
- package/RefChunk/package.json +6 -0
- package/RefHashMap/package.json +6 -0
- package/RefHashSet/package.json +6 -0
- package/RefSubject/package.json +6 -0
- package/Sink/package.json +6 -0
- package/Stream/package.json +6 -0
- package/Subject/package.json +6 -0
- package/TypeId/package.json +6 -0
- package/Typeclass/package.json +6 -0
- package/Versioned/package.json +6 -0
- package/dist/cjs/AsyncData.js +177 -0
- package/dist/cjs/AsyncData.js.map +1 -0
- package/dist/cjs/Emitter.js +24 -21
- package/dist/cjs/Emitter.js.map +1 -1
- package/dist/cjs/Form.js +78 -21
- package/dist/cjs/Form.js.map +1 -1
- package/dist/cjs/FormEntry.js +75 -48
- package/dist/cjs/FormEntry.js.map +1 -1
- package/dist/cjs/Fx.js +517 -872
- package/dist/cjs/Fx.js.map +1 -1
- package/dist/cjs/Guard.js +21 -13
- package/dist/cjs/Guard.js.map +1 -1
- package/dist/cjs/Idle.js +49 -37
- package/dist/cjs/Idle.js.map +1 -1
- package/dist/cjs/Match.js +99 -61
- package/dist/cjs/Match.js.map +1 -1
- package/dist/cjs/Pull.js.map +1 -1
- package/dist/cjs/Push.js +168 -0
- package/dist/cjs/Push.js.map +1 -0
- package/dist/cjs/RefArray.js +32 -30
- package/dist/cjs/RefArray.js.map +1 -1
- package/dist/cjs/RefChunk.js +26 -24
- package/dist/cjs/RefChunk.js.map +1 -1
- package/dist/cjs/RefHashMap.js +20 -20
- package/dist/cjs/RefHashMap.js.map +1 -1
- package/dist/cjs/RefHashSet.js +11 -8
- package/dist/cjs/RefHashSet.js.map +1 -1
- package/dist/cjs/RefSubject.js +899 -158
- package/dist/cjs/RefSubject.js.map +1 -1
- package/dist/cjs/Sink.js +588 -62
- package/dist/cjs/Sink.js.map +1 -1
- package/dist/cjs/Stream.js +15 -10
- package/dist/cjs/Stream.js.map +1 -1
- package/dist/cjs/Subject.js +153 -55
- package/dist/cjs/Subject.js.map +1 -1
- package/dist/cjs/TypeId.js +10 -5
- package/dist/cjs/TypeId.js.map +1 -1
- package/dist/cjs/Typeclass.js +28 -31
- package/dist/cjs/Typeclass.js.map +1 -1
- package/dist/cjs/Versioned.js +118 -57
- package/dist/cjs/Versioned.js.map +1 -1
- package/dist/cjs/index.js +44 -8
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/internal/{deferred-ref.js → DeferredRef.js} +45 -13
- package/dist/cjs/internal/DeferredRef.js.map +1 -0
- package/dist/cjs/internal/UnionToTuple.js +6 -0
- package/dist/cjs/internal/UnionToTuple.js.map +1 -0
- package/dist/cjs/internal/core.js +1590 -779
- package/dist/cjs/internal/core.js.map +1 -1
- package/dist/cjs/internal/diff.js +114 -0
- package/dist/cjs/internal/diff.js.map +1 -0
- package/dist/cjs/internal/effect-loop-operator.js +288 -0
- package/dist/cjs/internal/effect-loop-operator.js.map +1 -0
- package/dist/cjs/internal/effect-operator.js +46 -37
- package/dist/cjs/internal/effect-operator.js.map +1 -1
- package/dist/cjs/internal/effect-producer.js +74 -0
- package/dist/cjs/internal/effect-producer.js.map +1 -0
- package/dist/cjs/internal/helpers.js +158 -128
- package/dist/cjs/internal/helpers.js.map +1 -1
- package/dist/cjs/internal/keyed.js +136 -173
- package/dist/cjs/internal/keyed.js.map +1 -1
- package/dist/cjs/internal/loop-operator.js +213 -0
- package/dist/cjs/internal/loop-operator.js.map +1 -0
- package/dist/cjs/internal/operator.js +79 -0
- package/dist/cjs/internal/operator.js.map +1 -0
- package/dist/cjs/internal/protos.js +19 -81
- package/dist/cjs/internal/protos.js.map +1 -1
- package/dist/cjs/internal/provide.js +47 -25
- package/dist/cjs/internal/provide.js.map +1 -1
- package/dist/cjs/internal/requestIdleCallback.js +5 -5
- package/dist/cjs/internal/requestIdleCallback.js.map +1 -1
- package/dist/cjs/internal/share.js +12 -15
- package/dist/cjs/internal/share.js.map +1 -1
- package/dist/cjs/internal/sync-operator.js +50 -22
- package/dist/cjs/internal/sync-operator.js.map +1 -1
- package/dist/cjs/internal/sync-producer.js +114 -0
- package/dist/cjs/internal/sync-producer.js.map +1 -0
- package/dist/cjs/internal/withKey.js +45 -51
- package/dist/cjs/internal/withKey.js.map +1 -1
- package/dist/dts/AsyncData.d.ts +185 -0
- package/dist/dts/AsyncData.d.ts.map +1 -0
- package/dist/dts/Emitter.d.ts +13 -20
- package/dist/dts/Emitter.d.ts.map +1 -1
- package/dist/dts/Form.d.ts +45 -28
- package/dist/dts/Form.d.ts.map +1 -1
- package/dist/dts/FormEntry.d.ts +25 -13
- package/dist/dts/FormEntry.d.ts.map +1 -1
- package/dist/dts/Fx.d.ts +983 -1387
- package/dist/dts/Fx.d.ts.map +1 -1
- package/dist/dts/Guard.d.ts +8 -1
- package/dist/dts/Guard.d.ts.map +1 -1
- package/dist/dts/Idle.d.ts +3 -3
- package/dist/dts/Idle.d.ts.map +1 -1
- package/dist/dts/Match.d.ts +8 -8
- package/dist/dts/Match.d.ts.map +1 -1
- package/dist/dts/Pull.d.ts +5 -5
- package/dist/dts/Pull.d.ts.map +1 -1
- package/dist/dts/Push.d.ts +170 -0
- package/dist/dts/Push.d.ts.map +1 -0
- package/dist/dts/RefArray.d.ts +21 -23
- package/dist/dts/RefArray.d.ts.map +1 -1
- package/dist/dts/RefChunk.d.ts +17 -19
- package/dist/dts/RefChunk.d.ts.map +1 -1
- package/dist/dts/RefHashMap.d.ts +19 -20
- package/dist/dts/RefHashMap.d.ts.map +1 -1
- package/dist/dts/RefHashSet.d.ts +12 -16
- package/dist/dts/RefHashSet.d.ts.map +1 -1
- package/dist/dts/RefSubject.d.ts +396 -187
- package/dist/dts/RefSubject.d.ts.map +1 -1
- package/dist/dts/Sink.d.ts +193 -93
- package/dist/dts/Sink.d.ts.map +1 -1
- package/dist/dts/Stream.d.ts +7 -1
- package/dist/dts/Stream.d.ts.map +1 -1
- package/dist/dts/Subject.d.ts +27 -36
- package/dist/dts/Subject.d.ts.map +1 -1
- package/dist/dts/TypeId.d.ts +10 -0
- package/dist/dts/TypeId.d.ts.map +1 -1
- package/dist/dts/Typeclass.d.ts +2 -2
- package/dist/dts/Typeclass.d.ts.map +1 -1
- package/dist/dts/Versioned.d.ts +50 -78
- package/dist/dts/Versioned.d.ts.map +1 -1
- package/dist/dts/index.d.ts +66 -6
- package/dist/dts/index.d.ts.map +1 -1
- package/dist/dts/internal/DeferredRef.d.ts +20 -0
- package/dist/dts/internal/DeferredRef.d.ts.map +1 -0
- package/dist/dts/internal/UnionToTuple.d.ts +6 -0
- package/dist/dts/internal/UnionToTuple.d.ts.map +1 -0
- package/dist/dts/internal/core.d.ts +218 -450
- package/dist/dts/internal/core.d.ts.map +1 -1
- package/dist/dts/internal/diff.d.ts +38 -0
- package/dist/dts/internal/diff.d.ts.map +1 -0
- package/dist/dts/internal/effect-loop-operator.d.ts +34 -0
- package/dist/dts/internal/effect-loop-operator.d.ts.map +1 -0
- package/dist/dts/internal/effect-operator.d.ts +8 -5
- package/dist/dts/internal/effect-operator.d.ts.map +1 -1
- package/dist/dts/internal/effect-producer.d.ts +25 -0
- package/dist/dts/internal/effect-producer.d.ts.map +1 -0
- package/dist/dts/internal/helpers.d.ts +33 -24
- package/dist/dts/internal/helpers.d.ts.map +1 -1
- package/dist/dts/internal/keyed.d.ts +3 -3
- package/dist/dts/internal/keyed.d.ts.map +1 -1
- package/dist/dts/internal/loop-operator.d.ts +40 -0
- package/dist/dts/internal/loop-operator.d.ts.map +1 -0
- package/dist/dts/internal/operator.d.ts +16 -0
- package/dist/dts/internal/operator.d.ts.map +1 -0
- package/dist/dts/internal/protos.d.ts +16 -43
- package/dist/dts/internal/protos.d.ts.map +1 -1
- package/dist/dts/internal/provide.d.ts +7 -1
- package/dist/dts/internal/provide.d.ts.map +1 -1
- package/dist/dts/internal/share.d.ts +12 -9
- package/dist/dts/internal/share.d.ts.map +1 -1
- package/dist/dts/internal/sync-operator.d.ts +7 -3
- package/dist/dts/internal/sync-operator.d.ts.map +1 -1
- package/dist/dts/internal/sync-producer.d.ts +36 -0
- package/dist/dts/internal/sync-producer.d.ts.map +1 -0
- package/dist/dts/internal/withKey.d.ts +3 -3
- package/dist/dts/internal/withKey.d.ts.map +1 -1
- package/dist/esm/AsyncData.js +151 -0
- package/dist/esm/AsyncData.js.map +1 -0
- package/dist/esm/Emitter.js +24 -21
- package/dist/esm/Emitter.js.map +1 -1
- package/dist/esm/Form.js +69 -14
- package/dist/esm/Form.js.map +1 -1
- package/dist/esm/FormEntry.js +77 -52
- package/dist/esm/FormEntry.js.map +1 -1
- package/dist/esm/Fx.js +509 -874
- package/dist/esm/Fx.js.map +1 -1
- package/dist/esm/Guard.js +5 -1
- package/dist/esm/Guard.js.map +1 -1
- package/dist/esm/Idle.js +49 -39
- package/dist/esm/Idle.js.map +1 -1
- package/dist/esm/Match.js +103 -63
- package/dist/esm/Match.js.map +1 -1
- package/dist/esm/Pull.js.map +1 -1
- package/dist/esm/Push.js +159 -0
- package/dist/esm/Push.js.map +1 -0
- package/dist/esm/RefArray.js +32 -30
- package/dist/esm/RefArray.js.map +1 -1
- package/dist/esm/RefChunk.js +26 -24
- package/dist/esm/RefChunk.js.map +1 -1
- package/dist/esm/RefHashMap.js +20 -20
- package/dist/esm/RefHashMap.js.map +1 -1
- package/dist/esm/RefHashSet.js +11 -8
- package/dist/esm/RefHashSet.js.map +1 -1
- package/dist/esm/RefSubject.js +873 -150
- package/dist/esm/RefSubject.js.map +1 -1
- package/dist/esm/Sink.js +608 -57
- package/dist/esm/Sink.js.map +1 -1
- package/dist/esm/Stream.js +13 -9
- package/dist/esm/Stream.js.map +1 -1
- package/dist/esm/Subject.js +151 -56
- package/dist/esm/Subject.js.map +1 -1
- package/dist/esm/TypeId.js +9 -4
- package/dist/esm/TypeId.js.map +1 -1
- package/dist/esm/Typeclass.js +29 -29
- package/dist/esm/Typeclass.js.map +1 -1
- package/dist/esm/Versioned.js +110 -53
- package/dist/esm/Versioned.js.map +1 -1
- package/dist/esm/index.js +66 -6
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/internal/DeferredRef.js +54 -0
- package/dist/esm/internal/DeferredRef.js.map +1 -0
- package/dist/esm/internal/UnionToTuple.js +2 -0
- package/dist/esm/internal/UnionToTuple.js.map +1 -0
- package/dist/esm/internal/core.js +1439 -719
- package/dist/esm/internal/core.js.map +1 -1
- package/dist/esm/internal/diff.js +82 -0
- package/dist/esm/internal/diff.js.map +1 -0
- package/dist/esm/internal/effect-loop-operator.js +269 -0
- package/dist/esm/internal/effect-loop-operator.js.map +1 -0
- package/dist/esm/internal/effect-operator.js +44 -37
- package/dist/esm/internal/effect-operator.js.map +1 -1
- package/dist/esm/internal/effect-producer.js +47 -0
- package/dist/esm/internal/effect-producer.js.map +1 -0
- package/dist/esm/internal/helpers.js +157 -129
- package/dist/esm/internal/helpers.js.map +1 -1
- package/dist/esm/internal/keyed.js +128 -139
- package/dist/esm/internal/keyed.js.map +1 -1
- package/dist/esm/internal/loop-operator.js +186 -0
- package/dist/esm/internal/loop-operator.js.map +1 -0
- package/dist/esm/internal/operator.js +68 -0
- package/dist/esm/internal/operator.js.map +1 -0
- package/dist/esm/internal/protos.js +16 -75
- package/dist/esm/internal/protos.js.map +1 -1
- package/dist/esm/internal/provide.js +33 -25
- package/dist/esm/internal/provide.js.map +1 -1
- package/dist/esm/internal/requestIdleCallback.js +5 -5
- package/dist/esm/internal/requestIdleCallback.js.map +1 -1
- package/dist/esm/internal/share.js +12 -12
- package/dist/esm/internal/share.js.map +1 -1
- package/dist/esm/internal/sync-operator.js +49 -21
- package/dist/esm/internal/sync-operator.js.map +1 -1
- package/dist/esm/internal/sync-producer.js +88 -0
- package/dist/esm/internal/sync-producer.js.map +1 -0
- package/dist/esm/internal/withKey.js +46 -47
- package/dist/esm/internal/withKey.js.map +1 -1
- package/package.json +22 -62
- package/src/AsyncData.ts +447 -0
- package/src/Emitter.ts +47 -38
- package/src/Form.ts +185 -65
- package/src/FormEntry.ts +142 -109
- package/src/Fx.ts +1685 -1851
- package/src/Guard.ts +12 -1
- package/src/Idle.ts +76 -62
- package/src/Match.ts +149 -93
- package/src/Pull.ts +8 -8
- package/src/Push.ts +472 -0
- package/src/RefArray.ts +53 -51
- package/src/RefChunk.ts +44 -41
- package/src/RefHashMap.ts +57 -43
- package/src/RefHashSet.ts +21 -31
- package/src/RefSubject.ts +1984 -457
- package/src/Sink.ts +922 -171
- package/src/Stream.ts +32 -20
- package/src/Subject.ts +230 -87
- package/src/TypeId.ts +16 -4
- package/src/Typeclass.ts +31 -32
- package/src/Versioned.ts +220 -168
- package/src/index.ts +78 -6
- package/src/internal/DeferredRef.ts +62 -0
- package/src/internal/UnionToTuple.ts +11 -0
- package/src/internal/core.ts +2491 -1950
- package/src/internal/diff.ts +157 -0
- package/src/internal/effect-loop-operator.ts +466 -0
- package/src/internal/effect-operator.ts +89 -54
- package/src/internal/effect-producer.ts +125 -0
- package/src/internal/helpers.ts +275 -205
- package/src/internal/keyed.ts +192 -241
- package/src/internal/loop-operator.ts +266 -0
- package/src/internal/operator.ts +87 -0
- package/src/internal/protos.ts +29 -104
- package/src/internal/provide.ts +48 -40
- package/src/internal/requestIdleCallback.ts +5 -6
- package/src/internal/share.ts +26 -24
- package/src/internal/sync-operator.ts +68 -27
- package/src/internal/sync-producer.ts +146 -0
- package/src/internal/withKey.ts +64 -74
- package/dist/cjs/Computed.js +0 -115
- package/dist/cjs/Computed.js.map +0 -1
- package/dist/cjs/Filtered.js +0 -95
- package/dist/cjs/Filtered.js.map +0 -1
- package/dist/cjs/Model.js +0 -119
- package/dist/cjs/Model.js.map +0 -1
- package/dist/cjs/RefAsyncData.js +0 -187
- package/dist/cjs/RefAsyncData.js.map +0 -1
- package/dist/cjs/RefAsyncDataArray.js +0 -38
- package/dist/cjs/RefAsyncDataArray.js.map +0 -1
- package/dist/cjs/RefBoolean.js +0 -45
- package/dist/cjs/RefBoolean.js.map +0 -1
- package/dist/cjs/RefNumber.js +0 -49
- package/dist/cjs/RefNumber.js.map +0 -1
- package/dist/cjs/internal/core-ref-subject.js +0 -254
- package/dist/cjs/internal/core-ref-subject.js.map +0 -1
- package/dist/cjs/internal/core-subject.js +0 -108
- package/dist/cjs/internal/core-subject.js.map +0 -1
- package/dist/cjs/internal/deferred-ref.js.map +0 -1
- package/dist/cjs/internal/effect-primitive.js +0 -47
- package/dist/cjs/internal/effect-primitive.js.map +0 -1
- package/dist/cjs/internal/fx-effect-proto.js +0 -58
- package/dist/cjs/internal/fx-effect-proto.js.map +0 -1
- package/dist/cjs/internal/fx-primitive.js +0 -193
- package/dist/cjs/internal/fx-primitive.js.map +0 -1
- package/dist/cjs/internal/fx.js +0 -240
- package/dist/cjs/internal/fx.js.map +0 -1
- package/dist/cjs/internal/matchers.js +0 -34
- package/dist/cjs/internal/matchers.js.map +0 -1
- package/dist/cjs/internal/run.js +0 -54
- package/dist/cjs/internal/run.js.map +0 -1
- package/dist/cjs/internal/schema-ref-subject.js +0 -132
- package/dist/cjs/internal/schema-ref-subject.js.map +0 -1
- package/dist/cjs/internal/versioned-transform.js +0 -46
- package/dist/cjs/internal/versioned-transform.js.map +0 -1
- package/dist/dts/Computed.d.ts +0 -106
- package/dist/dts/Computed.d.ts.map +0 -1
- package/dist/dts/Filtered.d.ts +0 -97
- package/dist/dts/Filtered.d.ts.map +0 -1
- package/dist/dts/Model.d.ts +0 -200
- package/dist/dts/Model.d.ts.map +0 -1
- package/dist/dts/RefAsyncData.d.ts +0 -236
- package/dist/dts/RefAsyncData.d.ts.map +0 -1
- package/dist/dts/RefAsyncDataArray.d.ts +0 -56
- package/dist/dts/RefAsyncDataArray.d.ts.map +0 -1
- package/dist/dts/RefBoolean.d.ts +0 -47
- package/dist/dts/RefBoolean.d.ts.map +0 -1
- package/dist/dts/RefNumber.d.ts +0 -48
- package/dist/dts/RefNumber.d.ts.map +0 -1
- package/dist/dts/internal/core-ref-subject.d.ts +0 -100
- package/dist/dts/internal/core-ref-subject.d.ts.map +0 -1
- package/dist/dts/internal/core-subject.d.ts +0 -5
- package/dist/dts/internal/core-subject.d.ts.map +0 -1
- package/dist/dts/internal/deferred-ref.d.ts +0 -12
- package/dist/dts/internal/deferred-ref.d.ts.map +0 -1
- package/dist/dts/internal/effect-primitive.d.ts +0 -6
- package/dist/dts/internal/effect-primitive.d.ts.map +0 -1
- package/dist/dts/internal/fx-effect-proto.d.ts +0 -30
- package/dist/dts/internal/fx-effect-proto.d.ts.map +0 -1
- package/dist/dts/internal/fx-primitive.d.ts +0 -109
- package/dist/dts/internal/fx-primitive.d.ts.map +0 -1
- package/dist/dts/internal/fx.d.ts +0 -245
- package/dist/dts/internal/fx.d.ts.map +0 -1
- package/dist/dts/internal/matchers.d.ts +0 -33
- package/dist/dts/internal/matchers.d.ts.map +0 -1
- package/dist/dts/internal/run.d.ts +0 -8
- package/dist/dts/internal/run.d.ts.map +0 -1
- package/dist/dts/internal/schema-ref-subject.d.ts +0 -5
- package/dist/dts/internal/schema-ref-subject.d.ts.map +0 -1
- package/dist/dts/internal/versioned-transform.d.ts +0 -17
- package/dist/dts/internal/versioned-transform.d.ts.map +0 -1
- package/dist/esm/Computed.js +0 -103
- package/dist/esm/Computed.js.map +0 -1
- package/dist/esm/Filtered.js +0 -83
- package/dist/esm/Filtered.js.map +0 -1
- package/dist/esm/Model.js +0 -100
- package/dist/esm/Model.js.map +0 -1
- package/dist/esm/RefAsyncData.js +0 -163
- package/dist/esm/RefAsyncData.js.map +0 -1
- package/dist/esm/RefAsyncDataArray.js +0 -27
- package/dist/esm/RefAsyncDataArray.js.map +0 -1
- package/dist/esm/RefBoolean.js +0 -31
- package/dist/esm/RefBoolean.js.map +0 -1
- package/dist/esm/RefNumber.js +0 -35
- package/dist/esm/RefNumber.js.map +0 -1
- package/dist/esm/internal/core-ref-subject.js +0 -242
- package/dist/esm/internal/core-ref-subject.js.map +0 -1
- package/dist/esm/internal/core-subject.js +0 -90
- package/dist/esm/internal/core-subject.js.map +0 -1
- package/dist/esm/internal/deferred-ref.js +0 -23
- package/dist/esm/internal/deferred-ref.js.map +0 -1
- package/dist/esm/internal/effect-primitive.js +0 -41
- package/dist/esm/internal/effect-primitive.js.map +0 -1
- package/dist/esm/internal/fx-effect-proto.js +0 -43
- package/dist/esm/internal/fx-effect-proto.js.map +0 -1
- package/dist/esm/internal/fx-primitive.js +0 -175
- package/dist/esm/internal/fx-primitive.js.map +0 -1
- package/dist/esm/internal/fx.js +0 -216
- package/dist/esm/internal/fx.js.map +0 -1
- package/dist/esm/internal/matchers.js +0 -38
- package/dist/esm/internal/matchers.js.map +0 -1
- package/dist/esm/internal/run.js +0 -32
- package/dist/esm/internal/run.js.map +0 -1
- package/dist/esm/internal/schema-ref-subject.js +0 -121
- package/dist/esm/internal/schema-ref-subject.js.map +0 -1
- package/dist/esm/internal/versioned-transform.js +0 -37
- package/dist/esm/internal/versioned-transform.js.map +0 -1
- package/src/Computed.ts +0 -289
- package/src/Filtered.ts +0 -274
- package/src/Model.ts +0 -483
- package/src/RefAsyncData.ts +0 -547
- package/src/RefAsyncDataArray.ts +0 -135
- package/src/RefBoolean.ts +0 -71
- package/src/RefNumber.ts +0 -77
- package/src/internal/core-ref-subject.ts +0 -528
- package/src/internal/core-subject.ts +0 -143
- package/src/internal/deferred-ref.ts +0 -26
- package/src/internal/effect-primitive.ts +0 -230
- package/src/internal/fx-effect-proto.ts +0 -56
- package/src/internal/fx-primitive.ts +0 -223
- package/src/internal/fx.ts +0 -619
- package/src/internal/matchers.ts +0 -83
- package/src/internal/run.ts +0 -51
- package/src/internal/schema-ref-subject.ts +0 -163
- package/src/internal/versioned-transform.ts +0 -48
package/src/RefArray.ts
CHANGED
|
@@ -12,8 +12,6 @@ import * as Option from "effect/Option"
|
|
|
12
12
|
import type * as Order from "effect/Order"
|
|
13
13
|
import * as ReadonlyArray from "effect/ReadonlyArray"
|
|
14
14
|
import type * as Scope from "effect/Scope"
|
|
15
|
-
import type * as Computed from "./Computed.js"
|
|
16
|
-
import type * as Filtered from "./Filtered.js"
|
|
17
15
|
import type * as Fx from "./Fx.js"
|
|
18
16
|
import * as RefSubject from "./RefSubject.js"
|
|
19
17
|
|
|
@@ -39,12 +37,14 @@ export function make<R, E, A>(
|
|
|
39
37
|
): Effect.Effect<R | Scope.Scope, never, RefArray<never, E, A>>
|
|
40
38
|
|
|
41
39
|
export function make<R, E, A>(
|
|
42
|
-
initial: Fx.
|
|
40
|
+
initial: Effect.Effect<R, E, ReadonlyArray<A>> | Fx.Fx<R, E, ReadonlyArray<A>>,
|
|
43
41
|
eq: Equivalence<A> = equals
|
|
44
42
|
): Effect.Effect<R | Scope.Scope, never, RefArray<never, E, A>> {
|
|
45
43
|
return RefSubject.make(
|
|
46
44
|
initial,
|
|
47
|
-
|
|
45
|
+
{
|
|
46
|
+
eq: ReadonlyArray.getEquivalence(eq)
|
|
47
|
+
}
|
|
48
48
|
)
|
|
49
49
|
}
|
|
50
50
|
|
|
@@ -94,7 +94,7 @@ export const prepend: {
|
|
|
94
94
|
<A>(value: A): <R, E>(ref: RefArray<R, E, A>) => Effect.Effect<R, E, ReadonlyArray<A>>
|
|
95
95
|
<R, E, A>(ref: RefArray<R, E, A>, value: A): Effect.Effect<R, E, ReadonlyArray<A>>
|
|
96
96
|
} = dual(2, function prepend<R, E, A>(ref: RefArray<R, E, A>, value: A) {
|
|
97
|
-
return
|
|
97
|
+
return RefSubject.update(ref, ReadonlyArray.prepend(value))
|
|
98
98
|
})
|
|
99
99
|
|
|
100
100
|
/**
|
|
@@ -108,7 +108,7 @@ export const prependAll: {
|
|
|
108
108
|
} = dual(
|
|
109
109
|
2,
|
|
110
110
|
function prependAll<R, E, A>(ref: RefArray<R, E, A>, value: Iterable<A>) {
|
|
111
|
-
return
|
|
111
|
+
return RefSubject.update(ref, ReadonlyArray.prependAll(value))
|
|
112
112
|
}
|
|
113
113
|
)
|
|
114
114
|
|
|
@@ -121,7 +121,7 @@ export const append: {
|
|
|
121
121
|
<A>(value: A): <R, E>(ref: RefArray<R, E, A>) => Effect.Effect<R, E, ReadonlyArray<A>>
|
|
122
122
|
<R, E, A>(ref: RefArray<R, E, A>, value: A): Effect.Effect<R, E, ReadonlyArray<A>>
|
|
123
123
|
} = dual(2, function append<R, E, A>(ref: RefArray<R, E, A>, value: A) {
|
|
124
|
-
return
|
|
124
|
+
return RefSubject.update(ref, ReadonlyArray.append(value))
|
|
125
125
|
})
|
|
126
126
|
|
|
127
127
|
/**
|
|
@@ -135,7 +135,7 @@ export const appendAll: {
|
|
|
135
135
|
): <R, E>(ref: RefArray<R, E, A>) => Effect.Effect<R, E, ReadonlyArray<A>>
|
|
136
136
|
<R, E, A>(ref: RefArray<R, E, A>, value: Iterable<A>): Effect.Effect<R, E, ReadonlyArray<A>>
|
|
137
137
|
} = dual(2, function appendAll<R, E, A>(ref: RefArray<R, E, A>, value: Iterable<A>) {
|
|
138
|
-
return
|
|
138
|
+
return RefSubject.update(ref, ReadonlyArray.appendAll(value))
|
|
139
139
|
})
|
|
140
140
|
|
|
141
141
|
/**
|
|
@@ -147,7 +147,7 @@ export const drop: {
|
|
|
147
147
|
(n: number): <R, E, A>(ref: RefArray<R, E, A>) => Effect.Effect<R, E, ReadonlyArray<A>>
|
|
148
148
|
<R, E, A>(ref: RefArray<R, E, A>, n: number): Effect.Effect<R, E, ReadonlyArray<A>>
|
|
149
149
|
} = dual(2, function drop<R, E, A>(ref: RefArray<R, E, A>, n: number) {
|
|
150
|
-
return
|
|
150
|
+
return RefSubject.update(ref, ReadonlyArray.drop(n))
|
|
151
151
|
})
|
|
152
152
|
|
|
153
153
|
/**
|
|
@@ -159,7 +159,7 @@ export const dropRight: {
|
|
|
159
159
|
(n: number): <R, E, A>(ref: RefArray<R, E, A>) => Effect.Effect<R, E, ReadonlyArray<A>>
|
|
160
160
|
<R, E, A>(ref: RefArray<R, E, A>, n: number): Effect.Effect<R, E, ReadonlyArray<A>>
|
|
161
161
|
} = dual(2, function dropRight<R, E, A>(ref: RefArray<R, E, A>, n: number) {
|
|
162
|
-
return
|
|
162
|
+
return RefSubject.update(ref, ReadonlyArray.dropRight(n))
|
|
163
163
|
})
|
|
164
164
|
|
|
165
165
|
/**
|
|
@@ -178,7 +178,7 @@ export const dropWhile: {
|
|
|
178
178
|
} = dual(
|
|
179
179
|
2,
|
|
180
180
|
function dropWhile<R, E, A>(ref: RefArray<R, E, A>, predicate: (a: unknown) => boolean) {
|
|
181
|
-
return
|
|
181
|
+
return RefSubject.update(ref, ReadonlyArray.dropWhile(predicate))
|
|
182
182
|
}
|
|
183
183
|
)
|
|
184
184
|
|
|
@@ -190,13 +190,13 @@ export const dropWhile: {
|
|
|
190
190
|
export const filterValues: {
|
|
191
191
|
<A>(
|
|
192
192
|
predicate: (a: A) => boolean
|
|
193
|
-
): <R, E>(ref: RefArray<R, E, A>) =>
|
|
193
|
+
): <R, E>(ref: RefArray<R, E, A>) => RefSubject.Computed<R, E, ReadonlyArray<A>>
|
|
194
194
|
<R, E, A>(
|
|
195
195
|
ref: RefArray<R, E, A>,
|
|
196
196
|
predicate: (a: A) => boolean
|
|
197
|
-
):
|
|
197
|
+
): RefSubject.Computed<R, E, ReadonlyArray<A>>
|
|
198
198
|
} = dual(2, function filterValues<R, E, A>(ref: RefArray<R, E, A>, predicate: (a: A) => boolean) {
|
|
199
|
-
return
|
|
199
|
+
return RefSubject.map(ref, ReadonlyArray.filter(predicate))
|
|
200
200
|
})
|
|
201
201
|
|
|
202
202
|
/**
|
|
@@ -205,10 +205,10 @@ export const filterValues: {
|
|
|
205
205
|
* @category filtered
|
|
206
206
|
*/
|
|
207
207
|
export const getIndex: {
|
|
208
|
-
(index: number): <R, E, A>(ref: RefArray<R, E, A>) =>
|
|
209
|
-
<R, E, A>(ref: RefArray<R, E, A>, index: number):
|
|
208
|
+
(index: number): <R, E, A>(ref: RefArray<R, E, A>) => RefSubject.Filtered<R, E, A>
|
|
209
|
+
<R, E, A>(ref: RefArray<R, E, A>, index: number): RefSubject.Filtered<R, E, A>
|
|
210
210
|
} = dual(2, function getIndex<R, E, A>(ref: RefArray<R, E, A>, index: number) {
|
|
211
|
-
return
|
|
211
|
+
return RefSubject.filterMap(ref, ReadonlyArray.get(index))
|
|
212
212
|
})
|
|
213
213
|
|
|
214
214
|
/**
|
|
@@ -221,13 +221,13 @@ export const groupBy: {
|
|
|
221
221
|
f: (a: A) => string
|
|
222
222
|
): <R, E>(
|
|
223
223
|
ref: RefArray<R, E, A>
|
|
224
|
-
) =>
|
|
224
|
+
) => RefSubject.Computed<R, E, Record<string, ReadonlyArray<A>>>
|
|
225
225
|
<R, E, A>(
|
|
226
226
|
ref: RefArray<R, E, A>,
|
|
227
227
|
f: (a: A) => string
|
|
228
|
-
):
|
|
228
|
+
): RefSubject.Computed<R, E, Record<string, ReadonlyArray<A>>>
|
|
229
229
|
} = dual(2, function groupBy<R, E, A>(ref: RefArray<R, E, A>, f: (a: A) => string) {
|
|
230
|
-
return
|
|
230
|
+
return RefSubject.map(ref, ReadonlyArray.groupBy(f))
|
|
231
231
|
})
|
|
232
232
|
|
|
233
233
|
/**
|
|
@@ -246,7 +246,7 @@ export const insertAt: {
|
|
|
246
246
|
a: A
|
|
247
247
|
): Effect.Effect<R, E, ReadonlyArray<A>>
|
|
248
248
|
} = dual(3, function insertAt<R, E, A>(ref: RefArray<R, E, A>, index: number, a: A) {
|
|
249
|
-
return
|
|
249
|
+
return RefSubject.update(ref, (as) => Option.getOrElse(ReadonlyArray.insertAt(as, index, a), () => [...as, a]))
|
|
250
250
|
})
|
|
251
251
|
|
|
252
252
|
/**
|
|
@@ -254,8 +254,8 @@ export const insertAt: {
|
|
|
254
254
|
* @since 1.18.0
|
|
255
255
|
* @category computed
|
|
256
256
|
*/
|
|
257
|
-
export const isEmpty = <R, E, A>(ref: RefArray<R, E, A>):
|
|
258
|
-
|
|
257
|
+
export const isEmpty = <R, E, A>(ref: RefArray<R, E, A>): RefSubject.Computed<R, E, boolean> =>
|
|
258
|
+
RefSubject.map(ref, ReadonlyArray.isEmptyReadonlyArray)
|
|
259
259
|
|
|
260
260
|
/**
|
|
261
261
|
* Check to see if a RefArray is non-empty.
|
|
@@ -264,15 +264,15 @@ export const isEmpty = <R, E, A>(ref: RefArray<R, E, A>): Computed.Computed<R, E
|
|
|
264
264
|
*/
|
|
265
265
|
export const isNonEmpty = <R, E, A>(
|
|
266
266
|
ref: RefArray<R, E, A>
|
|
267
|
-
):
|
|
267
|
+
): RefSubject.Computed<R, E, boolean> => RefSubject.map(ref, ReadonlyArray.isNonEmptyReadonlyArray)
|
|
268
268
|
|
|
269
269
|
/**
|
|
270
270
|
* Get the current length of a RefArray.
|
|
271
271
|
* @since 1.18.0
|
|
272
272
|
* @category computed
|
|
273
273
|
*/
|
|
274
|
-
export const length = <R, E, A>(ref: RefArray<R, E, A>):
|
|
275
|
-
|
|
274
|
+
export const length = <R, E, A>(ref: RefArray<R, E, A>): RefSubject.Computed<R, E, number> =>
|
|
275
|
+
RefSubject.map(ref, ReadonlyArray.length)
|
|
276
276
|
|
|
277
277
|
/**
|
|
278
278
|
* Map (Endomorphic) the values of a RefArray.
|
|
@@ -282,13 +282,13 @@ export const length = <R, E, A>(ref: RefArray<R, E, A>): Computed.Computed<R, E,
|
|
|
282
282
|
export const map: {
|
|
283
283
|
<A>(
|
|
284
284
|
f: (a: A, index: number) => A
|
|
285
|
-
): <R, E>(ref: RefArray<R, E, A>) =>
|
|
285
|
+
): <R, E>(ref: RefArray<R, E, A>) => RefSubject.Computed<R, E, ReadonlyArray<A>>
|
|
286
286
|
<R, E, A>(
|
|
287
287
|
ref: RefArray<R, E, A>,
|
|
288
288
|
f: (a: A, index: number) => A
|
|
289
|
-
):
|
|
289
|
+
): RefSubject.Computed<R, E, ReadonlyArray<A>>
|
|
290
290
|
} = dual(2, function mapValues<R, E, A>(ref: RefArray<R, E, A>, f: (a: A, index: number) => A) {
|
|
291
|
-
return
|
|
291
|
+
return RefSubject.update(ref, ReadonlyArray.map(f))
|
|
292
292
|
})
|
|
293
293
|
|
|
294
294
|
/**
|
|
@@ -299,15 +299,15 @@ export const map: {
|
|
|
299
299
|
export const mapValues: {
|
|
300
300
|
<A, B>(
|
|
301
301
|
f: (a: A, index: number) => B
|
|
302
|
-
): <R, E>(ref: RefArray<R, E, A>) =>
|
|
302
|
+
): <R, E>(ref: RefArray<R, E, A>) => RefSubject.Computed<R, E, ReadonlyArray<B>>
|
|
303
303
|
<R, E, A, B>(
|
|
304
304
|
ref: RefArray<R, E, A>,
|
|
305
305
|
f: (a: A, index: number) => B
|
|
306
|
-
):
|
|
306
|
+
): RefSubject.Computed<R, E, ReadonlyArray<B>>
|
|
307
307
|
} = dual(
|
|
308
308
|
2,
|
|
309
309
|
function mapValues<R, E, A, B>(ref: RefArray<R, E, A>, f: (a: A, index: number) => B) {
|
|
310
|
-
return
|
|
310
|
+
return RefSubject.map(ref, ReadonlyArray.map(f))
|
|
311
311
|
}
|
|
312
312
|
)
|
|
313
313
|
|
|
@@ -327,7 +327,7 @@ export const modifyAt: {
|
|
|
327
327
|
f: (a: A) => A
|
|
328
328
|
): Effect.Effect<R, E, ReadonlyArray<A>>
|
|
329
329
|
} = dual(3, function modifyAt<R, E, A>(ref: RefArray<R, E, A>, index: number, f: (a: A) => A) {
|
|
330
|
-
return
|
|
330
|
+
return RefSubject.update(ref, ReadonlyArray.modify(index, f))
|
|
331
331
|
})
|
|
332
332
|
|
|
333
333
|
/**
|
|
@@ -340,14 +340,14 @@ export const partition: {
|
|
|
340
340
|
predicate: (a: A) => a is B
|
|
341
341
|
): <R, E>(
|
|
342
342
|
ref: RefArray<R, E, A>
|
|
343
|
-
) =>
|
|
344
|
-
<R, E, A>(ref: RefArray<R, E, A>, predicate: (a: A) => boolean):
|
|
343
|
+
) => RefSubject.Computed<R, E, readonly [ReadonlyArray<B>, ReadonlyArray<A>]>
|
|
344
|
+
<R, E, A>(ref: RefArray<R, E, A>, predicate: (a: A) => boolean): RefSubject.Computed<
|
|
345
345
|
never,
|
|
346
346
|
E,
|
|
347
347
|
readonly [ReadonlyArray<A>, ReadonlyArray<A>]
|
|
348
348
|
>
|
|
349
349
|
} = dual(2, function partition<R, E, A>(ref: RefArray<R, E, A>, predicate: (a: A) => boolean) {
|
|
350
|
-
return
|
|
350
|
+
return RefSubject.map(ref, ReadonlyArray.partition(predicate))
|
|
351
351
|
})
|
|
352
352
|
|
|
353
353
|
/**
|
|
@@ -359,16 +359,16 @@ export const reduce: {
|
|
|
359
359
|
<A, B>(
|
|
360
360
|
b: B,
|
|
361
361
|
f: (b: B, a: A, index: number) => B
|
|
362
|
-
): <R, E>(ref: RefArray<R, E, A>) =>
|
|
362
|
+
): <R, E>(ref: RefArray<R, E, A>) => RefSubject.Computed<R, E, B>
|
|
363
363
|
<R, E, A, B>(
|
|
364
364
|
ref: RefArray<R, E, A>,
|
|
365
365
|
b: B,
|
|
366
366
|
f: (b: B, a: A, index: number) => B
|
|
367
|
-
):
|
|
367
|
+
): RefSubject.Computed<R, E, B>
|
|
368
368
|
} = dual(
|
|
369
369
|
3,
|
|
370
370
|
function reduce<R, E, A, B>(ref: RefArray<R, E, A>, b: B, f: (b: B, a: A, index: number) => B) {
|
|
371
|
-
return
|
|
371
|
+
return RefSubject.map(ref, ReadonlyArray.reduce(b, f))
|
|
372
372
|
}
|
|
373
373
|
)
|
|
374
374
|
|
|
@@ -381,12 +381,12 @@ export const reduceRight: {
|
|
|
381
381
|
<A, B>(
|
|
382
382
|
b: B,
|
|
383
383
|
f: (b: B, a: A, index: number) => B
|
|
384
|
-
): <R, E>(ref: RefArray<R, E, A>) =>
|
|
384
|
+
): <R, E>(ref: RefArray<R, E, A>) => RefSubject.Computed<R, E, B>
|
|
385
385
|
<R, E, A, B>(
|
|
386
386
|
ref: RefArray<R, E, A>,
|
|
387
387
|
b: B,
|
|
388
388
|
f: (b: B, a: A, index: number) => B
|
|
389
|
-
):
|
|
389
|
+
): RefSubject.Computed<R, E, B>
|
|
390
390
|
} = dual(
|
|
391
391
|
3,
|
|
392
392
|
function reduceRight<R, E, A, B>(
|
|
@@ -394,7 +394,7 @@ export const reduceRight: {
|
|
|
394
394
|
b: B,
|
|
395
395
|
f: (b: B, a: A, index: number) => B
|
|
396
396
|
) {
|
|
397
|
-
return
|
|
397
|
+
return RefSubject.map(ref, ReadonlyArray.reduceRight(b, f))
|
|
398
398
|
}
|
|
399
399
|
)
|
|
400
400
|
|
|
@@ -414,7 +414,7 @@ export const replaceAt: {
|
|
|
414
414
|
a: A
|
|
415
415
|
): Effect.Effect<R, E, ReadonlyArray<A>>
|
|
416
416
|
} = dual(3, function replaceAt<R, E, A>(ref: RefArray<R, E, A>, index: number, a: A) {
|
|
417
|
-
return
|
|
417
|
+
return RefSubject.update(ref, ReadonlyArray.replace(index, a))
|
|
418
418
|
})
|
|
419
419
|
|
|
420
420
|
/**
|
|
@@ -426,7 +426,7 @@ export const rotate: {
|
|
|
426
426
|
(n: number): <R, E, A>(ref: RefArray<R, E, A>) => Effect.Effect<R, E, ReadonlyArray<A>>
|
|
427
427
|
<R, E, A>(ref: RefArray<R, E, A>, n: number): Effect.Effect<R, E, ReadonlyArray<A>>
|
|
428
428
|
} = dual(2, function rotate<R, E, A>(ref: RefArray<R, E, A>, n: number) {
|
|
429
|
-
return
|
|
429
|
+
return RefSubject.update(ref, ReadonlyArray.rotate(n))
|
|
430
430
|
})
|
|
431
431
|
|
|
432
432
|
/**
|
|
@@ -443,7 +443,7 @@ export const sortBy: {
|
|
|
443
443
|
orders: Iterable<Order.Order<A>>
|
|
444
444
|
): Effect.Effect<R, E, ReadonlyArray<A>>
|
|
445
445
|
} = dual(2, function sortBy<R, E, A>(ref: RefArray<R, E, A>, orders: Iterable<Order.Order<A>>) {
|
|
446
|
-
return
|
|
446
|
+
return RefSubject.update(ref, ReadonlyArray.sortBy(...orders))
|
|
447
447
|
})
|
|
448
448
|
|
|
449
449
|
/**
|
|
@@ -455,7 +455,7 @@ export const take: {
|
|
|
455
455
|
(n: number): <R, E, A>(ref: RefArray<R, E, A>) => Effect.Effect<R, E, ReadonlyArray<A>>
|
|
456
456
|
<R, E, A>(ref: RefArray<R, E, A>, n: number): Effect.Effect<R, E, ReadonlyArray<A>>
|
|
457
457
|
} = dual(2, function take<R, E, A>(ref: RefArray<R, E, A>, n: number) {
|
|
458
|
-
return
|
|
458
|
+
return RefSubject.update(ref, ReadonlyArray.take(n))
|
|
459
459
|
})
|
|
460
460
|
|
|
461
461
|
/**
|
|
@@ -467,7 +467,7 @@ export const takeRight: {
|
|
|
467
467
|
(n: number): <R, E, A>(ref: RefArray<R, E, A>) => Effect.Effect<R, E, ReadonlyArray<A>>
|
|
468
468
|
<R, E, A>(ref: RefArray<R, E, A>, n: number): Effect.Effect<R, E, ReadonlyArray<A>>
|
|
469
469
|
} = dual(2, function takeRight<R, E, A>(ref: RefArray<R, E, A>, n: number) {
|
|
470
|
-
return
|
|
470
|
+
return RefSubject.update(ref, ReadonlyArray.takeRight(n))
|
|
471
471
|
})
|
|
472
472
|
|
|
473
473
|
/**
|
|
@@ -486,7 +486,7 @@ export const takeWhile: {
|
|
|
486
486
|
} = dual(
|
|
487
487
|
2,
|
|
488
488
|
function takeWhile<R, E, A>(ref: RefArray<R, E, A>, predicate: (a: unknown) => boolean) {
|
|
489
|
-
return
|
|
489
|
+
return RefSubject.update(ref, ReadonlyArray.takeWhile(predicate))
|
|
490
490
|
}
|
|
491
491
|
)
|
|
492
492
|
|
|
@@ -497,14 +497,16 @@ export const takeWhile: {
|
|
|
497
497
|
*/
|
|
498
498
|
export const dedupeWith =
|
|
499
499
|
<A>(valueEq: Equivalence<A>) => <R, E>(ref: RefArray<R, E, A>): Effect.Effect<R, E, ReadonlyArray<A>> =>
|
|
500
|
-
|
|
500
|
+
RefSubject.update(ref, ReadonlyArray.dedupeWith(valueEq))
|
|
501
501
|
|
|
502
502
|
/**
|
|
503
503
|
* @since 1.18.0
|
|
504
504
|
*/
|
|
505
|
-
export const last = <R, E, A>(ref: RefArray<R, E, A>):
|
|
505
|
+
export const last = <R, E, A>(ref: RefArray<R, E, A>): RefSubject.Filtered<R, E, A> =>
|
|
506
|
+
RefSubject.filterMap(ref, ReadonlyArray.last)
|
|
506
507
|
|
|
507
508
|
/**
|
|
508
509
|
* @since 1.18.0
|
|
509
510
|
*/
|
|
510
|
-
export const head = <R, E, A>(ref: RefArray<R, E, A>):
|
|
511
|
+
export const head = <R, E, A>(ref: RefArray<R, E, A>): RefSubject.Filtered<R, E, A> =>
|
|
512
|
+
RefSubject.filterMap(ref, ReadonlyArray.head)
|
package/src/RefChunk.ts
CHANGED
|
@@ -10,8 +10,6 @@ import { equals } from "effect/Equal"
|
|
|
10
10
|
import type { Equivalence } from "effect/Equivalence"
|
|
11
11
|
import { dual } from "effect/Function"
|
|
12
12
|
import type * as Scope from "effect/Scope"
|
|
13
|
-
import type * as Computed from "./Computed.js"
|
|
14
|
-
import type * as Filtered from "./Filtered.js"
|
|
15
13
|
import type * as Fx from "./Fx.js"
|
|
16
14
|
import * as RefSubject from "./RefSubject.js"
|
|
17
15
|
|
|
@@ -37,12 +35,14 @@ export function make<R, E, A>(
|
|
|
37
35
|
): Effect.Effect<R | Scope.Scope, never, RefChunk<never, E, A>>
|
|
38
36
|
|
|
39
37
|
export function make<R, E, A>(
|
|
40
|
-
initial: Fx.
|
|
38
|
+
initial: Fx.Fx<R, E, Chunk.Chunk<A>> | Effect.Effect<R, E, Chunk.Chunk<A>>,
|
|
41
39
|
eq: Equivalence<A> = equals
|
|
42
40
|
): Effect.Effect<R | Scope.Scope, never, RefChunk<never, E, A>> {
|
|
43
41
|
return RefSubject.make(
|
|
44
42
|
initial,
|
|
45
|
-
|
|
43
|
+
{
|
|
44
|
+
eq: Chunk.getEquivalence(eq)
|
|
45
|
+
}
|
|
46
46
|
)
|
|
47
47
|
}
|
|
48
48
|
|
|
@@ -68,7 +68,7 @@ export const prepend: {
|
|
|
68
68
|
<A>(value: A): <R, E>(ref: RefChunk<R, E, A>) => Effect.Effect<R, E, Chunk.Chunk<A>>
|
|
69
69
|
<R, E, A>(ref: RefChunk<R, E, A>, value: A): Effect.Effect<R, E, Chunk.Chunk<A>>
|
|
70
70
|
} = dual(2, function prepend<R, E, A>(ref: RefChunk<R, E, A>, value: A) {
|
|
71
|
-
return
|
|
71
|
+
return RefSubject.update(ref, Chunk.prepend(value))
|
|
72
72
|
})
|
|
73
73
|
|
|
74
74
|
/**
|
|
@@ -82,7 +82,7 @@ export const prependAll: {
|
|
|
82
82
|
} = dual(
|
|
83
83
|
2,
|
|
84
84
|
function prependAll<R, E, A>(ref: RefChunk<R, E, A>, value: Iterable<A>) {
|
|
85
|
-
return
|
|
85
|
+
return RefSubject.update(ref, Chunk.prependAll(Chunk.fromIterable(value)))
|
|
86
86
|
}
|
|
87
87
|
)
|
|
88
88
|
|
|
@@ -95,7 +95,7 @@ export const append: {
|
|
|
95
95
|
<A>(value: A): <R, E>(ref: RefChunk<R, E, A>) => Effect.Effect<R, E, Chunk.Chunk<A>>
|
|
96
96
|
<R, E, A>(ref: RefChunk<R, E, A>, value: A): Effect.Effect<R, E, Chunk.Chunk<A>>
|
|
97
97
|
} = dual(2, function append<R, E, A>(ref: RefChunk<R, E, A>, value: A) {
|
|
98
|
-
return
|
|
98
|
+
return RefSubject.update(ref, Chunk.append(value))
|
|
99
99
|
})
|
|
100
100
|
|
|
101
101
|
/**
|
|
@@ -109,7 +109,7 @@ export const appendAll: {
|
|
|
109
109
|
): <R, E>(ref: RefChunk<R, E, A>) => Effect.Effect<R, E, Chunk.Chunk<A>>
|
|
110
110
|
<R, E, A>(ref: RefChunk<R, E, A>, value: Iterable<A>): Effect.Effect<R, E, Chunk.Chunk<A>>
|
|
111
111
|
} = dual(2, function appendAll<R, E, A>(ref: RefChunk<R, E, A>, value: Iterable<A>) {
|
|
112
|
-
return
|
|
112
|
+
return RefSubject.update(ref, Chunk.appendAll(Chunk.fromIterable(value)))
|
|
113
113
|
})
|
|
114
114
|
|
|
115
115
|
/**
|
|
@@ -121,7 +121,7 @@ export const drop: {
|
|
|
121
121
|
(n: number): <R, E, A>(ref: RefChunk<R, E, A>) => Effect.Effect<R, E, Chunk.Chunk<A>>
|
|
122
122
|
<R, E, A>(ref: RefChunk<R, E, A>, n: number): Effect.Effect<R, E, Chunk.Chunk<A>>
|
|
123
123
|
} = dual(2, function drop<R, E, A>(ref: RefChunk<R, E, A>, n: number) {
|
|
124
|
-
return
|
|
124
|
+
return RefSubject.update(ref, Chunk.drop(n))
|
|
125
125
|
})
|
|
126
126
|
|
|
127
127
|
/**
|
|
@@ -133,7 +133,7 @@ export const dropRight: {
|
|
|
133
133
|
(n: number): <R, E, A>(ref: RefChunk<R, E, A>) => Effect.Effect<R, E, Chunk.Chunk<A>>
|
|
134
134
|
<R, E, A>(ref: RefChunk<R, E, A>, n: number): Effect.Effect<R, E, Chunk.Chunk<A>>
|
|
135
135
|
} = dual(2, function dropRight<R, E, A>(ref: RefChunk<R, E, A>, n: number) {
|
|
136
|
-
return
|
|
136
|
+
return RefSubject.update(ref, Chunk.dropRight(n))
|
|
137
137
|
})
|
|
138
138
|
|
|
139
139
|
/**
|
|
@@ -152,7 +152,7 @@ export const dropWhile: {
|
|
|
152
152
|
} = dual(
|
|
153
153
|
2,
|
|
154
154
|
function dropWhile<R, E, A>(ref: RefChunk<R, E, A>, predicate: (a: A) => boolean) {
|
|
155
|
-
return
|
|
155
|
+
return RefSubject.update(ref, Chunk.dropWhile(predicate))
|
|
156
156
|
}
|
|
157
157
|
)
|
|
158
158
|
|
|
@@ -164,13 +164,13 @@ export const dropWhile: {
|
|
|
164
164
|
export const filterValues: {
|
|
165
165
|
<A>(
|
|
166
166
|
predicate: (a: A) => boolean
|
|
167
|
-
): <R, E>(ref: RefChunk<R, E, A>) =>
|
|
167
|
+
): <R, E>(ref: RefChunk<R, E, A>) => RefSubject.Computed<R, E, Chunk.Chunk<A>>
|
|
168
168
|
<R, E, A>(
|
|
169
169
|
ref: RefChunk<R, E, A>,
|
|
170
170
|
predicate: (a: A) => boolean
|
|
171
|
-
):
|
|
171
|
+
): RefSubject.Computed<R, E, Chunk.Chunk<A>>
|
|
172
172
|
} = dual(2, function filterValues<R, E, A>(ref: RefChunk<R, E, A>, predicate: (a: A) => boolean) {
|
|
173
|
-
return
|
|
173
|
+
return RefSubject.map(ref, Chunk.filter(predicate))
|
|
174
174
|
})
|
|
175
175
|
|
|
176
176
|
/**
|
|
@@ -179,10 +179,10 @@ export const filterValues: {
|
|
|
179
179
|
* @category filtered
|
|
180
180
|
*/
|
|
181
181
|
export const getIndex: {
|
|
182
|
-
(index: number): <R, E, A>(ref: RefChunk<R, E, A>) =>
|
|
183
|
-
<R, E, A>(ref: RefChunk<R, E, A>, index: number):
|
|
182
|
+
(index: number): <R, E, A>(ref: RefChunk<R, E, A>) => RefSubject.Filtered<R, E, A>
|
|
183
|
+
<R, E, A>(ref: RefChunk<R, E, A>, index: number): RefSubject.Filtered<R, E, A>
|
|
184
184
|
} = dual(2, function getIndex<R, E, A>(ref: RefChunk<R, E, A>, index: number) {
|
|
185
|
-
return
|
|
185
|
+
return RefSubject.filterMap(ref, Chunk.get(index))
|
|
186
186
|
})
|
|
187
187
|
|
|
188
188
|
/**
|
|
@@ -190,7 +190,8 @@ export const getIndex: {
|
|
|
190
190
|
* @since 1.18.0
|
|
191
191
|
* @category computed
|
|
192
192
|
*/
|
|
193
|
-
export const isEmpty = <R, E, A>(ref: RefChunk<R, E, A>):
|
|
193
|
+
export const isEmpty = <R, E, A>(ref: RefChunk<R, E, A>): RefSubject.Computed<R, E, boolean> =>
|
|
194
|
+
RefSubject.map(ref, Chunk.isEmpty)
|
|
194
195
|
|
|
195
196
|
/**
|
|
196
197
|
* Check to see if a RefChunk is non-empty.
|
|
@@ -199,14 +200,15 @@ export const isEmpty = <R, E, A>(ref: RefChunk<R, E, A>): Computed.Computed<R, E
|
|
|
199
200
|
*/
|
|
200
201
|
export const isNonEmpty = <R, E, A>(
|
|
201
202
|
ref: RefChunk<R, E, A>
|
|
202
|
-
):
|
|
203
|
+
): RefSubject.Computed<R, E, boolean> => RefSubject.map(ref, Chunk.isNonEmpty)
|
|
203
204
|
|
|
204
205
|
/**
|
|
205
206
|
* Get the current length of a RefChunk.
|
|
206
207
|
* @since 1.18.0
|
|
207
208
|
* @category computed
|
|
208
209
|
*/
|
|
209
|
-
export const size = <R, E, A>(ref: RefChunk<R, E, A>):
|
|
210
|
+
export const size = <R, E, A>(ref: RefChunk<R, E, A>): RefSubject.Computed<R, E, number> =>
|
|
211
|
+
RefSubject.map(ref, Chunk.size)
|
|
210
212
|
|
|
211
213
|
/**
|
|
212
214
|
* Map (Endomorphic) the values of a RefChunk.
|
|
@@ -216,13 +218,13 @@ export const size = <R, E, A>(ref: RefChunk<R, E, A>): Computed.Computed<R, E, n
|
|
|
216
218
|
export const map: {
|
|
217
219
|
<A>(
|
|
218
220
|
f: (a: A, index: number) => A
|
|
219
|
-
): <R, E>(ref: RefChunk<R, E, A>) =>
|
|
221
|
+
): <R, E>(ref: RefChunk<R, E, A>) => RefSubject.Computed<R, E, Chunk.Chunk<A>>
|
|
220
222
|
<R, E, A>(
|
|
221
223
|
ref: RefChunk<R, E, A>,
|
|
222
224
|
f: (a: A, index: number) => A
|
|
223
|
-
):
|
|
225
|
+
): RefSubject.Computed<R, E, Chunk.Chunk<A>>
|
|
224
226
|
} = dual(2, function mapValues<R, E, A>(ref: RefChunk<R, E, A>, f: (a: A, index: number) => A) {
|
|
225
|
-
return
|
|
227
|
+
return RefSubject.update(ref, Chunk.map(f))
|
|
226
228
|
})
|
|
227
229
|
|
|
228
230
|
/**
|
|
@@ -233,15 +235,15 @@ export const map: {
|
|
|
233
235
|
export const mapValues: {
|
|
234
236
|
<A, B>(
|
|
235
237
|
f: (a: A, index: number) => B
|
|
236
|
-
): <R, E>(ref: RefChunk<R, E, A>) =>
|
|
238
|
+
): <R, E>(ref: RefChunk<R, E, A>) => RefSubject.Computed<R, E, ReadonlyArray<B>>
|
|
237
239
|
<R, E, A, B>(
|
|
238
240
|
ref: RefChunk<R, E, A>,
|
|
239
241
|
f: (a: A, index: number) => B
|
|
240
|
-
):
|
|
242
|
+
): RefSubject.Computed<R, E, ReadonlyArray<B>>
|
|
241
243
|
} = dual(
|
|
242
244
|
2,
|
|
243
245
|
function mapValues<R, E, A, B>(ref: RefChunk<R, E, A>, f: (a: A, index: number) => B) {
|
|
244
|
-
return
|
|
246
|
+
return RefSubject.map(ref, Chunk.map(f))
|
|
245
247
|
}
|
|
246
248
|
)
|
|
247
249
|
|
|
@@ -261,7 +263,7 @@ export const modifyAt: {
|
|
|
261
263
|
f: (a: A) => A
|
|
262
264
|
): Effect.Effect<R, E, Chunk.Chunk<A>>
|
|
263
265
|
} = dual(3, function modifyAt<R, E, A>(ref: RefChunk<R, E, A>, index: number, f: (a: A) => A) {
|
|
264
|
-
return
|
|
266
|
+
return RefSubject.update(ref, Chunk.modify(index, f))
|
|
265
267
|
})
|
|
266
268
|
|
|
267
269
|
/**
|
|
@@ -274,14 +276,14 @@ export const partition: {
|
|
|
274
276
|
predicate: (a: A) => a is B
|
|
275
277
|
): <R, E>(
|
|
276
278
|
ref: RefChunk<R, E, A>
|
|
277
|
-
) =>
|
|
278
|
-
<R, E, A>(ref: RefChunk<R, E, A>, predicate: (a: A) => boolean):
|
|
279
|
+
) => RefSubject.Computed<R, E, readonly [ReadonlyArray<B>, Chunk.Chunk<A>]>
|
|
280
|
+
<R, E, A>(ref: RefChunk<R, E, A>, predicate: (a: A) => boolean): RefSubject.Computed<
|
|
279
281
|
never,
|
|
280
282
|
E,
|
|
281
283
|
readonly [Chunk.Chunk<A>, Chunk.Chunk<A>]
|
|
282
284
|
>
|
|
283
285
|
} = dual(2, function partition<R, E, A>(ref: RefChunk<R, E, A>, predicate: (a: A) => boolean) {
|
|
284
|
-
return
|
|
286
|
+
return RefSubject.map(ref, Chunk.partition(predicate))
|
|
285
287
|
})
|
|
286
288
|
|
|
287
289
|
/**
|
|
@@ -293,16 +295,16 @@ export const reduce: {
|
|
|
293
295
|
<A, B>(
|
|
294
296
|
b: B,
|
|
295
297
|
f: (b: B, a: A, index: number) => B
|
|
296
|
-
): <R, E>(ref: RefChunk<R, E, A>) =>
|
|
298
|
+
): <R, E>(ref: RefChunk<R, E, A>) => RefSubject.Computed<R, E, B>
|
|
297
299
|
<R, E, A, B>(
|
|
298
300
|
ref: RefChunk<R, E, A>,
|
|
299
301
|
b: B,
|
|
300
302
|
f: (b: B, a: A, index: number) => B
|
|
301
|
-
):
|
|
303
|
+
): RefSubject.Computed<R, E, B>
|
|
302
304
|
} = dual(
|
|
303
305
|
3,
|
|
304
306
|
function reduce<R, E, A, B>(ref: RefChunk<R, E, A>, b: B, f: (b: B, a: A, index: number) => B) {
|
|
305
|
-
return
|
|
307
|
+
return RefSubject.map(ref, Chunk.reduce(b, f))
|
|
306
308
|
}
|
|
307
309
|
)
|
|
308
310
|
|
|
@@ -315,12 +317,12 @@ export const reduceRight: {
|
|
|
315
317
|
<A, B>(
|
|
316
318
|
b: B,
|
|
317
319
|
f: (b: B, a: A, index: number) => B
|
|
318
|
-
): <R, E>(ref: RefChunk<R, E, A>) =>
|
|
320
|
+
): <R, E>(ref: RefChunk<R, E, A>) => RefSubject.Computed<R, E, B>
|
|
319
321
|
<R, E, A, B>(
|
|
320
322
|
ref: RefChunk<R, E, A>,
|
|
321
323
|
b: B,
|
|
322
324
|
f: (b: B, a: A, index: number) => B
|
|
323
|
-
):
|
|
325
|
+
): RefSubject.Computed<R, E, B>
|
|
324
326
|
} = dual(
|
|
325
327
|
3,
|
|
326
328
|
function reduceRight<R, E, A, B>(
|
|
@@ -328,7 +330,7 @@ export const reduceRight: {
|
|
|
328
330
|
b: B,
|
|
329
331
|
f: (b: B, a: A, index: number) => B
|
|
330
332
|
) {
|
|
331
|
-
return
|
|
333
|
+
return RefSubject.map(ref, Chunk.reduceRight(b, f))
|
|
332
334
|
}
|
|
333
335
|
)
|
|
334
336
|
|
|
@@ -348,7 +350,7 @@ export const replaceAt: {
|
|
|
348
350
|
a: A
|
|
349
351
|
): Effect.Effect<R, E, Chunk.Chunk<A>>
|
|
350
352
|
} = dual(3, function replaceAt<R, E, A>(ref: RefChunk<R, E, A>, index: number, a: A) {
|
|
351
|
-
return
|
|
353
|
+
return RefSubject.update(ref, Chunk.replace(index, a))
|
|
352
354
|
})
|
|
353
355
|
|
|
354
356
|
/**
|
|
@@ -360,7 +362,7 @@ export const take: {
|
|
|
360
362
|
(n: number): <R, E, A>(ref: RefChunk<R, E, A>) => Effect.Effect<R, E, Chunk.Chunk<A>>
|
|
361
363
|
<R, E, A>(ref: RefChunk<R, E, A>, n: number): Effect.Effect<R, E, Chunk.Chunk<A>>
|
|
362
364
|
} = dual(2, function take<R, E, A>(ref: RefChunk<R, E, A>, n: number) {
|
|
363
|
-
return
|
|
365
|
+
return RefSubject.update(ref, Chunk.take(n))
|
|
364
366
|
})
|
|
365
367
|
|
|
366
368
|
/**
|
|
@@ -372,7 +374,7 @@ export const takeRight: {
|
|
|
372
374
|
(n: number): <R, E, A>(ref: RefChunk<R, E, A>) => Effect.Effect<R, E, Chunk.Chunk<A>>
|
|
373
375
|
<R, E, A>(ref: RefChunk<R, E, A>, n: number): Effect.Effect<R, E, Chunk.Chunk<A>>
|
|
374
376
|
} = dual(2, function takeRight<R, E, A>(ref: RefChunk<R, E, A>, n: number) {
|
|
375
|
-
return
|
|
377
|
+
return RefSubject.update(ref, Chunk.takeRight(n))
|
|
376
378
|
})
|
|
377
379
|
|
|
378
380
|
/**
|
|
@@ -391,7 +393,7 @@ export const takeWhile: {
|
|
|
391
393
|
} = dual(
|
|
392
394
|
2,
|
|
393
395
|
function takeWhile<R, E, A>(ref: RefChunk<R, E, A>, predicate: (a: A) => boolean) {
|
|
394
|
-
return
|
|
396
|
+
return RefSubject.update(ref, Chunk.takeWhile(predicate))
|
|
395
397
|
}
|
|
396
398
|
)
|
|
397
399
|
|
|
@@ -400,4 +402,5 @@ export const takeWhile: {
|
|
|
400
402
|
* @since 1.18.0
|
|
401
403
|
* @category combinators
|
|
402
404
|
*/
|
|
403
|
-
export const dedupe = <R, E, A>(ref: RefChunk<R, E, A>): Effect.Effect<R, E, Chunk.Chunk<A>> =>
|
|
405
|
+
export const dedupe = <R, E, A>(ref: RefChunk<R, E, A>): Effect.Effect<R, E, Chunk.Chunk<A>> =>
|
|
406
|
+
RefSubject.update(ref, Chunk.dedupe)
|