effect 3.6.3 → 3.6.5
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/Cache.js +6 -1
- package/dist/cjs/Cache.js.map +1 -1
- package/dist/cjs/DateTime.js +1 -1
- package/dist/cjs/DateTime.js.map +1 -1
- package/dist/cjs/Metric.js +12 -3
- package/dist/cjs/Metric.js.map +1 -1
- package/dist/cjs/MetricHook.js +6 -1
- package/dist/cjs/MetricHook.js.map +1 -1
- package/dist/cjs/Pipeable.js +2 -0
- package/dist/cjs/Pipeable.js.map +1 -1
- package/dist/cjs/Scheduler.js +7 -12
- package/dist/cjs/Scheduler.js.map +1 -1
- package/dist/cjs/internal/cache.js +14 -1
- package/dist/cjs/internal/cache.js.map +1 -1
- package/dist/cjs/internal/core-effect.js +15 -7
- package/dist/cjs/internal/core-effect.js.map +1 -1
- package/dist/cjs/internal/metric/hook.js +32 -10
- package/dist/cjs/internal/metric/hook.js.map +1 -1
- package/dist/cjs/internal/metric/keyType.js +12 -48
- package/dist/cjs/internal/metric/keyType.js.map +1 -1
- package/dist/cjs/internal/metric/polling.js +7 -1
- package/dist/cjs/internal/metric/polling.js.map +1 -1
- package/dist/cjs/internal/metric.js +21 -13
- package/dist/cjs/internal/metric.js.map +1 -1
- package/dist/cjs/internal/version.js +1 -1
- package/dist/dts/Cache.d.ts +24 -3
- package/dist/dts/Cache.d.ts.map +1 -1
- package/dist/dts/Metric.d.ts +21 -8
- package/dist/dts/Metric.d.ts.map +1 -1
- package/dist/dts/MetricHook.d.ts +10 -0
- package/dist/dts/MetricHook.d.ts.map +1 -1
- package/dist/dts/Pipeable.d.ts +1 -0
- package/dist/dts/Pipeable.d.ts.map +1 -1
- package/dist/dts/Scheduler.d.ts.map +1 -1
- package/dist/dts/internal/core-effect.d.ts.map +1 -1
- package/dist/dts/internal/metric/keyType.d.ts +1 -89
- package/dist/dts/internal/metric/keyType.d.ts.map +1 -1
- package/dist/esm/Cache.js +5 -0
- package/dist/esm/Cache.js.map +1 -1
- package/dist/esm/DateTime.js +1 -1
- package/dist/esm/DateTime.js.map +1 -1
- package/dist/esm/Metric.js +11 -2
- package/dist/esm/Metric.js.map +1 -1
- package/dist/esm/MetricHook.js +5 -0
- package/dist/esm/MetricHook.js.map +1 -1
- package/dist/esm/Pipeable.js +2 -0
- package/dist/esm/Pipeable.js.map +1 -1
- package/dist/esm/Scheduler.js +7 -12
- package/dist/esm/Scheduler.js.map +1 -1
- package/dist/esm/internal/cache.js +13 -0
- package/dist/esm/internal/cache.js.map +1 -1
- package/dist/esm/internal/core-effect.js +15 -7
- package/dist/esm/internal/core-effect.js.map +1 -1
- package/dist/esm/internal/metric/hook.js +31 -9
- package/dist/esm/internal/metric/hook.js.map +1 -1
- package/dist/esm/internal/metric/keyType.js +12 -48
- package/dist/esm/internal/metric/keyType.js.map +1 -1
- package/dist/esm/internal/metric/polling.js +7 -1
- package/dist/esm/internal/metric/polling.js.map +1 -1
- package/dist/esm/internal/metric.js +20 -12
- package/dist/esm/internal/metric.js.map +1 -1
- package/dist/esm/internal/version.js +1 -1
- package/package.json +1 -1
- package/src/Cache.ts +30 -3
- package/src/DateTime.ts +1 -1
- package/src/Metric.ts +25 -9
- package/src/MetricHook.ts +11 -0
- package/src/Pipeable.ts +3 -0
- package/src/Scheduler.ts +7 -12
- package/src/internal/cache.ts +18 -0
- package/src/internal/core-effect.ts +22 -18
- package/src/internal/metric/hook.ts +36 -9
- package/src/internal/metric/keyType.ts +12 -48
- package/src/internal/metric/polling.ts +8 -1
- package/src/internal/metric.ts +61 -17
- package/src/internal/version.ts +1 -1
|
@@ -9,6 +9,7 @@ import * as _effect from "./core-effect.js";
|
|
|
9
9
|
import * as core from "./core.js";
|
|
10
10
|
import * as metricBoundaries from "./metric/boundaries.js";
|
|
11
11
|
import * as metricKey from "./metric/key.js";
|
|
12
|
+
import * as metricKeyType from "./metric/keyType.js";
|
|
12
13
|
import * as metricLabel from "./metric/label.js";
|
|
13
14
|
import * as metricRegistry from "./metric/registry.js";
|
|
14
15
|
/** @internal */
|
|
@@ -26,12 +27,13 @@ const metricVariance = {
|
|
|
26
27
|
/** @internal */
|
|
27
28
|
export const globalMetricRegistry = /*#__PURE__*/globalValue( /*#__PURE__*/Symbol.for("effect/Metric/globalMetricRegistry"), () => metricRegistry.make());
|
|
28
29
|
/** @internal */
|
|
29
|
-
export const make = function (keyType, unsafeUpdate, unsafeValue) {
|
|
30
|
+
export const make = function (keyType, unsafeUpdate, unsafeValue, unsafeModify) {
|
|
30
31
|
const metric = Object.assign(effect => core.tap(effect, a => update(metric, a)), {
|
|
31
32
|
[MetricTypeId]: metricVariance,
|
|
32
33
|
keyType,
|
|
33
34
|
unsafeUpdate,
|
|
34
35
|
unsafeValue,
|
|
36
|
+
unsafeModify,
|
|
35
37
|
register() {
|
|
36
38
|
this.unsafeValue([]);
|
|
37
39
|
return this;
|
|
@@ -43,7 +45,7 @@ export const make = function (keyType, unsafeUpdate, unsafeValue) {
|
|
|
43
45
|
return metric;
|
|
44
46
|
};
|
|
45
47
|
/** @internal */
|
|
46
|
-
export const mapInput = /*#__PURE__*/dual(2, (self, f) => make(self.keyType, (input, extraTags) => self.unsafeUpdate(f(input), extraTags), self.unsafeValue));
|
|
48
|
+
export const mapInput = /*#__PURE__*/dual(2, (self, f) => make(self.keyType, (input, extraTags) => self.unsafeUpdate(f(input), extraTags), self.unsafeValue, (input, extraTags) => self.unsafeModify(f(input), extraTags)));
|
|
47
49
|
/** @internal */
|
|
48
50
|
export const counter = (name, options) => fromMetricKey(metricKey.counter(name, options));
|
|
49
51
|
/** @internal */
|
|
@@ -70,26 +72,28 @@ export const fromMetricKey = key => {
|
|
|
70
72
|
hookCache.set(extraTags, hook);
|
|
71
73
|
return hook;
|
|
72
74
|
};
|
|
73
|
-
return make(key.keyType, (input, extraTags) => hook(extraTags).update(input), extraTags => hook(extraTags).get());
|
|
75
|
+
return make(key.keyType, (input, extraTags) => hook(extraTags).update(input), extraTags => hook(extraTags).get(), (input, extraTags) => hook(extraTags).modify(input));
|
|
74
76
|
};
|
|
75
77
|
/** @internal */
|
|
76
78
|
export const gauge = (name, options) => fromMetricKey(metricKey.gauge(name, options));
|
|
77
79
|
/** @internal */
|
|
78
80
|
export const histogram = (name, boundaries, description) => fromMetricKey(metricKey.histogram(name, boundaries, description));
|
|
79
81
|
/* @internal */
|
|
80
|
-
export const increment = self => update(self, self.keyType.bigint ? BigInt(1) : 1);
|
|
82
|
+
export const increment = self => metricKeyType.isCounterKey(self.keyType) ? update(self, self.keyType.bigint ? BigInt(1) : 1) : modify(self, self.keyType.bigint ? BigInt(1) : 1);
|
|
81
83
|
/* @internal */
|
|
82
|
-
export const incrementBy = /*#__PURE__*/dual(2, (self, amount) => update(self, amount));
|
|
84
|
+
export const incrementBy = /*#__PURE__*/dual(2, (self, amount) => metricKeyType.isCounterKey(self.keyType) ? update(self, amount) : modify(self, amount));
|
|
83
85
|
/** @internal */
|
|
84
|
-
export const map = /*#__PURE__*/dual(2, (self, f) => make(self.keyType, self.unsafeUpdate, extraTags => f(self.unsafeValue(extraTags))));
|
|
86
|
+
export const map = /*#__PURE__*/dual(2, (self, f) => make(self.keyType, self.unsafeUpdate, extraTags => f(self.unsafeValue(extraTags)), self.unsafeModify));
|
|
85
87
|
/** @internal */
|
|
86
|
-
export const mapType = /*#__PURE__*/dual(2, (self, f) => make(f(self.keyType), self.unsafeUpdate, self.unsafeValue));
|
|
88
|
+
export const mapType = /*#__PURE__*/dual(2, (self, f) => make(f(self.keyType), self.unsafeUpdate, self.unsafeValue, self.unsafeModify));
|
|
89
|
+
/** @internal */
|
|
90
|
+
export const modify = /*#__PURE__*/dual(2, (self, input) => core.fiberRefGetWith(core.currentMetricLabels, tags => core.sync(() => self.unsafeModify(input, tags))));
|
|
87
91
|
/* @internal */
|
|
88
92
|
export const set = /*#__PURE__*/dual(2, (self, value) => update(self, value));
|
|
89
93
|
/** @internal */
|
|
90
|
-
export const succeed = out => make(void 0, constVoid, () => out);
|
|
94
|
+
export const succeed = out => make(void 0, constVoid, () => out, constVoid);
|
|
91
95
|
/** @internal */
|
|
92
|
-
export const sync = evaluate => make(void 0, constVoid, evaluate);
|
|
96
|
+
export const sync = evaluate => make(void 0, constVoid, evaluate, constVoid);
|
|
93
97
|
/** @internal */
|
|
94
98
|
export const summary = options => withNow(summaryTimestamp(options));
|
|
95
99
|
/** @internal */
|
|
@@ -97,10 +101,10 @@ export const summaryTimestamp = options => fromMetricKey(metricKey.summary(optio
|
|
|
97
101
|
/** @internal */
|
|
98
102
|
export const tagged = /*#__PURE__*/dual(3, (self, key, value) => taggedWithLabels(self, [metricLabel.make(key, value)]));
|
|
99
103
|
/** @internal */
|
|
100
|
-
export const taggedWithLabelsInput = /*#__PURE__*/dual(2, (self, f) => map(make(self.keyType, (input, extraTags) => self.unsafeUpdate(input, Arr.union(f(input), extraTags)), self.unsafeValue), constVoid));
|
|
104
|
+
export const taggedWithLabelsInput = /*#__PURE__*/dual(2, (self, f) => map(make(self.keyType, (input, extraTags) => self.unsafeUpdate(input, Arr.union(f(input), extraTags)), self.unsafeValue, (input, extraTags) => self.unsafeModify(input, Arr.union(f(input), extraTags))), constVoid));
|
|
101
105
|
/** @internal */
|
|
102
106
|
export const taggedWithLabels = /*#__PURE__*/dual(2, (self, extraTags) => {
|
|
103
|
-
return make(self.keyType, (input, extraTags1) => self.unsafeUpdate(input, Arr.union(extraTags, extraTags1)), extraTags1 => self.unsafeValue(Arr.union(extraTags, extraTags1)));
|
|
107
|
+
return make(self.keyType, (input, extraTags1) => self.unsafeUpdate(input, Arr.union(extraTags, extraTags1)), extraTags1 => self.unsafeValue(Arr.union(extraTags, extraTags1)), (input, extraTags1) => self.unsafeModify(input, Arr.union(extraTags, extraTags1)));
|
|
104
108
|
});
|
|
105
109
|
/** @internal */
|
|
106
110
|
export const timer = (name, description) => {
|
|
@@ -165,7 +169,11 @@ export const zip = /*#__PURE__*/dual(2, (self, that) => make([self.keyType, that
|
|
|
165
169
|
const [l, r] = input;
|
|
166
170
|
self.unsafeUpdate(l, extraTags);
|
|
167
171
|
that.unsafeUpdate(r, extraTags);
|
|
168
|
-
}, extraTags => [self.unsafeValue(extraTags), that.unsafeValue(extraTags)])
|
|
172
|
+
}, extraTags => [self.unsafeValue(extraTags), that.unsafeValue(extraTags)], (input, extraTags) => {
|
|
173
|
+
const [l, r] = input;
|
|
174
|
+
self.unsafeModify(l, extraTags);
|
|
175
|
+
that.unsafeModify(r, extraTags);
|
|
176
|
+
}));
|
|
169
177
|
/** @internal */
|
|
170
178
|
export const unsafeSnapshot = () => globalMetricRegistry.snapshot();
|
|
171
179
|
/** @internal */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"metric.js","names":["Arr","Clock","Duration","constVoid","dual","identity","pipe","globalValue","pipeArguments","Cause","_effect","core","metricBoundaries","metricKey","metricLabel","metricRegistry","MetricSymbolKey","MetricTypeId","Symbol","for","metricVariance","_Type","_","_In","_Out","globalMetricRegistry","make","keyType","unsafeUpdate","unsafeValue","metric","Object","assign","effect","tap","a","update","register","arguments","mapInput","self","f","input","extraTags","counter","name","options","fromMetricKey","frequency","withConstantInput","key","untaggedHook","hookCache","WeakMap","hook","length","undefined","get","taggedWithLabels","set","gauge","histogram","boundaries","description","increment","bigint","BigInt","incrementBy","amount","map","mapType","value","succeed","out","sync","evaluate","summary","withNow","summaryTimestamp","tagged","taggedWithLabelsInput","union","extraTags1","timer","exponential","start","factor","count","base","toMillis","timerWithBoundaries","fromIterable","trackAll","matchCauseEffect","onFailure","cause","zipRight","failCause","onSuccess","trackDefect","trackDefectWith","updater","defect","tapDefect","forEachSequentialDiscard","defects","trackDuration","trackDurationWith","clockWith","clock","startTime","unsafeCurrentTimeNanos","endTime","duration","nanos","trackError","trackErrorWith","error","tapError","trackSuccess","trackSuccessWith","fiberRefGetWith","currentMetricLabels","tags","Date","now","zip","that","l","r","unsafeSnapshot","snapshot"],"sources":["../../../src/internal/metric.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"metric.js","names":["Arr","Clock","Duration","constVoid","dual","identity","pipe","globalValue","pipeArguments","Cause","_effect","core","metricBoundaries","metricKey","metricKeyType","metricLabel","metricRegistry","MetricSymbolKey","MetricTypeId","Symbol","for","metricVariance","_Type","_","_In","_Out","globalMetricRegistry","make","keyType","unsafeUpdate","unsafeValue","unsafeModify","metric","Object","assign","effect","tap","a","update","register","arguments","mapInput","self","f","input","extraTags","counter","name","options","fromMetricKey","frequency","withConstantInput","key","untaggedHook","hookCache","WeakMap","hook","length","undefined","get","taggedWithLabels","set","modify","gauge","histogram","boundaries","description","increment","isCounterKey","bigint","BigInt","incrementBy","amount","map","mapType","fiberRefGetWith","currentMetricLabels","tags","sync","value","succeed","out","evaluate","summary","withNow","summaryTimestamp","tagged","taggedWithLabelsInput","union","extraTags1","timer","exponential","start","factor","count","base","toMillis","timerWithBoundaries","fromIterable","trackAll","matchCauseEffect","onFailure","cause","zipRight","failCause","onSuccess","trackDefect","trackDefectWith","updater","defect","tapDefect","forEachSequentialDiscard","defects","trackDuration","trackDurationWith","clockWith","clock","startTime","unsafeCurrentTimeNanos","endTime","duration","nanos","trackError","trackErrorWith","error","tapError","trackSuccess","trackSuccessWith","Date","now","zip","that","l","r","unsafeSnapshot","snapshot"],"sources":["../../../src/internal/metric.ts"],"sourcesContent":[null],"mappings":"AAAA,OAAO,KAAKA,GAAG,MAAM,aAAa;AAClC,OAAO,KAAKC,KAAK,MAAM,aAAa;AACpC,OAAO,KAAKC,QAAQ,MAAM,gBAAgB;AAG1C,SAASC,SAAS,EAAEC,IAAI,EAAEC,QAAQ,EAAEC,IAAI,QAAQ,gBAAgB;AAChE,SAASC,WAAW,QAAQ,mBAAmB;AAU/C,SAASC,aAAa,QAAQ,gBAAgB;AAC9C,OAAO,KAAKC,KAAK,MAAM,YAAY;AACnC,OAAO,KAAKC,OAAO,MAAM,kBAAkB;AAC3C,OAAO,KAAKC,IAAI,MAAM,WAAW;AACjC,OAAO,KAAKC,gBAAgB,MAAM,wBAAwB;AAC1D,OAAO,KAAKC,SAAS,MAAM,iBAAiB;AAC5C,OAAO,KAAKC,aAAa,MAAM,qBAAqB;AACpD,OAAO,KAAKC,WAAW,MAAM,mBAAmB;AAChD,OAAO,KAAKC,cAAc,MAAM,sBAAsB;AAEtD;AACA,MAAMC,eAAe,GAAG,eAAe;AAEvC;AACA,OAAO,MAAMC,YAAY,gBAAwBC,MAAM,CAACC,GAAG,CACzDH,eAAe,CACO;AAExB,MAAMI,cAAc,GAAG;EACrB;EACAC,KAAK,EAAGC,CAAM,IAAKA,CAAC;EACpB;EACAC,GAAG,EAAGD,CAAU,IAAKA,CAAC;EACtB;EACAE,IAAI,EAAGF,CAAQ,IAAKA;CACrB;AAED;AACA,OAAO,MAAMG,oBAAoB,gBAAkCnB,WAAW,eAC5EY,MAAM,CAACC,GAAG,CAAC,oCAAoC,CAAC,EAChD,MAAMJ,cAAc,CAACW,IAAI,EAAE,CAC5B;AAED;AACA,OAAO,MAAMA,IAAI,GAAuB,SAAAA,CACtCC,OAAa,EACbC,YAAoF,EACpFC,WAAuE,EACvEC,YAAoF;EAEpF,MAAMC,MAAM,GAAiCC,MAAM,CAACC,MAAM,CACnCC,MAA8B,IACjDxB,IAAI,CAACyB,GAAG,CAACD,MAAM,EAAGE,CAAC,IAAKC,MAAM,CAACN,MAAM,EAAEK,CAAC,CAAC,CAAC,EAC5C;IACE,CAACnB,YAAY,GAAGG,cAAc;IAC9BO,OAAO;IACPC,YAAY;IACZC,WAAW;IACXC,YAAY;IACZQ,QAAQA,CAAA;MACN,IAAI,CAACT,WAAW,CAAC,EAAE,CAAC;MACpB,OAAO,IAAW;IACpB,CAAC;IACDxB,IAAIA,CAAA;MACF,OAAOE,aAAa,CAAC,IAAI,EAAEgC,SAAS,CAAC;IACvC;GACQ,CACX;EACD,OAAOR,MAAM;AACf,CAAC;AAED;AACA,OAAO,MAAMS,QAAQ,gBAAGrC,IAAI,CAG1B,CAAC,EAAE,CAACsC,IAAI,EAAEC,CAAC,KACXhB,IAAI,CACFe,IAAI,CAACd,OAAO,EACZ,CAACgB,KAAK,EAAEC,SAAS,KAAKH,IAAI,CAACb,YAAY,CAACc,CAAC,CAACC,KAAK,CAAC,EAAEC,SAAS,CAAC,EAC5DH,IAAI,CAACZ,WAAW,EAChB,CAACc,KAAK,EAAEC,SAAS,KAAKH,IAAI,CAACX,YAAY,CAACY,CAAC,CAACC,KAAK,CAAC,EAAEC,SAAS,CAAC,CAC7D,CAAC;AAEJ;AACA,OAAO,MAAMC,OAAO,GAWhBA,CAACC,IAAI,EAAEC,OAAO,KAAKC,aAAa,CAACpC,SAAS,CAACiC,OAAO,CAACC,IAAI,EAAEC,OAAc,CAAC,CAAQ;AAEpF;AACA,OAAO,MAAME,SAAS,GAAGA,CAACH,IAAY,EAAEC,OAGvC,KAAsCC,aAAa,CAACpC,SAAS,CAACqC,SAAS,CAACH,IAAI,EAAEC,OAAO,CAAC,CAAC;AAExF;AACA,OAAO,MAAMG,iBAAiB,gBAAG/C,IAAI,CAGnC,CAAC,EAAE,CAACsC,IAAI,EAAEE,KAAK,KAAKH,QAAQ,CAACC,IAAI,EAAE,MAAME,KAAK,CAAC,CAAC;AAElD;AACA,OAAO,MAAMK,aAAa,GACxBG,GAA8B,IAK5B;EACF,IAAIC,YAKS;EACb,MAAMC,SAAS,GAAG,IAAIC,OAAO,EAA2E;EAExG,MAAMC,IAAI,GAAIX,SAAiD,IAG3D;IACF,IAAIA,SAAS,CAACY,MAAM,KAAK,CAAC,EAAE;MAC1B,IAAIJ,YAAY,KAAKK,SAAS,EAAE;QAC9B,OAAOL,YAAY;MACrB;MACAA,YAAY,GAAG3B,oBAAoB,CAACiC,GAAG,CAACP,GAAG,CAAC;MAC5C,OAAOC,YAAY;IACrB;IAEA,IAAIG,IAAI,GAAGF,SAAS,CAACK,GAAG,CAACd,SAAS,CAAC;IACnC,IAAIW,IAAI,KAAKE,SAAS,EAAE;MACtB,OAAOF,IAAI;IACb;IACAA,IAAI,GAAG9B,oBAAoB,CAACiC,GAAG,CAAC9C,SAAS,CAAC+C,gBAAgB,CAACR,GAAG,EAAEP,SAAS,CAAC,CAAC;IAC3ES,SAAS,CAACO,GAAG,CAAChB,SAAS,EAAEW,IAAI,CAAC;IAC9B,OAAOA,IAAI;EACb,CAAC;EAED,OAAO7B,IAAI,CACTyB,GAAG,CAACxB,OAAO,EACX,CAACgB,KAAK,EAAEC,SAAS,KAAKW,IAAI,CAACX,SAAS,CAAC,CAACP,MAAM,CAACM,KAAK,CAAC,EAClDC,SAAS,IAAKW,IAAI,CAACX,SAAS,CAAC,CAACc,GAAG,EAAE,EACpC,CAACf,KAAK,EAAEC,SAAS,KAAKW,IAAI,CAACX,SAAS,CAAC,CAACiB,MAAM,CAAClB,KAAK,CAAC,CACpD;AACH,CAAC;AAED;AACA,OAAO,MAAMmB,KAAK,GASdA,CAAChB,IAAI,EAAEC,OAAO,KAAKC,aAAa,CAACpC,SAAS,CAACkD,KAAK,CAAChB,IAAI,EAAEC,OAAc,CAAC,CAAQ;AAElF;AACA,OAAO,MAAMgB,SAAS,GAAGA,CAACjB,IAAY,EAAEkB,UAA6C,EAAEC,WAAoB,KACzGjB,aAAa,CAACpC,SAAS,CAACmD,SAAS,CAACjB,IAAI,EAAEkB,UAAU,EAAEC,WAAW,CAAC,CAAC;AAEnE;AACA,OAAO,MAAMC,SAAS,GACpBzB,IAI+B,IAE/B5B,aAAa,CAACsD,YAAY,CAAC1B,IAAI,CAACd,OAAO,CAAC,GACpCU,MAAM,CAACI,IAAqC,EAAEA,IAAI,CAACd,OAAO,CAACyC,MAAM,GAAGC,MAAM,CAAC,CAAC,CAAQ,GAAG,CAAC,CAAC,GACzFR,MAAM,CAACpB,IAAmC,EAAEA,IAAI,CAACd,OAAO,CAACyC,MAAM,GAAGC,MAAM,CAAC,CAAC,CAAQ,GAAG,CAAC,CAAC;AAE7F;AACA,OAAO,MAAMC,WAAW,gBAAGnE,IAAI,CAS7B,CAAC,EAAE,CAACsC,IAAI,EAAE8B,MAAM,KAChB1D,aAAa,CAACsD,YAAY,CAAC1B,IAAI,CAACd,OAAO,CAAC,GACpCU,MAAM,CAACI,IAAW,EAAE8B,MAAM,CAAC,GAC3BV,MAAM,CAACpB,IAAW,EAAE8B,MAAM,CAAC,CAAC;AAElC;AACA,OAAO,MAAMC,GAAG,gBAAGrE,IAAI,CAGrB,CAAC,EAAE,CAACsC,IAAI,EAAEC,CAAC,KACXhB,IAAI,CACFe,IAAI,CAACd,OAAO,EACZc,IAAI,CAACb,YAAY,EAChBgB,SAAS,IAAKF,CAAC,CAACD,IAAI,CAACZ,WAAW,CAACe,SAAS,CAAC,CAAC,EAC7CH,IAAI,CAACX,YAAY,CAClB,CAAC;AAEJ;AACA,OAAO,MAAM2C,OAAO,gBAAGtE,IAAI,CAUzB,CAAC,EAAE,CAACsC,IAAI,EAAEC,CAAC,KACXhB,IAAI,CACFgB,CAAC,CAACD,IAAI,CAACd,OAAO,CAAC,EACfc,IAAI,CAACb,YAAY,EACjBa,IAAI,CAACZ,WAAW,EAChBY,IAAI,CAACX,YAAY,CAClB,CAAC;AAEJ;AACA,OAAO,MAAM+B,MAAM,gBAAG1D,IAAI,CAGxB,CAAC,EAAE,CAACsC,IAAI,EAAEE,KAAK,KACfjC,IAAI,CAACgE,eAAe,CAClBhE,IAAI,CAACiE,mBAAmB,EACvBC,IAAI,IAAKlE,IAAI,CAACmE,IAAI,CAAC,MAAMpC,IAAI,CAACX,YAAY,CAACa,KAAK,EAAEiC,IAAI,CAAC,CAAC,CAC1D,CAAC;AAEJ;AACA,OAAO,MAAMhB,GAAG,gBAAGzD,IAAI,CASrB,CAAC,EAAE,CAACsC,IAAI,EAAEqC,KAAK,KAAKzC,MAAM,CAACI,IAAW,EAAEqC,KAAK,CAAC,CAAC;AAEjD;AACA,OAAO,MAAMC,OAAO,GAASC,GAAQ,IACnCtD,IAAI,CAAC,KAAK,CAAS,EAAExB,SAAS,EAAE,MAAM8E,GAAG,EAAE9E,SAAS,CAAC;AAEvD;AACA,OAAO,MAAM2E,IAAI,GAASI,QAAsB,IAC9CvD,IAAI,CAAC,KAAK,CAAS,EAAExB,SAAS,EAAE+E,QAAQ,EAAE/E,SAAS,CAAC;AAEtD;AACA,OAAO,MAAMgF,OAAO,GAClBnC,OAOC,IACiCoC,OAAO,CAACC,gBAAgB,CAACrC,OAAO,CAAC,CAAC;AAEtE;AACA,OAAO,MAAMqC,gBAAgB,GAC3BrC,OAOC,IACsEC,aAAa,CAACpC,SAAS,CAACsE,OAAO,CAACnC,OAAO,CAAC,CAAC;AAElH;AACA,OAAO,MAAMsC,MAAM,gBAAGlF,IAAI,CAGxB,CAAC,EAAE,CAACsC,IAAI,EAAEU,GAAG,EAAE2B,KAAK,KAAKnB,gBAAgB,CAAClB,IAAI,EAAE,CAAC3B,WAAW,CAACY,IAAI,CAACyB,GAAG,EAAE2B,KAAK,CAAC,CAAC,CAAC,CAAC;AAElF;AACA,OAAO,MAAMQ,qBAAqB,gBAAGnF,IAAI,CAQvC,CAAC,EAAE,CAACsC,IAAI,EAAEC,CAAC,KACX8B,GAAG,CACD9C,IAAI,CACFe,IAAI,CAACd,OAAO,EACZ,CAACgB,KAAK,EAAEC,SAAS,KACfH,IAAI,CAACb,YAAY,CACfe,KAAK,EACL5C,GAAG,CAACwF,KAAK,CAAC7C,CAAC,CAACC,KAAK,CAAC,EAAEC,SAAS,CAAC,CAC/B,EACHH,IAAI,CAACZ,WAAW,EAChB,CAACc,KAAK,EAAEC,SAAS,KACfH,IAAI,CAACX,YAAY,CACfa,KAAK,EACL5C,GAAG,CAACwF,KAAK,CAAC7C,CAAC,CAACC,KAAK,CAAC,EAAEC,SAAS,CAAC,CAC/B,CACJ,EACD1C,SAAS,CACV,CAAC;AAEJ;AACA,OAAO,MAAMyD,gBAAgB,gBAAGxD,IAAI,CAQlC,CAAC,EAAE,CAACsC,IAAI,EAAEG,SAAS,KAAI;EACvB,OAAOlB,IAAI,CACTe,IAAI,CAACd,OAAO,EACZ,CAACgB,KAAK,EAAE6C,UAAU,KAAK/C,IAAI,CAACb,YAAY,CAACe,KAAK,EAAE5C,GAAG,CAACwF,KAAK,CAAC3C,SAAS,EAAE4C,UAAU,CAAC,CAAC,EAChFA,UAAU,IAAK/C,IAAI,CAACZ,WAAW,CAAC9B,GAAG,CAACwF,KAAK,CAAC3C,SAAS,EAAE4C,UAAU,CAAC,CAAC,EAClE,CAAC7C,KAAK,EAAE6C,UAAU,KAAK/C,IAAI,CAACX,YAAY,CAACa,KAAK,EAAE5C,GAAG,CAACwF,KAAK,CAAC3C,SAAS,EAAE4C,UAAU,CAAC,CAAC,CAClF;AACH,CAAC,CAAC;AAEF;AACA,OAAO,MAAMC,KAAK,GAAGA,CAAC3C,IAAY,EAAEmB,WAAoB,KAIpD;EACF,MAAMD,UAAU,GAAGrD,gBAAgB,CAAC+E,WAAW,CAAC;IAC9CC,KAAK,EAAE,GAAG;IACVC,MAAM,EAAE,CAAC;IACTC,KAAK,EAAE;GACR,CAAC;EACF,MAAMC,IAAI,GAAGzF,IAAI,CAAC0D,SAAS,CAACjB,IAAI,EAAEkB,UAAU,EAAEC,WAAW,CAAC,EAAEoB,MAAM,CAAC,WAAW,EAAE,cAAc,CAAC,CAAC;EAChG,OAAO7C,QAAQ,CAACsD,IAAI,EAAE7F,QAAQ,CAAC8F,QAAQ,CAAC;AAC1C,CAAC;AAED;AACA,OAAO,MAAMC,mBAAmB,GAAGA,CACjClD,IAAY,EACZkB,UAAiC,EACjCC,WAAoB,KAKlB;EACF,MAAM6B,IAAI,GAAGzF,IAAI,CACf0D,SAAS,CAACjB,IAAI,EAAEnC,gBAAgB,CAACsF,YAAY,CAACjC,UAAU,CAAC,EAAEC,WAAW,CAAC,EACvEoB,MAAM,CAAC,WAAW,EAAE,cAAc,CAAC,CACpC;EACD,OAAO7C,QAAQ,CAACsD,IAAI,EAAE7F,QAAQ,CAAC8F,QAAQ,CAAC;AAC1C,CAAC;AAED;AACA,OAAO,MAAMG,QAAQ,gBAAG/F,IAAI,CAU1B,CAAC,EAAE,CAACsC,IAAI,EAAEE,KAAK,KAAMT,MAAM,IAC3BxB,IAAI,CAACyF,gBAAgB,CAACjE,MAAM,EAAE;EAC5BkE,SAAS,EAAGC,KAAK,IAAK3F,IAAI,CAAC4F,QAAQ,CAACjE,MAAM,CAACI,IAAI,EAAEE,KAAK,CAAC,EAAEjC,IAAI,CAAC6F,SAAS,CAACF,KAAK,CAAC,CAAC;EAC/EG,SAAS,EAAG1B,KAAK,IAAKpE,IAAI,CAAC4F,QAAQ,CAACjE,MAAM,CAACI,IAAI,EAAEE,KAAK,CAAC,EAAEjC,IAAI,CAACqE,OAAO,CAACD,KAAK,CAAC;CAC7E,CAAC,CAAC;AAEL;AACA,OAAO,MAAM2B,WAAW,gBAAGtG,IAAI,CAQ7B,CAAC,EAAE,CAACsC,IAAI,EAAEV,MAAM,KAAK2E,eAAe,CAACjE,IAAI,EAAEV,MAAM,EAAE3B,QAAQ,CAAC,CAAC;AAE/D;AACA,OAAO,MAAMsG,eAAe,gBAAGvG,IAAI,CAUjC,CAAC,EAAE,CAACsC,IAAI,EAAEV,MAAM,EAAEW,CAAC,KAAI;EACvB,MAAMiE,OAAO,GAAIC,MAAe,IAAKvE,MAAM,CAACN,MAAM,EAAEW,CAAC,CAACkE,MAAM,CAAC,CAAC;EAC9D,OAAOnG,OAAO,CAACoG,SAAS,CAACpE,IAAI,EAAG4D,KAAK,IAAK3F,IAAI,CAACoG,wBAAwB,CAACtG,KAAK,CAACuG,OAAO,CAACV,KAAK,CAAC,EAAEM,OAAO,CAAC,CAAC;AACzG,CAAC,CAAC;AAEF;AACA,OAAO,MAAMK,aAAa,gBAAG7G,IAAI,CAQ/B,CAAC,EAAE,CAACsC,IAAI,EAAEV,MAAM,KAAKkF,iBAAiB,CAACxE,IAAI,EAAEV,MAAM,EAAE3B,QAAQ,CAAC,CAAC;AAEjE;AACA,OAAO,MAAM6G,iBAAiB,gBAAG9G,IAAI,CAUnC,CAAC,EAAE,CAACsC,IAAI,EAAEV,MAAM,EAAEW,CAAC,KACnB1C,KAAK,CAACkH,SAAS,CAAEC,KAAK,IAAI;EACxB,MAAMC,SAAS,GAAGD,KAAK,CAACE,sBAAsB,EAAE;EAChD,OAAO3G,IAAI,CAACyB,GAAG,CAACM,IAAI,EAAGnB,CAAC,IAAI;IAC1B,MAAMgG,OAAO,GAAGH,KAAK,CAACE,sBAAsB,EAAE;IAC9C,MAAME,QAAQ,GAAGtH,QAAQ,CAACuH,KAAK,CAACF,OAAO,GAAGF,SAAS,CAAC;IACpD,OAAO/E,MAAM,CAACN,MAAM,EAAEW,CAAC,CAAC6E,QAAQ,CAAC,CAAC;EACpC,CAAC,CAAC;AACJ,CAAC,CAAC,CAAC;AAEL;AACA,OAAO,MAAME,UAAU,gBAAGtH,IAAI,CAQ5B,CAAC,EAAE,CACHsC,IAA4B,EAC5BV,MAAoC,KACjC2F,cAAc,CAACjF,IAAI,EAAEV,MAAM,EAAGK,CAAK,IAAKA,CAAC,CAAC,CAAC;AAEhD;AACA,OAAO,MAAMsF,cAAc,gBAAGvH,IAAI,CAUhC,CAAC,EAAE,CACHsC,IAA4B,EAC5BV,MAAoC,EACpCW,CAAqB,KACnB;EACF,MAAMiE,OAAO,GAAIgB,KAAQ,IAA0BtF,MAAM,CAACN,MAAM,EAAEW,CAAC,CAACiF,KAAK,CAAC,CAAC;EAC3E,OAAOlH,OAAO,CAACmH,QAAQ,CAACnF,IAAI,EAAEkE,OAAO,CAAC;AACxC,CAAC,CAAC;AAEF;AACA,OAAO,MAAMkB,YAAY,gBAAG1H,IAAI,CAQ9B,CAAC,EAAE,CACHsC,IAA4B,EAC5BV,MAAoC,KACjC+F,gBAAgB,CAACrF,IAAI,EAAEV,MAAM,EAAGK,CAAK,IAAKA,CAAC,CAAC,CAAC;AAElD;AACA,OAAO,MAAM0F,gBAAgB,gBAAG3H,IAAI,CAUlC,CAAC,EAAE,CACHsC,IAA4B,EAC5BV,MAAoC,EACpCW,CAAqB,KACnB;EACF,MAAMiE,OAAO,GAAI7B,KAAQ,IAA0BzC,MAAM,CAACN,MAAM,EAAEW,CAAC,CAACoC,KAAK,CAAC,CAAC;EAC3E,OAAOpE,IAAI,CAACyB,GAAG,CAACM,IAAI,EAAEkE,OAAO,CAAC;AAChC,CAAC,CAAC;AAEF;AACA,OAAO,MAAMtE,MAAM,gBAAGlC,IAAI,CAGxB,CAAC,EAAE,CAACsC,IAAI,EAAEE,KAAK,KACfjC,IAAI,CAACgE,eAAe,CAClBhE,IAAI,CAACiE,mBAAmB,EACvBC,IAAI,IAAKlE,IAAI,CAACmE,IAAI,CAAC,MAAMpC,IAAI,CAACb,YAAY,CAACe,KAAK,EAAEiC,IAAI,CAAC,CAAC,CAC1D,CAAC;AAEJ;AACA,OAAO,MAAME,KAAK,GAChBrC,IAAkC,IAElC/B,IAAI,CAACgE,eAAe,CAClBhE,IAAI,CAACiE,mBAAmB,EACvBC,IAAI,IAAKlE,IAAI,CAACmE,IAAI,CAAC,MAAMpC,IAAI,CAACZ,WAAW,CAAC+C,IAAI,CAAC,CAAC,CAClD;AAEH;AACA,OAAO,MAAMO,OAAO,GAClB1C,IAAqD,IACpBD,QAAQ,CAACC,IAAI,EAAGE,KAAS,IAAK,CAACA,KAAK,EAAEoF,IAAI,CAACC,GAAG,EAAE,CAAU,CAAC;AAE9F;AACA,OAAO,MAAMC,GAAG,gBAAG9H,IAAI,CAWrB,CAAC,EACD,CAAkCsC,IAAkC,EAAEyF,IAAqC,KACzGxG,IAAI,CACF,CAACe,IAAI,CAACd,OAAO,EAAEuG,IAAI,CAACvG,OAAO,CAAU,EACrC,CAACgB,KAAyB,EAAEC,SAAS,KAAI;EACvC,MAAM,CAACuF,CAAC,EAAEC,CAAC,CAAC,GAAGzF,KAAK;EACpBF,IAAI,CAACb,YAAY,CAACuG,CAAC,EAAEvF,SAAS,CAAC;EAC/BsF,IAAI,CAACtG,YAAY,CAACwG,CAAC,EAAExF,SAAS,CAAC;AACjC,CAAC,EACAA,SAAS,IAAK,CAACH,IAAI,CAACZ,WAAW,CAACe,SAAS,CAAC,EAAEsF,IAAI,CAACrG,WAAW,CAACe,SAAS,CAAC,CAAC,EACzE,CAACD,KAAyB,EAAEC,SAAS,KAAI;EACvC,MAAM,CAACuF,CAAC,EAAEC,CAAC,CAAC,GAAGzF,KAAK;EACpBF,IAAI,CAACX,YAAY,CAACqG,CAAC,EAAEvF,SAAS,CAAC;EAC/BsF,IAAI,CAACpG,YAAY,CAACsG,CAAC,EAAExF,SAAS,CAAC;AACjC,CAAC,CACF,CACJ;AAED;AACA,OAAO,MAAMyF,cAAc,GAAGA,CAAA,KAA4C5G,oBAAoB,CAAC6G,QAAQ,EAAE;AAEzG;AACA,OAAO,MAAMA,QAAQ,gBAAwD5H,IAAI,CAACmE,IAAI,CACpFwD,cAAc,CACf","ignoreList":[]}
|
package/package.json
CHANGED
package/src/Cache.ts
CHANGED
|
@@ -22,6 +22,18 @@ export const CacheTypeId: unique symbol = internal.CacheTypeId
|
|
|
22
22
|
*/
|
|
23
23
|
export type CacheTypeId = typeof CacheTypeId
|
|
24
24
|
|
|
25
|
+
/**
|
|
26
|
+
* @since 3.6.4
|
|
27
|
+
* @category symbols
|
|
28
|
+
*/
|
|
29
|
+
export const ConsumerCacheTypeId: unique symbol = internal.ConsumerCacheTypeId
|
|
30
|
+
|
|
31
|
+
/**
|
|
32
|
+
* @since 3.6.4
|
|
33
|
+
* @category symbols
|
|
34
|
+
*/
|
|
35
|
+
export type ConsumerCacheTypeId = typeof ConsumerCacheTypeId
|
|
36
|
+
|
|
25
37
|
/**
|
|
26
38
|
* A `Cache` is defined in terms of a lookup function that, given a key of
|
|
27
39
|
* type `Key`, can either fail with an error of type `Error` or succeed with a
|
|
@@ -43,7 +55,9 @@ export type CacheTypeId = typeof CacheTypeId
|
|
|
43
55
|
* @since 2.0.0
|
|
44
56
|
* @category models
|
|
45
57
|
*/
|
|
46
|
-
export interface Cache<in out Key, out Value, out Error = never>
|
|
58
|
+
export interface Cache<in out Key, in out Value, out Error = never>
|
|
59
|
+
extends ConsumerCache<Key, Value, Error>, Cache.Variance<Key, Value, Error>
|
|
60
|
+
{
|
|
47
61
|
/**
|
|
48
62
|
* Retrieves the value associated with the specified key if it exists.
|
|
49
63
|
* Otherwise computes the value with the lookup function, puts it in the
|
|
@@ -83,7 +97,9 @@ export interface Cache<in out Key, out Value, out Error = never> extends Consume
|
|
|
83
97
|
* @since 2.0.0
|
|
84
98
|
* @category models
|
|
85
99
|
*/
|
|
86
|
-
export interface ConsumerCache<in out Key, out Value, out Error = never>
|
|
100
|
+
export interface ConsumerCache<in out Key, out Value, out Error = never>
|
|
101
|
+
extends Cache.ConsumerVariance<Key, Value, Error>
|
|
102
|
+
{
|
|
87
103
|
/**
|
|
88
104
|
* Retrieves the value associated with the specified key if it exists.
|
|
89
105
|
* Otherwise returns `Option.none`.
|
|
@@ -156,8 +172,19 @@ export declare namespace Cache {
|
|
|
156
172
|
* @since 2.0.0
|
|
157
173
|
* @category models
|
|
158
174
|
*/
|
|
159
|
-
export interface Variance<in out Key, out Value, out Error> {
|
|
175
|
+
export interface Variance<in out Key, in out Value, out Error> {
|
|
160
176
|
readonly [CacheTypeId]: {
|
|
177
|
+
readonly _Key: Types.Invariant<Key>
|
|
178
|
+
readonly _Error: Types.Covariant<Error>
|
|
179
|
+
readonly _Value: Types.Invariant<Value>
|
|
180
|
+
}
|
|
181
|
+
}
|
|
182
|
+
/**
|
|
183
|
+
* @since 3.6.4
|
|
184
|
+
* @category models
|
|
185
|
+
*/
|
|
186
|
+
export interface ConsumerVariance<in out Key, out Value, out Error> {
|
|
187
|
+
readonly [ConsumerCacheTypeId]: {
|
|
161
188
|
readonly _Key: Types.Invariant<Key>
|
|
162
189
|
readonly _Error: Types.Covariant<Error>
|
|
163
190
|
readonly _Value: Types.Covariant<Value>
|
package/src/DateTime.ts
CHANGED
|
@@ -562,7 +562,7 @@ export const makeZonedFromString = (input: string): Option.Option<Zoned> => {
|
|
|
562
562
|
const match = zonedStringRegex.exec(input)
|
|
563
563
|
if (match === null) {
|
|
564
564
|
const offset = parseOffset(input)
|
|
565
|
-
return offset ? makeZoned(input, { timeZone: offset }) : Option.none()
|
|
565
|
+
return offset !== null ? makeZoned(input, { timeZone: offset }) : Option.none()
|
|
566
566
|
}
|
|
567
567
|
const [, isoString, timeZone] = match
|
|
568
568
|
return makeZoned(isoString, { timeZone })
|
package/src/Metric.ts
CHANGED
|
@@ -56,6 +56,7 @@ export interface Metric<in out Type, in In, out Out> extends Metric.Variance<Typ
|
|
|
56
56
|
readonly keyType: Type
|
|
57
57
|
unsafeUpdate(input: In, extraTags: ReadonlyArray<MetricLabel.MetricLabel>): void
|
|
58
58
|
unsafeValue(extraTags: ReadonlyArray<MetricLabel.MetricLabel>): Out
|
|
59
|
+
unsafeModify(input: In, extraTags: ReadonlyArray<MetricLabel.MetricLabel>): void
|
|
59
60
|
register(): this
|
|
60
61
|
<A extends In, E, R>(effect: Effect.Effect<A, E, R>): Effect.Effect<A, E, R>
|
|
61
62
|
}
|
|
@@ -68,7 +69,8 @@ export interface MetricApply {
|
|
|
68
69
|
<Type, In, Out>(
|
|
69
70
|
keyType: Type,
|
|
70
71
|
unsafeUpdate: (input: In, extraTags: ReadonlyArray<MetricLabel.MetricLabel>) => void,
|
|
71
|
-
unsafeValue: (extraTags: ReadonlyArray<MetricLabel.MetricLabel>) => Out
|
|
72
|
+
unsafeValue: (extraTags: ReadonlyArray<MetricLabel.MetricLabel>) => Out,
|
|
73
|
+
unsafeModify: (input: In, extraTags: ReadonlyArray<MetricLabel.MetricLabel>) => void
|
|
72
74
|
): Metric<Type, In, Out>
|
|
73
75
|
}
|
|
74
76
|
|
|
@@ -306,20 +308,21 @@ export const histogram: (
|
|
|
306
308
|
|
|
307
309
|
/**
|
|
308
310
|
* @since 2.0.0
|
|
309
|
-
* @category
|
|
311
|
+
* @category combinators
|
|
310
312
|
*/
|
|
311
|
-
export const increment: (
|
|
312
|
-
|
|
313
|
+
export const increment: (
|
|
314
|
+
self: Metric.Counter<number> | Metric.Counter<bigint> | Metric.Gauge<number> | Metric.Gauge<bigint>
|
|
315
|
+
) => Effect.Effect<void> = internal.increment
|
|
313
316
|
|
|
314
317
|
/**
|
|
315
318
|
* @since 2.0.0
|
|
316
|
-
* @category
|
|
319
|
+
* @category combinators
|
|
317
320
|
*/
|
|
318
321
|
export const incrementBy: {
|
|
319
|
-
(amount: number): (self: Metric.Counter<number>) => Effect.Effect<void>
|
|
320
|
-
(amount: bigint): (self: Metric.Counter<bigint>) => Effect.Effect<void>
|
|
321
|
-
(self: Metric.Counter<number>, amount: number): Effect.Effect<void>
|
|
322
|
-
(self: Metric.Counter<bigint>, amount: bigint): Effect.Effect<void>
|
|
322
|
+
(amount: number): (self: Metric.Counter<number> | Metric.Counter<number>) => Effect.Effect<void>
|
|
323
|
+
(amount: bigint): (self: Metric.Counter<bigint> | Metric.Gauge<bigint>) => Effect.Effect<void>
|
|
324
|
+
(self: Metric.Counter<number> | Metric.Gauge<number>, amount: number): Effect.Effect<void>
|
|
325
|
+
(self: Metric.Counter<bigint> | Metric.Gauge<bigint>, amount: bigint): Effect.Effect<void>
|
|
323
326
|
} = internal.incrementBy
|
|
324
327
|
|
|
325
328
|
/**
|
|
@@ -344,6 +347,19 @@ export const mapType: {
|
|
|
344
347
|
<Type, In, Out, Type2>(self: Metric<Type, In, Out>, f: (type: Type) => Type2): Metric<Type2, In, Out>
|
|
345
348
|
} = internal.mapType
|
|
346
349
|
|
|
350
|
+
/**
|
|
351
|
+
* Modifies the metric with the specified update message. For example, if the
|
|
352
|
+
* metric were a gauge, the update would increment the method by the provided
|
|
353
|
+
* amount.
|
|
354
|
+
*
|
|
355
|
+
* @since 3.6.5
|
|
356
|
+
* @category utils
|
|
357
|
+
*/
|
|
358
|
+
export const modify: {
|
|
359
|
+
<In>(input: In): <Type, Out>(self: Metric<Type, In, Out>) => Effect.Effect<void>
|
|
360
|
+
<Type, In, Out>(self: Metric<Type, In, Out>, input: In): Effect.Effect<void>
|
|
361
|
+
} = internal.modify
|
|
362
|
+
|
|
347
363
|
/**
|
|
348
364
|
* @since 2.0.0
|
|
349
365
|
* @category aspects
|
package/src/MetricHook.ts
CHANGED
|
@@ -27,6 +27,7 @@ export type MetricHookTypeId = typeof MetricHookTypeId
|
|
|
27
27
|
export interface MetricHook<in In, out Out> extends MetricHook.Variance<In, Out>, Pipeable {
|
|
28
28
|
get(): Out
|
|
29
29
|
update(input: In): void
|
|
30
|
+
modify(input: In): void
|
|
30
31
|
}
|
|
31
32
|
|
|
32
33
|
/**
|
|
@@ -94,6 +95,7 @@ export declare namespace MetricHook {
|
|
|
94
95
|
export const make: <In, Out>(options: {
|
|
95
96
|
readonly get: LazyArg<Out>
|
|
96
97
|
readonly update: (input: In) => void
|
|
98
|
+
readonly modify: (input: In) => void
|
|
97
99
|
}) => MetricHook<In, Out> = internal.make
|
|
98
100
|
|
|
99
101
|
/**
|
|
@@ -138,3 +140,12 @@ export const onUpdate: {
|
|
|
138
140
|
<In, Out>(f: (input: In) => void): (self: MetricHook<In, Out>) => MetricHook<In, Out>
|
|
139
141
|
<In, Out>(self: MetricHook<In, Out>, f: (input: In) => void): MetricHook<In, Out>
|
|
140
142
|
} = internal.onUpdate
|
|
143
|
+
|
|
144
|
+
/**
|
|
145
|
+
* @since 3.6.5
|
|
146
|
+
* @category utils
|
|
147
|
+
*/
|
|
148
|
+
export const onModify: {
|
|
149
|
+
<In, Out>(f: (input: In) => void): (self: MetricHook<In, Out>) => MetricHook<In, Out>
|
|
150
|
+
<In, Out>(self: MetricHook<In, Out>, f: (input: In) => void): MetricHook<In, Out>
|
|
151
|
+
} = internal.onModify
|
package/src/Pipeable.ts
CHANGED
|
@@ -7,6 +7,7 @@
|
|
|
7
7
|
* @category models
|
|
8
8
|
*/
|
|
9
9
|
export interface Pipeable {
|
|
10
|
+
pipe<A>(this: A): A
|
|
10
11
|
pipe<A, B>(this: A, ab: (_: A) => B): B
|
|
11
12
|
pipe<A, B, C>(this: A, ab: (_: A) => B, bc: (_: B) => C): C
|
|
12
13
|
pipe<A, B, C, D>(this: A, ab: (_: A) => B, bc: (_: B) => C, cd: (_: C) => D): D
|
|
@@ -289,6 +290,8 @@ export interface Pipeable {
|
|
|
289
290
|
*/
|
|
290
291
|
export const pipeArguments = <A>(self: A, args: IArguments): unknown => {
|
|
291
292
|
switch (args.length) {
|
|
293
|
+
case 0:
|
|
294
|
+
return self
|
|
292
295
|
case 1:
|
|
293
296
|
return args[0](self)
|
|
294
297
|
case 2:
|
package/src/Scheduler.ts
CHANGED
|
@@ -37,27 +37,22 @@ export class PriorityBuckets<in out T = Task> {
|
|
|
37
37
|
* @since 2.0.0
|
|
38
38
|
*/
|
|
39
39
|
scheduleTask(task: T, priority: number) {
|
|
40
|
+
const length = this.buckets.length
|
|
40
41
|
let bucket: [number, Array<T>] | undefined = undefined
|
|
41
|
-
let index
|
|
42
|
-
for (
|
|
42
|
+
let index = 0
|
|
43
|
+
for (; index < length; index++) {
|
|
43
44
|
if (this.buckets[index][0] <= priority) {
|
|
44
45
|
bucket = this.buckets[index]
|
|
45
46
|
} else {
|
|
46
47
|
break
|
|
47
48
|
}
|
|
48
49
|
}
|
|
49
|
-
if (bucket) {
|
|
50
|
+
if (bucket && bucket[0] === priority) {
|
|
50
51
|
bucket[1].push(task)
|
|
52
|
+
} else if (index === length) {
|
|
53
|
+
this.buckets.push([priority, [task]])
|
|
51
54
|
} else {
|
|
52
|
-
|
|
53
|
-
for (let i = 0; i < index; i++) {
|
|
54
|
-
newBuckets.push(this.buckets[i])
|
|
55
|
-
}
|
|
56
|
-
newBuckets.push([priority, [task]])
|
|
57
|
-
for (let i = index; i < this.buckets.length; i++) {
|
|
58
|
-
newBuckets.push(this.buckets[i])
|
|
59
|
-
}
|
|
60
|
-
this.buckets = newBuckets
|
|
55
|
+
this.buckets.splice(index, 0, [priority, [task]])
|
|
61
56
|
}
|
|
62
57
|
}
|
|
63
58
|
}
|
package/src/internal/cache.ts
CHANGED
|
@@ -270,6 +270,23 @@ export const CacheTypeId: Cache.CacheTypeId = Symbol.for(
|
|
|
270
270
|
) as Cache.CacheTypeId
|
|
271
271
|
|
|
272
272
|
const cacheVariance = {
|
|
273
|
+
/* c8 ignore next */
|
|
274
|
+
_Key: (_: any) => _,
|
|
275
|
+
/* c8 ignore next */
|
|
276
|
+
_Error: (_: never) => _,
|
|
277
|
+
/* c8 ignore next */
|
|
278
|
+
_Value: (_: any) => _
|
|
279
|
+
}
|
|
280
|
+
|
|
281
|
+
/** @internal */
|
|
282
|
+
const ConsumerCacheSymbolKey = "effect/ConsumerCache"
|
|
283
|
+
|
|
284
|
+
/** @internal */
|
|
285
|
+
export const ConsumerCacheTypeId: Cache.ConsumerCacheTypeId = Symbol.for(
|
|
286
|
+
ConsumerCacheSymbolKey
|
|
287
|
+
) as Cache.ConsumerCacheTypeId
|
|
288
|
+
|
|
289
|
+
const consumerCacheVariance = {
|
|
273
290
|
/* c8 ignore next */
|
|
274
291
|
_Key: (_: any) => _,
|
|
275
292
|
/* c8 ignore next */
|
|
@@ -294,6 +311,7 @@ export const makeEntryStats = (loadedMillis: number): Cache.EntryStats => ({
|
|
|
294
311
|
|
|
295
312
|
class CacheImpl<in out Key, in out Value, in out Error> implements Cache.Cache<Key, Value, Error> {
|
|
296
313
|
readonly [CacheTypeId] = cacheVariance
|
|
314
|
+
readonly [ConsumerCacheTypeId] = consumerCacheVariance
|
|
297
315
|
readonly cacheState: CacheState<Key, Value, Error>
|
|
298
316
|
constructor(
|
|
299
317
|
readonly capacity: number,
|
|
@@ -1200,12 +1200,20 @@ export const patchFiberRefs = (patch: FiberRefsPatch.FiberRefsPatch): Effect.Eff
|
|
|
1200
1200
|
export const promise = <A>(evaluate: (signal: AbortSignal) => PromiseLike<A>): Effect.Effect<A> =>
|
|
1201
1201
|
evaluate.length >= 1
|
|
1202
1202
|
? core.async((resolve, signal) => {
|
|
1203
|
-
|
|
1204
|
-
|
|
1203
|
+
try {
|
|
1204
|
+
evaluate(signal)
|
|
1205
|
+
.then((a) => resolve(core.exitSucceed(a)), (e) => resolve(core.exitDie(e)))
|
|
1206
|
+
} catch (e) {
|
|
1207
|
+
resolve(core.exitDie(e))
|
|
1208
|
+
}
|
|
1205
1209
|
})
|
|
1206
1210
|
: core.async((resolve) => {
|
|
1207
|
-
|
|
1208
|
-
|
|
1211
|
+
try {
|
|
1212
|
+
;(evaluate as LazyArg<PromiseLike<A>>)()
|
|
1213
|
+
.then((a) => resolve(core.exitSucceed(a)), (e) => resolve(core.exitDie(e)))
|
|
1214
|
+
} catch (e) {
|
|
1215
|
+
resolve(core.exitDie(e))
|
|
1216
|
+
}
|
|
1209
1217
|
})
|
|
1210
1218
|
|
|
1211
1219
|
/* @internal */
|
|
@@ -1668,14 +1676,12 @@ export const tryPromise: {
|
|
|
1668
1676
|
return core.async((resolve, signal) => {
|
|
1669
1677
|
try {
|
|
1670
1678
|
evaluate(signal)
|
|
1671
|
-
.then(
|
|
1672
|
-
resolve(core.
|
|
1673
|
-
|
|
1674
|
-
|
|
1679
|
+
.then(
|
|
1680
|
+
(a) => resolve(core.exitSucceed(a)),
|
|
1681
|
+
(e) => resolve(catcher ? core.failSync(() => catcher(e)) : core.fail(new core.UnknownException(e)))
|
|
1682
|
+
)
|
|
1675
1683
|
} catch (e) {
|
|
1676
|
-
resolve(core.fail(
|
|
1677
|
-
catcher ? catcher(e) : new core.UnknownException(e)
|
|
1678
|
-
))
|
|
1684
|
+
resolve(catcher ? core.failSync(() => catcher(e)) : core.fail(new core.UnknownException(e)))
|
|
1679
1685
|
}
|
|
1680
1686
|
})
|
|
1681
1687
|
}
|
|
@@ -1683,14 +1689,12 @@ export const tryPromise: {
|
|
|
1683
1689
|
return core.async((resolve) => {
|
|
1684
1690
|
try {
|
|
1685
1691
|
evaluate()
|
|
1686
|
-
.then(
|
|
1687
|
-
resolve(core.
|
|
1688
|
-
|
|
1689
|
-
|
|
1692
|
+
.then(
|
|
1693
|
+
(a) => resolve(core.exitSucceed(a)),
|
|
1694
|
+
(e) => resolve(catcher ? core.failSync(() => catcher(e)) : core.fail(new core.UnknownException(e)))
|
|
1695
|
+
)
|
|
1690
1696
|
} catch (e) {
|
|
1691
|
-
resolve(core.fail(
|
|
1692
|
-
catcher ? catcher(e) : new core.UnknownException(e)
|
|
1693
|
-
))
|
|
1697
|
+
resolve(catcher ? core.failSync(() => catcher(e)) : core.fail(new core.UnknownException(e)))
|
|
1694
1698
|
}
|
|
1695
1699
|
})
|
|
1696
1700
|
}
|
|
@@ -30,6 +30,7 @@ export const make = <In, Out>(
|
|
|
30
30
|
options: {
|
|
31
31
|
readonly get: LazyArg<Out>
|
|
32
32
|
readonly update: (input: In) => void
|
|
33
|
+
readonly modify: (input: In) => void
|
|
33
34
|
}
|
|
34
35
|
): MetricHook.MetricHook<In, Out> => ({
|
|
35
36
|
[MetricHookTypeId]: metricHookVariance,
|
|
@@ -39,6 +40,23 @@ export const make = <In, Out>(
|
|
|
39
40
|
...options
|
|
40
41
|
})
|
|
41
42
|
|
|
43
|
+
/** @internal */
|
|
44
|
+
export const onModify = dual<
|
|
45
|
+
<In, Out>(f: (input: In) => void) => (self: MetricHook.MetricHook<In, Out>) => MetricHook.MetricHook<In, Out>,
|
|
46
|
+
<In, Out>(self: MetricHook.MetricHook<In, Out>, f: (input: In) => void) => MetricHook.MetricHook<In, Out>
|
|
47
|
+
>(2, (self, f) => ({
|
|
48
|
+
[MetricHookTypeId]: metricHookVariance,
|
|
49
|
+
pipe() {
|
|
50
|
+
return pipeArguments(this, arguments)
|
|
51
|
+
},
|
|
52
|
+
get: self.get,
|
|
53
|
+
update: self.update,
|
|
54
|
+
modify: (input) => {
|
|
55
|
+
self.modify(input)
|
|
56
|
+
return f(input)
|
|
57
|
+
}
|
|
58
|
+
}))
|
|
59
|
+
|
|
42
60
|
/** @internal */
|
|
43
61
|
export const onUpdate = dual<
|
|
44
62
|
<In, Out>(f: (input: In) => void) => (self: MetricHook.MetricHook<In, Out>) => MetricHook.MetricHook<In, Out>,
|
|
@@ -52,7 +70,8 @@ export const onUpdate = dual<
|
|
|
52
70
|
update: (input) => {
|
|
53
71
|
self.update(input)
|
|
54
72
|
return f(input)
|
|
55
|
-
}
|
|
73
|
+
},
|
|
74
|
+
modify: self.modify
|
|
56
75
|
}))
|
|
57
76
|
|
|
58
77
|
const bigint0 = BigInt(0)
|
|
@@ -67,13 +86,15 @@ export const counter = <A extends (number | bigint)>(
|
|
|
67
86
|
? (value: A) => value >= bigint0
|
|
68
87
|
: (value: A) => value >= 0
|
|
69
88
|
: (_value: A) => true
|
|
89
|
+
const update = (value: A) => {
|
|
90
|
+
if (canUpdate(value)) {
|
|
91
|
+
sum = (sum as any) + value
|
|
92
|
+
}
|
|
93
|
+
}
|
|
70
94
|
return make({
|
|
71
95
|
get: () => metricState.counter(sum as number) as unknown as MetricState.MetricState.Counter<A>,
|
|
72
|
-
update
|
|
73
|
-
|
|
74
|
-
sum = (sum as any) + value
|
|
75
|
-
}
|
|
76
|
-
}
|
|
96
|
+
update,
|
|
97
|
+
modify: update
|
|
77
98
|
})
|
|
78
99
|
}
|
|
79
100
|
|
|
@@ -89,7 +110,8 @@ export const frequency = (key: MetricKey.MetricKey.Frequency): MetricHook.Metric
|
|
|
89
110
|
}
|
|
90
111
|
return make({
|
|
91
112
|
get: () => metricState.frequency(values),
|
|
92
|
-
update
|
|
113
|
+
update,
|
|
114
|
+
modify: update
|
|
93
115
|
})
|
|
94
116
|
}
|
|
95
117
|
|
|
@@ -106,6 +128,9 @@ export const gauge: {
|
|
|
106
128
|
get: () => metricState.gauge(value as number) as unknown as MetricState.MetricState.Gauge<A>,
|
|
107
129
|
update: (v) => {
|
|
108
130
|
value = v
|
|
131
|
+
},
|
|
132
|
+
modify: (v) => {
|
|
133
|
+
value = (value as any) + v
|
|
109
134
|
}
|
|
110
135
|
})
|
|
111
136
|
}
|
|
@@ -182,7 +207,8 @@ export const histogram = (key: MetricKey.MetricKey.Histogram): MetricHook.Metric
|
|
|
182
207
|
max,
|
|
183
208
|
sum
|
|
184
209
|
}),
|
|
185
|
-
update
|
|
210
|
+
update,
|
|
211
|
+
modify: update
|
|
186
212
|
})
|
|
187
213
|
}
|
|
188
214
|
|
|
@@ -258,7 +284,8 @@ export const summary = (key: MetricKey.MetricKey.Summary): MetricHook.MetricHook
|
|
|
258
284
|
max,
|
|
259
285
|
sum
|
|
260
286
|
}),
|
|
261
|
-
update: ([value, timestamp]) => observe(value, timestamp)
|
|
287
|
+
update: ([value, timestamp]) => observe(value, timestamp),
|
|
288
|
+
modify: ([value, timestamp]) => observe(value, timestamp)
|
|
262
289
|
})
|
|
263
290
|
}
|
|
264
291
|
|