effect 3.19.5 → 3.19.6

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/dist/cjs/RcRef.js CHANGED
@@ -3,7 +3,7 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.make = exports.get = exports.TypeId = void 0;
6
+ exports.make = exports.invalidate = exports.get = exports.TypeId = void 0;
7
7
  var internal = _interopRequireWildcard(require("./internal/rcRef.js"));
8
8
  function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); }
9
9
  /**
@@ -49,4 +49,10 @@ const make = exports.make = internal.make;
49
49
  * @category combinators
50
50
  */
51
51
  const get = exports.get = internal.get;
52
+ /**
53
+ * @since 3.19.6
54
+ * @category combinators
55
+ * @experimental
56
+ */
57
+ const invalidate = exports.invalidate = internal.invalidate;
52
58
  //# sourceMappingURL=RcRef.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"RcRef.js","names":["internal","_interopRequireWildcard","require","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","TypeId","exports","make"],"sources":["../../src/RcRef.ts"],"sourcesContent":[null],"mappings":";;;;;;AAKA,IAAAA,QAAA,GAAAC,uBAAA,CAAAC,OAAA;AAA+C,SAAAD,wBAAAE,CAAA,EAAAC,CAAA,6BAAAC,OAAA,MAAAC,CAAA,OAAAD,OAAA,IAAAE,CAAA,OAAAF,OAAA,YAAAJ,uBAAA,YAAAA,CAAAE,CAAA,EAAAC,CAAA,SAAAA,CAAA,IAAAD,CAAA,IAAAA,CAAA,CAAAK,UAAA,SAAAL,CAAA,MAAAM,CAAA,EAAAC,CAAA,EAAAC,CAAA,KAAAC,SAAA,QAAAC,OAAA,EAAAV,CAAA,iBAAAA,CAAA,uBAAAA,CAAA,yBAAAA,CAAA,SAAAQ,CAAA,MAAAF,CAAA,GAAAL,CAAA,GAAAG,CAAA,GAAAD,CAAA,QAAAG,CAAA,CAAAK,GAAA,CAAAX,CAAA,UAAAM,CAAA,CAAAM,GAAA,CAAAZ,CAAA,GAAAM,CAAA,CAAAO,GAAA,CAAAb,CAAA,EAAAQ,CAAA,gBAAAP,CAAA,IAAAD,CAAA,gBAAAC,CAAA,OAAAa,cAAA,CAAAC,IAAA,CAAAf,CAAA,EAAAC,CAAA,OAAAM,CAAA,IAAAD,CAAA,GAAAU,MAAA,CAAAC,cAAA,KAAAD,MAAA,CAAAE,wBAAA,CAAAlB,CAAA,EAAAC,CAAA,OAAAM,CAAA,CAAAK,GAAA,IAAAL,CAAA,CAAAM,GAAA,IAAAP,CAAA,CAAAE,CAAA,EAAAP,CAAA,EAAAM,CAAA,IAAAC,CAAA,CAAAP,CAAA,IAAAD,CAAA,CAAAC,CAAA,WAAAO,CAAA,KAAAR,CAAA,EAAAC,CAAA;AAM/C;;;;AAIO,MAAMkB,MAAM,GAAAC,OAAA,CAAAD,MAAA,GAAkBtB,QAAQ,CAACsB,MAAM;AAoDpD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAgCO,MAAME,IAAI,GAAAD,OAAA,CAAAC,IAAA,GASyCxB,QAAQ,CAACwB,IAAI;AAEvE;;;;AAIO,MAAMT,GAAG,GAAAQ,OAAA,CAAAR,GAAA,GAAkEf,QAAQ,CAACe,GAAG","ignoreList":[]}
1
+ {"version":3,"file":"RcRef.js","names":["internal","_interopRequireWildcard","require","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","TypeId","exports","make","invalidate"],"sources":["../../src/RcRef.ts"],"sourcesContent":[null],"mappings":";;;;;;AAKA,IAAAA,QAAA,GAAAC,uBAAA,CAAAC,OAAA;AAA+C,SAAAD,wBAAAE,CAAA,EAAAC,CAAA,6BAAAC,OAAA,MAAAC,CAAA,OAAAD,OAAA,IAAAE,CAAA,OAAAF,OAAA,YAAAJ,uBAAA,YAAAA,CAAAE,CAAA,EAAAC,CAAA,SAAAA,CAAA,IAAAD,CAAA,IAAAA,CAAA,CAAAK,UAAA,SAAAL,CAAA,MAAAM,CAAA,EAAAC,CAAA,EAAAC,CAAA,KAAAC,SAAA,QAAAC,OAAA,EAAAV,CAAA,iBAAAA,CAAA,uBAAAA,CAAA,yBAAAA,CAAA,SAAAQ,CAAA,MAAAF,CAAA,GAAAL,CAAA,GAAAG,CAAA,GAAAD,CAAA,QAAAG,CAAA,CAAAK,GAAA,CAAAX,CAAA,UAAAM,CAAA,CAAAM,GAAA,CAAAZ,CAAA,GAAAM,CAAA,CAAAO,GAAA,CAAAb,CAAA,EAAAQ,CAAA,gBAAAP,CAAA,IAAAD,CAAA,gBAAAC,CAAA,OAAAa,cAAA,CAAAC,IAAA,CAAAf,CAAA,EAAAC,CAAA,OAAAM,CAAA,IAAAD,CAAA,GAAAU,MAAA,CAAAC,cAAA,KAAAD,MAAA,CAAAE,wBAAA,CAAAlB,CAAA,EAAAC,CAAA,OAAAM,CAAA,CAAAK,GAAA,IAAAL,CAAA,CAAAM,GAAA,IAAAP,CAAA,CAAAE,CAAA,EAAAP,CAAA,EAAAM,CAAA,IAAAC,CAAA,CAAAP,CAAA,IAAAD,CAAA,CAAAC,CAAA,WAAAO,CAAA,KAAAR,CAAA,EAAAC,CAAA;AAM/C;;;;AAIO,MAAMkB,MAAM,GAAAC,OAAA,CAAAD,MAAA,GAAkBtB,QAAQ,CAACsB,MAAM;AAoDpD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAgCO,MAAME,IAAI,GAAAD,OAAA,CAAAC,IAAA,GASyCxB,QAAQ,CAACwB,IAAI;AAEvE;;;;AAIO,MAAMT,GAAG,GAAAQ,OAAA,CAAAR,GAAA,GAAkEf,QAAQ,CAACe,GAAG;AAE9F;;;;;AAKO,MAAMU,UAAU,GAAAF,OAAA,CAAAE,UAAA,GAAqDzB,QAAQ,CAACyB,UAAU","ignoreList":[]}
@@ -3,7 +3,7 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.make = exports.get = exports.TypeId = void 0;
6
+ exports.make = exports.invalidate = exports.get = exports.TypeId = void 0;
7
7
  var Context = _interopRequireWildcard(require("../Context.js"));
8
8
  var Duration = _interopRequireWildcard(require("../Duration.js"));
9
9
  var Effectable = _interopRequireWildcard(require("../Effectable.js"));
@@ -63,6 +63,7 @@ const make = options => core.withFiberRuntime(fiber => {
63
63
  exports.make = make;
64
64
  const get = self_ => {
65
65
  const self = self_;
66
+ const isInfinite = self.idleTimeToLive && !Duration.isFinite(self.idleTimeToLive);
66
67
  return core.uninterruptibleMask(restore => core.suspend(() => {
67
68
  switch (self.state._tag) {
68
69
  case "Closed":
@@ -99,7 +100,7 @@ const get = self_ => {
99
100
  state
100
101
  }) => scope.addFinalizer(() => core.suspend(() => {
101
102
  state.refCount--;
102
- if (state.refCount > 0) {
103
+ if (state.refCount > 0 || isInfinite) {
103
104
  return core.void;
104
105
  }
105
106
  if (self.idleTimeToLive === undefined) {
@@ -121,5 +122,18 @@ const get = self_ => {
121
122
  state
122
123
  }) => state.value));
123
124
  };
125
+ /** @internal */
124
126
  exports.get = get;
127
+ const invalidate = self_ => {
128
+ const self = self_;
129
+ return core.uninterruptible(core.suspend(() => {
130
+ if (self.state._tag !== "Acquired") {
131
+ return core.void;
132
+ }
133
+ const state = self.state;
134
+ self.state = stateEmpty;
135
+ return state.scope.close(core.exitVoid);
136
+ }));
137
+ };
138
+ exports.invalidate = invalidate;
125
139
  //# sourceMappingURL=rcRef.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"rcRef.js","names":["Context","_interopRequireWildcard","require","Duration","Effectable","_Function","Readable","coreEffect","core","circular","fiberRuntime","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","TypeId","exports","Symbol","for","stateEmpty","_tag","stateClosed","variance","_A","identity","_E","RcRefImpl","Class","acquire","context","scope","idleTimeToLive","state","semaphore","unsafeMakeSemaphore","constructor","commit","make","options","withFiberRuntime","fiber","getFiberRef","currentContext","scopeTag","ref","decode","undefined","as","addFinalizer","withPermits","suspend","close","scopeClose","exitVoid","void","self_","self","uninterruptibleMask","restore","interrupt","refCount","interruptFiber","succeed","scopeMake","pipe","bindTo","bind","fiberRefLocally","add","map","value","tap","sleep","interruptible","zipRight","ensuring","sync","forkIn"],"sources":["../../../src/internal/rcRef.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"rcRef.js","names":["Context","_interopRequireWildcard","require","Duration","Effectable","_Function","Readable","coreEffect","core","circular","fiberRuntime","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","TypeId","exports","Symbol","for","stateEmpty","_tag","stateClosed","variance","_A","identity","_E","RcRefImpl","Class","acquire","context","scope","idleTimeToLive","state","semaphore","unsafeMakeSemaphore","constructor","commit","make","options","withFiberRuntime","fiber","getFiberRef","currentContext","scopeTag","ref","decode","undefined","as","addFinalizer","withPermits","suspend","close","scopeClose","exitVoid","void","self_","self","isInfinite","isFinite","uninterruptibleMask","restore","interrupt","refCount","interruptFiber","succeed","scopeMake","pipe","bindTo","bind","fiberRefLocally","add","map","value","tap","sleep","interruptible","zipRight","ensuring","sync","forkIn","invalidate","uninterruptible"],"sources":["../../../src/internal/rcRef.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -4,7 +4,7 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.setCurrentVersion = exports.getCurrentVersion = void 0;
7
- let moduleVersion = "3.19.5";
7
+ let moduleVersion = "3.19.6";
8
8
  const getCurrentVersion = () => moduleVersion;
9
9
  exports.getCurrentVersion = getCurrentVersion;
10
10
  const setCurrentVersion = version => {
@@ -102,4 +102,10 @@ export declare const make: <A, E, R>(options: {
102
102
  * @category combinators
103
103
  */
104
104
  export declare const get: <A, E>(self: RcRef<A, E>) => Effect.Effect<A, E, Scope.Scope>;
105
+ /**
106
+ * @since 3.19.6
107
+ * @category combinators
108
+ * @experimental
109
+ */
110
+ export declare const invalidate: <A, E>(self: RcRef<A, E>) => Effect.Effect<void>;
105
111
  //# sourceMappingURL=RcRef.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"RcRef.d.ts","sourceRoot":"","sources":["../../src/RcRef.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"RcRef.d.ts","sourceRoot":"","sources":["../../src/RcRef.ts"],"names":[],"mappings":"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"}
package/dist/esm/RcRef.js CHANGED
@@ -42,4 +42,10 @@ export const make = internal.make;
42
42
  * @category combinators
43
43
  */
44
44
  export const get = internal.get;
45
+ /**
46
+ * @since 3.19.6
47
+ * @category combinators
48
+ * @experimental
49
+ */
50
+ export const invalidate = internal.invalidate;
45
51
  //# sourceMappingURL=RcRef.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"RcRef.js","names":["internal","TypeId","make","get"],"sources":["../../src/RcRef.ts"],"sourcesContent":[null],"mappings":"AAKA,OAAO,KAAKA,QAAQ,MAAM,qBAAqB;AAM/C;;;;AAIA,OAAO,MAAMC,MAAM,GAAkBD,QAAQ,CAACC,MAAM;AAoDpD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAgCA,OAAO,MAAMC,IAAI,GASyCF,QAAQ,CAACE,IAAI;AAEvE;;;;AAIA,OAAO,MAAMC,GAAG,GAAkEH,QAAQ,CAACG,GAAG","ignoreList":[]}
1
+ {"version":3,"file":"RcRef.js","names":["internal","TypeId","make","get","invalidate"],"sources":["../../src/RcRef.ts"],"sourcesContent":[null],"mappings":"AAKA,OAAO,KAAKA,QAAQ,MAAM,qBAAqB;AAM/C;;;;AAIA,OAAO,MAAMC,MAAM,GAAkBD,QAAQ,CAACC,MAAM;AAoDpD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAgCA,OAAO,MAAMC,IAAI,GASyCF,QAAQ,CAACE,IAAI;AAEvE;;;;AAIA,OAAO,MAAMC,GAAG,GAAkEH,QAAQ,CAACG,GAAG;AAE9F;;;;;AAKA,OAAO,MAAMC,UAAU,GAAqDJ,QAAQ,CAACI,UAAU","ignoreList":[]}
@@ -55,6 +55,7 @@ export const make = options => core.withFiberRuntime(fiber => {
55
55
  /** @internal */
56
56
  export const get = self_ => {
57
57
  const self = self_;
58
+ const isInfinite = self.idleTimeToLive && !Duration.isFinite(self.idleTimeToLive);
58
59
  return core.uninterruptibleMask(restore => core.suspend(() => {
59
60
  switch (self.state._tag) {
60
61
  case "Closed":
@@ -91,7 +92,7 @@ export const get = self_ => {
91
92
  state
92
93
  }) => scope.addFinalizer(() => core.suspend(() => {
93
94
  state.refCount--;
94
- if (state.refCount > 0) {
95
+ if (state.refCount > 0 || isInfinite) {
95
96
  return core.void;
96
97
  }
97
98
  if (self.idleTimeToLive === undefined) {
@@ -113,4 +114,16 @@ export const get = self_ => {
113
114
  state
114
115
  }) => state.value));
115
116
  };
117
+ /** @internal */
118
+ export const invalidate = self_ => {
119
+ const self = self_;
120
+ return core.uninterruptible(core.suspend(() => {
121
+ if (self.state._tag !== "Acquired") {
122
+ return core.void;
123
+ }
124
+ const state = self.state;
125
+ self.state = stateEmpty;
126
+ return state.scope.close(core.exitVoid);
127
+ }));
128
+ };
116
129
  //# sourceMappingURL=rcRef.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"rcRef.js","names":["Context","Duration","Effectable","identity","Readable","coreEffect","core","circular","fiberRuntime","TypeId","Symbol","for","stateEmpty","_tag","stateClosed","variance","_A","_E","RcRefImpl","Class","acquire","context","scope","idleTimeToLive","state","semaphore","unsafeMakeSemaphore","constructor","get","commit","make","options","withFiberRuntime","fiber","getFiberRef","currentContext","scopeTag","ref","decode","undefined","as","addFinalizer","withPermits","suspend","close","scopeClose","exitVoid","void","self_","self","uninterruptibleMask","restore","interrupt","refCount","interruptFiber","succeed","scopeMake","pipe","bindTo","bind","fiberRefLocally","add","map","value","tap","sleep","interruptible","zipRight","ensuring","sync","forkIn"],"sources":["../../../src/internal/rcRef.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"rcRef.js","names":["Context","Duration","Effectable","identity","Readable","coreEffect","core","circular","fiberRuntime","TypeId","Symbol","for","stateEmpty","_tag","stateClosed","variance","_A","_E","RcRefImpl","Class","acquire","context","scope","idleTimeToLive","state","semaphore","unsafeMakeSemaphore","constructor","get","commit","make","options","withFiberRuntime","fiber","getFiberRef","currentContext","scopeTag","ref","decode","undefined","as","addFinalizer","withPermits","suspend","close","scopeClose","exitVoid","void","self_","self","isInfinite","isFinite","uninterruptibleMask","restore","interrupt","refCount","interruptFiber","succeed","scopeMake","pipe","bindTo","bind","fiberRefLocally","add","map","value","tap","sleep","interruptible","zipRight","ensuring","sync","forkIn","invalidate","uninterruptible"],"sources":["../../../src/internal/rcRef.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -1,4 +1,4 @@
1
- let moduleVersion = "3.19.5";
1
+ let moduleVersion = "3.19.6";
2
2
  export const getCurrentVersion = () => moduleVersion;
3
3
  export const setCurrentVersion = version => {
4
4
  moduleVersion = version;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "effect",
3
- "version": "3.19.5",
3
+ "version": "3.19.6",
4
4
  "description": "The missing standard library for TypeScript, for writing production-grade software.",
5
5
  "license": "MIT",
6
6
  "repository": {
package/src/RcRef.ts CHANGED
@@ -113,3 +113,10 @@ export const make: <A, E, R>(
113
113
  * @category combinators
114
114
  */
115
115
  export const get: <A, E>(self: RcRef<A, E>) => Effect.Effect<A, E, Scope.Scope> = internal.get
116
+
117
+ /**
118
+ * @since 3.19.6
119
+ * @category combinators
120
+ * @experimental
121
+ */
122
+ export const invalidate: <A, E>(self: RcRef<A, E>) => Effect.Effect<void> = internal.invalidate
@@ -99,6 +99,7 @@ export const get = <A, E>(
99
99
  self_: RcRef.RcRef<A, E>
100
100
  ): Effect<A, E, Scope.Scope> => {
101
101
  const self = self_ as RcRefImpl<A, E>
102
+ const isInfinite = self.idleTimeToLive && !Duration.isFinite(self.idleTimeToLive)
102
103
  return core.uninterruptibleMask((restore) =>
103
104
  core.suspend(() => {
104
105
  switch (self.state._tag) {
@@ -143,7 +144,7 @@ export const get = <A, E>(
143
144
  scope.addFinalizer(() =>
144
145
  core.suspend(() => {
145
146
  state.refCount--
146
- if (state.refCount > 0) {
147
+ if (state.refCount > 0 || isInfinite) {
147
148
  return core.void
148
149
  }
149
150
  if (self.idleTimeToLive === undefined) {
@@ -174,3 +175,18 @@ export const get = <A, E>(
174
175
  core.map(({ state }) => state.value)
175
176
  )
176
177
  }
178
+
179
+ /** @internal */
180
+ export const invalidate = <A, E>(
181
+ self_: RcRef.RcRef<A, E>
182
+ ): Effect<void> => {
183
+ const self = self_ as RcRefImpl<A, E>
184
+ return core.uninterruptible(core.suspend(() => {
185
+ if (self.state._tag !== "Acquired") {
186
+ return core.void
187
+ }
188
+ const state = self.state
189
+ self.state = stateEmpty
190
+ return state.scope.close(core.exitVoid)
191
+ }))
192
+ }
@@ -1,4 +1,4 @@
1
- let moduleVersion = "3.19.5"
1
+ let moduleVersion = "3.19.6"
2
2
 
3
3
  export const getCurrentVersion = () => moduleVersion
4
4