@evolu/common 8.7.0 → 8.9.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/dist/src/Array.d.ts +21 -21
- package/dist/src/Array.js +5 -5
- package/dist/src/Assert.d.ts +498 -141
- package/dist/src/Assert.d.ts.map +1 -1
- package/dist/src/Assert.js +648 -99
- package/dist/src/{Buffer.d.ts → Binary.d.ts} +85 -12
- package/dist/src/Binary.d.ts.map +1 -0
- package/dist/src/{Buffer.js → Binary.js} +206 -24
- package/dist/src/Console.d.ts +2 -10
- package/dist/src/Console.d.ts.map +1 -1
- package/dist/src/Console.js +6 -12
- package/dist/src/Crypto.d.ts +5 -5
- package/dist/src/Crypto.js +1 -1
- package/dist/src/Eq.d.ts +35 -40
- package/dist/src/Eq.d.ts.map +1 -1
- package/dist/src/Eq.js +51 -87
- package/dist/src/Function.d.ts +9 -14
- package/dist/src/Function.d.ts.map +1 -1
- package/dist/src/Function.js +7 -9
- package/dist/src/Http.d.ts +6 -7
- package/dist/src/Http.d.ts.map +1 -1
- package/dist/src/LeakDetector.d.ts.map +1 -1
- package/dist/src/LeakDetector.js +1 -0
- package/dist/src/LockManager.d.ts +1 -1
- package/dist/src/LockManager.js +1 -1
- package/dist/src/Lookup.d.ts +3 -2
- package/dist/src/Lookup.d.ts.map +1 -1
- package/dist/src/Lookup.js +4 -3
- package/dist/src/Number.d.ts +1 -1
- package/dist/src/Number.d.ts.map +1 -1
- package/dist/src/Number.js +1 -1
- package/dist/src/Object.d.ts +4 -4
- package/dist/src/Object.d.ts.map +1 -1
- package/dist/src/Object.js +5 -4
- package/dist/src/Option.d.ts +1 -2
- package/dist/src/Option.d.ts.map +1 -1
- package/dist/src/Option.js +1 -2
- package/dist/src/Platform.js +2 -0
- package/dist/src/Polyfills.d.ts +6 -0
- package/dist/src/Polyfills.d.ts.map +1 -1
- package/dist/src/Polyfills.js +10 -1
- package/dist/src/Random.d.ts +1 -1
- package/dist/src/Result.d.ts +49 -54
- package/dist/src/Result.d.ts.map +1 -1
- package/dist/src/Result.js +17 -22
- package/dist/src/Set.d.ts +6 -6
- package/dist/src/Set.js +2 -2
- package/dist/src/Sqlite.js +1 -1
- package/dist/src/String.js +3 -2
- package/dist/src/Task.d.ts +32 -32
- package/dist/src/Task.d.ts.map +1 -1
- package/dist/src/Task.js +20 -22
- package/dist/src/Test.d.ts +31 -3
- package/dist/src/Test.d.ts.map +1 -1
- package/dist/src/Test.js +46 -3
- package/dist/src/Time.d.ts +3 -11
- package/dist/src/Time.d.ts.map +1 -1
- package/dist/src/Time.js +10 -18
- package/dist/src/Type.d.ts +87 -85
- package/dist/src/Type.d.ts.map +1 -1
- package/dist/src/Type.js +70 -63
- package/dist/src/Types.d.ts +12 -12
- package/dist/src/Types.js +1 -1
- package/dist/src/WebSocket.d.ts +4 -7
- package/dist/src/WebSocket.d.ts.map +1 -1
- package/dist/src/Worker.d.ts +1 -1
- package/dist/src/Worker.js +7 -7
- package/dist/src/index.d.ts +1 -1
- package/dist/src/index.js +1 -1
- package/dist/src/intl/_en.d.ts.map +1 -1
- package/dist/src/intl/_en.js +1 -1
- package/dist/src/intl/ar.d.ts.map +1 -1
- package/dist/src/intl/ar.js +1 -1
- package/dist/src/intl/bn.d.ts.map +1 -1
- package/dist/src/intl/bn.js +1 -1
- package/dist/src/intl/ca.d.ts.map +1 -1
- package/dist/src/intl/ca.js +1 -1
- package/dist/src/intl/cs.d.ts.map +1 -1
- package/dist/src/intl/cs.js +1 -1
- package/dist/src/intl/da.d.ts.map +1 -1
- package/dist/src/intl/da.js +1 -1
- package/dist/src/intl/de.d.ts.map +1 -1
- package/dist/src/intl/de.js +1 -1
- package/dist/src/intl/el.d.ts.map +1 -1
- package/dist/src/intl/el.js +1 -1
- package/dist/src/intl/es.d.ts.map +1 -1
- package/dist/src/intl/es.js +1 -1
- package/dist/src/intl/fa.d.ts.map +1 -1
- package/dist/src/intl/fa.js +1 -1
- package/dist/src/intl/fi.d.ts.map +1 -1
- package/dist/src/intl/fi.js +1 -1
- package/dist/src/intl/fil.d.ts.map +1 -1
- package/dist/src/intl/fil.js +1 -1
- package/dist/src/intl/fr.d.ts.map +1 -1
- package/dist/src/intl/fr.js +1 -1
- package/dist/src/intl/he.d.ts.map +1 -1
- package/dist/src/intl/he.js +1 -1
- package/dist/src/intl/hi.d.ts.map +1 -1
- package/dist/src/intl/hi.js +1 -1
- package/dist/src/intl/hr.d.ts.map +1 -1
- package/dist/src/intl/hr.js +1 -1
- package/dist/src/intl/hu.d.ts.map +1 -1
- package/dist/src/intl/hu.js +1 -1
- package/dist/src/intl/id.d.ts.map +1 -1
- package/dist/src/intl/id.js +1 -1
- package/dist/src/intl/it.d.ts.map +1 -1
- package/dist/src/intl/it.js +1 -1
- package/dist/src/intl/ja.d.ts.map +1 -1
- package/dist/src/intl/ja.js +1 -1
- package/dist/src/intl/ko.d.ts.map +1 -1
- package/dist/src/intl/ko.js +1 -1
- package/dist/src/intl/ml.d.ts.map +1 -1
- package/dist/src/intl/ml.js +1 -1
- package/dist/src/intl/mr.d.ts.map +1 -1
- package/dist/src/intl/mr.js +1 -1
- package/dist/src/intl/ms.d.ts.map +1 -1
- package/dist/src/intl/ms.js +1 -1
- package/dist/src/intl/nb.d.ts.map +1 -1
- package/dist/src/intl/nb.js +1 -1
- package/dist/src/intl/nl.d.ts.map +1 -1
- package/dist/src/intl/nl.js +1 -1
- package/dist/src/intl/pa.d.ts.map +1 -1
- package/dist/src/intl/pa.js +1 -1
- package/dist/src/intl/pl.d.ts.map +1 -1
- package/dist/src/intl/pl.js +1 -1
- package/dist/src/intl/pt-BR.d.ts.map +1 -1
- package/dist/src/intl/pt-BR.js +1 -1
- package/dist/src/intl/pt.d.ts.map +1 -1
- package/dist/src/intl/pt.js +1 -1
- package/dist/src/intl/ro.d.ts.map +1 -1
- package/dist/src/intl/ro.js +1 -1
- package/dist/src/intl/sk.d.ts.map +1 -1
- package/dist/src/intl/sk.js +1 -1
- package/dist/src/intl/sl.d.ts.map +1 -1
- package/dist/src/intl/sl.js +1 -1
- package/dist/src/intl/sv.d.ts.map +1 -1
- package/dist/src/intl/sv.js +1 -1
- package/dist/src/intl/sw.d.ts.map +1 -1
- package/dist/src/intl/sw.js +1 -1
- package/dist/src/intl/ta.d.ts.map +1 -1
- package/dist/src/intl/ta.js +1 -1
- package/dist/src/intl/te.d.ts.map +1 -1
- package/dist/src/intl/te.js +1 -1
- package/dist/src/intl/th.d.ts.map +1 -1
- package/dist/src/intl/th.js +1 -1
- package/dist/src/intl/tr.d.ts.map +1 -1
- package/dist/src/intl/tr.js +1 -1
- package/dist/src/intl/uk.d.ts.map +1 -1
- package/dist/src/intl/uk.js +1 -1
- package/dist/src/intl/ur.d.ts.map +1 -1
- package/dist/src/intl/ur.js +1 -1
- package/dist/src/intl/vi.d.ts.map +1 -1
- package/dist/src/intl/vi.js +1 -1
- package/dist/src/intl/zh-CN.d.ts.map +1 -1
- package/dist/src/intl/zh-CN.js +1 -1
- package/dist/src/intl/zh-TW.d.ts.map +1 -1
- package/dist/src/intl/zh-TW.js +1 -1
- package/dist/src/local-first/Evolu.d.ts +12 -12
- package/dist/src/local-first/Evolu.d.ts.map +1 -1
- package/dist/src/local-first/Evolu.js +2 -2
- package/dist/src/local-first/Protocol.d.ts +14 -76
- package/dist/src/local-first/Protocol.d.ts.map +1 -1
- package/dist/src/local-first/Protocol.js +29 -206
- package/dist/src/local-first/Query.d.ts +11 -11
- package/dist/src/local-first/Query.js +6 -6
- package/dist/src/local-first/Relay.d.ts +2 -2
- package/dist/src/local-first/Schema.d.ts +3 -5
- package/dist/src/local-first/Schema.d.ts.map +1 -1
- package/dist/src/local-first/Schema.js +2 -4
- package/dist/src/local-first/Shared.d.ts.map +1 -1
- package/dist/src/local-first/Shared.js +5 -5
- package/dist/src/local-first/Storage.js +4 -4
- package/dist/src/local-first/Timestamp.d.ts +9 -0
- package/dist/src/local-first/Timestamp.d.ts.map +1 -1
- package/dist/src/local-first/Timestamp.js +13 -10
- package/package.json +7 -4
- package/src/Array.test.ts +809 -0
- package/src/Array.ts +21 -21
- package/src/Assert.test.ts +1232 -0
- package/src/Assert.ts +1023 -227
- package/src/BigInt.test.ts +28 -0
- package/src/Binary.test.ts +1128 -0
- package/src/{Buffer.ts → Binary.ts} +273 -46
- package/src/Brand.test.ts +90 -0
- package/src/Cache.test.ts +183 -0
- package/src/Callbacks.test.ts +66 -0
- package/src/Console.test.ts +809 -0
- package/src/Console.ts +9 -17
- package/src/Crypto.test.ts +138 -0
- package/src/Crypto.ts +5 -5
- package/src/Eq.test.ts +333 -0
- package/src/Eq.ts +110 -176
- package/src/Error.test.ts +118 -0
- package/src/Function.test.ts +204 -0
- package/src/Function.ts +10 -15
- package/src/Http.test.ts +816 -0
- package/src/Http.ts +6 -7
- package/src/LeakDetector.test.ts +210 -0
- package/src/LeakDetector.ts +1 -0
- package/src/LockManager.ts +2 -2
- package/src/Lookup.test.ts +418 -0
- package/src/Lookup.ts +4 -3
- package/src/Microtask.test.ts +140 -0
- package/src/Number.test.ts +218 -0
- package/src/Number.ts +2 -2
- package/src/Object.test.ts +293 -0
- package/src/Object.ts +5 -4
- package/src/Option.test.ts +104 -0
- package/src/Option.ts +1 -2
- package/src/Order.test.ts +56 -0
- package/src/Platform.ts +2 -0
- package/src/Polyfills.ts +9 -4
- package/src/Random.test.ts +89 -0
- package/src/Random.ts +1 -1
- package/src/Ref.test.ts +139 -0
- package/src/RefCount.test.ts +184 -0
- package/src/Relation.test.ts +505 -0
- package/src/Resource.test.ts +4623 -0
- package/src/Result.test.ts +1829 -0
- package/src/Result.ts +49 -54
- package/src/Schedule.test.ts +1554 -0
- package/src/Set.test.ts +279 -0
- package/src/Set.ts +6 -6
- package/src/Sqlite.ts +1 -1
- package/src/Store.test.ts +288 -0
- package/src/String.test.ts +54 -0
- package/src/String.ts +3 -3
- package/src/Task.test.ts +10820 -0
- package/src/Task.ts +38 -43
- package/src/Test.test.ts +88 -0
- package/src/Test.ts +49 -3
- package/src/Time.test.ts +926 -0
- package/src/Time.ts +13 -21
- package/src/Type.base64.test.ts +88 -0
- package/src/Type.test.ts +20465 -0
- package/src/Type.ts +114 -111
- package/src/Types.test.ts +324 -0
- package/src/Types.ts +13 -13
- package/src/WebSocket.ts +4 -7
- package/src/Worker.test.ts +755 -0
- package/src/Worker.ts +13 -18
- package/src/index.ts +1 -1
- package/src/intl/_en.ts +1 -1
- package/src/intl/ar.ts +1 -1
- package/src/intl/bn.ts +1 -1
- package/src/intl/ca.ts +1 -1
- package/src/intl/cs.ts +1 -1
- package/src/intl/da.ts +1 -1
- package/src/intl/de.ts +1 -1
- package/src/intl/el.ts +1 -1
- package/src/intl/es.ts +1 -1
- package/src/intl/fa.ts +1 -1
- package/src/intl/fi.ts +1 -1
- package/src/intl/fil.ts +1 -1
- package/src/intl/fr.ts +1 -1
- package/src/intl/he.ts +1 -1
- package/src/intl/hi.ts +1 -1
- package/src/intl/hr.ts +1 -1
- package/src/intl/hu.ts +1 -1
- package/src/intl/id.ts +1 -1
- package/src/intl/intl.test.ts +3106 -0
- package/src/intl/it.ts +1 -1
- package/src/intl/ja.ts +1 -1
- package/src/intl/ko.ts +1 -1
- package/src/intl/ml.ts +1 -1
- package/src/intl/mr.ts +1 -1
- package/src/intl/ms.ts +1 -1
- package/src/intl/nb.ts +1 -1
- package/src/intl/nl.ts +1 -1
- package/src/intl/pa.ts +1 -1
- package/src/intl/pl.ts +1 -1
- package/src/intl/pt-BR.ts +1 -1
- package/src/intl/pt.ts +1 -1
- package/src/intl/ro.ts +1 -1
- package/src/intl/sk.ts +1 -1
- package/src/intl/sl.ts +1 -1
- package/src/intl/sv.ts +1 -1
- package/src/intl/sw.ts +1 -1
- package/src/intl/ta.ts +1 -1
- package/src/intl/te.ts +1 -1
- package/src/intl/th.ts +1 -1
- package/src/intl/tr.ts +1 -1
- package/src/intl/uk.ts +1 -1
- package/src/intl/ur.ts +1 -1
- package/src/intl/vi.ts +1 -1
- package/src/intl/zh-CN.ts +1 -1
- package/src/intl/zh-TW.ts +1 -1
- package/src/local-first/Evolu.test.ts +1921 -0
- package/src/local-first/Evolu.ts +18 -14
- package/src/local-first/Owner.test.ts +83 -0
- package/src/local-first/Protocol.test.ts +1037 -0
- package/src/local-first/Protocol.ts +58 -261
- package/src/local-first/Query.test.ts +349 -0
- package/src/local-first/Query.ts +11 -11
- package/src/local-first/Relay.ts +2 -2
- package/src/local-first/Schema.ts +3 -5
- package/src/local-first/Shared.test.ts +1828 -0
- package/src/local-first/Shared.ts +9 -8
- package/src/local-first/Storage.ts +4 -4
- package/src/local-first/Timestamp.test.ts +374 -0
- package/src/local-first/Timestamp.ts +22 -10
- package/dist/src/Buffer.d.ts.map +0 -1
package/dist/src/Number.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Number.d.ts","sourceRoot":"","sources":["../../src/Number.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,YAAY,CAAC;AAExD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAC5C,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAE1C,OAAO,EAGL,UAAU,EAGV,cAAc,EACd,WAAW,EACX,KAAK,EAGN,MAAM,WAAW,CAAC;AACnB,OAAO,KAAK,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAE1D,wCAAwC;AACxC,MAAM,MAAM,QAAQ,GAAG,UAAU,SAAS,GAAG,MAAM,KAAK,SAAS,MAAM,EAAE,GACrE,KAAK,GACL,KAAK,CAAC;AAEV,yCAAyC;AACzC,MAAM,MAAM,SAAS,GAAG,QAAQ,GAAG,GAAG,CAAC;AAEvC;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,MAAM,MAAM,yBAAyB,GAAG,CAAC,GAAG,SAAS,GAAG,cAAc,CAAC;AAEvE;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,MAAM,MAAM,sBAAsB,GAAG,SAAS,GAAG,WAAW,CAAC;AAE7D;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,MAAM,UAAU,GAAG,iBAAiB,GAAG,KAAK,CAAC;AAEnD;;;;;GAKG;AACH,eAAO,MAAM,iBAAiB,ysGAU7B,CAAC;AACF,MAAM,MAAM,iBAAiB,GAAG,OAAO,iBAAiB,CAAC,MAAM,CAAC;AAEhE,kEAAkE;AAClE,eAAO,MAAM,iBAAiB,eAAgB,UAAU,KAAG,
|
|
1
|
+
{"version":3,"file":"Number.d.ts","sourceRoot":"","sources":["../../src/Number.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,YAAY,CAAC;AAExD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAC5C,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAE1C,OAAO,EAGL,UAAU,EAGV,cAAc,EACd,WAAW,EACX,KAAK,EAGN,MAAM,WAAW,CAAC;AACnB,OAAO,KAAK,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAE1D,wCAAwC;AACxC,MAAM,MAAM,QAAQ,GAAG,UAAU,SAAS,GAAG,MAAM,KAAK,SAAS,MAAM,EAAE,GACrE,KAAK,GACL,KAAK,CAAC;AAEV,yCAAyC;AACzC,MAAM,MAAM,SAAS,GAAG,QAAQ,GAAG,GAAG,CAAC;AAEvC;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,MAAM,MAAM,yBAAyB,GAAG,CAAC,GAAG,SAAS,GAAG,cAAc,CAAC;AAEvE;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,MAAM,MAAM,sBAAsB,GAAG,SAAS,GAAG,WAAW,CAAC;AAE7D;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,MAAM,UAAU,GAAG,iBAAiB,GAAG,KAAK,CAAC;AAEnD;;;;;GAKG;AACH,eAAO,MAAM,iBAAiB,ysGAU7B,CAAC;AACF,MAAM,MAAM,iBAAiB,GAAG,OAAO,iBAAiB,CAAC,MAAM,CAAC;AAEhE,kEAAkE;AAClE,eAAO,MAAM,iBAAiB,eAAgB,UAAU,KAAG,KAGH,CAAC;AAEzD,eAAO,MAAM,SAAS,MAAO,MAAM,KAAG,MAAe,CAAC;AAEtD,eAAO,MAAM,SAAS,MAAO,MAAM,KAAG,MAAe,CAAC;AAEtD,4CAA4C;AAC5C,eAAO,MAAM,KAAK,QACV,MAAM,OAAO,MAAM,SACrB,MAAM,KAAG,MACoB,CAAC;AAEpC;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,SAAS,QACd,MAAM,OAAO,MAAM,KAAG,SAAS,CAAC,MAAM,CAEd,CAAC;AAEjC,wEAAwE;AACxE,eAAO,MAAM,GAAG,GAAI,CAAC,SAAS,MAAM,aACvB,CAAC,CAAC,EAAE,GAAG,aAAa,CAAC,CAAC,CAAC,CAAC,KAClC,SAAS,CAAC,CAAC,CAAC,SAAS,IAAI,GAAG,CAAC,GAAG,YAAY,CAAC,CAAC,CACE,CAAC;AAEpD,wEAAwE;AACxE,eAAO,MAAM,GAAG,GAAI,CAAC,SAAS,MAAM,aACvB,CAAC,CAAC,EAAE,GAAG,aAAa,CAAC,CAAC,CAAC,CAAC,KAClC,SAAS,CAAC,CAAC,CAAC,SAAS,IAAI,GAAG,CAAC,GAAG,YAAY,CAAC,CAAC,CACE,CAAC;AAEpD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AACH,eAAO,MAAM,sBAAsB,kBAClB,cAAc;AAE7B,kBAAkB;;AAGlB,iBAAiB;8OAEhB,MAAM,CAAC,qBAAqB,CAAC,WAAW,CAAC,EAAE,WAAW,CAoBxD,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,cAAc,6rBAG1B,CAAC;AACF,MAAM,MAAM,cAAc,GAAG,OAAO,cAAc,CAAC,MAAM,CAAC;AAE1D,oFAAoF;AACpF,eAAO,MAAM,WAAW,UAAW,cAAc,KAAG,WAMnD,CAAC"}
|
package/dist/src/Number.js
CHANGED
|
@@ -19,7 +19,7 @@ export const PercentageLiteral = /*#__PURE__*/ union("0%", "100%",
|
|
|
19
19
|
/** Converts a {@link Percentage} to its numeric {@link Ratio}. */
|
|
20
20
|
export const percentageToRatio = (percentage) => typeof percentage === "number"
|
|
21
21
|
? percentage
|
|
22
|
-
: Ratio.orThrow(
|
|
22
|
+
: Ratio.orThrow(Number.parseFloat(percentage) / 100);
|
|
23
23
|
export const increment = (n) => n + 1;
|
|
24
24
|
export const decrement = (n) => n - 1;
|
|
25
25
|
/** Clamps a number within a given range. */
|
package/dist/src/Object.d.ts
CHANGED
|
@@ -106,7 +106,7 @@ export declare const isIterable: (value: unknown) => value is Iterable<unknown>;
|
|
|
106
106
|
* const users: ReadonlyRecord<UserId, string> = { [userId]: "Alice" };
|
|
107
107
|
* const entries = objectToEntries(users);
|
|
108
108
|
*
|
|
109
|
-
* assertType<ReadonlyArray<[UserId, string]
|
|
109
|
+
* assertType<typeof entries, ReadonlyArray<[UserId, string]>>();
|
|
110
110
|
* assertEqual(entries, [[userId, "Alice"]]);
|
|
111
111
|
* ```
|
|
112
112
|
*/
|
|
@@ -135,7 +135,7 @@ type StringKeyOf<T> = Extract<keyof T, string>;
|
|
|
135
135
|
* ];
|
|
136
136
|
* const users = objectFromEntries(entries);
|
|
137
137
|
*
|
|
138
|
-
* assertType<ReadonlyRecord<UserId, string
|
|
138
|
+
* assertType<typeof users, ReadonlyRecord<UserId, string>>();
|
|
139
139
|
* assertEqual(users, { u1: "Alice" });
|
|
140
140
|
* ```
|
|
141
141
|
*/
|
|
@@ -161,7 +161,7 @@ export declare const objectFromEntries: <K extends string, V>(entries: Iterable<
|
|
|
161
161
|
* (locale): string => `Hello in ${locale}`,
|
|
162
162
|
* );
|
|
163
163
|
*
|
|
164
|
-
* assertType<ReadonlyRecord<"en" | "fr", string
|
|
164
|
+
* assertType<typeof translations, ReadonlyRecord<"en" | "fr", string>>();
|
|
165
165
|
* assertEqual(translations, {
|
|
166
166
|
* en: "Hello in en",
|
|
167
167
|
* fr: "Hello in fr",
|
|
@@ -304,7 +304,7 @@ export declare const emptyRecord: Readonly<Record<string, never>>;
|
|
|
304
304
|
* };
|
|
305
305
|
* const user = getOwnProp(users, "bob");
|
|
306
306
|
*
|
|
307
|
-
* assertType<User | undefined
|
|
307
|
+
* assertType<typeof user, User | undefined>();
|
|
308
308
|
* assertEqual(user, undefined);
|
|
309
309
|
* assertEqual(getOwnProp(users, "toString"), undefined);
|
|
310
310
|
* ```
|
package/dist/src/Object.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Object.d.ts","sourceRoot":"","sources":["../../src/Object.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH;;;GAGG;AACH,MAAM,MAAM,cAAc,CAAC,CAAC,SAAS,MAAM,GAAG,EAAE,CAAC,IAAI,QAAQ,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;AAE5E,oEAAoE;AACpE,MAAM,MAAM,UAAU,GACpB,OAAO,GAAG,MAAM,GAAG,KAAK,GAAG,QAAQ,GAAG,KAAK,GAAG,YAAY,GAAG,aAAa,CAAC;AAE7E;;;;;;;;;;;;;;;GAeG;AACH,eAAO,MAAM,aAAa,UAAW,MAAM,KAAG,UAgB7C,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH,eAAO,MAAM,aAAa,UACjB,OAAO,KACb,KAAK,IAAI,MAAM,CAAC,MAAM,EAAE,OAAO,CAYjC,CAAC;AAEF;;;;;;;;;;;;GAYG;
|
|
1
|
+
{"version":3,"file":"Object.d.ts","sourceRoot":"","sources":["../../src/Object.ts"],"names":[],"mappings":"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"}
|
package/dist/src/Object.js
CHANGED
|
@@ -91,6 +91,7 @@ export const isPlainObject = (value) => {
|
|
|
91
91
|
* assertFalse(isFunction({}));
|
|
92
92
|
* ```
|
|
93
93
|
*/
|
|
94
|
+
// oxlint-disable-next-line evolu/no-unnecessary-global-this -- @evolu/common also exports an Evolu Function Type, while this predicate recognizes JavaScript function objects.
|
|
94
95
|
export const isFunction = (value) => typeof value === "function";
|
|
95
96
|
/**
|
|
96
97
|
* Checks if a value is {@link Iterable}.
|
|
@@ -127,7 +128,7 @@ export const isIterable = (value) => value != null &&
|
|
|
127
128
|
* const users: ReadonlyRecord<UserId, string> = { [userId]: "Alice" };
|
|
128
129
|
* const entries = objectToEntries(users);
|
|
129
130
|
*
|
|
130
|
-
* assertType<ReadonlyArray<[UserId, string]
|
|
131
|
+
* assertType<typeof entries, ReadonlyArray<[UserId, string]>>();
|
|
131
132
|
* assertEqual(entries, [[userId, "Alice"]]);
|
|
132
133
|
* ```
|
|
133
134
|
*/
|
|
@@ -155,7 +156,7 @@ export const objectToEntries = (record) => Object.entries(record);
|
|
|
155
156
|
* ];
|
|
156
157
|
* const users = objectFromEntries(entries);
|
|
157
158
|
*
|
|
158
|
-
* assertType<ReadonlyRecord<UserId, string
|
|
159
|
+
* assertType<typeof users, ReadonlyRecord<UserId, string>>();
|
|
159
160
|
* assertEqual(users, { u1: "Alice" });
|
|
160
161
|
* ```
|
|
161
162
|
*/
|
|
@@ -181,7 +182,7 @@ export const objectFromEntries = (entries) => Object.fromEntries(entries);
|
|
|
181
182
|
* (locale): string => `Hello in ${locale}`,
|
|
182
183
|
* );
|
|
183
184
|
*
|
|
184
|
-
* assertType<ReadonlyRecord<"en" | "fr", string
|
|
185
|
+
* assertType<typeof translations, ReadonlyRecord<"en" | "fr", string>>();
|
|
185
186
|
* assertEqual(translations, {
|
|
186
187
|
* en: "Hello in en",
|
|
187
188
|
* fr: "Hello in fr",
|
|
@@ -251,7 +252,7 @@ export const emptyRecord =
|
|
|
251
252
|
* };
|
|
252
253
|
* const user = getOwnProp(users, "bob");
|
|
253
254
|
*
|
|
254
|
-
* assertType<User | undefined
|
|
255
|
+
* assertType<typeof user, User | undefined>();
|
|
255
256
|
* assertEqual(user, undefined);
|
|
256
257
|
* assertEqual(getOwnProp(users, "toString"), undefined);
|
|
257
258
|
* ```
|
package/dist/src/Option.d.ts
CHANGED
|
@@ -10,7 +10,6 @@
|
|
|
10
10
|
*
|
|
11
11
|
* ```ts
|
|
12
12
|
* import {
|
|
13
|
-
* assert,
|
|
14
13
|
* assertSame,
|
|
15
14
|
* assertTrue,
|
|
16
15
|
* isNone,
|
|
@@ -28,7 +27,7 @@
|
|
|
28
27
|
* cache.set("b", some(undefined));
|
|
29
28
|
*
|
|
30
29
|
* const a = get("a");
|
|
31
|
-
*
|
|
30
|
+
* assertTrue(isSome(a));
|
|
32
31
|
* assertSame(a.value, null);
|
|
33
32
|
* assertTrue(isSome(get("b")));
|
|
34
33
|
* assertTrue(isNone(get("c")));
|
package/dist/src/Option.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Option.d.ts","sourceRoot":"","sources":["../../src/Option.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"Option.d.ts","sourceRoot":"","sources":["../../src/Option.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoCG;AAEH,sBAAsB;AACtB,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,WAAW,CAAC;AAEvC,sBAAsB;AACtB,MAAM,MAAM,MAAM,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC;AAEvC,0CAA0C;AAC1C,MAAM,WAAW,IAAI,CAAC,GAAG,CAAC,CAAC,CAAE,SAAQ,KAAK,CAAC,MAAM,CAAC;IAChD,QAAQ,CAAC,KAAK,EAAE,CAAC,CAAC;CACnB;AAED,yCAAyC;AACzC,MAAM,WAAW,IAAK,SAAQ,KAAK,CAAC,MAAM,CAAC;CAAG;AAE9C;;;;GAIG;AACH,MAAM,MAAM,WAAW,CAAC,CAAC,SAAS,MAAM,CAAC,GAAG,CAAC,IAC3C,CAAC,SAAS,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;AAEtC,8BAA8B;AAC9B,eAAO,MAAM,IAAI,GAAI,CAAC,SAAS,CAAC,KAAG,MAAM,CAAC,CAAC,CAGzC,CAAC;AAEH,oCAAoC;AACpC,eAAO,MAAM,IAAI,EAAE,IAAuB,CAAC;AAE3C,mCAAmC;AACnC,eAAO,MAAM,MAAM,GAAI,CAAC,UAAU,MAAM,CAAC,CAAC,CAAC,KAAG,MAAM,IAAI,IAAI,CAAC,CAAC,CACtC,CAAC;AAEzB,mCAAmC;AACnC,eAAO,MAAM,MAAM,GAAI,CAAC,UAAU,MAAM,CAAC,CAAC,CAAC,KAAG,MAAM,IAAI,IAChC,CAAC;AAEzB;;;;GAIG;AACH,eAAO,MAAM,YAAY,GAAI,CAAC,SACrB,CAAC,GAAG,IAAI,GAAG,SAAS,KAC1B,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,CAAyC,CAAC"}
|
package/dist/src/Option.js
CHANGED
|
@@ -10,7 +10,6 @@
|
|
|
10
10
|
*
|
|
11
11
|
* ```ts
|
|
12
12
|
* import {
|
|
13
|
-
* assert,
|
|
14
13
|
* assertSame,
|
|
15
14
|
* assertTrue,
|
|
16
15
|
* isNone,
|
|
@@ -28,7 +27,7 @@
|
|
|
28
27
|
* cache.set("b", some(undefined));
|
|
29
28
|
*
|
|
30
29
|
* const a = get("a");
|
|
31
|
-
*
|
|
30
|
+
* assertTrue(isSome(a));
|
|
32
31
|
* assertSame(a.value, null);
|
|
33
32
|
* assertTrue(isSome(get("b")));
|
|
34
33
|
* assertTrue(isNone(get("c")));
|
package/dist/src/Platform.js
CHANGED
|
@@ -98,8 +98,10 @@ const createTestGlobalErrors = (kind) => {
|
|
|
98
98
|
event.preventDefault();
|
|
99
99
|
record(event[webErrorKey]);
|
|
100
100
|
};
|
|
101
|
+
// oxlint-disable-next-line evolu/no-unnecessary-global-this -- Call the same global object event API verified by the feature check.
|
|
101
102
|
globalThis.addEventListener(webEvent, listener);
|
|
102
103
|
disposableStack.defer(() => {
|
|
104
|
+
// oxlint-disable-next-line evolu/no-unnecessary-global-this -- Remove the listener through the same global object event API used to add it.
|
|
103
105
|
globalThis.removeEventListener(webEvent, listener);
|
|
104
106
|
});
|
|
105
107
|
}
|
package/dist/src/Polyfills.d.ts
CHANGED
|
@@ -15,6 +15,12 @@
|
|
|
15
15
|
* `Map.prototype.getOrInsertComputed`, `WeakMap.prototype.getOrInsert`, and
|
|
16
16
|
* `WeakMap.prototype.getOrInsertComputed`) for Node 24 and React Native
|
|
17
17
|
*
|
|
18
|
+
* The polyfills are implemented directly in the Evolu Library instead of being
|
|
19
|
+
* third-party runtime dependencies. We audit their behavior against
|
|
20
|
+
* specifications, conformance tests, and native implementations, and fix issues
|
|
21
|
+
* when necessary. This lets Evolu understand and control every line of this
|
|
22
|
+
* runtime code.
|
|
23
|
+
*
|
|
18
24
|
* `@evolu/react-native` has its own `Polyfills` module and its
|
|
19
25
|
* `installPolyfills` calls this function first, then installs React Native
|
|
20
26
|
* specific polyfills.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Polyfills.d.ts","sourceRoot":"","sources":["../../src/Polyfills.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH
|
|
1
|
+
{"version":3,"file":"Polyfills.d.ts","sourceRoot":"","sources":["../../src/Polyfills.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,eAAO,MAAM,gBAAgB,QAAO,IAiBnC,CAAC"}
|
package/dist/src/Polyfills.js
CHANGED
|
@@ -15,6 +15,12 @@
|
|
|
15
15
|
* `Map.prototype.getOrInsertComputed`, `WeakMap.prototype.getOrInsert`, and
|
|
16
16
|
* `WeakMap.prototype.getOrInsertComputed`) for Node 24 and React Native
|
|
17
17
|
*
|
|
18
|
+
* The polyfills are implemented directly in the Evolu Library instead of being
|
|
19
|
+
* third-party runtime dependencies. We audit their behavior against
|
|
20
|
+
* specifications, conformance tests, and native implementations, and fix issues
|
|
21
|
+
* when necessary. This lets Evolu understand and control every line of this
|
|
22
|
+
* runtime code.
|
|
23
|
+
*
|
|
18
24
|
* `@evolu/react-native` has its own `Polyfills` module and its
|
|
19
25
|
* `installPolyfills` calls this function first, then installs React Native
|
|
20
26
|
* specific polyfills.
|
|
@@ -73,7 +79,9 @@ const throwIfDisposed = (disposed, message) => {
|
|
|
73
79
|
throw new ReferenceError(message);
|
|
74
80
|
}
|
|
75
81
|
};
|
|
76
|
-
const appendDisposeError = (currentError, previousError) =>
|
|
82
|
+
const appendDisposeError = (currentError, previousError) =>
|
|
83
|
+
// oxlint-disable-next-line evolu/no-unnecessary-global-this -- Use the constructor installed on the global object even if a realm lexical binding shadows it.
|
|
84
|
+
new globalThis.SuppressedError(currentError, previousError, suppressedErrorMessage);
|
|
77
85
|
const assertObjectOrFunction = (value) => {
|
|
78
86
|
if ((typeof value !== "object" || value === null) &&
|
|
79
87
|
typeof value !== "function") {
|
|
@@ -91,6 +99,7 @@ const getMethod = (value, key) => {
|
|
|
91
99
|
return method;
|
|
92
100
|
};
|
|
93
101
|
const getOrInstallSymbol = (key, description) => {
|
|
102
|
+
// oxlint-disable-next-line evolu/no-unnecessary-global-this -- Patch the global object constructor even if a realm lexical binding shadows it.
|
|
94
103
|
const SymbolCtor = globalThis.Symbol;
|
|
95
104
|
const installedValue = Object.getOwnPropertyDescriptor(SymbolCtor, key)
|
|
96
105
|
?.value;
|
package/dist/src/Random.d.ts
CHANGED
|
@@ -31,7 +31,7 @@ export type RandomNumber = number & Brand<"RandomNumber">;
|
|
|
31
31
|
* // For apps, use the Math.random-backed implementation.
|
|
32
32
|
* const random = createRandom();
|
|
33
33
|
* const value = random.next();
|
|
34
|
-
* assertType<
|
|
34
|
+
* assertType<typeof value, RandomNumber>();
|
|
35
35
|
* assertTrue(value >= 0);
|
|
36
36
|
* assertTrue(value < 1);
|
|
37
37
|
*
|
package/dist/src/Result.d.ts
CHANGED
|
@@ -28,7 +28,7 @@
|
|
|
28
28
|
* try {
|
|
29
29
|
* throw new Error("Not found");
|
|
30
30
|
* } catch (error) {
|
|
31
|
-
* assertType<
|
|
31
|
+
* assertType<typeof error, unknown>();
|
|
32
32
|
* }
|
|
33
33
|
*
|
|
34
34
|
* // With Result, errors are part of the return type.
|
|
@@ -130,8 +130,8 @@
|
|
|
130
130
|
*
|
|
131
131
|
* const profile = getCurrentProfile();
|
|
132
132
|
* assertType<
|
|
133
|
-
*
|
|
134
|
-
*
|
|
133
|
+
* typeof profile,
|
|
134
|
+
* Result<Profile, UserNotFoundError | ProfileNotFoundError>
|
|
135
135
|
* >();
|
|
136
136
|
* assertOk(profile, { userId: "user-1" });
|
|
137
137
|
* ```
|
|
@@ -230,8 +230,8 @@ export type AnyResult = Result<any, any>;
|
|
|
230
230
|
* const result = ok();
|
|
231
231
|
* const count = ok(42);
|
|
232
232
|
*
|
|
233
|
-
* assertType<Result<void
|
|
234
|
-
* assertType<Result<number
|
|
233
|
+
* assertType<typeof result, Result<void>>();
|
|
234
|
+
* assertType<typeof count, Result<number>>();
|
|
235
235
|
* assertOk(result, undefined);
|
|
236
236
|
* assertOk(count, 42);
|
|
237
237
|
* ```
|
|
@@ -340,7 +340,7 @@ export declare const err: <E>(error: E) => Result<never, E>;
|
|
|
340
340
|
*
|
|
341
341
|
* const count = getCount();
|
|
342
342
|
* if (isOk(count)) {
|
|
343
|
-
* assertType<Ok<number
|
|
343
|
+
* assertType<typeof count, Ok<number>>();
|
|
344
344
|
* assertEqual(count.value, 2);
|
|
345
345
|
* }
|
|
346
346
|
* ```
|
|
@@ -371,7 +371,7 @@ export declare const isOk: <T, E>(result: Result<T, E>) => result is Ok<T>;
|
|
|
371
371
|
*
|
|
372
372
|
* const count = getCount();
|
|
373
373
|
* if (isErr(count)) {
|
|
374
|
-
* assertType<Err<CountUnavailableError
|
|
374
|
+
* assertType<typeof count, Err<CountUnavailableError>>();
|
|
375
375
|
* assertErr(count, { type: "CountUnavailable" });
|
|
376
376
|
* }
|
|
377
377
|
* ```
|
|
@@ -400,9 +400,10 @@ export declare const isErr: <T, E>(result: Result<T, E>) => result is Err<E>;
|
|
|
400
400
|
*
|
|
401
401
|
* ```ts
|
|
402
402
|
* import {
|
|
403
|
-
* assert,
|
|
404
|
-
* assertErr,
|
|
405
403
|
* assertEqual,
|
|
404
|
+
* assertErr,
|
|
405
|
+
* assertInstanceOf,
|
|
406
|
+
* assertSame,
|
|
406
407
|
* assertType,
|
|
407
408
|
* err,
|
|
408
409
|
* getOrThrow,
|
|
@@ -423,21 +424,15 @@ export declare const isErr: <T, E>(result: Result<T, E>) => result is Err<E>;
|
|
|
423
424
|
*
|
|
424
425
|
* // At app startup, crash if the config is invalid.
|
|
425
426
|
* const config = getOrThrow(loadConfig());
|
|
426
|
-
* assertType<
|
|
427
|
+
* assertType<typeof config, Config>();
|
|
427
428
|
* assertEqual(config.port, 3000);
|
|
428
429
|
*
|
|
429
|
-
* const
|
|
430
|
+
* const invalidConfigError: InvalidConfigError = { type: "InvalidConfig" };
|
|
431
|
+
* const thrown = trySync(() => getOrThrow(err(invalidConfigError)));
|
|
430
432
|
* assertErr(thrown);
|
|
431
|
-
*
|
|
433
|
+
* assertInstanceOf(thrown.error, Error);
|
|
432
434
|
* assertEqual(thrown.error.message, "getOrThrow");
|
|
433
|
-
*
|
|
434
|
-
* assert(
|
|
435
|
-
* typeof cause === "object" &&
|
|
436
|
-
* cause !== null &&
|
|
437
|
-
* "type" in cause &&
|
|
438
|
-
* cause.type === "InvalidConfig",
|
|
439
|
-
* "Expected InvalidConfig cause.",
|
|
440
|
-
* );
|
|
435
|
+
* assertSame(thrown.error.cause, invalidConfigError);
|
|
441
436
|
* ```
|
|
442
437
|
*
|
|
443
438
|
* Throws: `Error` with the original error attached as `cause`.
|
|
@@ -480,7 +475,7 @@ export declare const getOrThrow: <T, E>(result: Result<T, E>) => T;
|
|
|
480
475
|
* const user = getOrNull(findUser("user-1"));
|
|
481
476
|
* const missingUser = getOrNull(findUser("missing"));
|
|
482
477
|
*
|
|
483
|
-
* assertType<User | null
|
|
478
|
+
* assertType<typeof user, User | null>();
|
|
484
479
|
* assertEqual(user, { id: "user-1" });
|
|
485
480
|
* assertEqual(missingUser, null);
|
|
486
481
|
* ```
|
|
@@ -508,7 +503,7 @@ export declare const getOrNull: <T, E>(result: Result<T, E>) => T | null;
|
|
|
508
503
|
*
|
|
509
504
|
* const getCount = (): Result<number> => ok(2);
|
|
510
505
|
* const count = getOk(getCount());
|
|
511
|
-
* assertType<
|
|
506
|
+
* assertType<typeof count, number>();
|
|
512
507
|
* assertEqual(count, 2);
|
|
513
508
|
* ```
|
|
514
509
|
*
|
|
@@ -530,9 +525,9 @@ export declare const getOk: <T>(result: Result<T>) => T;
|
|
|
530
525
|
*
|
|
531
526
|
* ```ts
|
|
532
527
|
* import {
|
|
533
|
-
* assert,
|
|
534
|
-
* assertErr,
|
|
535
528
|
* assertEqual,
|
|
529
|
+
* assertErr,
|
|
530
|
+
* assertInstanceOf,
|
|
536
531
|
* assertOk,
|
|
537
532
|
* assertType,
|
|
538
533
|
* trySync,
|
|
@@ -563,12 +558,12 @@ export declare const getOk: <T>(result: Result<T>) => T;
|
|
|
563
558
|
* }
|
|
564
559
|
*
|
|
565
560
|
* const result = reserveSeat("B2");
|
|
566
|
-
* assertType<Result<void, SeatUnavailableError
|
|
561
|
+
* assertType<typeof result, Result<void, SeatUnavailableError>>();
|
|
567
562
|
* assertOk(result, undefined);
|
|
568
563
|
* assertErr(reserveSeat("A1"), { type: "SeatUnavailable", seat: "A1" });
|
|
569
564
|
* const databaseError = trySync(() => reserveSeat("B1"));
|
|
570
565
|
* assertErr(databaseError);
|
|
571
|
-
*
|
|
566
|
+
* assertInstanceOf(databaseError.error, Error);
|
|
572
567
|
* assertEqual(databaseError.error.message, "Database error");
|
|
573
568
|
* ```
|
|
574
569
|
*
|
|
@@ -592,9 +587,9 @@ export declare function trySync<T, E>(fn: () => T, mapError: (error: unknown) =>
|
|
|
592
587
|
*
|
|
593
588
|
* ```ts
|
|
594
589
|
* import {
|
|
595
|
-
* assert,
|
|
596
|
-
* assertErr,
|
|
597
590
|
* assertEqual,
|
|
591
|
+
* assertErr,
|
|
592
|
+
* assertInstanceOf,
|
|
598
593
|
* assertOk,
|
|
599
594
|
* assertType,
|
|
600
595
|
* tryAsync,
|
|
@@ -630,7 +625,7 @@ export declare function trySync<T, E>(fn: () => T, mapError: (error: unknown) =>
|
|
|
630
625
|
* }
|
|
631
626
|
*
|
|
632
627
|
* const result = await reserveSeat("B2");
|
|
633
|
-
* assertType<Result<void, SeatUnavailableError
|
|
628
|
+
* assertType<typeof result, Result<void, SeatUnavailableError>>();
|
|
634
629
|
* assertOk(result, undefined);
|
|
635
630
|
* assertErr(await reserveSeat("A1"), {
|
|
636
631
|
* type: "SeatUnavailable",
|
|
@@ -638,7 +633,7 @@ export declare function trySync<T, E>(fn: () => T, mapError: (error: unknown) =>
|
|
|
638
633
|
* });
|
|
639
634
|
* const databaseError = await tryAsync(() => reserveSeat("B1"));
|
|
640
635
|
* assertErr(databaseError);
|
|
641
|
-
*
|
|
636
|
+
* assertInstanceOf(databaseError.error, Error);
|
|
642
637
|
* assertEqual(databaseError.error.message, "Database error");
|
|
643
638
|
* ```
|
|
644
639
|
*
|
|
@@ -684,7 +679,7 @@ export declare function tryAsync<T, E>(promiseThunk: Thunk<Awaitable<T>>, mapErr
|
|
|
684
679
|
* interface ReadFailedError extends Typed<"ReadFailed"> {}
|
|
685
680
|
*
|
|
686
681
|
* const value = next(0);
|
|
687
|
-
* assertType<NextResult<string, ReadFailedError, number
|
|
682
|
+
* assertType<typeof value, NextResult<string, ReadFailedError, number>>();
|
|
688
683
|
* assertOk(value, "first");
|
|
689
684
|
* assertErr(next(1), { type: "ReadFailed" });
|
|
690
685
|
* assertErr(next(2), { type: "Done", done: 2 });
|
|
@@ -709,8 +704,8 @@ export type NextResult<A, E = never, D = void> = Result<A, E | Done<D>>;
|
|
|
709
704
|
*
|
|
710
705
|
* const withoutValue = done();
|
|
711
706
|
* const withValue = done(42);
|
|
712
|
-
* assertType<Done<void
|
|
713
|
-
* assertType<Done<number
|
|
707
|
+
* assertType<typeof withoutValue, Done<void>>();
|
|
708
|
+
* assertType<typeof withValue, Done<number>>();
|
|
714
709
|
* assertEqual(withoutValue, { type: "Done", done: undefined });
|
|
715
710
|
* assertEqual(withValue, { type: "Done", done: 42 });
|
|
716
711
|
* ```
|
|
@@ -751,7 +746,7 @@ export declare function done<D>(value: D): Done<D>;
|
|
|
751
746
|
*
|
|
752
747
|
* interface ReadFailedError extends Typed<"ReadFailed"> {}
|
|
753
748
|
*
|
|
754
|
-
* assertType<
|
|
749
|
+
* assertType<ExcludeDone<Errors>, ReadFailedError>();
|
|
755
750
|
* ```
|
|
756
751
|
*
|
|
757
752
|
* @group Pull
|
|
@@ -777,7 +772,7 @@ export type ExcludeDone<E> = Exclude<E, Done<any>>;
|
|
|
777
772
|
*
|
|
778
773
|
* interface ReadFailedError extends Typed<"ReadFailed"> {}
|
|
779
774
|
*
|
|
780
|
-
* assertType<
|
|
775
|
+
* assertType<OnlyDone<Errors>, Done<number>>();
|
|
781
776
|
* ```
|
|
782
777
|
*
|
|
783
778
|
* @group Pull
|
|
@@ -800,7 +795,7 @@ export type OnlyDone<E> = Extract<E, Done<any>>;
|
|
|
800
795
|
*
|
|
801
796
|
* interface ReadFailedError extends Typed<"ReadFailed"> {}
|
|
802
797
|
*
|
|
803
|
-
* assertType<
|
|
798
|
+
* assertType<InferDone<ReadResult>, number>();
|
|
804
799
|
* ```
|
|
805
800
|
*
|
|
806
801
|
* @group Pull
|
|
@@ -846,8 +841,8 @@ export type InferDone<R extends Result<any, any>> = InferErr<R> extends infer Er
|
|
|
846
841
|
* const user: Result<User, UserNotFoundError> = ok({ id: "user-1" });
|
|
847
842
|
* const profile = flatMapResult(user, ({ id }) => getProfile(id));
|
|
848
843
|
* assertType<
|
|
849
|
-
*
|
|
850
|
-
*
|
|
844
|
+
* typeof profile,
|
|
845
|
+
* Result<Profile, UserNotFoundError | ProfileNotFoundError>
|
|
851
846
|
* >();
|
|
852
847
|
* assertOk(profile, { userId: "user-1" });
|
|
853
848
|
* ```
|
|
@@ -887,11 +882,11 @@ export declare const flatMapResult: <T, E, U, F>(result: Result<T, E>, fn: (valu
|
|
|
887
882
|
*
|
|
888
883
|
* const values = allResult([getCount(), getLabel()]);
|
|
889
884
|
* assertType<
|
|
885
|
+
* typeof values,
|
|
890
886
|
* Result<
|
|
891
887
|
* readonly [number, string],
|
|
892
888
|
* CountUnavailableError | LabelUnavailableError
|
|
893
|
-
*
|
|
894
|
-
* typeof values
|
|
889
|
+
* >
|
|
895
890
|
* >();
|
|
896
891
|
* assertOk(values, [2, "books"]);
|
|
897
892
|
* ```
|
|
@@ -918,8 +913,8 @@ export declare function allResult<const T extends readonly [AnyResult, ...Readon
|
|
|
918
913
|
* const resultsByName = { a: ok(1), b: ok(2) } as const;
|
|
919
914
|
* const valuesByName = allResult(resultsByName);
|
|
920
915
|
* assertType<
|
|
921
|
-
*
|
|
922
|
-
*
|
|
916
|
+
* typeof valuesByName,
|
|
917
|
+
* Result<{ readonly a: number; readonly b: number }>
|
|
923
918
|
* >();
|
|
924
919
|
* assertOk(valuesByName, { a: 1, b: 2 });
|
|
925
920
|
* ```
|
|
@@ -945,7 +940,7 @@ export declare function allResult<T extends Readonly<Record<string, AnyResult>>>
|
|
|
945
940
|
*
|
|
946
941
|
* const results: ReadonlyArray<Result<number>> = [ok(1), ok(2)];
|
|
947
942
|
* const numbers = allResult(results);
|
|
948
|
-
* assertType<Result<ReadonlyArray<number
|
|
943
|
+
* assertType<typeof numbers, Result<ReadonlyArray<number>>>();
|
|
949
944
|
* assertOk(numbers, [1, 2]);
|
|
950
945
|
* ```
|
|
951
946
|
*/
|
|
@@ -967,7 +962,7 @@ export declare function allResult<T, E>(results: Iterable<Result<T, E>>): Result
|
|
|
967
962
|
*
|
|
968
963
|
* const results: NonEmptyReadonlyArray<Result<number>> = [ok(1), ok(2)];
|
|
969
964
|
* const numbers = allResult(results);
|
|
970
|
-
* assertType<Result<NonEmptyReadonlyArray<number
|
|
965
|
+
* assertType<typeof numbers, Result<NonEmptyReadonlyArray<number>>>();
|
|
971
966
|
* assertOk(numbers, [1, 2]);
|
|
972
967
|
* ```
|
|
973
968
|
*/
|
|
@@ -987,7 +982,7 @@ export declare function allResult<T, E>(results: NonEmptyReadonlyArray<Result<T,
|
|
|
987
982
|
* } from "@evolu/common";
|
|
988
983
|
*
|
|
989
984
|
* const result = allResult({ a: ok(1), b: ok(2) }, { collect: false });
|
|
990
|
-
* assertType<Result<void
|
|
985
|
+
* assertType<typeof result, Result<void>>();
|
|
991
986
|
* assertOk(result, undefined);
|
|
992
987
|
* ```
|
|
993
988
|
*/
|
|
@@ -1013,7 +1008,7 @@ export declare function allResult<T extends Readonly<Record<string, AnyResult>>>
|
|
|
1013
1008
|
*
|
|
1014
1009
|
* const results: ReadonlyArray<Result<number>> = [ok(1), ok(2)];
|
|
1015
1010
|
* const result = allResult(results, { collect: false });
|
|
1016
|
-
* assertType<Result<void
|
|
1011
|
+
* assertType<typeof result, Result<void>>();
|
|
1017
1012
|
* assertOk(result, undefined);
|
|
1018
1013
|
* ```
|
|
1019
1014
|
*/
|
|
@@ -1037,11 +1032,11 @@ export declare function allResult<R extends AnyResult>(results: Iterable<R>, opt
|
|
|
1037
1032
|
*
|
|
1038
1033
|
* const numbers: NonEmptyReadonlyArray<number> = [1, 2];
|
|
1039
1034
|
* const doubled = allResult(numbers, (number) => ok(number * 2));
|
|
1040
|
-
* assertType<Result<NonEmptyReadonlyArray<number
|
|
1035
|
+
* assertType<typeof doubled, Result<NonEmptyReadonlyArray<number>>>();
|
|
1041
1036
|
* assertOk(doubled, [2, 4]);
|
|
1042
1037
|
*
|
|
1043
1038
|
* const tuple = allResult([1, 2] as const, (number) => ok(number * 2));
|
|
1044
|
-
* assertType<Result<readonly [number, number]
|
|
1039
|
+
* assertType<typeof tuple, Result<readonly [number, number]>>();
|
|
1045
1040
|
* assertOk(tuple, [2, 4]);
|
|
1046
1041
|
* ```
|
|
1047
1042
|
*/
|
|
@@ -1064,7 +1059,7 @@ export declare function allResult<const A extends readonly [unknown, ...Array<un
|
|
|
1064
1059
|
*
|
|
1065
1060
|
* const numbers: Iterable<number> = new Set([1, 2]);
|
|
1066
1061
|
* const doubled = allResult(numbers, (number) => ok(number * 2));
|
|
1067
|
-
* assertType<Result<ReadonlyArray<number
|
|
1062
|
+
* assertType<typeof doubled, Result<ReadonlyArray<number>>>();
|
|
1068
1063
|
* assertOk(doubled, [2, 4]);
|
|
1069
1064
|
* ```
|
|
1070
1065
|
*/
|
|
@@ -1092,8 +1087,8 @@ export declare function allResult<A, R extends AnyResult>(values: Iterable<A>, f
|
|
|
1092
1087
|
* const userIdsByRole = { owner: "user-1", reviewer: "user-2" } as const;
|
|
1093
1088
|
* const usersByRole = allResult(userIdsByRole, toUser);
|
|
1094
1089
|
* assertType<
|
|
1095
|
-
*
|
|
1096
|
-
*
|
|
1090
|
+
* typeof usersByRole,
|
|
1091
|
+
* Result<Readonly<Record<"owner" | "reviewer", User>>>
|
|
1097
1092
|
* >();
|
|
1098
1093
|
* assertOk(usersByRole, {
|
|
1099
1094
|
* owner: { id: "user-1" },
|
|
@@ -1131,7 +1126,7 @@ export declare function allResult<A, R extends AnyResult, K extends string>(valu
|
|
|
1131
1126
|
* collect: false,
|
|
1132
1127
|
* },
|
|
1133
1128
|
* );
|
|
1134
|
-
* assertType<Result<void
|
|
1129
|
+
* assertType<typeof result, Result<void>>();
|
|
1135
1130
|
* assertOk(result, undefined);
|
|
1136
1131
|
* assertEqual(visited, [1, 2]);
|
|
1137
1132
|
* ```
|
|
@@ -1156,7 +1151,7 @@ export declare function allResult<A, R extends AnyResult>(values: Iterable<A>, f
|
|
|
1156
1151
|
* const result = allResult({ a: 1, b: 2 }, (number) => ok(number * 2), {
|
|
1157
1152
|
* collect: false,
|
|
1158
1153
|
* });
|
|
1159
|
-
* assertType<Result<void
|
|
1154
|
+
* assertType<typeof result, Result<void>>();
|
|
1160
1155
|
* assertOk(result, undefined);
|
|
1161
1156
|
* ```
|
|
1162
1157
|
*/
|
|
@@ -1190,7 +1185,7 @@ export declare function allResult<A, R extends AnyResult, K extends string>(valu
|
|
|
1190
1185
|
* interface CacheMissError extends Typed<"CacheMiss"> {}
|
|
1191
1186
|
*
|
|
1192
1187
|
* const number = anyResult([getCachedPrice(), ok(42)]);
|
|
1193
|
-
* assertType<Result<number, CacheMissError
|
|
1188
|
+
* assertType<typeof number, Result<number, CacheMissError>>();
|
|
1194
1189
|
* assertOk(number, 42);
|
|
1195
1190
|
* ```
|
|
1196
1191
|
*
|
package/dist/src/Result.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Result.d.ts","sourceRoot":"","sources":["../../src/Result.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA0MG;AACH,OAAO,EAIL,KAAK,qBAAqB,EAC3B,MAAM,YAAY,CAAC;AAEpB,OAAO,EAAmB,KAAK,KAAK,EAAE,MAAM,eAAe,CAAC;AAG5D,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,WAAW,CAAC;AACvC,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAE5C;;;;;;GAMG;AACH,MAAM,MAAM,MAAM,CAAC,CAAC,EAAE,CAAC,GAAG,KAAK,IAAI,EAAE,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC;AAElD;;;;GAIG;AACH,MAAM,MAAM,SAAS,GAAG,MAAM,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;AAEzC;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAM,WAAW,EAAE,CAAC,GAAG,CAAC,CAAC;IACvB,QAAQ,CAAC,EAAE,EAAE,IAAI,CAAC;IAClB,QAAQ,CAAC,KAAK,EAAE,CAAC,CAAC;CACnB;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAyCG;AACH,MAAM,WAAW,GAAG,CAAC,GAAG,CAAC,CAAC;IACxB,QAAQ,CAAC,EAAE,EAAE,KAAK,CAAC;IACnB,QAAQ,CAAC,KAAK,EAAE,CAAC,CAAC;CACnB;AAED;;;;GAIG;AACH,MAAM,MAAM,OAAO,CAAC,CAAC,SAAS,MAAM,CAAC,GAAG,EAAE,GAAG,CAAC,IAC5C,CAAC,SAAS,EAAE,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;AAEpC;;;;GAIG;AACH,MAAM,MAAM,QAAQ,CAAC,CAAC,SAAS,MAAM,CAAC,GAAG,EAAE,GAAG,CAAC,IAC7C,CAAC,SAAS,GAAG,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;AAErC;;;;;;;;GAQG;AACH,wBAAgB,EAAE,IAAI,MAAM,CAAC,IAAI,CAAC,CAAC;AACnC,2DAA2D;AAC3D,wBAAgB,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;AAS3C;;;;GAIG;AACH,eAAO,MAAM,GAAG,GAAI,CAAC,SAAS,CAAC,KAAG,MAAM,CAAC,KAAK,EAAE,CAAC,CAA2B,CAAC;AAE7E;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,eAAO,MAAM,IAAI,GAAI,CAAC,EAAE,CAAC,UAAU,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,KAAG,MAAM,IAAI,EAAE,CAAC,CAAC,CAAc,CAAC;AAE/E;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH,eAAO,MAAM,KAAK,GAAI,CAAC,EAAE,CAAC,UAAU,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,KAAG,MAAM,IAAI,GAAG,CAAC,CAAC,CACtD,CAAC;AAEb
|
|
1
|
+
{"version":3,"file":"Result.d.ts","sourceRoot":"","sources":["../../src/Result.ts"],"names":[],"mappings":"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"}
|