@evolu/common 8.14.0 → 8.15.1
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/Crypto.d.ts +2 -1
- package/dist/src/Crypto.d.ts.map +1 -1
- package/dist/src/Redacted.d.ts +19 -39
- package/dist/src/Redacted.d.ts.map +1 -1
- package/dist/src/Redacted.js +18 -33
- package/dist/src/Type.d.ts +161 -0
- package/dist/src/Type.d.ts.map +1 -1
- package/dist/src/Type.js +152 -2
- package/dist/src/WebSocket.d.ts +16 -1
- package/dist/src/WebSocket.d.ts.map +1 -1
- package/dist/src/WebSocket.js +14 -2
- package/dist/src/intl/_en.d.ts +5 -1
- package/dist/src/intl/_en.d.ts.map +1 -1
- package/dist/src/intl/_en.js +4 -0
- package/dist/src/intl/ar.d.ts +5 -1
- package/dist/src/intl/ar.d.ts.map +1 -1
- package/dist/src/intl/ar.js +4 -0
- package/dist/src/intl/bn.d.ts +5 -1
- package/dist/src/intl/bn.d.ts.map +1 -1
- package/dist/src/intl/bn.js +4 -0
- package/dist/src/intl/ca.d.ts +5 -1
- package/dist/src/intl/ca.d.ts.map +1 -1
- package/dist/src/intl/ca.js +4 -0
- package/dist/src/intl/cs.d.ts +5 -1
- package/dist/src/intl/cs.d.ts.map +1 -1
- package/dist/src/intl/cs.js +4 -0
- package/dist/src/intl/da.d.ts +5 -1
- package/dist/src/intl/da.d.ts.map +1 -1
- package/dist/src/intl/da.js +4 -0
- package/dist/src/intl/de.d.ts +5 -1
- package/dist/src/intl/de.d.ts.map +1 -1
- package/dist/src/intl/de.js +4 -0
- package/dist/src/intl/el.d.ts +5 -1
- package/dist/src/intl/el.d.ts.map +1 -1
- package/dist/src/intl/el.js +4 -0
- package/dist/src/intl/es.d.ts +5 -1
- package/dist/src/intl/es.d.ts.map +1 -1
- package/dist/src/intl/es.js +4 -0
- package/dist/src/intl/fa.d.ts +5 -1
- package/dist/src/intl/fa.d.ts.map +1 -1
- package/dist/src/intl/fa.js +4 -0
- package/dist/src/intl/fi.d.ts +5 -1
- package/dist/src/intl/fi.d.ts.map +1 -1
- package/dist/src/intl/fi.js +4 -0
- package/dist/src/intl/fil.d.ts +5 -1
- package/dist/src/intl/fil.d.ts.map +1 -1
- package/dist/src/intl/fil.js +4 -0
- package/dist/src/intl/fr.d.ts +5 -1
- package/dist/src/intl/fr.d.ts.map +1 -1
- package/dist/src/intl/fr.js +4 -0
- package/dist/src/intl/he.d.ts +5 -1
- package/dist/src/intl/he.d.ts.map +1 -1
- package/dist/src/intl/he.js +4 -0
- package/dist/src/intl/hi.d.ts +5 -1
- package/dist/src/intl/hi.d.ts.map +1 -1
- package/dist/src/intl/hi.js +4 -0
- package/dist/src/intl/hr.d.ts +5 -1
- package/dist/src/intl/hr.d.ts.map +1 -1
- package/dist/src/intl/hr.js +4 -0
- package/dist/src/intl/hu.d.ts +3 -1
- package/dist/src/intl/hu.d.ts.map +1 -1
- package/dist/src/intl/hu.js +2 -0
- package/dist/src/intl/id.d.ts +5 -1
- package/dist/src/intl/id.d.ts.map +1 -1
- package/dist/src/intl/id.js +4 -0
- package/dist/src/intl/it.d.ts +5 -1
- package/dist/src/intl/it.d.ts.map +1 -1
- package/dist/src/intl/it.js +4 -0
- package/dist/src/intl/ja.d.ts +5 -1
- package/dist/src/intl/ja.d.ts.map +1 -1
- package/dist/src/intl/ja.js +4 -0
- package/dist/src/intl/ko.d.ts +5 -1
- package/dist/src/intl/ko.d.ts.map +1 -1
- package/dist/src/intl/ko.js +4 -0
- package/dist/src/intl/ml.d.ts +5 -1
- package/dist/src/intl/ml.d.ts.map +1 -1
- package/dist/src/intl/ml.js +4 -0
- package/dist/src/intl/mr.d.ts +5 -1
- package/dist/src/intl/mr.d.ts.map +1 -1
- package/dist/src/intl/mr.js +4 -0
- package/dist/src/intl/ms.d.ts +5 -1
- package/dist/src/intl/ms.d.ts.map +1 -1
- package/dist/src/intl/ms.js +4 -0
- package/dist/src/intl/nb.d.ts +3 -1
- package/dist/src/intl/nb.d.ts.map +1 -1
- package/dist/src/intl/nb.js +2 -0
- package/dist/src/intl/nl.d.ts +5 -1
- package/dist/src/intl/nl.d.ts.map +1 -1
- package/dist/src/intl/nl.js +4 -0
- package/dist/src/intl/pa.d.ts +5 -1
- package/dist/src/intl/pa.d.ts.map +1 -1
- package/dist/src/intl/pa.js +4 -0
- package/dist/src/intl/pl.d.ts +4 -0
- package/dist/src/intl/pl.d.ts.map +1 -1
- package/dist/src/intl/pl.js +4 -0
- package/dist/src/intl/pt-BR.d.ts +5 -1
- package/dist/src/intl/pt-BR.d.ts.map +1 -1
- package/dist/src/intl/pt-BR.js +4 -0
- package/dist/src/intl/pt.d.ts +5 -1
- package/dist/src/intl/pt.d.ts.map +1 -1
- package/dist/src/intl/pt.js +4 -0
- package/dist/src/intl/ro.d.ts +5 -1
- package/dist/src/intl/ro.d.ts.map +1 -1
- package/dist/src/intl/ro.js +4 -0
- package/dist/src/intl/sk.d.ts +5 -1
- package/dist/src/intl/sk.d.ts.map +1 -1
- package/dist/src/intl/sk.js +4 -0
- package/dist/src/intl/sl.d.ts +5 -1
- package/dist/src/intl/sl.d.ts.map +1 -1
- package/dist/src/intl/sl.js +4 -0
- package/dist/src/intl/sv.d.ts +5 -1
- package/dist/src/intl/sv.d.ts.map +1 -1
- package/dist/src/intl/sv.js +4 -0
- package/dist/src/intl/sw.d.ts +2 -0
- package/dist/src/intl/sw.d.ts.map +1 -1
- package/dist/src/intl/sw.js +2 -0
- package/dist/src/intl/ta.d.ts +5 -1
- package/dist/src/intl/ta.d.ts.map +1 -1
- package/dist/src/intl/ta.js +4 -0
- package/dist/src/intl/te.d.ts +5 -1
- package/dist/src/intl/te.d.ts.map +1 -1
- package/dist/src/intl/te.js +4 -0
- package/dist/src/intl/th.d.ts +5 -1
- package/dist/src/intl/th.d.ts.map +1 -1
- package/dist/src/intl/th.js +4 -0
- package/dist/src/intl/tr.d.ts +5 -1
- package/dist/src/intl/tr.d.ts.map +1 -1
- package/dist/src/intl/tr.js +4 -0
- package/dist/src/intl/uk.d.ts +5 -1
- package/dist/src/intl/uk.d.ts.map +1 -1
- package/dist/src/intl/uk.js +4 -0
- package/dist/src/intl/ur.d.ts +5 -1
- package/dist/src/intl/ur.d.ts.map +1 -1
- package/dist/src/intl/ur.js +4 -0
- package/dist/src/intl/vi.d.ts +5 -1
- package/dist/src/intl/vi.d.ts.map +1 -1
- package/dist/src/intl/vi.js +4 -0
- package/dist/src/intl/zh-CN.d.ts +5 -1
- package/dist/src/intl/zh-CN.d.ts.map +1 -1
- package/dist/src/intl/zh-CN.js +4 -0
- package/dist/src/intl/zh-TW.d.ts +5 -1
- package/dist/src/intl/zh-TW.d.ts.map +1 -1
- package/dist/src/intl/zh-TW.js +4 -0
- package/dist/src/local-first/Evolu.d.ts +4 -0
- package/dist/src/local-first/Evolu.d.ts.map +1 -1
- package/dist/src/local-first/Evolu.js +6 -1
- package/dist/src/local-first/Schema.d.ts +3 -0
- package/dist/src/local-first/Schema.d.ts.map +1 -1
- package/dist/src/local-first/Schema.js +9 -5
- package/dist/src/local-first/Shared.js +1 -3
- package/package.json +1 -1
- package/src/Crypto.ts +2 -1
- package/src/Redacted.test.ts +231 -0
- package/src/Redacted.ts +36 -47
- package/src/Type.test.ts +166 -0
- package/src/Type.ts +198 -2
- package/src/WebSocket.ts +33 -4
- package/src/intl/_en.ts +10 -0
- package/src/intl/ar.ts +8 -0
- package/src/intl/bn.ts +10 -0
- package/src/intl/ca.ts +10 -0
- package/src/intl/cs.ts +10 -0
- package/src/intl/da.ts +10 -0
- package/src/intl/de.ts +10 -0
- package/src/intl/el.ts +10 -0
- package/src/intl/es.ts +10 -0
- package/src/intl/fa.ts +10 -0
- package/src/intl/fi.ts +10 -0
- package/src/intl/fil.ts +10 -0
- package/src/intl/fr.ts +10 -0
- package/src/intl/he.ts +10 -0
- package/src/intl/hi.ts +10 -0
- package/src/intl/hr.ts +10 -0
- package/src/intl/hu.ts +6 -0
- package/src/intl/id.ts +10 -0
- package/src/intl/intl.test.ts +88 -0
- package/src/intl/it.ts +10 -0
- package/src/intl/ja.ts +10 -0
- package/src/intl/ko.ts +10 -0
- package/src/intl/ml.ts +10 -0
- package/src/intl/mr.ts +10 -0
- package/src/intl/ms.ts +8 -0
- package/src/intl/nb.ts +6 -0
- package/src/intl/nl.ts +10 -0
- package/src/intl/pa.ts +10 -0
- package/src/intl/pl.ts +12 -0
- package/src/intl/pt-BR.ts +10 -0
- package/src/intl/pt.ts +8 -0
- package/src/intl/ro.ts +10 -0
- package/src/intl/sk.ts +8 -0
- package/src/intl/sl.ts +10 -0
- package/src/intl/sv.ts +10 -0
- package/src/intl/sw.ts +4 -0
- package/src/intl/ta.ts +10 -0
- package/src/intl/te.ts +10 -0
- package/src/intl/th.ts +10 -0
- package/src/intl/tr.ts +10 -0
- package/src/intl/uk.ts +10 -0
- package/src/intl/ur.ts +8 -0
- package/src/intl/vi.ts +8 -0
- package/src/intl/zh-CN.ts +10 -0
- package/src/intl/zh-TW.ts +10 -0
- package/src/local-first/Evolu.test.ts +62 -8
- package/src/local-first/Evolu.ts +11 -1
- package/src/local-first/Schema.test.ts +80 -1
- package/src/local-first/Schema.ts +15 -5
- package/src/local-first/Shared.ts +1 -3
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"vi.d.ts","sourceRoot":"","sources":["../../../src/intl/vi.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAC;AACvD,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,cAAc,CAAC;AAC3D,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAC;AAGxD,OAAO,KAAK,EACV,UAAU,EACV,cAAc,EACd,sBAAsB,EACtB,YAAY,EACZ,eAAe,EACf,gBAAgB,EAChB,kBAAkB,EAClB,eAAe,EACf,eAAe,EACf,YAAY,EACZ,oBAAoB,EACpB,kBAAkB,EAClB,uBAAuB,EACvB,cAAc,EACd,WAAW,EACX,gBAAgB,EAChB,yBAAyB,EACzB,eAAe,EACf,UAAU,EACV,gBAAgB,EAChB,QAAQ,EACR,kBAAkB,EAClB,OAAO,EACP,SAAS,EACT,cAAc,EACd,WAAW,EACX,aAAa,EACb,sBAAsB,EACtB,YAAY,EACZ,QAAQ,EACR,cAAc,EACd,cAAc,EACd,aAAa,EACb,eAAe,EACf,0BAA0B,EAC1B,aAAa,EACb,SAAS,EACT,UAAU,EACV,WAAW,EACX,6BAA6B,EAC7B,gBAAgB,EAChB,6BAA6B,EAC7B,gBAAgB,EAChB,WAAW,EAGX,cAAc,EAEd,0BAA0B,EAC1B,aAAa,EACb,WAAW,EACX,UAAU,EACV,QAAQ,EACR,YAAY,EACZ,oBAAoB,EACpB,eAAe,EACf,YAAY,EACZ,kBAAkB,EAClB,UAAU,EACV,SAAS,EACT,kBAAkB,EAClB,WAAW,EACX,WAAW,EACX,UAAU,
|
|
1
|
+
{"version":3,"file":"vi.d.ts","sourceRoot":"","sources":["../../../src/intl/vi.ts"],"names":[],"mappings":"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"}
|
package/dist/src/intl/vi.js
CHANGED
|
@@ -76,12 +76,16 @@ export const formatRegexError = (error) => `Giá trị ${safelyStringifyUnknownV
|
|
|
76
76
|
export const formatBase64UrlError = (error) => `Giá trị ${safelyStringifyUnknownValue(error.value)} không phải là chuỗi Base64Url hợp lệ.`;
|
|
77
77
|
/** Định dạng NameError bằng tiếng Việt. */
|
|
78
78
|
export const formatNameError = (error) => `Giá trị ${safelyStringifyUnknownValue(error.value)} không phải là Name hợp lệ.`;
|
|
79
|
+
/** Định dạng EmailError bằng tiếng Việt. */
|
|
80
|
+
export const formatEmailError = (error) => `Giá trị ${safelyStringifyUnknownValue(error.value)} không phải là địa chỉ email hợp lệ.`;
|
|
79
81
|
/** Định dạng MnemonicError bằng tiếng Việt. */
|
|
80
82
|
export const formatMnemonicError = (error) => `Giá trị ${safelyStringifyUnknownValue(error.value)} không phải là cụm từ gợi nhớ BIP39 tiếng Anh hợp lệ.`;
|
|
81
83
|
/** Định dạng IdError bằng tiếng Việt. */
|
|
82
84
|
export const formatIdError = (error) => `Giá trị ${safelyStringifyUnknownValue(error.value)} không phải là Id hợp lệ.`;
|
|
83
85
|
/** Định dạng TableIdError bằng tiếng Việt. */
|
|
84
86
|
export const formatTableIdError = (error) => `Giá trị ${safelyStringifyUnknownValue(error.value)} không phải là Id hợp lệ cho bảng ${error.table}.`;
|
|
87
|
+
/** Định dạng UuidError bằng tiếng Việt. */
|
|
88
|
+
export const formatUuidError = (error) => `Giá trị ${safelyStringifyUnknownValue(error.value)} không phải là UUID chữ thường chính tắc.`;
|
|
85
89
|
/** Định dạng NonNegativeError bằng tiếng Việt. */
|
|
86
90
|
export const formatNonNegativeError = (error) => `Giá trị ${safelyStringifyUnknownValue(error.value)} phải không âm (>= 0).`;
|
|
87
91
|
/** Định dạng NonNegativeDecimalStringError bằng tiếng Việt. */
|
package/dist/src/intl/zh-CN.d.ts
CHANGED
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
import type { DurationLiteralError } from "../Time.ts";
|
|
7
7
|
import type { PercentageLiteralError } from "../Number.ts";
|
|
8
8
|
import type { ByteSizeLiteralError } from "../Bytes.ts";
|
|
9
|
-
import type { ArrayError, Base64UrlError, BooleanFromStringError, BetweenError, IdentifierError, CapitalizedError, UncapitalizedError, UppercasedError, LowercasedError, DateIsoError, DateIsoFromDateError, DecimalStringError, DiscriminatedUnionError, EvoluTypeError, FiniteError, GreaterThanError, GreaterThanOrEqualToError, InstanceOfError, Int64Error, Int64StringError, IntError, IntFromStringError, IdError, JsonError, JsonValueError, LengthError, LessThanError, LessThanOrEqualToError, LiteralError, MapError, MaxLengthError, MinLengthError, MnemonicError, MultipleOfError, NegativeDecimalStringError, NegativeError, NameError, NeverError, NonNaNError, NonNegativeDecimalStringError, NonNegativeError, NonPositiveDecimalStringError, NonPositiveError, ObjectError, ObjectTagError, PositiveDecimalStringError, PositiveError, RecordError, RegexError, SetError, TableIdError, TemplateLiteralError, StartsWithError, TrimmedError, TupleElementsError, TupleError, TypeError, TypeErrorFormatter, TypeOfError, UInt64Error, UnionError } from "../Type.ts";
|
|
9
|
+
import type { ArrayError, Base64UrlError, BooleanFromStringError, BetweenError, IdentifierError, CapitalizedError, UncapitalizedError, UppercasedError, LowercasedError, DateIsoError, DateIsoFromDateError, DecimalStringError, DiscriminatedUnionError, EmailError, EvoluTypeError, FiniteError, GreaterThanError, GreaterThanOrEqualToError, InstanceOfError, Int64Error, Int64StringError, IntError, IntFromStringError, IdError, JsonError, JsonValueError, LengthError, LessThanError, LessThanOrEqualToError, LiteralError, MapError, MaxLengthError, MinLengthError, MnemonicError, MultipleOfError, NegativeDecimalStringError, NegativeError, NameError, NeverError, NonNaNError, NonNegativeDecimalStringError, NonNegativeError, NonPositiveDecimalStringError, NonPositiveError, ObjectError, ObjectTagError, PositiveDecimalStringError, PositiveError, RecordError, RegexError, SetError, TableIdError, TemplateLiteralError, StartsWithError, TrimmedError, TupleElementsError, TupleError, TypeError, TypeErrorFormatter, TypeOfError, UInt64Error, UnionError, UuidError } from "../Type.ts";
|
|
10
10
|
/** 以简体中文格式化 NeverError。 */
|
|
11
11
|
export declare const formatNeverError: TypeErrorFormatter<NeverError>;
|
|
12
12
|
/** 以简体中文格式化 String TypeOfError。 */
|
|
@@ -73,12 +73,16 @@ export declare const formatRegexError: TypeErrorFormatter<RegexError>;
|
|
|
73
73
|
export declare const formatBase64UrlError: TypeErrorFormatter<Base64UrlError>;
|
|
74
74
|
/** 以简体中文格式化 NameError。 */
|
|
75
75
|
export declare const formatNameError: TypeErrorFormatter<NameError>;
|
|
76
|
+
/** 以简体中文格式化 EmailError。 */
|
|
77
|
+
export declare const formatEmailError: TypeErrorFormatter<EmailError>;
|
|
76
78
|
/** 以简体中文格式化 MnemonicError。 */
|
|
77
79
|
export declare const formatMnemonicError: TypeErrorFormatter<MnemonicError>;
|
|
78
80
|
/** Formats an IdError。 */
|
|
79
81
|
export declare const formatIdError: TypeErrorFormatter<IdError>;
|
|
80
82
|
/** 以简体中文格式化 TableIdError。 */
|
|
81
83
|
export declare const formatTableIdError: TypeErrorFormatter<TableIdError>;
|
|
84
|
+
/** 以简体中文格式化 UuidError。 */
|
|
85
|
+
export declare const formatUuidError: TypeErrorFormatter<UuidError>;
|
|
82
86
|
/** 以简体中文格式化 NonNegativeError。 */
|
|
83
87
|
export declare const formatNonNegativeError: TypeErrorFormatter<NonNegativeError>;
|
|
84
88
|
/** 以简体中文格式化 NonNegativeDecimalStringError。 */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"zh-CN.d.ts","sourceRoot":"","sources":["../../../src/intl/zh-CN.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAC;AACvD,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,cAAc,CAAC;AAC3D,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAC;AAGxD,OAAO,KAAK,EACV,UAAU,EACV,cAAc,EACd,sBAAsB,EACtB,YAAY,EACZ,eAAe,EACf,gBAAgB,EAChB,kBAAkB,EAClB,eAAe,EACf,eAAe,EACf,YAAY,EACZ,oBAAoB,EACpB,kBAAkB,EAClB,uBAAuB,EACvB,cAAc,EACd,WAAW,EACX,gBAAgB,EAChB,yBAAyB,EACzB,eAAe,EACf,UAAU,EACV,gBAAgB,EAChB,QAAQ,EACR,kBAAkB,EAClB,OAAO,EACP,SAAS,EACT,cAAc,EACd,WAAW,EACX,aAAa,EACb,sBAAsB,EACtB,YAAY,EACZ,QAAQ,EACR,cAAc,EACd,cAAc,EACd,aAAa,EACb,eAAe,EACf,0BAA0B,EAC1B,aAAa,EACb,SAAS,EACT,UAAU,EACV,WAAW,EACX,6BAA6B,EAC7B,gBAAgB,EAChB,6BAA6B,EAC7B,gBAAgB,EAChB,WAAW,EAGX,cAAc,EAEd,0BAA0B,EAC1B,aAAa,EACb,WAAW,EACX,UAAU,EACV,QAAQ,EACR,YAAY,EACZ,oBAAoB,EACpB,eAAe,EACf,YAAY,EACZ,kBAAkB,EAClB,UAAU,EACV,SAAS,EACT,kBAAkB,EAClB,WAAW,EACX,WAAW,EACX,UAAU,
|
|
1
|
+
{"version":3,"file":"zh-CN.d.ts","sourceRoot":"","sources":["../../../src/intl/zh-CN.ts"],"names":[],"mappings":"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"}
|
package/dist/src/intl/zh-CN.js
CHANGED
|
@@ -78,12 +78,16 @@ export const formatRegexError = (error) => `值 ${safelyStringifyUnknownValue(er
|
|
|
78
78
|
export const formatBase64UrlError = (error) => `值 ${safelyStringifyUnknownValue(error.value)} 不是有效的 Base64Url 字符串。`;
|
|
79
79
|
/** 以简体中文格式化 NameError。 */
|
|
80
80
|
export const formatNameError = (error) => `值 ${safelyStringifyUnknownValue(error.value)} 不是有效的 Name。`;
|
|
81
|
+
/** 以简体中文格式化 EmailError。 */
|
|
82
|
+
export const formatEmailError = (error) => `值 ${safelyStringifyUnknownValue(error.value)} 不是有效的电子邮件地址。`;
|
|
81
83
|
/** 以简体中文格式化 MnemonicError。 */
|
|
82
84
|
export const formatMnemonicError = (error) => `值 ${safelyStringifyUnknownValue(error.value)} 不是有效的英文 BIP39 助记词。`;
|
|
83
85
|
/** Formats an IdError。 */
|
|
84
86
|
export const formatIdError = (error) => `值 ${safelyStringifyUnknownValue(error.value)} 不是有效的 Id。`;
|
|
85
87
|
/** 以简体中文格式化 TableIdError。 */
|
|
86
88
|
export const formatTableIdError = (error) => `值 ${safelyStringifyUnknownValue(error.value)} 不是表 ${error.table} 的有效 Id。`;
|
|
89
|
+
/** 以简体中文格式化 UuidError。 */
|
|
90
|
+
export const formatUuidError = (error) => `值 ${safelyStringifyUnknownValue(error.value)} 不是规范的小写 UUID。`;
|
|
87
91
|
/** 以简体中文格式化 NonNegativeError。 */
|
|
88
92
|
export const formatNonNegativeError = (error) => `值 ${safelyStringifyUnknownValue(error.value)} 必须为非负数(>= 0)。`;
|
|
89
93
|
/** 以简体中文格式化 NonNegativeDecimalStringError。 */
|
package/dist/src/intl/zh-TW.d.ts
CHANGED
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
import type { DurationLiteralError } from "../Time.ts";
|
|
7
7
|
import type { PercentageLiteralError } from "../Number.ts";
|
|
8
8
|
import type { ByteSizeLiteralError } from "../Bytes.ts";
|
|
9
|
-
import type { ArrayError, Base64UrlError, BooleanFromStringError, BetweenError, IdentifierError, CapitalizedError, UncapitalizedError, UppercasedError, LowercasedError, DateIsoError, DateIsoFromDateError, DecimalStringError, DiscriminatedUnionError, EvoluTypeError, FiniteError, GreaterThanError, GreaterThanOrEqualToError, InstanceOfError, Int64Error, Int64StringError, IntError, IntFromStringError, IdError, JsonError, JsonValueError, LengthError, LessThanError, LessThanOrEqualToError, LiteralError, MapError, MaxLengthError, MinLengthError, MnemonicError, MultipleOfError, NegativeDecimalStringError, NegativeError, NameError, NeverError, NonNaNError, NonNegativeDecimalStringError, NonNegativeError, NonPositiveDecimalStringError, NonPositiveError, ObjectError, ObjectTagError, PositiveDecimalStringError, PositiveError, RecordError, RegexError, SetError, TableIdError, TemplateLiteralError, StartsWithError, TrimmedError, TupleElementsError, TupleError, TypeError, TypeErrorFormatter, TypeOfError, UInt64Error, UnionError } from "../Type.ts";
|
|
9
|
+
import type { ArrayError, Base64UrlError, BooleanFromStringError, BetweenError, IdentifierError, CapitalizedError, UncapitalizedError, UppercasedError, LowercasedError, DateIsoError, DateIsoFromDateError, DecimalStringError, DiscriminatedUnionError, EmailError, EvoluTypeError, FiniteError, GreaterThanError, GreaterThanOrEqualToError, InstanceOfError, Int64Error, Int64StringError, IntError, IntFromStringError, IdError, JsonError, JsonValueError, LengthError, LessThanError, LessThanOrEqualToError, LiteralError, MapError, MaxLengthError, MinLengthError, MnemonicError, MultipleOfError, NegativeDecimalStringError, NegativeError, NameError, NeverError, NonNaNError, NonNegativeDecimalStringError, NonNegativeError, NonPositiveDecimalStringError, NonPositiveError, ObjectError, ObjectTagError, PositiveDecimalStringError, PositiveError, RecordError, RegexError, SetError, TableIdError, TemplateLiteralError, StartsWithError, TrimmedError, TupleElementsError, TupleError, TypeError, TypeErrorFormatter, TypeOfError, UInt64Error, UnionError, UuidError } from "../Type.ts";
|
|
10
10
|
/** 以繁體中文格式化 NeverError。 */
|
|
11
11
|
export declare const formatNeverError: TypeErrorFormatter<NeverError>;
|
|
12
12
|
/** 以繁體中文格式化 String TypeOfError。 */
|
|
@@ -73,12 +73,16 @@ export declare const formatRegexError: TypeErrorFormatter<RegexError>;
|
|
|
73
73
|
export declare const formatBase64UrlError: TypeErrorFormatter<Base64UrlError>;
|
|
74
74
|
/** 以繁體中文格式化 NameError。 */
|
|
75
75
|
export declare const formatNameError: TypeErrorFormatter<NameError>;
|
|
76
|
+
/** 以繁體中文格式化 EmailError。 */
|
|
77
|
+
export declare const formatEmailError: TypeErrorFormatter<EmailError>;
|
|
76
78
|
/** 以繁體中文格式化 MnemonicError。 */
|
|
77
79
|
export declare const formatMnemonicError: TypeErrorFormatter<MnemonicError>;
|
|
78
80
|
/** 以繁體中文格式化 IdError。 */
|
|
79
81
|
export declare const formatIdError: TypeErrorFormatter<IdError>;
|
|
80
82
|
/** 以繁體中文格式化 TableIdError。 */
|
|
81
83
|
export declare const formatTableIdError: TypeErrorFormatter<TableIdError>;
|
|
84
|
+
/** 以繁體中文格式化 UuidError。 */
|
|
85
|
+
export declare const formatUuidError: TypeErrorFormatter<UuidError>;
|
|
82
86
|
/** 以繁體中文格式化 NonNegativeError。 */
|
|
83
87
|
export declare const formatNonNegativeError: TypeErrorFormatter<NonNegativeError>;
|
|
84
88
|
/** 以繁體中文格式化 NonNegativeDecimalStringError。 */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"zh-TW.d.ts","sourceRoot":"","sources":["../../../src/intl/zh-TW.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAC;AACvD,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,cAAc,CAAC;AAC3D,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAC;AAGxD,OAAO,KAAK,EACV,UAAU,EACV,cAAc,EACd,sBAAsB,EACtB,YAAY,EACZ,eAAe,EACf,gBAAgB,EAChB,kBAAkB,EAClB,eAAe,EACf,eAAe,EACf,YAAY,EACZ,oBAAoB,EACpB,kBAAkB,EAClB,uBAAuB,EACvB,cAAc,EACd,WAAW,EACX,gBAAgB,EAChB,yBAAyB,EACzB,eAAe,EACf,UAAU,EACV,gBAAgB,EAChB,QAAQ,EACR,kBAAkB,EAClB,OAAO,EACP,SAAS,EACT,cAAc,EACd,WAAW,EACX,aAAa,EACb,sBAAsB,EACtB,YAAY,EACZ,QAAQ,EACR,cAAc,EACd,cAAc,EACd,aAAa,EACb,eAAe,EACf,0BAA0B,EAC1B,aAAa,EACb,SAAS,EACT,UAAU,EACV,WAAW,EACX,6BAA6B,EAC7B,gBAAgB,EAChB,6BAA6B,EAC7B,gBAAgB,EAChB,WAAW,EAGX,cAAc,EAEd,0BAA0B,EAC1B,aAAa,EACb,WAAW,EACX,UAAU,EACV,QAAQ,EACR,YAAY,EACZ,oBAAoB,EACpB,eAAe,EACf,YAAY,EACZ,kBAAkB,EAClB,UAAU,EACV,SAAS,EACT,kBAAkB,EAClB,WAAW,EACX,WAAW,EACX,UAAU,
|
|
1
|
+
{"version":3,"file":"zh-TW.d.ts","sourceRoot":"","sources":["../../../src/intl/zh-TW.ts"],"names":[],"mappings":"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"}
|
package/dist/src/intl/zh-TW.js
CHANGED
|
@@ -78,12 +78,16 @@ export const formatRegexError = (error) => `值 ${safelyStringifyUnknownValue(er
|
|
|
78
78
|
export const formatBase64UrlError = (error) => `值 ${safelyStringifyUnknownValue(error.value)} 不是有效的 Base64Url 字串。`;
|
|
79
79
|
/** 以繁體中文格式化 NameError。 */
|
|
80
80
|
export const formatNameError = (error) => `值 ${safelyStringifyUnknownValue(error.value)} 不是有效的 Name。`;
|
|
81
|
+
/** 以繁體中文格式化 EmailError。 */
|
|
82
|
+
export const formatEmailError = (error) => `值 ${safelyStringifyUnknownValue(error.value)} 不是有效的電子郵件地址。`;
|
|
81
83
|
/** 以繁體中文格式化 MnemonicError。 */
|
|
82
84
|
export const formatMnemonicError = (error) => `值 ${safelyStringifyUnknownValue(error.value)} 不是有效的英文 BIP39 助記詞。`;
|
|
83
85
|
/** 以繁體中文格式化 IdError。 */
|
|
84
86
|
export const formatIdError = (error) => `值 ${safelyStringifyUnknownValue(error.value)} 不是有效的 Id。`;
|
|
85
87
|
/** 以繁體中文格式化 TableIdError。 */
|
|
86
88
|
export const formatTableIdError = (error) => `值 ${safelyStringifyUnknownValue(error.value)} 不是資料表 ${error.table} 的有效 Id。`;
|
|
89
|
+
/** 以繁體中文格式化 UuidError。 */
|
|
90
|
+
export const formatUuidError = (error) => `值 ${safelyStringifyUnknownValue(error.value)} 不是標準小寫 UUID。`;
|
|
87
91
|
/** 以繁體中文格式化 NonNegativeError。 */
|
|
88
92
|
export const formatNonNegativeError = (error) => `值 ${safelyStringifyUnknownValue(error.value)} 必須為非負數(>= 0)。`;
|
|
89
93
|
/** 以繁體中文格式化 NonNegativeDecimalStringError。 */
|
|
@@ -92,6 +92,10 @@ export interface EvoluConfig {
|
|
|
92
92
|
/**
|
|
93
93
|
* Use the `indexes` option to define SQLite indexes.
|
|
94
94
|
*
|
|
95
|
+
* Unique indexes are rejected with an assertion because concurrent offline
|
|
96
|
+
* writes can violate uniqueness during synchronization. See
|
|
97
|
+
* [Uniqueness](https://www.evolu.dev/docs/schema#uniqueness).
|
|
98
|
+
*
|
|
95
99
|
* Table and column names are not typed because Kysely doesn't support it.
|
|
96
100
|
*
|
|
97
101
|
* https://medium.com/@JasonWyatt/squeezing-performance-from-sqlite-indexes-indexes-c4e175f3c346
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Evolu.d.ts","sourceRoot":"","sources":["../../../src/local-first/Evolu.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAIL,KAAK,qBAAqB,EAC3B,MAAM,aAAa,CAAC;AAQrB,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAGhD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAGhD,OAAO,EAGL,KAAK,cAAc,EACpB,MAAM,mBAAmB,CAAC;AAS3B,OAAO,KAAK,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AASjE,OAAO,KAAK,EAAE,QAAQ,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAExE,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,YAAY,CAAC;AACvC,OAAO,EAML,IAAI,EACJ,WAAW,EACX,KAAK,SAAS,EACd,aAAa,EACd,MAAM,YAAY,CAAC;AACpB,OAAO,KAAK,EAEV,yBAAyB,EACzB,uBAAuB,EACxB,MAAM,cAAc,CAAC;AACtB,OAAO,KAAK,EAAE,iBAAiB,EAAE,yBAAyB,EAAE,MAAM,SAAS,CAAC;AAC5E,OAAO,KAAK,EACV,QAAQ,EACR,KAAK,EACL,OAAO,EACP,cAAc,EACd,aAAa,EAEd,MAAM,YAAY,CAAC;AAUpB,OAAO,KAAK,EACV,OAAO,EACP,0BAA0B,EAC1B,KAAK,EACL,SAAS,EACT,GAAG,EAEJ,MAAM,YAAY,CAAC;AAEpB,OAAO,KAAK,EACV,WAAW,EACX,aAAa,EACb,QAAQ,EAGR,cAAc,EACd,cAAc,EACf,MAAM,aAAa,CAAC;AAErB,OAAO,KAAK,EAIV,sBAAsB,EAGtB,eAAe,EACf,SAAS,EAGV,MAAM,aAAa,CAAC;AAKrB;;;;GAIG;AACH,MAAM,WAAW,WAAW;IAC1B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA6BG;IACH,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAE1B;;;;;;;;;;;;;;;;;;;;OAoBG;IACH,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC;IAE5B;;;;;;;;;;;OAWG;IACH,QAAQ,CAAC,UAAU,CAAC,EAAE,OAAO,CAAC;IAE9B
|
|
1
|
+
{"version":3,"file":"Evolu.d.ts","sourceRoot":"","sources":["../../../src/local-first/Evolu.ts"],"names":[],"mappings":"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"}
|
|
@@ -541,8 +541,13 @@ export const createEvolu = (schema, config) => async (run) => {
|
|
|
541
541
|
const useOwner = (owner, ownerTransports) => {
|
|
542
542
|
const effectiveTransports = ownerTransports ?? transports;
|
|
543
543
|
assertNonEmptyReadonlyArray(effectiveTransports, "useOwner requires explicit non-empty transports when config.transports is empty.");
|
|
544
|
+
// Post only what workers use. Forwarding the caller's object would copy
|
|
545
|
+
// an AppOwner's mnemonic into every worker.
|
|
546
|
+
const { id, encryptionKey } = owner;
|
|
544
547
|
const syncOwner = {
|
|
545
|
-
owner
|
|
548
|
+
owner: "writeKey" in owner
|
|
549
|
+
? { id, encryptionKey, writeKey: owner.writeKey }
|
|
550
|
+
: { id, encryptionKey },
|
|
546
551
|
transports: effectiveTransports,
|
|
547
552
|
};
|
|
548
553
|
useOwnerBatch.push({
|
|
@@ -223,6 +223,9 @@ export type ValidateSchema<S extends EvoluSchema> = ValidateSchemaHasId<S> exten
|
|
|
223
223
|
/**
|
|
224
224
|
* Defines SQLite indexes with Kysely's index builder.
|
|
225
225
|
*
|
|
226
|
+
* Unique indexes are not supported because concurrent offline writes can
|
|
227
|
+
* violate uniqueness during synchronization.
|
|
228
|
+
*
|
|
226
229
|
* @group SQLite
|
|
227
230
|
*/
|
|
228
231
|
export type IndexesConfig = (create: (indexName: string) => Kysely.CreateIndexBuilder) => ReadonlyArray<Kysely.CreateIndexBuilder<any>>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Schema.d.ts","sourceRoot":"","sources":["../../../src/local-first/Schema.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"Schema.d.ts","sourceRoot":"","sources":["../../../src/local-first/Schema.ts"],"names":[],"mappings":"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"}
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
* @module
|
|
5
5
|
*/
|
|
6
6
|
import * as Kysely from "kysely";
|
|
7
|
-
import { assertNonNullable } from "../Assert.js";
|
|
7
|
+
import { assert, assertNonNullable } from "../Assert.js";
|
|
8
8
|
import { getOwnProp, mapObject } from "../Object.js";
|
|
9
9
|
import { eqSqliteIndex, getSqliteSchema, sql, sqliteQueryToSqliteQueryString, SqliteBoolean, SqliteQueryParameters, SqliteValue, } from "../Sqlite.js";
|
|
10
10
|
import { assertType, createIdFromString, DateIso, id, IdBytes, NonEmptyTrimmedString100, Null, nullOr, object, } from "../Type.js";
|
|
@@ -220,10 +220,14 @@ export const evoluSchemaToSqliteSchema = (schema, indexesConfig) => {
|
|
|
220
220
|
const validSchema = schema;
|
|
221
221
|
const tables = mapObject(validSchema, (table) => new Set(Object.keys(table).filter((k) => k !== "id")));
|
|
222
222
|
const indexes = indexesConfig
|
|
223
|
-
? indexesConfig(createIndex).map((index) =>
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
223
|
+
? indexesConfig(createIndex).map((index) => {
|
|
224
|
+
const node = index.toOperationNode();
|
|
225
|
+
assert(!node.unique, "Unique indexes are not supported because they can prevent synchronization.");
|
|
226
|
+
return {
|
|
227
|
+
name: node.name.name,
|
|
228
|
+
sql: index.compile().sql,
|
|
229
|
+
};
|
|
230
|
+
})
|
|
227
231
|
: [];
|
|
228
232
|
return { tables, indexes };
|
|
229
233
|
};
|
|
@@ -2264,9 +2264,7 @@ const createEvoluTenant = ({ name, consoleLevel, sqliteSchema, encryptionKey, me
|
|
|
2264
2264
|
// - Detect DbWorker and port liveness so a worker-only crash resumes the queue.
|
|
2265
2265
|
// Defer panicked-worker restart until failure detection and recovery are
|
|
2266
2266
|
// defined, accounting for SQLite WASM's detection limits. A mutation that
|
|
2267
|
-
// throws is answered, but other SQLite operations are expected not to throw
|
|
2268
|
-
// user-defined UNIQUE indexes, which can make replicated writes fail, are
|
|
2269
|
-
// planned to be forbidden.
|
|
2267
|
+
// throws is answered, but other SQLite operations are expected not to throw.
|
|
2270
2268
|
// - Split worker protocol types and the EvoluTenant implementation into focused
|
|
2271
2269
|
// modules.
|
|
2272
2270
|
// - Remove the obsolete commented protocol block above.
|
package/package.json
CHANGED
package/src/Crypto.ts
CHANGED
|
@@ -363,7 +363,8 @@ export const createPadmePadding = (length: NonNegativeInt): Uint8Array => {
|
|
|
363
363
|
/**
|
|
364
364
|
* Performs a timing-safe comparison of two Uint8Arrays. Returns true if they
|
|
365
365
|
* are equal, false otherwise. Takes constant time regardless of where the
|
|
366
|
-
* arrays differ.
|
|
366
|
+
* arrays differ. Arrays of different lengths are unequal, and the comparison
|
|
367
|
+
* does not hide their lengths.
|
|
367
368
|
*
|
|
368
369
|
* @group Comparison
|
|
369
370
|
* @see https://nodejs.org/api/crypto.html#cryptotimingsafeequala-b
|
|
@@ -0,0 +1,231 @@
|
|
|
1
|
+
import { inspect } from "node:util";
|
|
2
|
+
import { describe, it, test } from "node:test";
|
|
3
|
+
import {
|
|
4
|
+
assertEqual,
|
|
5
|
+
assertFalse,
|
|
6
|
+
assertNotUndefined,
|
|
7
|
+
assertThrowsInstanceOf,
|
|
8
|
+
assertTrue,
|
|
9
|
+
} from "./Assert.ts";
|
|
10
|
+
import type { Brand } from "./Brand.ts";
|
|
11
|
+
import { constVoid } from "./Function.ts";
|
|
12
|
+
import { installPolyfills } from "./Polyfills.ts";
|
|
13
|
+
import { createRedacted, isRedacted, revealRedacted } from "./Redacted.ts";
|
|
14
|
+
import type { Redacted } from "./Redacted.ts";
|
|
15
|
+
|
|
16
|
+
describe("createRedacted hides value", () => {
|
|
17
|
+
it("from toString", () => {
|
|
18
|
+
const secret = createRedacted("my-secret-key");
|
|
19
|
+
assertEqual(secret.toString(), "<redacted>");
|
|
20
|
+
});
|
|
21
|
+
|
|
22
|
+
it("from toJSON", () => {
|
|
23
|
+
const secret = createRedacted("my-secret-key");
|
|
24
|
+
assertEqual(JSON.stringify(secret), '"<redacted>"');
|
|
25
|
+
});
|
|
26
|
+
|
|
27
|
+
it("from JSON.stringify in object", () => {
|
|
28
|
+
const config = {
|
|
29
|
+
apiKey: createRedacted("secret-123"),
|
|
30
|
+
publicValue: "visible",
|
|
31
|
+
};
|
|
32
|
+
assertEqual(
|
|
33
|
+
JSON.stringify(config),
|
|
34
|
+
'{"apiKey":"<redacted>","publicValue":"visible"}',
|
|
35
|
+
);
|
|
36
|
+
});
|
|
37
|
+
|
|
38
|
+
it("from Node.js util.inspect", () => {
|
|
39
|
+
const secret = createRedacted("my-secret-key");
|
|
40
|
+
assertEqual(inspect(secret), "<redacted>");
|
|
41
|
+
});
|
|
42
|
+
|
|
43
|
+
it("in string interpolation", () => {
|
|
44
|
+
const secret = createRedacted("my-secret-key");
|
|
45
|
+
assertEqual(`API key: ${secret}`, "API key: <redacted>"); // oxlint-disable-line typescript/restrict-template-expressions -- This test verifies Redacted's implicit string conversion.
|
|
46
|
+
});
|
|
47
|
+
});
|
|
48
|
+
|
|
49
|
+
describe("revealRedacted", () => {
|
|
50
|
+
it("retrieves string", () => {
|
|
51
|
+
assertEqual(
|
|
52
|
+
revealRedacted(createRedacted("string-secret")),
|
|
53
|
+
"string-secret",
|
|
54
|
+
);
|
|
55
|
+
});
|
|
56
|
+
|
|
57
|
+
it("retrieves number", () => {
|
|
58
|
+
assertEqual(revealRedacted(createRedacted(42)), 42);
|
|
59
|
+
});
|
|
60
|
+
|
|
61
|
+
it("retrieves object", () => {
|
|
62
|
+
assertEqual(revealRedacted(createRedacted({ password: "123" })), {
|
|
63
|
+
password: "123",
|
|
64
|
+
});
|
|
65
|
+
});
|
|
66
|
+
|
|
67
|
+
it("retrieves array", () => {
|
|
68
|
+
assertEqual(revealRedacted(createRedacted(["a", "b", "c"])), [
|
|
69
|
+
"a",
|
|
70
|
+
"b",
|
|
71
|
+
"c",
|
|
72
|
+
]);
|
|
73
|
+
});
|
|
74
|
+
|
|
75
|
+
it("retrieves undefined", () => {
|
|
76
|
+
assertEqual(revealRedacted(createRedacted(undefined)), undefined);
|
|
77
|
+
});
|
|
78
|
+
|
|
79
|
+
it("throws for a structured clone", () => {
|
|
80
|
+
const clone = structuredClone(createRedacted("sensitive"));
|
|
81
|
+
|
|
82
|
+
assertFalse(isRedacted(clone));
|
|
83
|
+
assertEqual(
|
|
84
|
+
assertThrowsInstanceOf(() => revealRedacted(clone), Error).message,
|
|
85
|
+
"Redacted value was not in registry",
|
|
86
|
+
);
|
|
87
|
+
});
|
|
88
|
+
});
|
|
89
|
+
|
|
90
|
+
describe("isRedacted", () => {
|
|
91
|
+
it("returns true for Redacted values", () => {
|
|
92
|
+
assertTrue(isRedacted(createRedacted("secret")));
|
|
93
|
+
assertTrue(isRedacted(createRedacted(123)));
|
|
94
|
+
assertTrue(isRedacted(createRedacted({ key: "value" })));
|
|
95
|
+
});
|
|
96
|
+
|
|
97
|
+
it("returns false for non-Redacted values", () => {
|
|
98
|
+
assertFalse(isRedacted("string"));
|
|
99
|
+
assertFalse(isRedacted(123));
|
|
100
|
+
assertFalse(isRedacted(null));
|
|
101
|
+
assertFalse(isRedacted(undefined));
|
|
102
|
+
assertFalse(isRedacted({}));
|
|
103
|
+
assertFalse(isRedacted({ toString: () => "<redacted>" }));
|
|
104
|
+
});
|
|
105
|
+
});
|
|
106
|
+
|
|
107
|
+
test("Redacted is branded", () => {
|
|
108
|
+
const assigned: Redacted<string> = createRedacted("secret");
|
|
109
|
+
assertEqual(revealRedacted(assigned), "secret");
|
|
110
|
+
|
|
111
|
+
// @ts-expect-error Only createRedacted produces the Redacted brand.
|
|
112
|
+
const _fake: Redacted<string> = {
|
|
113
|
+
Type: "secret",
|
|
114
|
+
toString: () => "<redacted>",
|
|
115
|
+
toJSON: () => "<redacted>",
|
|
116
|
+
[Symbol.dispose]: constVoid,
|
|
117
|
+
};
|
|
118
|
+
});
|
|
119
|
+
|
|
120
|
+
test("branded inner type provides type-level distinction", () => {
|
|
121
|
+
type ApiKey = string & Brand<"ApiKey">;
|
|
122
|
+
type DbPassword = string & Brand<"DbPassword">;
|
|
123
|
+
|
|
124
|
+
const apiKey = "secret-123" as ApiKey;
|
|
125
|
+
const redactedKey: Redacted<ApiKey> = createRedacted(apiKey);
|
|
126
|
+
|
|
127
|
+
const dbPassword = "pass-456" as DbPassword;
|
|
128
|
+
const redactedPassword: Redacted<DbPassword> = createRedacted(dbPassword);
|
|
129
|
+
|
|
130
|
+
// Functions requiring specific branded types
|
|
131
|
+
const useApiKey = (k: Redacted<ApiKey>) => revealRedacted(k);
|
|
132
|
+
const useDbPassword = (p: Redacted<DbPassword>) => revealRedacted(p);
|
|
133
|
+
|
|
134
|
+
assertEqual(useApiKey(redactedKey), "secret-123");
|
|
135
|
+
assertEqual(useDbPassword(redactedPassword), "pass-456");
|
|
136
|
+
|
|
137
|
+
// @ts-expect-error - Redacted<DbPassword> is not assignable to Redacted<ApiKey>
|
|
138
|
+
useApiKey(redactedPassword);
|
|
139
|
+
|
|
140
|
+
// @ts-expect-error - Redacted<string> is not assignable to Redacted<ApiKey>
|
|
141
|
+
useApiKey(createRedacted("plain-string"));
|
|
142
|
+
});
|
|
143
|
+
|
|
144
|
+
describe("Disposable", () => {
|
|
145
|
+
it("Symbol.dispose removes value from registry", () => {
|
|
146
|
+
const secret = createRedacted("sensitive");
|
|
147
|
+
assertEqual(revealRedacted(secret), "sensitive");
|
|
148
|
+
|
|
149
|
+
secret[Symbol.dispose]();
|
|
150
|
+
|
|
151
|
+
assertEqual(
|
|
152
|
+
assertThrowsInstanceOf(() => revealRedacted(secret), Error).message,
|
|
153
|
+
"Redacted value was not in registry",
|
|
154
|
+
);
|
|
155
|
+
});
|
|
156
|
+
|
|
157
|
+
it("works with using syntax", () => {
|
|
158
|
+
let secretRef: Redacted<string> | undefined;
|
|
159
|
+
|
|
160
|
+
{
|
|
161
|
+
using secret = createRedacted("sensitive");
|
|
162
|
+
secretRef = secret;
|
|
163
|
+
assertEqual(revealRedacted(secret), "sensitive");
|
|
164
|
+
}
|
|
165
|
+
|
|
166
|
+
// After the scope exits, the secret can no longer be revealed.
|
|
167
|
+
assertEqual(
|
|
168
|
+
assertThrowsInstanceOf(() => revealRedacted(secretRef), Error).message,
|
|
169
|
+
"Redacted value was not in registry",
|
|
170
|
+
);
|
|
171
|
+
});
|
|
172
|
+
|
|
173
|
+
it("disposes through a detached dispose method", () => {
|
|
174
|
+
const secret = createRedacted("sensitive");
|
|
175
|
+
|
|
176
|
+
{
|
|
177
|
+
using stack = new DisposableStack();
|
|
178
|
+
stack.defer(secret[Symbol.dispose]);
|
|
179
|
+
}
|
|
180
|
+
|
|
181
|
+
assertEqual(
|
|
182
|
+
assertThrowsInstanceOf(() => revealRedacted(secret), Error).message,
|
|
183
|
+
"Redacted value was not in registry",
|
|
184
|
+
);
|
|
185
|
+
});
|
|
186
|
+
|
|
187
|
+
it("is disposable when Symbol.dispose is installed after import", () => {
|
|
188
|
+
// Apps call installPolyfills after their imports are evaluated, so a
|
|
189
|
+
// polyfilled Symbol.dispose appears only after this module has loaded.
|
|
190
|
+
const symbolDescriptor = Object.getOwnPropertyDescriptor(
|
|
191
|
+
globalThis,
|
|
192
|
+
"Symbol",
|
|
193
|
+
);
|
|
194
|
+
assertNotUndefined(symbolDescriptor);
|
|
195
|
+
const nativeSymbol = Symbol;
|
|
196
|
+
const symbolWithoutDispose = ((description?: string) =>
|
|
197
|
+
nativeSymbol(description)) as unknown as SymbolConstructor;
|
|
198
|
+
for (const key of Reflect.ownKeys(nativeSymbol)) {
|
|
199
|
+
if (key === "dispose" || key === "asyncDispose") continue;
|
|
200
|
+
if (Object.hasOwn(symbolWithoutDispose, key)) continue;
|
|
201
|
+
const descriptor = Object.getOwnPropertyDescriptor(nativeSymbol, key);
|
|
202
|
+
assertNotUndefined(descriptor);
|
|
203
|
+
Object.defineProperty(symbolWithoutDispose, key, descriptor);
|
|
204
|
+
}
|
|
205
|
+
Object.defineProperty(globalThis, "Symbol", {
|
|
206
|
+
...symbolDescriptor,
|
|
207
|
+
value: symbolWithoutDispose,
|
|
208
|
+
});
|
|
209
|
+
|
|
210
|
+
try {
|
|
211
|
+
installPolyfills();
|
|
212
|
+
|
|
213
|
+
const secret = createRedacted("sensitive");
|
|
214
|
+
secret[Symbol.dispose]();
|
|
215
|
+
|
|
216
|
+
assertEqual(
|
|
217
|
+
assertThrowsInstanceOf(() => revealRedacted(secret), Error).message,
|
|
218
|
+
"Redacted value was not in registry",
|
|
219
|
+
);
|
|
220
|
+
} finally {
|
|
221
|
+
Object.defineProperty(globalThis, "Symbol", symbolDescriptor);
|
|
222
|
+
}
|
|
223
|
+
});
|
|
224
|
+
|
|
225
|
+
it("isRedacted still returns true after dispose", () => {
|
|
226
|
+
const secret = createRedacted("sensitive");
|
|
227
|
+
secret[Symbol.dispose]();
|
|
228
|
+
// The object is still a Redacted wrapper, just empty
|
|
229
|
+
assertTrue(isRedacted(secret));
|
|
230
|
+
});
|
|
231
|
+
});
|