@evolu/common 6.0.1-preview.33 → 6.0.1-preview.34

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.
Files changed (48) hide show
  1. package/README.md +2 -2
  2. package/dist/src/Array.d.ts +3 -3
  3. package/dist/src/Array.js +3 -3
  4. package/dist/src/Crypto.d.ts +6 -8
  5. package/dist/src/Crypto.d.ts.map +1 -1
  6. package/dist/src/Crypto.js +9 -9
  7. package/dist/src/Evolu/Db.d.ts.map +1 -1
  8. package/dist/src/Evolu/Db.js +4 -4
  9. package/dist/src/Evolu/Evolu.d.ts +9 -4
  10. package/dist/src/Evolu/Evolu.d.ts.map +1 -1
  11. package/dist/src/Evolu/Evolu.js +11 -11
  12. package/dist/src/Evolu/Protocol.d.ts +24 -1
  13. package/dist/src/Evolu/Protocol.d.ts.map +1 -1
  14. package/dist/src/Evolu/Protocol.js +59 -30
  15. package/dist/src/Evolu/Query.d.ts +1 -1
  16. package/dist/src/Evolu/Query.d.ts.map +1 -1
  17. package/dist/src/Evolu/Query.js +1 -1
  18. package/dist/src/Evolu/Schema.d.ts +24 -20
  19. package/dist/src/Evolu/Schema.d.ts.map +1 -1
  20. package/dist/src/Evolu/Schema.js +36 -27
  21. package/dist/src/Evolu/Storage.d.ts +10 -2
  22. package/dist/src/Evolu/Storage.d.ts.map +1 -1
  23. package/dist/src/Evolu/Storage.js +18 -4
  24. package/dist/src/Evolu/Sync.d.ts +2 -1
  25. package/dist/src/Evolu/Sync.d.ts.map +1 -1
  26. package/dist/src/Evolu/Sync.js +45 -33
  27. package/dist/src/Evolu/Timestamp.d.ts +10 -14
  28. package/dist/src/Evolu/Timestamp.d.ts.map +1 -1
  29. package/dist/src/Evolu/Timestamp.js +3 -16
  30. package/dist/src/Object.d.ts +10 -4
  31. package/dist/src/Object.d.ts.map +1 -1
  32. package/dist/src/Object.js +9 -3
  33. package/dist/src/Type.d.ts +56 -14
  34. package/dist/src/Type.d.ts.map +1 -1
  35. package/dist/src/Type.js +57 -31
  36. package/package.json +2 -2
  37. package/src/Array.ts +3 -3
  38. package/src/Crypto.ts +11 -9
  39. package/src/Evolu/Db.ts +7 -7
  40. package/src/Evolu/Evolu.ts +21 -20
  41. package/src/Evolu/Protocol.ts +70 -35
  42. package/src/Evolu/Query.ts +2 -2
  43. package/src/Evolu/Schema.ts +44 -32
  44. package/src/Evolu/Storage.ts +40 -2
  45. package/src/Evolu/Sync.ts +54 -32
  46. package/src/Evolu/Timestamp.ts +5 -25
  47. package/src/Object.ts +13 -5
  48. package/src/Type.ts +57 -35
@@ -1,9 +1,8 @@
1
- import { Brand } from "../Brand.js";
2
1
  import { RandomBytesDep } from "../Crypto.js";
3
2
  import { Order } from "../Order.js";
4
3
  import { Result } from "../Result.js";
5
4
  import { TimeDep } from "../Time.js";
6
- import { InferType } from "../Type.js";
5
+ import { DateIso, InferType } from "../Type.js";
7
6
  export interface TimestampConfig {
8
7
  /**
9
8
  * Maximum physical clock drift allowed in ms.
@@ -39,11 +38,11 @@ export interface TimestampTimeOutOfRangeError {
39
38
  *
40
39
  * `new Date(281474976710654).toString()` = Tue Aug 02 10889 07:31:49
41
40
  */
42
- export declare const Millis: import("../Type.js").BrandType<import("../Type.js").BrandType<import("../Type.js").Type<"Brand", number & Brand<"Int"> & Brand<"NonNegative">, number, import("../Type.js").NonNegativeError, number & Brand<"Int">, import("../Type.js").IntError | import("../Type.js").NumberError>, `LessThanOrEqualTo${number}`, import("../Type.js").LessThanOrEqualToError<number>, import("../Type.js").NonNegativeError | import("../Type.js").IntError | import("../Type.js").NumberError>, "Millis", import("../Type.js").BrandWithoutRefineError<"Millis", import("../Type.js").NonNegativeError | import("../Type.js").IntError | import("../Type.js").NumberError | import("../Type.js").LessThanOrEqualToError<number>>, never>;
41
+ export declare const Millis: import("../Type.js").BrandType<import("../Type.js").BrandType<import("../Type.js").Type<"Brand", number & import("../Brand.js").Brand<"Int"> & import("../Brand.js").Brand<"NonNegative">, number, import("../Type.js").NonNegativeError, number & import("../Brand.js").Brand<"Int">, import("../Type.js").IntError | import("../Type.js").NumberError>, `LessThanOrEqualTo${number}`, import("../Type.js").LessThanOrEqualToError<number>, import("../Type.js").NonNegativeError | import("../Type.js").IntError | import("../Type.js").NumberError>, "Millis", import("../Type.js").BrandWithoutRefineError<"Millis", import("../Type.js").NonNegativeError | import("../Type.js").IntError | import("../Type.js").NumberError | import("../Type.js").LessThanOrEqualToError<number>>, never>;
43
42
  export type Millis = typeof Millis.Type;
44
43
  export declare const minMillis: Millis;
45
44
  export declare const maxMillis: Millis;
46
- export declare const Counter: import("../Type.js").BrandType<import("../Type.js").BrandType<import("../Type.js").Type<"Brand", number & Brand<"Int"> & Brand<"NonNegative">, number, import("../Type.js").NonNegativeError, number & Brand<"Int">, import("../Type.js").IntError | import("../Type.js").NumberError>, "LessThanOrEqualTo65535", import("../Type.js").LessThanOrEqualToError<65535>, import("../Type.js").NonNegativeError | import("../Type.js").IntError | import("../Type.js").NumberError>, "Counter", import("../Type.js").BrandWithoutRefineError<"Counter", import("../Type.js").NonNegativeError | import("../Type.js").IntError | import("../Type.js").NumberError | import("../Type.js").LessThanOrEqualToError<65535>>, never>;
45
+ export declare const Counter: import("../Type.js").BrandType<import("../Type.js").BrandType<import("../Type.js").Type<"Brand", number & import("../Brand.js").Brand<"Int"> & import("../Brand.js").Brand<"NonNegative">, number, import("../Type.js").NonNegativeError, number & import("../Brand.js").Brand<"Int">, import("../Type.js").IntError | import("../Type.js").NumberError>, "LessThanOrEqualTo65535", import("../Type.js").LessThanOrEqualToError<65535>, import("../Type.js").NonNegativeError | import("../Type.js").IntError | import("../Type.js").NumberError>, "Counter", import("../Type.js").BrandWithoutRefineError<"Counter", import("../Type.js").NonNegativeError | import("../Type.js").IntError | import("../Type.js").NumberError | import("../Type.js").LessThanOrEqualToError<65535>>, never>;
47
46
  export type Counter = typeof Counter.Type;
48
47
  export declare const minCounter: Counter;
49
48
  export declare const maxCounter: Counter;
@@ -133,31 +132,28 @@ export declare const maxNodeId: NodeId;
133
132
  * **Trade-off:** It breaks real-time collaboration.
134
133
  */
135
134
  export declare const Timestamp: import("../Type.js").ObjectType<{
136
- millis: import("../Type.js").BrandType<import("../Type.js").BrandType<import("../Type.js").Type<"Brand", number & Brand<"Int"> & Brand<"NonNegative">, number, import("../Type.js").NonNegativeError, number & Brand<"Int">, import("../Type.js").IntError | import("../Type.js").NumberError>, `LessThanOrEqualTo${number}`, import("../Type.js").LessThanOrEqualToError<number>, import("../Type.js").NonNegativeError | import("../Type.js").IntError | import("../Type.js").NumberError>, "Millis", import("../Type.js").BrandWithoutRefineError<"Millis", import("../Type.js").NonNegativeError | import("../Type.js").IntError | import("../Type.js").NumberError | import("../Type.js").LessThanOrEqualToError<number>>, never>;
137
- counter: import("../Type.js").BrandType<import("../Type.js").BrandType<import("../Type.js").Type<"Brand", number & Brand<"Int"> & Brand<"NonNegative">, number, import("../Type.js").NonNegativeError, number & Brand<"Int">, import("../Type.js").IntError | import("../Type.js").NumberError>, "LessThanOrEqualTo65535", import("../Type.js").LessThanOrEqualToError<65535>, import("../Type.js").NonNegativeError | import("../Type.js").IntError | import("../Type.js").NumberError>, "Counter", import("../Type.js").BrandWithoutRefineError<"Counter", import("../Type.js").NonNegativeError | import("../Type.js").IntError | import("../Type.js").NumberError | import("../Type.js").LessThanOrEqualToError<65535>>, never>;
135
+ millis: import("../Type.js").BrandType<import("../Type.js").BrandType<import("../Type.js").Type<"Brand", number & import("../Brand.js").Brand<"Int"> & import("../Brand.js").Brand<"NonNegative">, number, import("../Type.js").NonNegativeError, number & import("../Brand.js").Brand<"Int">, import("../Type.js").IntError | import("../Type.js").NumberError>, `LessThanOrEqualTo${number}`, import("../Type.js").LessThanOrEqualToError<number>, import("../Type.js").NonNegativeError | import("../Type.js").IntError | import("../Type.js").NumberError>, "Millis", import("../Type.js").BrandWithoutRefineError<"Millis", import("../Type.js").NonNegativeError | import("../Type.js").IntError | import("../Type.js").NumberError | import("../Type.js").LessThanOrEqualToError<number>>, never>;
136
+ counter: import("../Type.js").BrandType<import("../Type.js").BrandType<import("../Type.js").Type<"Brand", number & import("../Brand.js").Brand<"Int"> & import("../Brand.js").Brand<"NonNegative">, number, import("../Type.js").NonNegativeError, number & import("../Brand.js").Brand<"Int">, import("../Type.js").IntError | import("../Type.js").NumberError>, "LessThanOrEqualTo65535", import("../Type.js").LessThanOrEqualToError<65535>, import("../Type.js").NonNegativeError | import("../Type.js").IntError | import("../Type.js").NumberError>, "Counter", import("../Type.js").BrandWithoutRefineError<"Counter", import("../Type.js").NonNegativeError | import("../Type.js").IntError | import("../Type.js").NumberError | import("../Type.js").LessThanOrEqualToError<65535>>, never>;
138
137
  nodeId: import("../Type.js").BrandType<import("../Type.js").Type<"String", string, string, import("../Type.js").StringError, string, import("../Type.js").StringError>, "NodeId", import("../Type.js").RegexError<"NodeId">, import("../Type.js").StringError>;
139
138
  }>;
140
139
  export interface Timestamp extends InferType<typeof Timestamp> {
141
140
  }
142
141
  /** Equality function for comparing {@link Timestamp}. */
143
142
  export declare const eqTimestamp: import("../Eq.js").Eq<{
144
- readonly millis: number & Brand<"Int"> & Brand<"NonNegative"> & Brand<`LessThanOrEqualTo${number}`> & Brand<"Millis">;
145
- readonly counter: number & Brand<"Int"> & Brand<"NonNegative"> & Brand<"LessThanOrEqualTo65535"> & Brand<"Counter">;
146
- readonly nodeId: string & Brand<"NodeId">;
143
+ readonly millis: number & import("../Brand.js").Brand<"Int"> & import("../Brand.js").Brand<"NonNegative"> & import("../Brand.js").Brand<`LessThanOrEqualTo${number}`> & import("../Brand.js").Brand<"Millis">;
144
+ readonly counter: number & import("../Brand.js").Brand<"Int"> & import("../Brand.js").Brand<"NonNegative"> & import("../Brand.js").Brand<"LessThanOrEqualTo65535"> & import("../Brand.js").Brand<"Counter">;
145
+ readonly nodeId: string & import("../Brand.js").Brand<"NodeId">;
147
146
  }>;
148
147
  export declare const createTimestamp: ({ millis, counter, nodeId, }?: Partial<Timestamp>) => Timestamp;
149
148
  export declare const createInitialTimestamp: (deps: RandomBytesDep) => Timestamp;
150
- /** Sortable string representation of {@link Timestamp}. */
151
- export type TimestampString = string & Brand<"TimestampString">;
152
- export declare const timestampToTimestampString: (t: Timestamp) => TimestampString;
153
- export declare const timestampStringToTimestamp: (timestampString: TimestampString) => Timestamp;
154
149
  export declare const sendTimestamp: (deps: TimeDep & TimestampConfigDep) => (timestamp: Timestamp) => Result<Timestamp, TimestampDriftError | TimestampCounterOverflowError | TimestampTimeOutOfRangeError>;
155
150
  export declare const receiveTimestamp: (deps: TimeDep & TimestampConfigDep) => (local: Timestamp, remote: Timestamp) => Result<Timestamp, TimestampDriftError | TimestampCounterOverflowError | TimestampTimeOutOfRangeError>;
156
151
  /** Sortable bytes representation of {@link Timestamp}. */
157
152
  export declare const TimestampBytes: import("../Type.js").BrandType<import("../Type.js").Type<"Uint8Array", Uint8Array<ArrayBufferLike>, Uint8Array<ArrayBufferLike>, import("../Type.js").Uint8ArrayError, Uint8Array<ArrayBufferLike>, import("../Type.js").Uint8ArrayError>, "TimestampBytes", import("../Type.js").BrandWithoutRefineError<"TimestampBytes", import("../Type.js").Uint8ArrayError>, never>;
158
153
  export type TimestampBytes = typeof TimestampBytes.Type;
159
- export declare const timestampBytesLength: number & Brand<"Int"> & Brand<"NonNegative">;
154
+ export declare const timestampBytesLength: number & import("../Brand.js").Brand<"Int"> & import("../Brand.js").Brand<"NonNegative">;
160
155
  export declare const timestampToTimestampBytes: (timestamp: Timestamp) => TimestampBytes;
161
156
  export declare const timestampBytesToTimestamp: (timestamp: TimestampBytes) => Timestamp;
162
157
  export declare const orderTimestampBytes: Order<TimestampBytes>;
158
+ export declare const timestampToDateIso: (timestamp: Timestamp) => DateIso;
163
159
  //# sourceMappingURL=Timestamp.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Timestamp.d.ts","sourceRoot":"","sources":["../../../src/Evolu/Timestamp.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Timestamp.d.ts","sourceRoot":"","sources":["../../../src/Evolu/Timestamp.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,3 @@
1
- import { assert } from "../Assert.js";
2
1
  import { bytesToHex } from "../Buffer.js";
3
2
  import { createEqObject, eqNumber, eqString } from "../Eq.js";
4
3
  import { increment } from "../Number.js";
@@ -123,21 +122,6 @@ export const createInitialTimestamp = (deps) => {
123
122
  const nodeId = bytesToHex(deps.randomBytes.create(8));
124
123
  return createTimestamp({ nodeId });
125
124
  };
126
- export const timestampToTimestampString = (t) => [
127
- new Date(t.millis).toISOString(),
128
- t.counter.toString(16).toUpperCase().padStart(4, "0"),
129
- t.nodeId,
130
- ].join("-");
131
- export const timestampStringToTimestamp = (timestampString) => {
132
- const array = timestampString.split("-");
133
- const timestamp = {
134
- millis: Date.parse(array.slice(0, 3).join("-")).valueOf(),
135
- counter: parseInt(array[3], 16),
136
- nodeId: array[4],
137
- };
138
- assert(Timestamp.is(timestamp), "timestampString is malformed");
139
- return timestamp;
140
- };
141
125
  const getNextMillis = (deps) => (millis) => {
142
126
  const now = Millis.from(deps.time.now());
143
127
  if (!now.ok) {
@@ -235,3 +219,6 @@ export const timestampBytesToTimestamp = (timestamp) => {
235
219
  return { millis: Number(millis), counter, nodeId };
236
220
  };
237
221
  export const orderTimestampBytes = orderUint8Array;
222
+ export const timestampToDateIso = (timestamp) =>
223
+ // `as DateIso` is safe because the timestamp is always valid
224
+ new Date(timestamp.millis).toISOString();
@@ -18,11 +18,17 @@ export declare const isPlainObject: (value: unknown) => value is Record<string,
18
18
  export type ReadonlyRecord<K extends keyof any, V> = Readonly<Record<K, V>>;
19
19
  type StringKeyOf<T> = Extract<keyof T, string>;
20
20
  /**
21
- * Converts a record to entries, preserving branded string key types (e.g.,
22
- * `type Id = 'id' & string`) via `StringKeyOf<T>`, unlike `Object.entries`
23
- * which widens keys to `string`.
21
+ * Like `Object.entries` but preserves branded keys.
22
+ *
23
+ * ### Example
24
+ *
25
+ * ```ts
26
+ * type UserId = string & { readonly __brand: "UserId" };
27
+ * const users: Record<UserId, string> = {};
28
+ * const entries = objectToEntries(users); // [UserId, string][]
29
+ * ```
24
30
  */
25
- export declare const objectToEntries: <T extends Record<string, any>>(record: T) => Array<[StringKeyOf<T>, T[StringKeyOf<T>]]>;
31
+ export declare const objectToEntries: <T extends Record<string, any>>(record: T) => ReadonlyArray<[StringKeyOf<T>, T[StringKeyOf<T>]]>;
26
32
  /**
27
33
  * Maps a `ReadonlyRecord<K, V>` to a new `ReadonlyRecord<K, U>`, preserving
28
34
  * branded key types (e.g., `type Id = 'id' & string`) lost by `Object.entries`.
@@ -1 +1 @@
1
- {"version":3,"file":"Object.d.ts","sourceRoot":"","sources":["../../src/Object.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,aAAa,GACxB,OAAO,OAAO,KACb,KAAK,IAAI,MAAM,CAAC,MAAM,EAAE,OAAO,CAC2B,CAAC;AAE9D;;;GAGG;AACH,MAAM,MAAM,cAAc,CAAC,CAAC,SAAS,MAAM,GAAG,EAAE,CAAC,IAAI,QAAQ,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;AAG5E,KAAK,WAAW,CAAC,CAAC,IAAI,OAAO,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC,CAAC;AAE/C;;;;GAIG;AACH,eAAO,MAAM,eAAe,GAAI,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAC3D,QAAQ,CAAC,KACR,KAAK,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAC0B,CAAC;AAEvE;;;;GAIG;AACH,eAAO,MAAM,SAAS,GAAI,CAAC,SAAS,MAAM,EAAE,CAAC,EAAE,CAAC,EAC9C,QAAQ,cAAc,CAAC,CAAC,EAAE,CAAC,CAAC,EAC5B,IAAI,CAAC,KAAK,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,KAAK,CAAC,KAC1B,cAAc,CAAC,CAAC,EAAE,CAAC,CAMK,CAAC;AAE5B,wDAAwD;AACxD,eAAO,MAAM,WAAW,GAAI,CAAC,SAAS,MAAM,EAAE,CAAC,SAAS,MAAM,CAAC,EAC7D,KAAK,CAAC,EACN,MAAM,CAAC,EACP,YAAY,OAAO,KAClB,OAAO,SAAS,SAAS,IAAI,GAAG,CAAC,GAAG,IAAI,CAAC,CAAC,EAAE,CAAC,CAM/C,CAAC"}
1
+ {"version":3,"file":"Object.d.ts","sourceRoot":"","sources":["../../src/Object.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,aAAa,GACxB,OAAO,OAAO,KACb,KAAK,IAAI,MAAM,CAAC,MAAM,EAAE,OAAO,CAC2B,CAAC;AAE9D;;;GAGG;AACH,MAAM,MAAM,cAAc,CAAC,CAAC,SAAS,MAAM,GAAG,EAAE,CAAC,IAAI,QAAQ,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;AAG5E,KAAK,WAAW,CAAC,CAAC,IAAI,OAAO,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC,CAAC;AAE/C;;;;;;;;;;GAUG;AACH,eAAO,MAAM,eAAe,GAAI,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAC3D,QAAQ,CAAC,KACR,aAAa,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAGK,CAAC;AAE1D;;;;GAIG;AACH,eAAO,MAAM,SAAS,GAAI,CAAC,SAAS,MAAM,EAAE,CAAC,EAAE,CAAC,EAC9C,QAAQ,cAAc,CAAC,CAAC,EAAE,CAAC,CAAC,EAC5B,IAAI,CAAC,KAAK,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,KAAK,CAAC,KAC1B,cAAc,CAAC,CAAC,EAAE,CAAC,CAMK,CAAC;AAE5B,wDAAwD;AACxD,eAAO,MAAM,WAAW,GAAI,CAAC,SAAS,MAAM,EAAE,CAAC,SAAS,MAAM,CAAC,EAC7D,KAAK,CAAC,EACN,MAAM,CAAC,EACP,YAAY,OAAO,KAClB,OAAO,SAAS,SAAS,IAAI,GAAG,CAAC,GAAG,IAAI,CAAC,CAAC,EAAE,CAAC,CAM/C,CAAC"}
@@ -12,9 +12,15 @@
12
12
  */
13
13
  export const isPlainObject = (value) => Object.prototype.toString.call(value) === "[object Object]";
14
14
  /**
15
- * Converts a record to entries, preserving branded string key types (e.g.,
16
- * `type Id = 'id' & string`) via `StringKeyOf<T>`, unlike `Object.entries`
17
- * which widens keys to `string`.
15
+ * Like `Object.entries` but preserves branded keys.
16
+ *
17
+ * ### Example
18
+ *
19
+ * ```ts
20
+ * type UserId = string & { readonly __brand: "UserId" };
21
+ * const users: Record<UserId, string> = {};
22
+ * const entries = objectToEntries(users); // [UserId, string][]
23
+ * ```
18
24
  */
19
25
  export const objectToEntries = (record) => Object.entries(record);
20
26
  /**
@@ -3,10 +3,7 @@
3
3
  *
4
4
  * Evolu {@link Type} is like a type guard that returns typed errors (via
5
5
  * {@link Result}) instead of throwing. We either get a safely typed value or a
6
- * precise, composable error value telling us exactly why validation failed.
7
- *
8
- * Evolu Type supports [Standard Schema](https://standardschema.dev/) for
9
- * interoperability with 40+ validation-compatible tools and frameworks.
6
+ * composable typed error telling us exactly why validation failed.
10
7
  *
11
8
  * Why another validation library?
12
9
  *
@@ -15,16 +12,19 @@
15
12
  * messages.
16
13
  * - **Consistent constraints via {@link Brand}** – every constraint becomes part
17
14
  * of the type.
18
- * - **Selective validation** – parent validations are skipped when already proved
19
- * by typing.
20
- * - **Simple, top-down implementation** – readable source code from top to bottom
21
- * with no hidden magic; just plain functions and composition.
15
+ * - **Skippable validation** – parent validations can be skipped when already
16
+ * proved by types.
17
+ * - **Simple, top-down implementation** – readable source code from top to
18
+ * bottom.
19
+ * - **No user-land chaining DSL** – prepared for TC39 Hack pipes.
20
+ *
21
+ * A distinctive feature of Evolu Type compared to other validation libraries is
22
+ * that it returns typed errors rather than string messages. This allows
23
+ * TypeScript to enforce that all validation errors are handled by type
24
+ * checking, significantly improving the developer experience.
22
25
  *
23
- * TODO: Refactor Type factories and composition for Hack pipes compatibility.
24
- * Currently, brand factories like `minLength(min)(Type)` use constraint-first
25
- * currying. For optimal Hack pipe support, these should be refactored to
26
- * `minLength(Type, min)` to enable: `Type |> minLength(%, 1) |> maxLength(%,
27
- * 100)`
26
+ * Evolu Type supports [Standard Schema](https://standardschema.dev/) for
27
+ * interoperability with 40+ validation-compatible tools and frameworks.
28
28
  *
29
29
  * ### Base Types Quick Start
30
30
  *
@@ -175,6 +175,29 @@
175
175
  * reverse transforms would not buy much. We may revisit this if we can design a
176
176
  * minimal, 100% safe API that preserves simplicity.
177
177
  *
178
+ * ### Prepared for TC39 Hack Pipes
179
+ *
180
+ * Take a look how `SimplePassword` is defined:
181
+ *
182
+ * ```ts
183
+ * export const SimplePassword = brand(
184
+ * "SimplePassword",
185
+ * minLength(8)(maxLength(64)(TrimmedString)),
186
+ * );
187
+ * ```
188
+ *
189
+ * Nested functions are often OK (if not, make a helper) and read well, but with
190
+ * TC39 Hack pipes it would be clearer:
191
+ *
192
+ * ```ts
193
+ * // TrimmedString
194
+ * // |> minLength(8)(%)
195
+ * // |> maxLength(64)(%)
196
+ * // |> brand("SimplePassword", %)
197
+ * ```
198
+ *
199
+ * Note `minLength` and `maxLength` are curried because they are factories.
200
+ *
178
201
  * @module
179
202
  */
180
203
  import type { Brand } from "./Brand.js";
@@ -997,7 +1020,7 @@ export declare const base64UrlToUint8Array: (str: Base64Url) => Uint8Array;
997
1020
  * Uses the same safe alphabet as {@link UrlSafeString} (letters, digits, `-`,
998
1021
  * `_`). See `UrlSafeString` for details.
999
1022
  *
1000
- * The string must be between 1 and 42 characters.
1023
+ * The string must be between 1 and 64 characters.
1001
1024
  *
1002
1025
  * ### Example
1003
1026
  *
@@ -1019,6 +1042,25 @@ export interface SimpleNameError extends TypeError<"SimpleName"> {
1019
1042
  /**
1020
1043
  * Trimmed string between 8 and 64 characters, branded as `SimplePassword`.
1021
1044
  *
1045
+ * Take a look how `SimplePassword` is defined:
1046
+ *
1047
+ * ```ts
1048
+ * export const SimplePassword = brand(
1049
+ * "SimplePassword",
1050
+ * minLength(8)(maxLength(64)(TrimmedString)),
1051
+ * );
1052
+ * ```
1053
+ *
1054
+ * Nested functions are often OK (if not, make a helper), but with TC39 Hack
1055
+ * pipes it would be clearer:
1056
+ *
1057
+ * ```ts
1058
+ * // TrimmedString
1059
+ * // |> minLength(8)(%)
1060
+ * // |> maxLength(64)(%)
1061
+ * // |> brand("SimplePassword", %)
1062
+ * ```
1063
+ *
1022
1064
  * @category String
1023
1065
  */
1024
1066
  export declare const SimplePassword: BrandType<BrandType<Type<"Brand", string & Brand<"Trimmed"> & Brand<"MaxLength64">, string, MaxLengthError<64>, string & Brand<"Trimmed">, StringError | TrimmedError>, "MinLength8", MinLengthError<8>, StringError | TrimmedError | MaxLengthError<64>>, "SimplePassword", BrandWithoutRefineError<"SimplePassword", StringError | TrimmedError | MinLengthError<8> | MaxLengthError<64>>, never>;
@@ -1 +1 @@
1
- {"version":3,"file":"Type.d.ts","sourceRoot":"","sources":["../../src/Type.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Type.d.ts","sourceRoot":"","sources":["../../src/Type.ts"],"names":[],"mappings":"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"}
package/dist/src/Type.js CHANGED
@@ -3,10 +3,7 @@
3
3
  *
4
4
  * Evolu {@link Type} is like a type guard that returns typed errors (via
5
5
  * {@link Result}) instead of throwing. We either get a safely typed value or a
6
- * precise, composable error value telling us exactly why validation failed.
7
- *
8
- * Evolu Type supports [Standard Schema](https://standardschema.dev/) for
9
- * interoperability with 40+ validation-compatible tools and frameworks.
6
+ * composable typed error telling us exactly why validation failed.
10
7
  *
11
8
  * Why another validation library?
12
9
  *
@@ -15,16 +12,19 @@
15
12
  * messages.
16
13
  * - **Consistent constraints via {@link Brand}** – every constraint becomes part
17
14
  * of the type.
18
- * - **Selective validation** – parent validations are skipped when already proved
19
- * by typing.
20
- * - **Simple, top-down implementation** – readable source code from top to bottom
21
- * with no hidden magic; just plain functions and composition.
15
+ * - **Skippable validation** – parent validations can be skipped when already
16
+ * proved by types.
17
+ * - **Simple, top-down implementation** – readable source code from top to
18
+ * bottom.
19
+ * - **No user-land chaining DSL** – prepared for TC39 Hack pipes.
22
20
  *
23
- * TODO: Refactor Type factories and composition for Hack pipes compatibility.
24
- * Currently, brand factories like `minLength(min)(Type)` use constraint-first
25
- * currying. For optimal Hack pipe support, these should be refactored to
26
- * `minLength(Type, min)` to enable: `Type |> minLength(%, 1) |> maxLength(%,
27
- * 100)`
21
+ * A distinctive feature of Evolu Type compared to other validation libraries is
22
+ * that it returns typed errors rather than string messages. This allows
23
+ * TypeScript to enforce that all validation errors are handled by type
24
+ * checking, significantly improving the developer experience.
25
+ *
26
+ * Evolu Type supports [Standard Schema](https://standardschema.dev/) for
27
+ * interoperability with 40+ validation-compatible tools and frameworks.
28
28
  *
29
29
  * ### Base Types Quick Start
30
30
  *
@@ -175,6 +175,29 @@
175
175
  * reverse transforms would not buy much. We may revisit this if we can design a
176
176
  * minimal, 100% safe API that preserves simplicity.
177
177
  *
178
+ * ### Prepared for TC39 Hack Pipes
179
+ *
180
+ * Take a look how `SimplePassword` is defined:
181
+ *
182
+ * ```ts
183
+ * export const SimplePassword = brand(
184
+ * "SimplePassword",
185
+ * minLength(8)(maxLength(64)(TrimmedString)),
186
+ * );
187
+ * ```
188
+ *
189
+ * Nested functions are often OK (if not, make a helper) and read well, but with
190
+ * TC39 Hack pipes it would be clearer:
191
+ *
192
+ * ```ts
193
+ * // TrimmedString
194
+ * // |> minLength(8)(%)
195
+ * // |> maxLength(64)(%)
196
+ * // |> brand("SimplePassword", %)
197
+ * ```
198
+ *
199
+ * Note `minLength` and `maxLength` are curried because they are factories.
200
+ *
178
201
  * @module
179
202
  */
180
203
  import { utf8ToBytes } from "@noble/ciphers/utils.js";
@@ -684,7 +707,7 @@ export const base64UrlToUint8Array = hasNodeBuffer
684
707
  * Uses the same safe alphabet as {@link UrlSafeString} (letters, digits, `-`,
685
708
  * `_`). See `UrlSafeString` for details.
686
709
  *
687
- * The string must be between 1 and 42 characters.
710
+ * The string must be between 1 and 64 characters.
688
711
  *
689
712
  * ### Example
690
713
  *
@@ -699,12 +722,31 @@ export const base64UrlToUint8Array = hasNodeBuffer
699
722
  *
700
723
  * @category String
701
724
  */
702
- export const SimpleName = brand("SimpleName", UrlSafeString, (value) => value.length >= 1 && value.length <= 42
725
+ export const SimpleName = brand("SimpleName", UrlSafeString, (value) => value.length >= 1 && value.length <= 64
703
726
  ? ok(value)
704
727
  : err({ type: "SimpleName", value }));
705
728
  /**
706
729
  * Trimmed string between 8 and 64 characters, branded as `SimplePassword`.
707
730
  *
731
+ * Take a look how `SimplePassword` is defined:
732
+ *
733
+ * ```ts
734
+ * export const SimplePassword = brand(
735
+ * "SimplePassword",
736
+ * minLength(8)(maxLength(64)(TrimmedString)),
737
+ * );
738
+ * ```
739
+ *
740
+ * Nested functions are often OK (if not, make a helper), but with TC39 Hack
741
+ * pipes it would be clearer:
742
+ *
743
+ * ```ts
744
+ * // TrimmedString
745
+ * // |> minLength(8)(%)
746
+ * // |> maxLength(64)(%)
747
+ * // |> brand("SimplePassword", %)
748
+ * ```
749
+ *
708
750
  * @category String
709
751
  */
710
752
  export const SimplePassword = brand("SimplePassword", minLength(8)(maxLength(64)(TrimmedString)));
@@ -1705,22 +1747,6 @@ export const Int64 = brand("Int64", BigInt, (value) => value >= -922337203685477
1705
1747
  ? ok(value)
1706
1748
  : err({ type: "Int64", value }));
1707
1749
  export const formatInt64Error = createTypeErrorFormatter((error) => `The value ${error.value} is not a valid 64-bit signed integer (Int64).`);
1708
- // // co s timhle? je to string, ze ktereho lze udelat bigint
1709
- // export const BigIntFromString = transform(
1710
- // String,
1711
- // BigInt,
1712
- // (value) =>
1713
- // trySync(
1714
- // () => globalThis.BigInt(value),
1715
- // (): BigIntFromStringError => ({ type: "BigIntFromString", value }),
1716
- // ),
1717
- // (value) => value.toString(),
1718
- // );
1719
- // export interface BigIntFromStringError extends TypeError<"BigIntFromString"> {}
1720
- // export const formatBigIntFromStringError =
1721
- // createTypeErrorFormatter<BigIntFromStringError>(
1722
- // (error) => `The value ${error.value} could not be converted to a BigInt.`,
1723
- // );
1724
1750
  /**
1725
1751
  * Stringified {@link Int64}.
1726
1752
  *
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@evolu/common",
3
- "version": "6.0.1-preview.33",
4
- "description": "TypeScript library and local-first framework",
3
+ "version": "6.0.1-preview.34",
4
+ "description": "TypeScript library and local-first platform",
5
5
  "keywords": [
6
6
  "evolu",
7
7
  "local-first",
package/src/Array.ts CHANGED
@@ -6,19 +6,19 @@
6
6
  * Prepared for TC39 Hack pipes:
7
7
  *
8
8
  * ```ts
9
- * // Problem: nested calls are hard to follow
9
+ * // Problem: nested functions can be hard to follow
10
10
  * const result = firstInArray(
11
11
  * mapArray(dedupeArray(appendToArray(value, 2)), (x) => x * 2),
12
12
  * );
13
13
  *
14
- * // Ideal: TC39 Hack pipes (when available)
14
+ * // Ideal solution: TC39 Hack pipes (when available)
15
15
  * // const result = value
16
16
  * // |> appendToArray(%, 2)
17
17
  * // |> dedupeArray(%)
18
18
  * // |> mapArray(%, (x) => x * 2)
19
19
  * // |> firstInArray(%);
20
20
  *
21
- * // Pragmatic: name each step (or use p1, p2 if lazy)
21
+ * // Current solution: name each step (or use p1, p2 if lazy)
22
22
  * const p1 = appendToArray(value, 2);
23
23
  * const p2 = dedupeArray(p1);
24
24
  * const p3 = mapArray(p2, (x) => x * 2);