@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/RefHashMap.ts
CHANGED
|
@@ -3,13 +3,12 @@
|
|
|
3
3
|
*/
|
|
4
4
|
|
|
5
5
|
import type { IdentifierConstructor, IdentifierOf } from "@typed/context"
|
|
6
|
-
import {
|
|
6
|
+
import type { Scope } from "effect"
|
|
7
7
|
import * as Effect from "effect/Effect"
|
|
8
8
|
import { dual } from "effect/Function"
|
|
9
9
|
import * as HashMap from "effect/HashMap"
|
|
10
|
+
import * as HashSet from "effect/HashSet"
|
|
10
11
|
import type { Option } from "effect/Option"
|
|
11
|
-
import type { Computed } from "./Computed.js"
|
|
12
|
-
import type { Filtered } from "./Filtered.js"
|
|
13
12
|
import type * as Fx from "./Fx.js"
|
|
14
13
|
import * as RefSubject from "./RefSubject.js"
|
|
15
14
|
|
|
@@ -33,7 +32,7 @@ export function make<R, E, K, V>(
|
|
|
33
32
|
): Effect.Effect<R | Scope.Scope, never, RefHashMap<never, E, K, V>>
|
|
34
33
|
|
|
35
34
|
export function make<R, E, K, V>(
|
|
36
|
-
initial: Fx.
|
|
35
|
+
initial: Effect.Effect<R, E, HashMap.HashMap<K, V>> | Fx.Fx<R, E, HashMap.HashMap<K, V>>
|
|
37
36
|
): Effect.Effect<R | Scope.Scope, never, RefHashMap<never, E, K, V>> {
|
|
38
37
|
return RefSubject.make(initial)
|
|
39
38
|
}
|
|
@@ -68,10 +67,10 @@ export function of<K, V>(
|
|
|
68
67
|
* @category computed
|
|
69
68
|
*/
|
|
70
69
|
export const has: {
|
|
71
|
-
<K>(key: K): <R, E, V>(refHashMap: RefHashMap<R, E, K, V>) => Computed<R, E, boolean>
|
|
72
|
-
<R, E, K, V>(refHashMap: RefHashMap<R, E, K, V>, key: K): Computed<R, E, boolean>
|
|
73
|
-
} = dual(2, function has<R, E, K, V>(refHashMap: RefHashMap<R, E, K, V>, key: K): Computed<R, E, boolean> {
|
|
74
|
-
return
|
|
70
|
+
<K>(key: K): <R, E, V>(refHashMap: RefHashMap<R, E, K, V>) => RefSubject.Computed<R, E, boolean>
|
|
71
|
+
<R, E, K, V>(refHashMap: RefHashMap<R, E, K, V>, key: K): RefSubject.Computed<R, E, boolean>
|
|
72
|
+
} = dual(2, function has<R, E, K, V>(refHashMap: RefHashMap<R, E, K, V>, key: K): RefSubject.Computed<R, E, boolean> {
|
|
73
|
+
return RefSubject.map(refHashMap, HashMap.has(key))
|
|
75
74
|
})
|
|
76
75
|
|
|
77
76
|
/**
|
|
@@ -80,12 +79,16 @@ export const has: {
|
|
|
80
79
|
* @category computed
|
|
81
80
|
*/
|
|
82
81
|
export const hasHash: {
|
|
83
|
-
<K>(key: K, hash: number): <R, E, V>(refHashMap: RefHashMap<R, E, K, V>) => Computed<R, E, boolean>
|
|
84
|
-
<R, E, K, V>(refHashMap: RefHashMap<R, E, K, V>, key: K, hash: number): Computed<R, E, boolean>
|
|
82
|
+
<K>(key: K, hash: number): <R, E, V>(refHashMap: RefHashMap<R, E, K, V>) => RefSubject.Computed<R, E, boolean>
|
|
83
|
+
<R, E, K, V>(refHashMap: RefHashMap<R, E, K, V>, key: K, hash: number): RefSubject.Computed<R, E, boolean>
|
|
85
84
|
} = dual(
|
|
86
85
|
3,
|
|
87
|
-
function hasHash<R, E, K, V>(
|
|
88
|
-
|
|
86
|
+
function hasHash<R, E, K, V>(
|
|
87
|
+
refHashMap: RefHashMap<R, E, K, V>,
|
|
88
|
+
key: K,
|
|
89
|
+
hash: number
|
|
90
|
+
): RefSubject.Computed<R, E, boolean> {
|
|
91
|
+
return RefSubject.map(refHashMap, HashMap.hasHash(key, hash))
|
|
89
92
|
}
|
|
90
93
|
)
|
|
91
94
|
|
|
@@ -94,8 +97,8 @@ export const hasHash: {
|
|
|
94
97
|
* @since 1.18.0
|
|
95
98
|
* @category computed
|
|
96
99
|
*/
|
|
97
|
-
export function isEmpty<R, E, K, V>(refHashMap: RefHashMap<R, E, K, V>): Computed<R, E, boolean> {
|
|
98
|
-
return
|
|
100
|
+
export function isEmpty<R, E, K, V>(refHashMap: RefHashMap<R, E, K, V>): RefSubject.Computed<R, E, boolean> {
|
|
101
|
+
return RefSubject.map(refHashMap, HashMap.isEmpty)
|
|
99
102
|
}
|
|
100
103
|
|
|
101
104
|
/**
|
|
@@ -103,8 +106,8 @@ export function isEmpty<R, E, K, V>(refHashMap: RefHashMap<R, E, K, V>): Compute
|
|
|
103
106
|
* @since 1.18.0
|
|
104
107
|
* @category computed
|
|
105
108
|
*/
|
|
106
|
-
export function keySet<R, E, K, V>(refHashMap: RefHashMap<R, E, K, V>): Computed<R, E, HashSet.HashSet<K>> {
|
|
107
|
-
return
|
|
109
|
+
export function keySet<R, E, K, V>(refHashMap: RefHashMap<R, E, K, V>): RefSubject.Computed<R, E, HashSet.HashSet<K>> {
|
|
110
|
+
return RefSubject.map(refHashMap, HashMap.keySet)
|
|
108
111
|
}
|
|
109
112
|
|
|
110
113
|
/**
|
|
@@ -112,8 +115,8 @@ export function keySet<R, E, K, V>(refHashMap: RefHashMap<R, E, K, V>): Computed
|
|
|
112
115
|
* @since 1.18.0
|
|
113
116
|
* @category computed
|
|
114
117
|
*/
|
|
115
|
-
export function keys<R, E, K, V>(refHashMap: RefHashMap<R, E, K, V>): Computed<R, E, Iterable<K>> {
|
|
116
|
-
return
|
|
118
|
+
export function keys<R, E, K, V>(refHashMap: RefHashMap<R, E, K, V>): RefSubject.Computed<R, E, Iterable<K>> {
|
|
119
|
+
return RefSubject.map(refHashMap, HashMap.keys)
|
|
117
120
|
}
|
|
118
121
|
|
|
119
122
|
/**
|
|
@@ -130,7 +133,7 @@ export const map: {
|
|
|
130
133
|
refHashMap: RefHashMap<R, E, K, V>,
|
|
131
134
|
f: (v: V, k: K) => V
|
|
132
135
|
): Effect.Effect<R, E, HashMap.HashMap<K, V>> {
|
|
133
|
-
return
|
|
136
|
+
return RefSubject.update(refHashMap, HashMap.map(f))
|
|
134
137
|
})
|
|
135
138
|
|
|
136
139
|
/**
|
|
@@ -153,7 +156,7 @@ export const modify: {
|
|
|
153
156
|
key: K,
|
|
154
157
|
f: (v: V) => V
|
|
155
158
|
): Effect.Effect<R, E, HashMap.HashMap<K, V>> {
|
|
156
|
-
return
|
|
159
|
+
return RefSubject.update(refHashMap, HashMap.modify(key, f))
|
|
157
160
|
})
|
|
158
161
|
|
|
159
162
|
/**
|
|
@@ -176,7 +179,7 @@ export const modifyAt: {
|
|
|
176
179
|
key: K,
|
|
177
180
|
f: HashMap.HashMap.UpdateFn<V>
|
|
178
181
|
): Effect.Effect<R, E, HashMap.HashMap<K, V>> {
|
|
179
|
-
return
|
|
182
|
+
return RefSubject.update(self, HashMap.modifyAt(key, f))
|
|
180
183
|
})
|
|
181
184
|
|
|
182
185
|
/**
|
|
@@ -202,7 +205,7 @@ export const modifyHash: {
|
|
|
202
205
|
hash: number,
|
|
203
206
|
f: HashMap.HashMap.UpdateFn<V>
|
|
204
207
|
): Effect.Effect<R, E, HashMap.HashMap<K, V>> {
|
|
205
|
-
return
|
|
208
|
+
return RefSubject.update(self, HashMap.modifyHash(key, hash, f))
|
|
206
209
|
})
|
|
207
210
|
|
|
208
211
|
/**
|
|
@@ -211,14 +214,21 @@ export const modifyHash: {
|
|
|
211
214
|
* @category computed
|
|
212
215
|
*/
|
|
213
216
|
export const reduce: {
|
|
214
|
-
<K, V, B>(
|
|
215
|
-
|
|
217
|
+
<K, V, B>(
|
|
218
|
+
seed: B,
|
|
219
|
+
f: (acc: B, a: V, k: K) => B
|
|
220
|
+
): <R, E>(refHashMap: RefHashMap<R, E, K, V>) => RefSubject.Computed<R, E, B>
|
|
221
|
+
<R, E, K, V, B>(
|
|
222
|
+
refHashMap: RefHashMap<R, E, K, V>,
|
|
223
|
+
seed: B,
|
|
224
|
+
f: (acc: B, a: V, k: K) => B
|
|
225
|
+
): RefSubject.Computed<R, E, B>
|
|
216
226
|
} = dual(3, function reduce<R, E, K, V, B>(
|
|
217
227
|
refHashMap: RefHashMap<R, E, K, V>,
|
|
218
228
|
seed: B,
|
|
219
229
|
f: (acc: B, a: V, k: K) => B
|
|
220
|
-
): Computed<R, E, B> {
|
|
221
|
-
return
|
|
230
|
+
): RefSubject.Computed<R, E, B> {
|
|
231
|
+
return RefSubject.map(refHashMap, HashMap.reduce(seed, f))
|
|
222
232
|
})
|
|
223
233
|
|
|
224
234
|
/**
|
|
@@ -230,7 +240,7 @@ export const remove: {
|
|
|
230
240
|
<K>(key: K): <R, E, V>(refHashMap: RefHashMap<R, E, K, V>) => Effect.Effect<R, E, HashMap.HashMap<K, V>>
|
|
231
241
|
<R, E, K, V>(refHashMap: RefHashMap<R, E, K, V>, key: K): Effect.Effect<R, E, HashMap.HashMap<K, V>>
|
|
232
242
|
} = dual(2, function remove<R, E, K, V>(refHashMap: RefHashMap<R, E, K, V>, key: K) {
|
|
233
|
-
return
|
|
243
|
+
return RefSubject.update(refHashMap, HashMap.remove(key))
|
|
234
244
|
})
|
|
235
245
|
|
|
236
246
|
/**
|
|
@@ -242,7 +252,7 @@ export const removeMany: {
|
|
|
242
252
|
<K>(key: Iterable<K>): <R, E, V>(refHashMap: RefHashMap<R, E, K, V>) => Effect.Effect<R, E, HashMap.HashMap<K, V>>
|
|
243
253
|
<R, E, K, V>(refHashMap: RefHashMap<R, E, K, V>, key: Iterable<K>): Effect.Effect<R, E, HashMap.HashMap<K, V>>
|
|
244
254
|
} = dual(2, function removeMany<R, E, K, V>(refHashMap: RefHashMap<R, E, K, V>, key: Iterable<K>) {
|
|
245
|
-
return
|
|
255
|
+
return RefSubject.update(refHashMap, HashMap.removeMany(key))
|
|
246
256
|
})
|
|
247
257
|
|
|
248
258
|
/**
|
|
@@ -257,7 +267,7 @@ export const set: {
|
|
|
257
267
|
): <R, E>(refHashMap: RefHashMap<R, E, K, V>) => Effect.Effect<R, E, HashMap.HashMap<K, V>>
|
|
258
268
|
<R, E, K, V>(refHashMap: RefHashMap<R, E, K, V>, key: K, value: V): Effect.Effect<R, E, HashMap.HashMap<K, V>>
|
|
259
269
|
} = dual(3, function set<R, E, K, V>(refHashMap: RefHashMap<R, E, K, V>, key: K, value: V) {
|
|
260
|
-
return
|
|
270
|
+
return RefSubject.update(refHashMap, HashMap.set(key, value))
|
|
261
271
|
})
|
|
262
272
|
|
|
263
273
|
/**
|
|
@@ -265,8 +275,8 @@ export const set: {
|
|
|
265
275
|
* @since 1.18.0
|
|
266
276
|
* @category computed
|
|
267
277
|
*/
|
|
268
|
-
export function size<R, E, K, V>(refHashMap: RefHashMap<R, E, K, V>): Computed<R, E, number> {
|
|
269
|
-
return
|
|
278
|
+
export function size<R, E, K, V>(refHashMap: RefHashMap<R, E, K, V>): RefSubject.Computed<R, E, number> {
|
|
279
|
+
return RefSubject.map(refHashMap, HashMap.size)
|
|
270
280
|
}
|
|
271
281
|
|
|
272
282
|
/**
|
|
@@ -274,8 +284,8 @@ export function size<R, E, K, V>(refHashMap: RefHashMap<R, E, K, V>): Computed<R
|
|
|
274
284
|
* @since 1.18.0
|
|
275
285
|
* @category computed
|
|
276
286
|
*/
|
|
277
|
-
export function values<R, E, K, V>(refHashMap: RefHashMap<R, E, K, V>): Computed<R, E, Iterable<V>> {
|
|
278
|
-
return
|
|
287
|
+
export function values<R, E, K, V>(refHashMap: RefHashMap<R, E, K, V>): RefSubject.Computed<R, E, Iterable<V>> {
|
|
288
|
+
return RefSubject.map(refHashMap, HashMap.values)
|
|
279
289
|
}
|
|
280
290
|
|
|
281
291
|
/**
|
|
@@ -283,8 +293,10 @@ export function values<R, E, K, V>(refHashMap: RefHashMap<R, E, K, V>): Computed
|
|
|
283
293
|
* @since 1.18.0
|
|
284
294
|
* @category computed
|
|
285
295
|
*/
|
|
286
|
-
export function valuesSet<R, E, K, V>(
|
|
287
|
-
|
|
296
|
+
export function valuesSet<R, E, K, V>(
|
|
297
|
+
refHashMap: RefHashMap<R, E, K, V>
|
|
298
|
+
): RefSubject.Computed<R, E, HashSet.HashSet<V>> {
|
|
299
|
+
return RefSubject.map(values(refHashMap), HashSet.fromIterable)
|
|
288
300
|
}
|
|
289
301
|
|
|
290
302
|
/**
|
|
@@ -292,8 +304,10 @@ export function valuesSet<R, E, K, V>(refHashMap: RefHashMap<R, E, K, V>): Compu
|
|
|
292
304
|
* @since 1.18.0
|
|
293
305
|
* @category computed
|
|
294
306
|
*/
|
|
295
|
-
export function compact<R, E, K, V>(
|
|
296
|
-
|
|
307
|
+
export function compact<R, E, K, V>(
|
|
308
|
+
refHashMap: RefHashMap<R, E, K, Option<V>>
|
|
309
|
+
): RefSubject.Computed<R, E, HashMap.HashMap<K, V>> {
|
|
310
|
+
return RefSubject.map(refHashMap, HashMap.compact)
|
|
297
311
|
}
|
|
298
312
|
|
|
299
313
|
/**
|
|
@@ -301,10 +315,10 @@ export function compact<R, E, K, V>(refHashMap: RefHashMap<R, E, K, Option<V>>):
|
|
|
301
315
|
* @category filtered
|
|
302
316
|
*/
|
|
303
317
|
export const get: {
|
|
304
|
-
<K>(key: K): <R, E, V>(refHashMap: RefHashMap<R, E, K, V>) => Filtered<R, E, V>
|
|
305
|
-
<R, E, K, V>(refHashMap: RefHashMap<R, E, K, V>, key: K): Filtered<R, E, V>
|
|
318
|
+
<K>(key: K): <R, E, V>(refHashMap: RefHashMap<R, E, K, V>) => RefSubject.Filtered<R, E, V>
|
|
319
|
+
<R, E, K, V>(refHashMap: RefHashMap<R, E, K, V>, key: K): RefSubject.Filtered<R, E, V>
|
|
306
320
|
} = dual(2, function get<R, E, K, V>(refHashMap: RefHashMap<R, E, K, V>, key: K) {
|
|
307
|
-
return
|
|
321
|
+
return RefSubject.filterMap(refHashMap, HashMap.get(key))
|
|
308
322
|
})
|
|
309
323
|
|
|
310
324
|
/**
|
|
@@ -312,8 +326,8 @@ export const get: {
|
|
|
312
326
|
* @category filtered
|
|
313
327
|
*/
|
|
314
328
|
export const getHash: {
|
|
315
|
-
<K>(key: K, hash: number): <R, E, V>(refHashMap: RefHashMap<R, E, K, V>) => Filtered<R, E, V>
|
|
316
|
-
<R, E, K, V>(refHashMap: RefHashMap<R, E, K, V>, key: K, hash: number): Filtered<R, E, V>
|
|
329
|
+
<K>(key: K, hash: number): <R, E, V>(refHashMap: RefHashMap<R, E, K, V>) => RefSubject.Filtered<R, E, V>
|
|
330
|
+
<R, E, K, V>(refHashMap: RefHashMap<R, E, K, V>, key: K, hash: number): RefSubject.Filtered<R, E, V>
|
|
317
331
|
} = dual(2, function get<R, E, K, V>(refHashMap: RefHashMap<R, E, K, V>, key: K) {
|
|
318
|
-
return
|
|
332
|
+
return RefSubject.filterMap(refHashMap, HashMap.get(key))
|
|
319
333
|
})
|
package/src/RefHashSet.ts
CHANGED
|
@@ -8,7 +8,6 @@ import type * as Effect from "effect/Effect"
|
|
|
8
8
|
import { dual } from "effect/Function"
|
|
9
9
|
import * as HashSet from "effect/HashSet"
|
|
10
10
|
import type * as Scope from "effect/Scope"
|
|
11
|
-
import type * as Computed from "./Computed.js"
|
|
12
11
|
import type * as Fx from "./Fx.js"
|
|
13
12
|
import * as RefSubject from "./RefSubject.js"
|
|
14
13
|
|
|
@@ -20,19 +19,10 @@ import * as RefSubject from "./RefSubject.js"
|
|
|
20
19
|
export interface RefHashSet<R, E, A> extends RefSubject.RefSubject<R, E, HashSet.HashSet<A>> {}
|
|
21
20
|
|
|
22
21
|
/**
|
|
23
|
-
* Construct a new RefHashSet with the given initial value.
|
|
24
22
|
* @since 1.18.0
|
|
25
|
-
* @category constructors
|
|
26
23
|
*/
|
|
27
24
|
export function make<R, E, A>(
|
|
28
|
-
initial: Effect.Effect<R, E, HashSet.HashSet<A>>
|
|
29
|
-
): Effect.Effect<R | Scope.Scope, never, RefHashSet<never, E, A>>
|
|
30
|
-
export function make<R, E, A>(
|
|
31
|
-
initial: Fx.Fx<R, E, HashSet.HashSet<A>>
|
|
32
|
-
): Effect.Effect<R | Scope.Scope, never, RefHashSet<never, E, A>>
|
|
33
|
-
|
|
34
|
-
export function make<R, E, A>(
|
|
35
|
-
initial: Fx.FxInput<R, E, HashSet.HashSet<A>>
|
|
25
|
+
initial: Effect.Effect<R, E, HashSet.HashSet<A>> | Fx.Fx<R, E, HashSet.HashSet<A>>
|
|
36
26
|
): Effect.Effect<R | Scope.Scope, never, RefHashSet<never, E, A>> {
|
|
37
27
|
return RefSubject.make(
|
|
38
28
|
initial
|
|
@@ -61,7 +51,7 @@ export const add: {
|
|
|
61
51
|
<A>(value: A): <R, E>(ref: RefHashSet<R, E, A>) => Effect.Effect<R, E, HashSet.HashSet<A>>
|
|
62
52
|
<R, E, A>(ref: RefHashSet<R, E, A>, value: A): Effect.Effect<R, E, HashSet.HashSet<A>>
|
|
63
53
|
} = dual(2, function add<R, E, A>(ref: RefHashSet<R, E, A>, value: A) {
|
|
64
|
-
return
|
|
54
|
+
return RefSubject.update(ref, HashSet.add(value))
|
|
65
55
|
})
|
|
66
56
|
|
|
67
57
|
/**
|
|
@@ -75,13 +65,12 @@ export const appendAll: {
|
|
|
75
65
|
): <R, E>(ref: RefHashSet<R, E, A>) => Effect.Effect<R, E, HashSet.HashSet<A>>
|
|
76
66
|
<R, E, A>(ref: RefHashSet<R, E, A>, value: Iterable<A>): Effect.Effect<R, E, HashSet.HashSet<A>>
|
|
77
67
|
} = dual(2, function appendAll<R, E, A>(ref: RefHashSet<R, E, A>, value: Iterable<A>) {
|
|
78
|
-
return
|
|
68
|
+
return RefSubject.update(ref, (set) =>
|
|
79
69
|
HashSet.mutate(set, (set) => {
|
|
80
70
|
for (const a of value) {
|
|
81
71
|
HashSet.add(set, a)
|
|
82
72
|
}
|
|
83
|
-
})
|
|
84
|
-
)
|
|
73
|
+
}))
|
|
85
74
|
})
|
|
86
75
|
|
|
87
76
|
/**
|
|
@@ -92,13 +81,13 @@ export const appendAll: {
|
|
|
92
81
|
export const filterValues: {
|
|
93
82
|
<A>(
|
|
94
83
|
predicate: (a: A) => boolean
|
|
95
|
-
): <R, E>(ref: RefHashSet<R, E, A>) =>
|
|
84
|
+
): <R, E>(ref: RefHashSet<R, E, A>) => RefSubject.Computed<R, E, HashSet.HashSet<A>>
|
|
96
85
|
<R, E, A>(
|
|
97
86
|
ref: RefHashSet<R, E, A>,
|
|
98
87
|
predicate: (a: A) => boolean
|
|
99
|
-
):
|
|
88
|
+
): RefSubject.Computed<R, E, HashSet.HashSet<A>>
|
|
100
89
|
} = dual(2, function filterValues<R, E, A>(ref: RefHashSet<R, E, A>, predicate: (a: A) => boolean) {
|
|
101
|
-
return
|
|
90
|
+
return RefSubject.map(ref, HashSet.filter(predicate))
|
|
102
91
|
})
|
|
103
92
|
|
|
104
93
|
/**
|
|
@@ -106,7 +95,8 @@ export const filterValues: {
|
|
|
106
95
|
* @since 1.18.0
|
|
107
96
|
* @category computed
|
|
108
97
|
*/
|
|
109
|
-
export const size = <R, E, A>(ref: RefHashSet<R, E, A>):
|
|
98
|
+
export const size = <R, E, A>(ref: RefHashSet<R, E, A>): RefSubject.Computed<R, E, number> =>
|
|
99
|
+
RefSubject.map(ref, HashSet.size)
|
|
110
100
|
|
|
111
101
|
/**
|
|
112
102
|
* Map (Endomorphic) the values of a RefHashSet.
|
|
@@ -116,13 +106,13 @@ export const size = <R, E, A>(ref: RefHashSet<R, E, A>): Computed.Computed<R, E,
|
|
|
116
106
|
export const map: {
|
|
117
107
|
<A>(
|
|
118
108
|
f: (a: A) => A
|
|
119
|
-
): <R, E>(ref: RefHashSet<R, E, A>) =>
|
|
109
|
+
): <R, E>(ref: RefHashSet<R, E, A>) => RefSubject.Computed<R, E, HashSet.HashSet<A>>
|
|
120
110
|
<R, E, A>(
|
|
121
111
|
ref: RefHashSet<R, E, A>,
|
|
122
112
|
f: (a: A) => A
|
|
123
|
-
):
|
|
113
|
+
): RefSubject.Computed<R, E, HashSet.HashSet<A>>
|
|
124
114
|
} = dual(2, function mapValues<R, E, A>(ref: RefHashSet<R, E, A>, f: (a: A) => A) {
|
|
125
|
-
return
|
|
115
|
+
return RefSubject.update(ref, HashSet.map(f))
|
|
126
116
|
})
|
|
127
117
|
|
|
128
118
|
/**
|
|
@@ -133,15 +123,15 @@ export const map: {
|
|
|
133
123
|
export const mapValues: {
|
|
134
124
|
<A, B>(
|
|
135
125
|
f: (a: A) => B
|
|
136
|
-
): <R, E>(ref: RefHashSet<R, E, A>) =>
|
|
126
|
+
): <R, E>(ref: RefHashSet<R, E, A>) => RefSubject.Computed<R, E, ReadonlyArray<B>>
|
|
137
127
|
<R, E, A, B>(
|
|
138
128
|
ref: RefHashSet<R, E, A>,
|
|
139
129
|
f: (a: A) => B
|
|
140
|
-
):
|
|
130
|
+
): RefSubject.Computed<R, E, ReadonlyArray<B>>
|
|
141
131
|
} = dual(
|
|
142
132
|
2,
|
|
143
133
|
function mapValues<R, E, A, B>(ref: RefHashSet<R, E, A>, f: (a: A) => B) {
|
|
144
|
-
return
|
|
134
|
+
return RefSubject.map(ref, HashSet.map(f))
|
|
145
135
|
}
|
|
146
136
|
)
|
|
147
137
|
|
|
@@ -155,14 +145,14 @@ export const partition: {
|
|
|
155
145
|
predicate: (a: A) => a is B
|
|
156
146
|
): <R, E>(
|
|
157
147
|
ref: RefHashSet<R, E, A>
|
|
158
|
-
) =>
|
|
159
|
-
<R, E, A>(ref: RefHashSet<R, E, A>, predicate: (a: A) => boolean):
|
|
148
|
+
) => RefSubject.Computed<R, E, readonly [ReadonlyArray<B>, HashSet.HashSet<A>]>
|
|
149
|
+
<R, E, A>(ref: RefHashSet<R, E, A>, predicate: (a: A) => boolean): RefSubject.Computed<
|
|
160
150
|
never,
|
|
161
151
|
E,
|
|
162
152
|
readonly [HashSet.HashSet<A>, HashSet.HashSet<A>]
|
|
163
153
|
>
|
|
164
154
|
} = dual(2, function partition<R, E, A>(ref: RefHashSet<R, E, A>, predicate: (a: A) => boolean) {
|
|
165
|
-
return
|
|
155
|
+
return RefSubject.map(ref, HashSet.partition(predicate))
|
|
166
156
|
})
|
|
167
157
|
|
|
168
158
|
/**
|
|
@@ -174,15 +164,15 @@ export const reduce: {
|
|
|
174
164
|
<A, B>(
|
|
175
165
|
b: B,
|
|
176
166
|
f: (b: B, a: A) => B
|
|
177
|
-
): <R, E>(ref: RefHashSet<R, E, A>) =>
|
|
167
|
+
): <R, E>(ref: RefHashSet<R, E, A>) => RefSubject.Computed<R, E, B>
|
|
178
168
|
<R, E, A, B>(
|
|
179
169
|
ref: RefHashSet<R, E, A>,
|
|
180
170
|
b: B,
|
|
181
171
|
f: (b: B, a: A) => B
|
|
182
|
-
):
|
|
172
|
+
): RefSubject.Computed<R, E, B>
|
|
183
173
|
} = dual(
|
|
184
174
|
3,
|
|
185
175
|
function reduce<R, E, A, B>(ref: RefHashSet<R, E, A>, b: B, f: (b: B, a: A) => B) {
|
|
186
|
-
return
|
|
176
|
+
return RefSubject.map(ref, HashSet.reduce(b, f))
|
|
187
177
|
}
|
|
188
178
|
)
|