@reifydb/core 0.1.6 → 0.2.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.
Files changed (141) hide show
  1. package/dist/index.d.ts +4 -28
  2. package/dist/index.js +0 -69
  3. package/dist/index.js.map +1 -1
  4. package/package.json +1 -1
  5. package/dist/constant.d.ts +0 -7
  6. package/dist/constant.d.ts.map +0 -1
  7. package/dist/constant.js +0 -7
  8. package/dist/constant.js.map +0 -1
  9. package/dist/decoder.d.ts +0 -8
  10. package/dist/decoder.d.ts.map +0 -1
  11. package/dist/decoder.js +0 -59
  12. package/dist/decoder.js.map +0 -1
  13. package/dist/index.d.ts.map +0 -1
  14. package/dist/schema/builder.d.ts +0 -45
  15. package/dist/schema/builder.d.ts.map +0 -1
  16. package/dist/schema/builder.js +0 -114
  17. package/dist/schema/builder.js.map +0 -1
  18. package/dist/schema/index.d.ts +0 -11
  19. package/dist/schema/index.d.ts.map +0 -1
  20. package/dist/schema/index.js +0 -12
  21. package/dist/schema/index.js.map +0 -1
  22. package/dist/schema/inference.d.ts +0 -16
  23. package/dist/schema/inference.d.ts.map +0 -1
  24. package/dist/schema/inference.js +0 -7
  25. package/dist/schema/inference.js.map +0 -1
  26. package/dist/schema/parser.d.ts +0 -8
  27. package/dist/schema/parser.d.ts.map +0 -1
  28. package/dist/schema/parser.js +0 -96
  29. package/dist/schema/parser.js.map +0 -1
  30. package/dist/schema/simple-test.d.ts +0 -7
  31. package/dist/schema/simple-test.d.ts.map +0 -1
  32. package/dist/schema/simple-test.js +0 -26
  33. package/dist/schema/simple-test.js.map +0 -1
  34. package/dist/schema/test-refactor.d.ts +0 -7
  35. package/dist/schema/test-refactor.d.ts.map +0 -1
  36. package/dist/schema/test-refactor.js +0 -97
  37. package/dist/schema/test-refactor.js.map +0 -1
  38. package/dist/schema/types.d.ts +0 -27
  39. package/dist/schema/types.d.ts.map +0 -1
  40. package/dist/schema/types.js +0 -7
  41. package/dist/schema/types.js.map +0 -1
  42. package/dist/schema/validator.d.ts +0 -8
  43. package/dist/schema/validator.d.ts.map +0 -1
  44. package/dist/schema/validator.js +0 -79
  45. package/dist/schema/validator.js.map +0 -1
  46. package/dist/value/blob.d.ts +0 -85
  47. package/dist/value/blob.d.ts.map +0 -1
  48. package/dist/value/blob.js +0 -255
  49. package/dist/value/blob.js.map +0 -1
  50. package/dist/value/bool.d.ts +0 -16
  51. package/dist/value/bool.d.ts.map +0 -1
  52. package/dist/value/bool.js +0 -46
  53. package/dist/value/bool.js.map +0 -1
  54. package/dist/value/date.d.ts +0 -71
  55. package/dist/value/date.d.ts.map +0 -1
  56. package/dist/value/date.js +0 -261
  57. package/dist/value/date.js.map +0 -1
  58. package/dist/value/datetime.d.ts +0 -99
  59. package/dist/value/datetime.d.ts.map +0 -1
  60. package/dist/value/datetime.js +0 -401
  61. package/dist/value/datetime.js.map +0 -1
  62. package/dist/value/float4.d.ts +0 -19
  63. package/dist/value/float4.d.ts.map +0 -1
  64. package/dist/value/float4.js +0 -68
  65. package/dist/value/float4.js.map +0 -1
  66. package/dist/value/float8.d.ts +0 -16
  67. package/dist/value/float8.d.ts.map +0 -1
  68. package/dist/value/float8.js +0 -44
  69. package/dist/value/float8.js.map +0 -1
  70. package/dist/value/index.d.ts +0 -38
  71. package/dist/value/index.d.ts.map +0 -1
  72. package/dist/value/index.js +0 -31
  73. package/dist/value/index.js.map +0 -1
  74. package/dist/value/int1.d.ts +0 -18
  75. package/dist/value/int1.d.ts.map +0 -1
  76. package/dist/value/int1.js +0 -46
  77. package/dist/value/int1.js.map +0 -1
  78. package/dist/value/int16.d.ts +0 -18
  79. package/dist/value/int16.d.ts.map +0 -1
  80. package/dist/value/int16.js +0 -67
  81. package/dist/value/int16.js.map +0 -1
  82. package/dist/value/int2.d.ts +0 -18
  83. package/dist/value/int2.d.ts.map +0 -1
  84. package/dist/value/int2.js +0 -46
  85. package/dist/value/int2.js.map +0 -1
  86. package/dist/value/int4.d.ts +0 -18
  87. package/dist/value/int4.d.ts.map +0 -1
  88. package/dist/value/int4.js +0 -46
  89. package/dist/value/int4.js.map +0 -1
  90. package/dist/value/int8.d.ts +0 -18
  91. package/dist/value/int8.d.ts.map +0 -1
  92. package/dist/value/int8.js +0 -53
  93. package/dist/value/int8.js.map +0 -1
  94. package/dist/value/interval.d.ts +0 -144
  95. package/dist/value/interval.d.ts.map +0 -1
  96. package/dist/value/interval.js +0 -357
  97. package/dist/value/interval.js.map +0 -1
  98. package/dist/value/rowid.d.ts +0 -18
  99. package/dist/value/rowid.d.ts.map +0 -1
  100. package/dist/value/rowid.js +0 -53
  101. package/dist/value/rowid.js.map +0 -1
  102. package/dist/value/time.d.ts +0 -74
  103. package/dist/value/time.d.ts.map +0 -1
  104. package/dist/value/time.js +0 -214
  105. package/dist/value/time.js.map +0 -1
  106. package/dist/value/uint1.d.ts +0 -18
  107. package/dist/value/uint1.d.ts.map +0 -1
  108. package/dist/value/uint1.js +0 -46
  109. package/dist/value/uint1.js.map +0 -1
  110. package/dist/value/uint16.d.ts +0 -18
  111. package/dist/value/uint16.d.ts.map +0 -1
  112. package/dist/value/uint16.js +0 -67
  113. package/dist/value/uint16.js.map +0 -1
  114. package/dist/value/uint2.d.ts +0 -18
  115. package/dist/value/uint2.d.ts.map +0 -1
  116. package/dist/value/uint2.js +0 -46
  117. package/dist/value/uint2.js.map +0 -1
  118. package/dist/value/uint4.d.ts +0 -18
  119. package/dist/value/uint4.d.ts.map +0 -1
  120. package/dist/value/uint4.js +0 -46
  121. package/dist/value/uint4.js.map +0 -1
  122. package/dist/value/uint8.d.ts +0 -19
  123. package/dist/value/uint8.d.ts.map +0 -1
  124. package/dist/value/uint8.js +0 -58
  125. package/dist/value/uint8.js.map +0 -1
  126. package/dist/value/undefined.d.ts +0 -48
  127. package/dist/value/undefined.d.ts.map +0 -1
  128. package/dist/value/undefined.js +0 -77
  129. package/dist/value/undefined.js.map +0 -1
  130. package/dist/value/utf8.d.ts +0 -16
  131. package/dist/value/utf8.d.ts.map +0 -1
  132. package/dist/value/utf8.js +0 -39
  133. package/dist/value/utf8.js.map +0 -1
  134. package/dist/value/uuid4.d.ts +0 -69
  135. package/dist/value/uuid4.d.ts.map +0 -1
  136. package/dist/value/uuid4.js +0 -162
  137. package/dist/value/uuid4.js.map +0 -1
  138. package/dist/value/uuid7.d.ts +0 -74
  139. package/dist/value/uuid7.d.ts.map +0 -1
  140. package/dist/value/uuid7.js +0 -175
  141. package/dist/value/uuid7.js.map +0 -1
@@ -1,48 +0,0 @@
1
- /**
2
- * MIT License
3
- * Copyright (c) 2025 ReifyDB
4
- * See license.md file for full license text
5
- */
6
- import { Type, Value, TypeValuePair } from ".";
7
- /**
8
- * An undefined value wrapper type
9
- */
10
- export declare class UndefinedValue implements Value {
11
- readonly type: Type;
12
- constructor();
13
- /**
14
- * Create a new UndefinedValue
15
- */
16
- static new(): UndefinedValue;
17
- /**
18
- * Get default UndefinedValue
19
- */
20
- static default(): UndefinedValue;
21
- /**
22
- * Parse a string as undefined
23
- */
24
- static parse(str: string): UndefinedValue;
25
- /**
26
- * Check if this value is undefined (always true)
27
- */
28
- isUndefined(): boolean;
29
- /**
30
- * Format as string
31
- */
32
- toString(): string;
33
- valueOf(): undefined;
34
- /**
35
- * Get the internal representation (always undefined)
36
- */
37
- get value(): undefined;
38
- /**
39
- * Compare two undefined values (always equal)
40
- */
41
- equals(other: UndefinedValue): boolean;
42
- /**
43
- * Compare two undefined values for ordering (always equal)
44
- */
45
- compare(other: UndefinedValue): number;
46
- encode(): TypeValuePair;
47
- }
48
- //# sourceMappingURL=undefined.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"undefined.d.ts","sourceRoot":"","sources":["../../src/value/undefined.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAC,IAAI,EAAE,KAAK,EAAE,aAAa,EAAC,MAAM,GAAG,CAAC;AAG7C;;GAEG;AACH,qBAAa,cAAe,YAAW,KAAK;IACxC,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAwB;;IAM3C;;OAEG;IACH,MAAM,CAAC,GAAG,IAAI,cAAc;IAI5B;;OAEG;IACH,MAAM,CAAC,OAAO,IAAI,cAAc;IAIhC;;OAEG;IACH,MAAM,CAAC,KAAK,CAAC,GAAG,EAAE,MAAM,GAAG,cAAc;IAQzC;;OAEG;IACH,WAAW,IAAI,OAAO;IAItB;;OAEG;IACH,QAAQ,IAAI,MAAM;IAIlB,OAAO,IAAI,SAAS;IAIpB;;OAEG;IACH,IAAI,KAAK,IAAI,SAAS,CAErB;IAED;;OAEG;IACH,MAAM,CAAC,KAAK,EAAE,cAAc,GAAG,OAAO;IAItC;;OAEG;IACH,OAAO,CAAC,KAAK,EAAE,cAAc,GAAG,MAAM;IAItC,MAAM,IAAI,aAAa;CAM1B"}
@@ -1,77 +0,0 @@
1
- /**
2
- * MIT License
3
- * Copyright (c) 2025 ReifyDB
4
- * See license.md file for full license text
5
- */
6
- import { UNDEFINED_VALUE } from "../constant";
7
- /**
8
- * An undefined value wrapper type
9
- */
10
- export class UndefinedValue {
11
- constructor() {
12
- this.type = "Undefined";
13
- // Always undefined, no parameters needed
14
- }
15
- /**
16
- * Create a new UndefinedValue
17
- */
18
- static new() {
19
- return new UndefinedValue();
20
- }
21
- /**
22
- * Get default UndefinedValue
23
- */
24
- static default() {
25
- return new UndefinedValue();
26
- }
27
- /**
28
- * Parse a string as undefined
29
- */
30
- static parse(str) {
31
- const trimmed = str.trim();
32
- if (trimmed === '' || trimmed === UNDEFINED_VALUE || trimmed === 'undefined') {
33
- return new UndefinedValue();
34
- }
35
- throw new Error(`Cannot parse "${str}" as Undefined`);
36
- }
37
- /**
38
- * Check if this value is undefined (always true)
39
- */
40
- isUndefined() {
41
- return true;
42
- }
43
- /**
44
- * Format as string
45
- */
46
- toString() {
47
- return 'undefined';
48
- }
49
- valueOf() {
50
- return undefined;
51
- }
52
- /**
53
- * Get the internal representation (always undefined)
54
- */
55
- get value() {
56
- return undefined;
57
- }
58
- /**
59
- * Compare two undefined values (always equal)
60
- */
61
- equals(other) {
62
- return true;
63
- }
64
- /**
65
- * Compare two undefined values for ordering (always equal)
66
- */
67
- compare(other) {
68
- return 0;
69
- }
70
- encode() {
71
- return {
72
- type: this.type,
73
- value: this.value === undefined ? UNDEFINED_VALUE : this.toString()
74
- };
75
- }
76
- }
77
- //# sourceMappingURL=undefined.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"undefined.js","sourceRoot":"","sources":["../../src/value/undefined.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,EAAC,eAAe,EAAC,MAAM,aAAa,CAAC;AAE5C;;GAEG;AACH,MAAM,OAAO,cAAc;IAGvB;QAFS,SAAI,GAAS,WAAoB,CAAC;QAGvC,yCAAyC;IAC7C,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,GAAG;QACN,OAAO,IAAI,cAAc,EAAE,CAAC;IAChC,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,OAAO;QACV,OAAO,IAAI,cAAc,EAAE,CAAC;IAChC,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,KAAK,CAAC,GAAW;QACpB,MAAM,OAAO,GAAG,GAAG,CAAC,IAAI,EAAE,CAAC;QAC3B,IAAI,OAAO,KAAK,EAAE,IAAI,OAAO,KAAK,eAAe,IAAI,OAAO,KAAK,WAAW,EAAE,CAAC;YAC3E,OAAO,IAAI,cAAc,EAAE,CAAC;QAChC,CAAC;QACD,MAAM,IAAI,KAAK,CAAC,iBAAiB,GAAG,gBAAgB,CAAC,CAAC;IAC1D,CAAC;IAED;;OAEG;IACH,WAAW;QACP,OAAO,IAAI,CAAC;IAChB,CAAC;IAED;;OAEG;IACH,QAAQ;QACJ,OAAO,WAAW,CAAC;IACvB,CAAC;IAED,OAAO;QACH,OAAO,SAAS,CAAC;IACrB,CAAC;IAED;;OAEG;IACH,IAAI,KAAK;QACL,OAAO,SAAS,CAAC;IACrB,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,KAAqB;QACxB,OAAO,IAAI,CAAC;IAChB,CAAC;IAED;;OAEG;IACH,OAAO,CAAC,KAAqB;QACzB,OAAO,CAAC,CAAC;IACb,CAAC;IAED,MAAM;QACF,OAAO;YACH,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,KAAK,EAAE,IAAI,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,EAAE;SACtE,CAAC;IACN,CAAC;CACJ"}
@@ -1,16 +0,0 @@
1
- /**
2
- * MIT License
3
- * Copyright (c) 2025 ReifyDB
4
- * See license.md file for full license text
5
- */
6
- import { Type, Value, TypeValuePair } from ".";
7
- export declare class Utf8Value implements Value {
8
- readonly type: Type;
9
- readonly value?: string;
10
- constructor(value?: string);
11
- static parse(str: string): Utf8Value;
12
- valueOf(): string | undefined;
13
- toString(): string;
14
- encode(): TypeValuePair;
15
- }
16
- //# sourceMappingURL=utf8.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"utf8.d.ts","sourceRoot":"","sources":["../../src/value/utf8.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAC,IAAI,EAAE,KAAK,EAAE,aAAa,EAAC,MAAM,GAAG,CAAC;AAG7C,qBAAa,SAAU,YAAW,KAAK;IACnC,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAmB;IACtC,SAAgB,KAAK,CAAC,EAAE,MAAM,CAAC;gBAEnB,KAAK,CAAC,EAAE,MAAM;IAW1B,MAAM,CAAC,KAAK,CAAC,GAAG,EAAE,MAAM,GAAG,SAAS;IAQpC,OAAO,IAAI,MAAM,GAAG,SAAS;IAI7B,QAAQ,IAAI,MAAM;IAIlB,MAAM,IAAI,aAAa;CAM1B"}
@@ -1,39 +0,0 @@
1
- /**
2
- * MIT License
3
- * Copyright (c) 2025 ReifyDB
4
- * See license.md file for full license text
5
- */
6
- import { UNDEFINED_VALUE } from "../constant";
7
- export class Utf8Value {
8
- constructor(value) {
9
- this.type = "Utf8";
10
- if (value !== undefined) {
11
- if (typeof value !== 'string') {
12
- throw new Error(`Utf8 value must be a string, got ${typeof value}`);
13
- }
14
- this.value = value;
15
- }
16
- else {
17
- this.value = undefined;
18
- }
19
- }
20
- static parse(str) {
21
- if (str === UNDEFINED_VALUE) {
22
- return new Utf8Value(undefined);
23
- }
24
- return new Utf8Value(str);
25
- }
26
- valueOf() {
27
- return this.value;
28
- }
29
- toString() {
30
- return this.value === undefined ? 'undefined' : this.value;
31
- }
32
- encode() {
33
- return {
34
- type: this.type,
35
- value: this.value === undefined ? UNDEFINED_VALUE : this.toString()
36
- };
37
- }
38
- }
39
- //# sourceMappingURL=utf8.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"utf8.js","sourceRoot":"","sources":["../../src/value/utf8.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,EAAC,eAAe,EAAC,MAAM,aAAa,CAAC;AAE5C,MAAM,OAAO,SAAS;IAIlB,YAAY,KAAc;QAHjB,SAAI,GAAS,MAAe,CAAC;QAIlC,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;YACtB,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;gBAC5B,MAAM,IAAI,KAAK,CAAC,oCAAoC,OAAO,KAAK,EAAE,CAAC,CAAC;YACxE,CAAC;YACD,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACvB,CAAC;aAAM,CAAC;YACJ,IAAI,CAAC,KAAK,GAAG,SAAS,CAAC;QAC3B,CAAC;IACL,CAAC;IAED,MAAM,CAAC,KAAK,CAAC,GAAW;QACpB,IAAI,GAAG,KAAK,eAAe,EAAE,CAAC;YAC1B,OAAO,IAAI,SAAS,CAAC,SAAS,CAAC,CAAC;QACpC,CAAC;QAED,OAAO,IAAI,SAAS,CAAC,GAAG,CAAC,CAAC;IAC9B,CAAC;IAED,OAAO;QACH,OAAO,IAAI,CAAC,KAAK,CAAC;IACtB,CAAC;IAED,QAAQ;QACJ,OAAO,IAAI,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC;IAC/D,CAAC;IAED,MAAM;QACF,OAAO;YACH,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,KAAK,EAAE,IAAI,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,EAAE;SACtE,CAAC;IACN,CAAC;CACJ"}
@@ -1,69 +0,0 @@
1
- /**
2
- * MIT License
3
- * Copyright (c) 2025 ReifyDB
4
- * See license.md file for full license text
5
- */
6
- import { Type, Value, TypeValuePair } from ".";
7
- /**
8
- * A UUID version 4 (random) value type
9
- */
10
- export declare class Uuid4Value implements Value {
11
- readonly type: Type;
12
- private readonly uuid?;
13
- constructor(value?: string);
14
- /**
15
- * Generate a new random UUID v4
16
- */
17
- static generate(): Uuid4Value;
18
- /**
19
- * Create a new Uuid4Value from a string
20
- */
21
- static new(uuid: string): Uuid4Value;
22
- /**
23
- * Get the nil UUID (all zeros)
24
- */
25
- static nil(): Uuid4Value;
26
- /**
27
- * Get default Uuid4Value (nil UUID)
28
- */
29
- static default(): Uuid4Value;
30
- /**
31
- * Parse a UUID string
32
- */
33
- static parse(str: string): Uuid4Value;
34
- /**
35
- * Get the UUID string
36
- */
37
- asString(): string | undefined;
38
- /**
39
- * Get the UUID as bytes (16-byte array)
40
- */
41
- asBytes(): Uint8Array | undefined;
42
- /**
43
- * Check if this is the nil UUID
44
- */
45
- isNil(): boolean;
46
- /**
47
- * Get the UUID version
48
- */
49
- getVersion(): number | undefined;
50
- /**
51
- * Format as string
52
- */
53
- toString(): string;
54
- valueOf(): string | undefined;
55
- /**
56
- * Get the internal representation
57
- */
58
- get value(): string | undefined;
59
- /**
60
- * Compare two UUID4 values for equality
61
- */
62
- equals(other: Uuid4Value): boolean;
63
- /**
64
- * Compare two UUID4 values (for ordering)
65
- */
66
- compare(other: Uuid4Value): number;
67
- encode(): TypeValuePair;
68
- }
69
- //# sourceMappingURL=uuid4.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"uuid4.d.ts","sourceRoot":"","sources":["../../src/value/uuid4.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,aAAa,EAAE,MAAM,GAAG,CAAC;AAG/C;;GAEG;AACH,qBAAa,UAAW,YAAW,KAAK;IACpC,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAoB;IACvC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAS;gBAEnB,KAAK,CAAC,EAAE,MAAM;IAuB1B;;OAEG;IACH,MAAM,CAAC,QAAQ,IAAI,UAAU;IAI7B;;OAEG;IACH,MAAM,CAAC,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,UAAU;IAIpC;;OAEG;IACH,MAAM,CAAC,GAAG,IAAI,UAAU;IAIxB;;OAEG;IACH,MAAM,CAAC,OAAO,IAAI,UAAU;IAI5B;;OAEG;IACH,MAAM,CAAC,KAAK,CAAC,GAAG,EAAE,MAAM,GAAG,UAAU;IAoBrC;;OAEG;IACH,QAAQ,IAAI,MAAM,GAAG,SAAS;IAI9B;;OAEG;IACH,OAAO,IAAI,UAAU,GAAG,SAAS;IAYjC;;OAEG;IACH,KAAK,IAAI,OAAO;IAIhB;;OAEG;IACH,UAAU,IAAI,MAAM,GAAG,SAAS;IAKhC;;OAEG;IACH,QAAQ,IAAI,MAAM;IAOlB,OAAO,IAAI,MAAM,GAAG,SAAS;IAI7B;;OAEG;IACH,IAAI,KAAK,IAAI,MAAM,GAAG,SAAS,CAE9B;IAED;;OAEG;IACH,MAAM,CAAC,KAAK,EAAE,UAAU,GAAG,OAAO;IAIlC;;OAEG;IACH,OAAO,CAAC,KAAK,EAAE,UAAU,GAAG,MAAM;IAmBlC,MAAM,IAAI,aAAa;CAM1B"}
@@ -1,162 +0,0 @@
1
- /**
2
- * MIT License
3
- * Copyright (c) 2025 ReifyDB
4
- * See license.md file for full license text
5
- */
6
- import { v4 as uuidv4, NIL as NIL_UUID, validate, version } from 'uuid';
7
- import { UNDEFINED_VALUE } from "../constant";
8
- /**
9
- * A UUID version 4 (random) value type
10
- */
11
- export class Uuid4Value {
12
- constructor(value) {
13
- this.type = "Uuid4";
14
- if (value !== undefined) {
15
- if (typeof value !== 'string') {
16
- throw new Error(`Uuid4 value must be a string, got ${typeof value}`);
17
- }
18
- // Validate UUID format
19
- if (!validate(value)) {
20
- throw new Error(`Invalid UUID format: ${value}`);
21
- }
22
- // Check version (allow v4 or nil UUID)
23
- const ver = version(value);
24
- if (value !== NIL_UUID && ver !== 4) {
25
- throw new Error(`Invalid UUID version for Uuid4: expected v4, got v${ver}`);
26
- }
27
- this.uuid = value.toLowerCase();
28
- }
29
- else {
30
- this.uuid = undefined;
31
- }
32
- }
33
- /**
34
- * Generate a new random UUID v4
35
- */
36
- static generate() {
37
- return new Uuid4Value(uuidv4());
38
- }
39
- /**
40
- * Create a new Uuid4Value from a string
41
- */
42
- static new(uuid) {
43
- return new Uuid4Value(uuid);
44
- }
45
- /**
46
- * Get the nil UUID (all zeros)
47
- */
48
- static nil() {
49
- return new Uuid4Value(NIL_UUID);
50
- }
51
- /**
52
- * Get default Uuid4Value (nil UUID)
53
- */
54
- static default() {
55
- return Uuid4Value.nil();
56
- }
57
- /**
58
- * Parse a UUID string
59
- */
60
- static parse(str) {
61
- const trimmed = str.trim();
62
- if (trimmed === '' || trimmed === UNDEFINED_VALUE) {
63
- return new Uuid4Value(undefined);
64
- }
65
- // Try to parse as UUID
66
- if (!validate(trimmed)) {
67
- throw new Error(`Cannot parse "${str}" as Uuid4`);
68
- }
69
- const ver = version(trimmed);
70
- if (trimmed !== NIL_UUID && ver !== 4) {
71
- throw new Error(`Cannot parse "${str}" as Uuid4: wrong version (v${ver})`);
72
- }
73
- return new Uuid4Value(trimmed);
74
- }
75
- /**
76
- * Get the UUID string
77
- */
78
- asString() {
79
- return this.uuid;
80
- }
81
- /**
82
- * Get the UUID as bytes (16-byte array)
83
- */
84
- asBytes() {
85
- if (this.uuid === undefined)
86
- return undefined;
87
- // Remove hyphens and convert hex to bytes
88
- const hex = this.uuid.replace(/-/g, '');
89
- const bytes = new Uint8Array(16);
90
- for (let i = 0; i < 16; i++) {
91
- bytes[i] = parseInt(hex.substring(i * 2, i * 2 + 2), 16);
92
- }
93
- return bytes;
94
- }
95
- /**
96
- * Check if this is the nil UUID
97
- */
98
- isNil() {
99
- return this.uuid === NIL_UUID;
100
- }
101
- /**
102
- * Get the UUID version
103
- */
104
- getVersion() {
105
- if (this.uuid === undefined)
106
- return undefined;
107
- return version(this.uuid);
108
- }
109
- /**
110
- * Format as string
111
- */
112
- toString() {
113
- if (this.uuid === undefined) {
114
- return 'undefined';
115
- }
116
- return this.uuid;
117
- }
118
- valueOf() {
119
- return this.uuid;
120
- }
121
- /**
122
- * Get the internal representation
123
- */
124
- get value() {
125
- return this.valueOf();
126
- }
127
- /**
128
- * Compare two UUID4 values for equality
129
- */
130
- equals(other) {
131
- return this.uuid === other.uuid;
132
- }
133
- /**
134
- * Compare two UUID4 values (for ordering)
135
- */
136
- compare(other) {
137
- if (this.uuid === undefined || other.uuid === undefined) {
138
- if (this.uuid === other.uuid)
139
- return 0;
140
- if (this.uuid === undefined)
141
- return -1;
142
- return 1;
143
- }
144
- // Compare as bytes for consistent ordering
145
- const thisBytes = this.asBytes();
146
- const otherBytes = other.asBytes();
147
- for (let i = 0; i < 16; i++) {
148
- if (thisBytes[i] < otherBytes[i])
149
- return -1;
150
- if (thisBytes[i] > otherBytes[i])
151
- return 1;
152
- }
153
- return 0;
154
- }
155
- encode() {
156
- return {
157
- type: this.type,
158
- value: this.value === undefined ? UNDEFINED_VALUE : this.toString()
159
- };
160
- }
161
- }
162
- //# sourceMappingURL=uuid4.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"uuid4.js","sourceRoot":"","sources":["../../src/value/uuid4.ts"],"names":[],"mappings":"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"}
@@ -1,74 +0,0 @@
1
- /**
2
- * MIT License
3
- * Copyright (c) 2025 ReifyDB
4
- * See license.md file for full license text
5
- */
6
- import { Type, Value, TypeValuePair } from ".";
7
- /**
8
- * A UUID version 7 (timestamp-based) value type
9
- */
10
- export declare class Uuid7Value implements Value {
11
- readonly type: Type;
12
- private readonly uuid?;
13
- constructor(value?: string);
14
- /**
15
- * Generate a new timestamp-based UUID v7
16
- */
17
- static generate(): Uuid7Value;
18
- /**
19
- * Create a new Uuid7Value from a string
20
- */
21
- static new(uuid: string): Uuid7Value;
22
- /**
23
- * Get the nil UUID (all zeros)
24
- */
25
- static nil(): Uuid7Value;
26
- /**
27
- * Get default Uuid7Value (nil UUID)
28
- */
29
- static default(): Uuid7Value;
30
- /**
31
- * Parse a UUID string
32
- */
33
- static parse(str: string): Uuid7Value;
34
- /**
35
- * Get the UUID string
36
- */
37
- asString(): string | undefined;
38
- /**
39
- * Get the UUID as bytes (16-byte array)
40
- */
41
- asBytes(): Uint8Array | undefined;
42
- /**
43
- * Extract the timestamp from UUID v7 (milliseconds since Unix epoch)
44
- */
45
- getTimestamp(): number | undefined;
46
- /**
47
- * Check if this is the nil UUID
48
- */
49
- isNil(): boolean;
50
- /**
51
- * Get the UUID version
52
- */
53
- getVersion(): number | undefined;
54
- /**
55
- * Format as string
56
- */
57
- toString(): string;
58
- valueOf(): string | undefined;
59
- /**
60
- * Get the internal representation
61
- */
62
- get value(): string | undefined;
63
- /**
64
- * Compare two UUID7 values for equality
65
- */
66
- equals(other: Uuid7Value): boolean;
67
- /**
68
- * Compare two UUID7 values (for ordering)
69
- * UUID v7 has timestamp-based ordering for UUIDs generated close in time
70
- */
71
- compare(other: Uuid7Value): number;
72
- encode(): TypeValuePair;
73
- }
74
- //# sourceMappingURL=uuid7.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"uuid7.d.ts","sourceRoot":"","sources":["../../src/value/uuid7.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,aAAa,EAAE,MAAM,GAAG,CAAC;AAG/C;;GAEG;AACH,qBAAa,UAAW,YAAW,KAAK;IACpC,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAoB;IACvC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAS;gBAEnB,KAAK,CAAC,EAAE,MAAM;IAuB1B;;OAEG;IACH,MAAM,CAAC,QAAQ,IAAI,UAAU;IAI7B;;OAEG;IACH,MAAM,CAAC,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,UAAU;IAIpC;;OAEG;IACH,MAAM,CAAC,GAAG,IAAI,UAAU;IAIxB;;OAEG;IACH,MAAM,CAAC,OAAO,IAAI,UAAU;IAI5B;;OAEG;IACH,MAAM,CAAC,KAAK,CAAC,GAAG,EAAE,MAAM,GAAG,UAAU;IAoBrC;;OAEG;IACH,QAAQ,IAAI,MAAM,GAAG,SAAS;IAI9B;;OAEG;IACH,OAAO,IAAI,UAAU,GAAG,SAAS;IAYjC;;OAEG;IACH,YAAY,IAAI,MAAM,GAAG,SAAS;IAUlC;;OAEG;IACH,KAAK,IAAI,OAAO;IAIhB;;OAEG;IACH,UAAU,IAAI,MAAM,GAAG,SAAS;IAKhC;;OAEG;IACH,QAAQ,IAAI,MAAM;IAOlB,OAAO,IAAI,MAAM,GAAG,SAAS;IAI7B;;OAEG;IACH,IAAI,KAAK,IAAI,MAAM,GAAG,SAAS,CAE9B;IAED;;OAEG;IACH,MAAM,CAAC,KAAK,EAAE,UAAU,GAAG,OAAO;IAIlC;;;OAGG;IACH,OAAO,CAAC,KAAK,EAAE,UAAU,GAAG,MAAM;IAmBlC,MAAM,IAAI,aAAa;CAM1B"}