@reifydb/core 0.1.6 → 0.1.7
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/package.json +1 -1
- package/dist/constant.d.ts +0 -7
- package/dist/constant.d.ts.map +0 -1
- package/dist/constant.js +0 -7
- package/dist/constant.js.map +0 -1
- package/dist/decoder.d.ts +0 -8
- package/dist/decoder.d.ts.map +0 -1
- package/dist/decoder.js +0 -59
- package/dist/decoder.js.map +0 -1
- package/dist/index.d.ts.map +0 -1
- package/dist/schema/builder.d.ts +0 -45
- package/dist/schema/builder.d.ts.map +0 -1
- package/dist/schema/builder.js +0 -114
- package/dist/schema/builder.js.map +0 -1
- package/dist/schema/index.d.ts +0 -11
- package/dist/schema/index.d.ts.map +0 -1
- package/dist/schema/index.js +0 -12
- package/dist/schema/index.js.map +0 -1
- package/dist/schema/inference.d.ts +0 -16
- package/dist/schema/inference.d.ts.map +0 -1
- package/dist/schema/inference.js +0 -7
- package/dist/schema/inference.js.map +0 -1
- package/dist/schema/parser.d.ts +0 -8
- package/dist/schema/parser.d.ts.map +0 -1
- package/dist/schema/parser.js +0 -96
- package/dist/schema/parser.js.map +0 -1
- package/dist/schema/simple-test.d.ts +0 -7
- package/dist/schema/simple-test.d.ts.map +0 -1
- package/dist/schema/simple-test.js +0 -26
- package/dist/schema/simple-test.js.map +0 -1
- package/dist/schema/test-refactor.d.ts +0 -7
- package/dist/schema/test-refactor.d.ts.map +0 -1
- package/dist/schema/test-refactor.js +0 -97
- package/dist/schema/test-refactor.js.map +0 -1
- package/dist/schema/types.d.ts +0 -27
- package/dist/schema/types.d.ts.map +0 -1
- package/dist/schema/types.js +0 -7
- package/dist/schema/types.js.map +0 -1
- package/dist/schema/validator.d.ts +0 -8
- package/dist/schema/validator.d.ts.map +0 -1
- package/dist/schema/validator.js +0 -79
- package/dist/schema/validator.js.map +0 -1
- package/dist/value/blob.d.ts +0 -85
- package/dist/value/blob.d.ts.map +0 -1
- package/dist/value/blob.js +0 -255
- package/dist/value/blob.js.map +0 -1
- package/dist/value/bool.d.ts +0 -16
- package/dist/value/bool.d.ts.map +0 -1
- package/dist/value/bool.js +0 -46
- package/dist/value/bool.js.map +0 -1
- package/dist/value/date.d.ts +0 -71
- package/dist/value/date.d.ts.map +0 -1
- package/dist/value/date.js +0 -261
- package/dist/value/date.js.map +0 -1
- package/dist/value/datetime.d.ts +0 -99
- package/dist/value/datetime.d.ts.map +0 -1
- package/dist/value/datetime.js +0 -401
- package/dist/value/datetime.js.map +0 -1
- package/dist/value/float4.d.ts +0 -19
- package/dist/value/float4.d.ts.map +0 -1
- package/dist/value/float4.js +0 -68
- package/dist/value/float4.js.map +0 -1
- package/dist/value/float8.d.ts +0 -16
- package/dist/value/float8.d.ts.map +0 -1
- package/dist/value/float8.js +0 -44
- package/dist/value/float8.js.map +0 -1
- package/dist/value/index.d.ts +0 -38
- package/dist/value/index.d.ts.map +0 -1
- package/dist/value/index.js +0 -31
- package/dist/value/index.js.map +0 -1
- package/dist/value/int1.d.ts +0 -18
- package/dist/value/int1.d.ts.map +0 -1
- package/dist/value/int1.js +0 -46
- package/dist/value/int1.js.map +0 -1
- package/dist/value/int16.d.ts +0 -18
- package/dist/value/int16.d.ts.map +0 -1
- package/dist/value/int16.js +0 -67
- package/dist/value/int16.js.map +0 -1
- package/dist/value/int2.d.ts +0 -18
- package/dist/value/int2.d.ts.map +0 -1
- package/dist/value/int2.js +0 -46
- package/dist/value/int2.js.map +0 -1
- package/dist/value/int4.d.ts +0 -18
- package/dist/value/int4.d.ts.map +0 -1
- package/dist/value/int4.js +0 -46
- package/dist/value/int4.js.map +0 -1
- package/dist/value/int8.d.ts +0 -18
- package/dist/value/int8.d.ts.map +0 -1
- package/dist/value/int8.js +0 -53
- package/dist/value/int8.js.map +0 -1
- package/dist/value/interval.d.ts +0 -144
- package/dist/value/interval.d.ts.map +0 -1
- package/dist/value/interval.js +0 -357
- package/dist/value/interval.js.map +0 -1
- package/dist/value/rowid.d.ts +0 -18
- package/dist/value/rowid.d.ts.map +0 -1
- package/dist/value/rowid.js +0 -53
- package/dist/value/rowid.js.map +0 -1
- package/dist/value/time.d.ts +0 -74
- package/dist/value/time.d.ts.map +0 -1
- package/dist/value/time.js +0 -214
- package/dist/value/time.js.map +0 -1
- package/dist/value/uint1.d.ts +0 -18
- package/dist/value/uint1.d.ts.map +0 -1
- package/dist/value/uint1.js +0 -46
- package/dist/value/uint1.js.map +0 -1
- package/dist/value/uint16.d.ts +0 -18
- package/dist/value/uint16.d.ts.map +0 -1
- package/dist/value/uint16.js +0 -67
- package/dist/value/uint16.js.map +0 -1
- package/dist/value/uint2.d.ts +0 -18
- package/dist/value/uint2.d.ts.map +0 -1
- package/dist/value/uint2.js +0 -46
- package/dist/value/uint2.js.map +0 -1
- package/dist/value/uint4.d.ts +0 -18
- package/dist/value/uint4.d.ts.map +0 -1
- package/dist/value/uint4.js +0 -46
- package/dist/value/uint4.js.map +0 -1
- package/dist/value/uint8.d.ts +0 -19
- package/dist/value/uint8.d.ts.map +0 -1
- package/dist/value/uint8.js +0 -58
- package/dist/value/uint8.js.map +0 -1
- package/dist/value/undefined.d.ts +0 -48
- package/dist/value/undefined.d.ts.map +0 -1
- package/dist/value/undefined.js +0 -77
- package/dist/value/undefined.js.map +0 -1
- package/dist/value/utf8.d.ts +0 -16
- package/dist/value/utf8.d.ts.map +0 -1
- package/dist/value/utf8.js +0 -39
- package/dist/value/utf8.js.map +0 -1
- package/dist/value/uuid4.d.ts +0 -69
- package/dist/value/uuid4.d.ts.map +0 -1
- package/dist/value/uuid4.js +0 -162
- package/dist/value/uuid4.js.map +0 -1
- package/dist/value/uuid7.d.ts +0 -74
- package/dist/value/uuid7.d.ts.map +0 -1
- package/dist/value/uuid7.js +0 -175
- package/dist/value/uuid7.js.map +0 -1
package/dist/value/datetime.js
DELETED
|
@@ -1,401 +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
|
-
import { DateValue } from "./date";
|
|
8
|
-
import { TimeValue } from "./time";
|
|
9
|
-
/**
|
|
10
|
-
* A date and time value with nanosecond precision.
|
|
11
|
-
* Always in UTC timezone.
|
|
12
|
-
* Internally stored as months, days, and nanoseconds.
|
|
13
|
-
*/
|
|
14
|
-
export class DateTimeValue {
|
|
15
|
-
constructor(value) {
|
|
16
|
-
this.type = "DateTime";
|
|
17
|
-
if (value !== undefined) {
|
|
18
|
-
if (value instanceof Date) {
|
|
19
|
-
// Store as UTC with millisecond precision from Date
|
|
20
|
-
const year = value.getUTCFullYear();
|
|
21
|
-
const month = value.getUTCMonth() + 1;
|
|
22
|
-
const day = value.getUTCDate();
|
|
23
|
-
const hour = value.getUTCHours();
|
|
24
|
-
const minute = value.getUTCMinutes();
|
|
25
|
-
const second = value.getUTCSeconds();
|
|
26
|
-
const millis = value.getUTCMilliseconds();
|
|
27
|
-
this.months = year * 12 + (month - 1);
|
|
28
|
-
this.days = day;
|
|
29
|
-
this.nanos = BigInt(hour) * 3600000000000n +
|
|
30
|
-
BigInt(minute) * 60000000000n +
|
|
31
|
-
BigInt(second) * 1000000000n +
|
|
32
|
-
BigInt(millis) * 1000000n;
|
|
33
|
-
}
|
|
34
|
-
else if (typeof value === 'string') {
|
|
35
|
-
// Parse ISO 8601 format
|
|
36
|
-
const parsed = DateTimeValue.parseDateTime(value);
|
|
37
|
-
if (!parsed) {
|
|
38
|
-
throw new Error(`Invalid datetime string: ${value}`);
|
|
39
|
-
}
|
|
40
|
-
this.months = parsed.months;
|
|
41
|
-
this.days = parsed.days;
|
|
42
|
-
this.nanos = parsed.nanos;
|
|
43
|
-
}
|
|
44
|
-
else if (typeof value === 'number') {
|
|
45
|
-
// Interpret as milliseconds since epoch
|
|
46
|
-
const date = new Date(value);
|
|
47
|
-
const year = date.getUTCFullYear();
|
|
48
|
-
const month = date.getUTCMonth() + 1;
|
|
49
|
-
const day = date.getUTCDate();
|
|
50
|
-
const hour = date.getUTCHours();
|
|
51
|
-
const minute = date.getUTCMinutes();
|
|
52
|
-
const second = date.getUTCSeconds();
|
|
53
|
-
const millis = date.getUTCMilliseconds();
|
|
54
|
-
this.months = year * 12 + (month - 1);
|
|
55
|
-
this.days = day;
|
|
56
|
-
this.nanos = BigInt(hour) * 3600000000000n +
|
|
57
|
-
BigInt(minute) * 60000000000n +
|
|
58
|
-
BigInt(second) * 1000000000n +
|
|
59
|
-
BigInt(millis) * 1000000n;
|
|
60
|
-
}
|
|
61
|
-
else if (typeof value === 'bigint') {
|
|
62
|
-
// Interpret as nanoseconds since epoch
|
|
63
|
-
const millis = Number(value / 1000000n);
|
|
64
|
-
const extraNanos = value % 1000000n;
|
|
65
|
-
const date = new Date(millis);
|
|
66
|
-
const year = date.getUTCFullYear();
|
|
67
|
-
const month = date.getUTCMonth() + 1;
|
|
68
|
-
const day = date.getUTCDate();
|
|
69
|
-
const hour = date.getUTCHours();
|
|
70
|
-
const minute = date.getUTCMinutes();
|
|
71
|
-
const second = date.getUTCSeconds();
|
|
72
|
-
const dateMillis = date.getUTCMilliseconds();
|
|
73
|
-
this.months = year * 12 + (month - 1);
|
|
74
|
-
this.days = day;
|
|
75
|
-
this.nanos = BigInt(hour) * 3600000000000n +
|
|
76
|
-
BigInt(minute) * 60000000000n +
|
|
77
|
-
BigInt(second) * 1000000000n +
|
|
78
|
-
BigInt(dateMillis) * 1000000n +
|
|
79
|
-
extraNanos;
|
|
80
|
-
}
|
|
81
|
-
else {
|
|
82
|
-
throw new Error(`DateTime value must be a Date, string, number, or bigint, got ${typeof value}`);
|
|
83
|
-
}
|
|
84
|
-
}
|
|
85
|
-
else {
|
|
86
|
-
this.months = undefined;
|
|
87
|
-
this.days = undefined;
|
|
88
|
-
this.nanos = undefined;
|
|
89
|
-
}
|
|
90
|
-
}
|
|
91
|
-
/**
|
|
92
|
-
* Create a DateTimeValue from year, month, day, hour, minute, second, nanosecond
|
|
93
|
-
*/
|
|
94
|
-
static fromYMDHMSN(year, month, day, hour, minute, second, nano = 0) {
|
|
95
|
-
// Validate inputs
|
|
96
|
-
if (hour < 0 || hour > 23) {
|
|
97
|
-
throw new Error(`Invalid hour: ${hour}`);
|
|
98
|
-
}
|
|
99
|
-
if (minute < 0 || minute > 59) {
|
|
100
|
-
throw new Error(`Invalid minute: ${minute}`);
|
|
101
|
-
}
|
|
102
|
-
if (second < 0 || second > 59) {
|
|
103
|
-
throw new Error(`Invalid second: ${second}`);
|
|
104
|
-
}
|
|
105
|
-
if (nano < 0 || nano > 999999999) {
|
|
106
|
-
throw new Error(`Invalid nanosecond: ${nano}`);
|
|
107
|
-
}
|
|
108
|
-
// Validate the date
|
|
109
|
-
if (!DateTimeValue.isValidDate(year, month, day)) {
|
|
110
|
-
throw new Error(`Invalid datetime: ${year}-${String(month).padStart(2, '0')}-${String(day).padStart(2, '0')} ${String(hour).padStart(2, '0')}:${String(minute).padStart(2, '0')}:${String(second).padStart(2, '0')}`);
|
|
111
|
-
}
|
|
112
|
-
const result = new DateTimeValue(undefined);
|
|
113
|
-
result.months = year * 12 + (month - 1);
|
|
114
|
-
result.days = day;
|
|
115
|
-
result.nanos = BigInt(hour) * 3600000000000n +
|
|
116
|
-
BigInt(minute) * 60000000000n +
|
|
117
|
-
BigInt(second) * 1000000000n +
|
|
118
|
-
BigInt(nano);
|
|
119
|
-
return result;
|
|
120
|
-
}
|
|
121
|
-
/**
|
|
122
|
-
* Create a DateTimeValue from year, month, day, hour, minute, second (no fractional)
|
|
123
|
-
*/
|
|
124
|
-
static fromYMDHMS(year, month, day, hour, minute, second) {
|
|
125
|
-
return DateTimeValue.fromYMDHMSN(year, month, day, hour, minute, second, 0);
|
|
126
|
-
}
|
|
127
|
-
/**
|
|
128
|
-
* Create from Unix timestamp in seconds
|
|
129
|
-
*/
|
|
130
|
-
static fromTimestamp(seconds) {
|
|
131
|
-
return new DateTimeValue(seconds * 1000);
|
|
132
|
-
}
|
|
133
|
-
/**
|
|
134
|
-
* Create from Unix timestamp in milliseconds
|
|
135
|
-
*/
|
|
136
|
-
static fromTimestampMillis(millis) {
|
|
137
|
-
return new DateTimeValue(millis);
|
|
138
|
-
}
|
|
139
|
-
/**
|
|
140
|
-
* Create from nanoseconds since Unix epoch
|
|
141
|
-
*/
|
|
142
|
-
static fromNanosSinceEpoch(nanos) {
|
|
143
|
-
return new DateTimeValue(nanos);
|
|
144
|
-
}
|
|
145
|
-
/**
|
|
146
|
-
* Create from separate seconds and nanoseconds
|
|
147
|
-
*/
|
|
148
|
-
static fromParts(seconds, nanos) {
|
|
149
|
-
if (nanos < 0 || nanos > 999999999) {
|
|
150
|
-
throw new Error(`Invalid nanoseconds: ${nanos}`);
|
|
151
|
-
}
|
|
152
|
-
const millis = seconds * 1000 + Math.floor(nanos / 1000000);
|
|
153
|
-
const extraNanos = nanos % 1000000;
|
|
154
|
-
const result = new DateTimeValue(millis);
|
|
155
|
-
// Add the extra nanoseconds
|
|
156
|
-
if (result.nanos !== undefined) {
|
|
157
|
-
result.nanos = result.nanos + BigInt(extraNanos);
|
|
158
|
-
}
|
|
159
|
-
return result;
|
|
160
|
-
}
|
|
161
|
-
/**
|
|
162
|
-
* Get current datetime
|
|
163
|
-
*/
|
|
164
|
-
static now() {
|
|
165
|
-
return new DateTimeValue(new Date());
|
|
166
|
-
}
|
|
167
|
-
/**
|
|
168
|
-
* Get default datetime (Unix epoch)
|
|
169
|
-
*/
|
|
170
|
-
static default() {
|
|
171
|
-
return DateTimeValue.fromYMDHMS(1970, 1, 1, 0, 0, 0);
|
|
172
|
-
}
|
|
173
|
-
/**
|
|
174
|
-
* Parse a datetime string in ISO 8601 format
|
|
175
|
-
*/
|
|
176
|
-
static parse(str) {
|
|
177
|
-
const trimmed = str.trim();
|
|
178
|
-
if (trimmed === '' || trimmed === UNDEFINED_VALUE) {
|
|
179
|
-
return new DateTimeValue(undefined);
|
|
180
|
-
}
|
|
181
|
-
const parsed = DateTimeValue.parseDateTime(trimmed);
|
|
182
|
-
if (!parsed) {
|
|
183
|
-
throw new Error(`Cannot parse "${str}" as DateTime`);
|
|
184
|
-
}
|
|
185
|
-
const result = new DateTimeValue(undefined);
|
|
186
|
-
result.months = parsed.months;
|
|
187
|
-
result.days = parsed.days;
|
|
188
|
-
result.nanos = parsed.nanos;
|
|
189
|
-
return result;
|
|
190
|
-
}
|
|
191
|
-
/**
|
|
192
|
-
* Get Unix timestamp in seconds
|
|
193
|
-
*/
|
|
194
|
-
timestamp() {
|
|
195
|
-
const date = this.valueOf();
|
|
196
|
-
if (date === undefined)
|
|
197
|
-
return undefined;
|
|
198
|
-
return Math.floor(date.getTime() / 1000);
|
|
199
|
-
}
|
|
200
|
-
/**
|
|
201
|
-
* Get Unix timestamp in nanoseconds
|
|
202
|
-
*/
|
|
203
|
-
timestampNanos() {
|
|
204
|
-
const date = this.valueOf();
|
|
205
|
-
if (date === undefined || this.nanos === undefined)
|
|
206
|
-
return undefined;
|
|
207
|
-
// Convert date to epoch nanoseconds
|
|
208
|
-
const epochNanos = BigInt(date.getTime()) * 1000000n;
|
|
209
|
-
// The nanos field stores time-of-day, but we already included millis in epochNanos
|
|
210
|
-
// So we need to add only the sub-millisecond portion
|
|
211
|
-
const subMillisNanos = this.nanos % 1000000n;
|
|
212
|
-
return epochNanos + subMillisNanos;
|
|
213
|
-
}
|
|
214
|
-
/**
|
|
215
|
-
* Convert to nanoseconds since Unix epoch for storage
|
|
216
|
-
*/
|
|
217
|
-
toNanosSinceEpoch() {
|
|
218
|
-
return this.timestampNanos();
|
|
219
|
-
}
|
|
220
|
-
/**
|
|
221
|
-
* Get separate seconds and nanoseconds for storage
|
|
222
|
-
*/
|
|
223
|
-
toParts() {
|
|
224
|
-
const date = this.valueOf();
|
|
225
|
-
if (date === undefined || this.nanos === undefined)
|
|
226
|
-
return undefined;
|
|
227
|
-
const seconds = Math.floor(date.getTime() / 1000);
|
|
228
|
-
const millis = date.getTime() % 1000;
|
|
229
|
-
const subMillisNanos = Number(this.nanos % 1000000n);
|
|
230
|
-
const nanos = millis * 1000000 + subMillisNanos;
|
|
231
|
-
return [seconds, nanos];
|
|
232
|
-
}
|
|
233
|
-
/**
|
|
234
|
-
* Get the date component
|
|
235
|
-
*/
|
|
236
|
-
date() {
|
|
237
|
-
if (this.months === undefined || this.days === undefined)
|
|
238
|
-
return undefined;
|
|
239
|
-
const year = Math.floor(this.months / 12);
|
|
240
|
-
// Handle negative months correctly
|
|
241
|
-
let m = this.months % 12;
|
|
242
|
-
if (m < 0)
|
|
243
|
-
m += 12;
|
|
244
|
-
const month = m + 1;
|
|
245
|
-
return DateValue.fromYMD(year, month, this.days);
|
|
246
|
-
}
|
|
247
|
-
/**
|
|
248
|
-
* Get the time component
|
|
249
|
-
*/
|
|
250
|
-
time() {
|
|
251
|
-
if (this.nanos === undefined)
|
|
252
|
-
return undefined;
|
|
253
|
-
return new TimeValue(this.nanos);
|
|
254
|
-
}
|
|
255
|
-
/**
|
|
256
|
-
* Format as ISO 8601 string with nanosecond precision and Z suffix
|
|
257
|
-
*/
|
|
258
|
-
toString() {
|
|
259
|
-
if (this.months === undefined || this.days === undefined || this.nanos === undefined) {
|
|
260
|
-
return 'undefined';
|
|
261
|
-
}
|
|
262
|
-
const year = Math.floor(this.months / 12);
|
|
263
|
-
// Handle negative months correctly
|
|
264
|
-
let m = this.months % 12;
|
|
265
|
-
if (m < 0)
|
|
266
|
-
m += 12;
|
|
267
|
-
const month = String(m + 1).padStart(2, '0');
|
|
268
|
-
const day = String(this.days).padStart(2, '0');
|
|
269
|
-
// Extract time components from nanos
|
|
270
|
-
const totalNanos = this.nanos;
|
|
271
|
-
const hours = totalNanos / 3600000000000n;
|
|
272
|
-
const remainingAfterHours = totalNanos % 3600000000000n;
|
|
273
|
-
const minutes = remainingAfterHours / 60000000000n;
|
|
274
|
-
const remainingAfterMinutes = remainingAfterHours % 60000000000n;
|
|
275
|
-
const seconds = remainingAfterMinutes / 1000000000n;
|
|
276
|
-
const nanosFraction = remainingAfterMinutes % 1000000000n;
|
|
277
|
-
const hour = String(Number(hours)).padStart(2, '0');
|
|
278
|
-
const minute = String(Number(minutes)).padStart(2, '0');
|
|
279
|
-
const second = String(Number(seconds)).padStart(2, '0');
|
|
280
|
-
const nanoStr = String(Number(nanosFraction)).padStart(9, '0');
|
|
281
|
-
// Handle negative years (BC dates)
|
|
282
|
-
let yearStr;
|
|
283
|
-
if (year < 0) {
|
|
284
|
-
const absYear = Math.abs(year);
|
|
285
|
-
yearStr = `-${String(absYear).padStart(4, '0')}`;
|
|
286
|
-
}
|
|
287
|
-
else {
|
|
288
|
-
yearStr = String(year).padStart(4, '0');
|
|
289
|
-
}
|
|
290
|
-
return `${yearStr}-${month}-${day}T${hour}:${minute}:${second}.${nanoStr}Z`;
|
|
291
|
-
}
|
|
292
|
-
valueOf() {
|
|
293
|
-
if (this.months === undefined || this.days === undefined || this.nanos === undefined) {
|
|
294
|
-
return undefined;
|
|
295
|
-
}
|
|
296
|
-
const year = Math.floor(this.months / 12);
|
|
297
|
-
// Handle negative months correctly
|
|
298
|
-
let m = this.months % 12;
|
|
299
|
-
if (m < 0)
|
|
300
|
-
m += 12;
|
|
301
|
-
const month = m + 1;
|
|
302
|
-
// Extract time components
|
|
303
|
-
const totalNanos = this.nanos;
|
|
304
|
-
const hours = Number(totalNanos / 3600000000000n);
|
|
305
|
-
const remainingAfterHours = totalNanos % 3600000000000n;
|
|
306
|
-
const minutes = Number(remainingAfterHours / 60000000000n);
|
|
307
|
-
const remainingAfterMinutes = remainingAfterHours % 60000000000n;
|
|
308
|
-
const seconds = Number(remainingAfterMinutes / 1000000000n);
|
|
309
|
-
const nanosFraction = remainingAfterMinutes % 1000000000n;
|
|
310
|
-
const millis = Number(nanosFraction / 1000000n);
|
|
311
|
-
// Handle years < 100 specially
|
|
312
|
-
let date;
|
|
313
|
-
if (year >= 0 && year < 100) {
|
|
314
|
-
date = new Date(Date.UTC(2000, month - 1, this.days, hours, minutes, seconds, millis));
|
|
315
|
-
date.setUTCFullYear(year);
|
|
316
|
-
}
|
|
317
|
-
else {
|
|
318
|
-
date = new Date(Date.UTC(year, month - 1, this.days, hours, minutes, seconds, millis));
|
|
319
|
-
}
|
|
320
|
-
return date;
|
|
321
|
-
}
|
|
322
|
-
/**
|
|
323
|
-
* Get the internal representation as a Date
|
|
324
|
-
*/
|
|
325
|
-
get value() {
|
|
326
|
-
return this.valueOf();
|
|
327
|
-
}
|
|
328
|
-
/**
|
|
329
|
-
* Helper to parse ISO 8601 datetime format
|
|
330
|
-
*/
|
|
331
|
-
static parseDateTime(str) {
|
|
332
|
-
// Match ISO 8601 format: YYYY-MM-DDTHH:MM:SS[.nnnnnnnnn]Z
|
|
333
|
-
const match = str.match(/^(-?\d{1,4})-(\d{2})-(\d{2})T(\d{2}):(\d{2}):(\d{2})(?:\.(\d{1,9}))?Z$/);
|
|
334
|
-
if (!match) {
|
|
335
|
-
return null;
|
|
336
|
-
}
|
|
337
|
-
const year = parseInt(match[1], 10);
|
|
338
|
-
const month = parseInt(match[2], 10);
|
|
339
|
-
const day = parseInt(match[3], 10);
|
|
340
|
-
const hour = parseInt(match[4], 10);
|
|
341
|
-
const minute = parseInt(match[5], 10);
|
|
342
|
-
const second = parseInt(match[6], 10);
|
|
343
|
-
// Parse fractional seconds if present
|
|
344
|
-
let nanosFraction = 0n;
|
|
345
|
-
if (match[7]) {
|
|
346
|
-
// Pad or truncate to 9 digits
|
|
347
|
-
const fracStr = match[7].padEnd(9, '0').substring(0, 9);
|
|
348
|
-
nanosFraction = BigInt(fracStr);
|
|
349
|
-
}
|
|
350
|
-
// Validate ranges
|
|
351
|
-
if (month < 1 || month > 12) {
|
|
352
|
-
return null;
|
|
353
|
-
}
|
|
354
|
-
if (day < 1 || day > 31) {
|
|
355
|
-
return null;
|
|
356
|
-
}
|
|
357
|
-
if (hour < 0 || hour > 23) {
|
|
358
|
-
return null;
|
|
359
|
-
}
|
|
360
|
-
if (minute < 0 || minute > 59) {
|
|
361
|
-
return null;
|
|
362
|
-
}
|
|
363
|
-
if (second < 0 || second > 59) {
|
|
364
|
-
return null;
|
|
365
|
-
}
|
|
366
|
-
// Validate the date is valid
|
|
367
|
-
if (!DateTimeValue.isValidDate(year, month, day)) {
|
|
368
|
-
return null;
|
|
369
|
-
}
|
|
370
|
-
const months = year * 12 + (month - 1);
|
|
371
|
-
const nanos = BigInt(hour) * 3600000000000n +
|
|
372
|
-
BigInt(minute) * 60000000000n +
|
|
373
|
-
BigInt(second) * 1000000000n +
|
|
374
|
-
nanosFraction;
|
|
375
|
-
return { months, days: day, nanos };
|
|
376
|
-
}
|
|
377
|
-
/**
|
|
378
|
-
* Helper to validate a date
|
|
379
|
-
*/
|
|
380
|
-
static isValidDate(year, month, day) {
|
|
381
|
-
// Create a date and check if components match
|
|
382
|
-
let date;
|
|
383
|
-
if (year >= 0 && year < 100) {
|
|
384
|
-
date = new Date(Date.UTC(2000, month - 1, day));
|
|
385
|
-
date.setUTCFullYear(year);
|
|
386
|
-
}
|
|
387
|
-
else {
|
|
388
|
-
date = new Date(Date.UTC(year, month - 1, day));
|
|
389
|
-
}
|
|
390
|
-
return date.getUTCFullYear() === year &&
|
|
391
|
-
date.getUTCMonth() === month - 1 &&
|
|
392
|
-
date.getUTCDate() === day;
|
|
393
|
-
}
|
|
394
|
-
encode() {
|
|
395
|
-
return {
|
|
396
|
-
type: this.type,
|
|
397
|
-
value: this.value === undefined ? UNDEFINED_VALUE : this.toString()
|
|
398
|
-
};
|
|
399
|
-
}
|
|
400
|
-
}
|
|
401
|
-
//# sourceMappingURL=datetime.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"datetime.js","sourceRoot":"","sources":["../../src/value/datetime.ts"],"names":[],"mappings":"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"}
|
package/dist/value/float4.d.ts
DELETED
|
@@ -1,19 +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 Float4Value implements Value {
|
|
8
|
-
private static readonly MAX_VALUE;
|
|
9
|
-
private static readonly MIN_VALUE;
|
|
10
|
-
private static readonly MIN_POSITIVE;
|
|
11
|
-
readonly type: Type;
|
|
12
|
-
readonly value?: number;
|
|
13
|
-
constructor(value?: number);
|
|
14
|
-
static parse(str: string): Float4Value;
|
|
15
|
-
valueOf(): number | undefined;
|
|
16
|
-
toString(): string;
|
|
17
|
-
encode(): TypeValuePair;
|
|
18
|
-
}
|
|
19
|
-
//# sourceMappingURL=float4.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"float4.d.ts","sourceRoot":"","sources":["../../src/value/float4.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAC,IAAI,EAAE,KAAK,EAAE,aAAa,EAAC,MAAM,GAAG,CAAC;AAG7C,qBAAa,WAAY,YAAW,KAAK;IAErC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAiB;IAClD,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAkB;IACnD,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,YAAY,CAAgB;IAEpD,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAqB;IACxC,SAAgB,KAAK,CAAC,EAAE,MAAM,CAAC;gBAEnB,KAAK,CAAC,EAAE,MAAM;IA6B1B,MAAM,CAAC,KAAK,CAAC,GAAG,EAAE,MAAM,GAAG,WAAW;IAetC,OAAO,IAAI,MAAM,GAAG,SAAS;IAI7B,QAAQ,IAAI,MAAM;IAIlB,MAAM,IAAI,aAAa;CAO1B"}
|
package/dist/value/float4.js
DELETED
|
@@ -1,68 +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 Float4Value {
|
|
8
|
-
constructor(value) {
|
|
9
|
-
this.type = "Float4";
|
|
10
|
-
if (value !== undefined) {
|
|
11
|
-
if (typeof value !== 'number') {
|
|
12
|
-
throw new Error(`Float4 value must be a number, got ${typeof value}`);
|
|
13
|
-
}
|
|
14
|
-
if (Number.isNaN(value) || !Number.isFinite(value)) {
|
|
15
|
-
this.value = undefined;
|
|
16
|
-
}
|
|
17
|
-
else {
|
|
18
|
-
// Clamp to Float32 range
|
|
19
|
-
if (value !== 0 && Math.abs(value) < Float4Value.MIN_POSITIVE) {
|
|
20
|
-
// Underflow to zero
|
|
21
|
-
this.value = 0;
|
|
22
|
-
}
|
|
23
|
-
else if (value > Float4Value.MAX_VALUE) {
|
|
24
|
-
throw new Error(`Float4 overflow: value ${value} exceeds maximum ${Float4Value.MAX_VALUE}`);
|
|
25
|
-
}
|
|
26
|
-
else if (value < Float4Value.MIN_VALUE) {
|
|
27
|
-
throw new Error(`Float4 underflow: value ${value} exceeds minimum ${Float4Value.MIN_VALUE}`);
|
|
28
|
-
}
|
|
29
|
-
else {
|
|
30
|
-
// Convert to Float32 precision
|
|
31
|
-
const float32Array = new Float32Array(1);
|
|
32
|
-
float32Array[0] = value;
|
|
33
|
-
this.value = float32Array[0];
|
|
34
|
-
}
|
|
35
|
-
}
|
|
36
|
-
}
|
|
37
|
-
else {
|
|
38
|
-
this.value = undefined;
|
|
39
|
-
}
|
|
40
|
-
}
|
|
41
|
-
static parse(str) {
|
|
42
|
-
const trimmed = str.trim();
|
|
43
|
-
if (trimmed === '' || trimmed === UNDEFINED_VALUE) {
|
|
44
|
-
return new Float4Value(undefined);
|
|
45
|
-
}
|
|
46
|
-
const num = Number(trimmed);
|
|
47
|
-
if (Number.isNaN(num) && trimmed.toLowerCase() !== 'nan') {
|
|
48
|
-
throw new Error(`Cannot parse "${str}" as Float4`);
|
|
49
|
-
}
|
|
50
|
-
return new Float4Value(num);
|
|
51
|
-
}
|
|
52
|
-
valueOf() {
|
|
53
|
-
return this.value;
|
|
54
|
-
}
|
|
55
|
-
toString() {
|
|
56
|
-
return this.value === undefined ? 'undefined' : this.value.toString();
|
|
57
|
-
}
|
|
58
|
-
encode() {
|
|
59
|
-
return {
|
|
60
|
-
type: this.type,
|
|
61
|
-
value: this.value === undefined ? UNDEFINED_VALUE : this.toString()
|
|
62
|
-
};
|
|
63
|
-
}
|
|
64
|
-
}
|
|
65
|
-
Float4Value.MAX_VALUE = 3.4028235e+38;
|
|
66
|
-
Float4Value.MIN_VALUE = -3.4028235e+38;
|
|
67
|
-
Float4Value.MIN_POSITIVE = 1.175494e-38;
|
|
68
|
-
//# sourceMappingURL=float4.js.map
|
package/dist/value/float4.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"float4.js","sourceRoot":"","sources":["../../src/value/float4.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,EAAC,eAAe,EAAC,MAAM,aAAa,CAAC;AAE5C,MAAM,OAAO,WAAW;IASpB,YAAY,KAAc;QAHjB,SAAI,GAAS,QAAiB,CAAC;QAIpC,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;YACtB,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;gBAC5B,MAAM,IAAI,KAAK,CAAC,sCAAsC,OAAO,KAAK,EAAE,CAAC,CAAC;YAC1E,CAAC;YAED,IAAI,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;gBACjD,IAAI,CAAC,KAAK,GAAG,SAAS,CAAC;YAC3B,CAAC;iBAAM,CAAC;gBACJ,yBAAyB;gBACzB,IAAI,KAAK,KAAK,CAAC,IAAI,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,WAAW,CAAC,YAAY,EAAE,CAAC;oBAC5D,oBAAoB;oBACpB,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC;gBACnB,CAAC;qBAAM,IAAI,KAAK,GAAG,WAAW,CAAC,SAAS,EAAE,CAAC;oBACvC,MAAM,IAAI,KAAK,CAAC,0BAA0B,KAAK,oBAAoB,WAAW,CAAC,SAAS,EAAE,CAAC,CAAC;gBAChG,CAAC;qBAAM,IAAI,KAAK,GAAG,WAAW,CAAC,SAAS,EAAE,CAAC;oBACvC,MAAM,IAAI,KAAK,CAAC,2BAA2B,KAAK,oBAAoB,WAAW,CAAC,SAAS,EAAE,CAAC,CAAC;gBACjG,CAAC;qBAAM,CAAC;oBACJ,+BAA+B;oBAC/B,MAAM,YAAY,GAAG,IAAI,YAAY,CAAC,CAAC,CAAC,CAAC;oBACzC,YAAY,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC;oBACxB,IAAI,CAAC,KAAK,GAAG,YAAY,CAAC,CAAC,CAAC,CAAC;gBACjC,CAAC;YACL,CAAC;QACL,CAAC;aAAM,CAAC;YACJ,IAAI,CAAC,KAAK,GAAG,SAAS,CAAC;QAC3B,CAAC;IACL,CAAC;IAED,MAAM,CAAC,KAAK,CAAC,GAAW;QACpB,MAAM,OAAO,GAAG,GAAG,CAAC,IAAI,EAAE,CAAC;QAC3B,IAAI,OAAO,KAAK,EAAE,IAAI,OAAO,KAAK,eAAe,EAAE,CAAC;YAChD,OAAO,IAAI,WAAW,CAAC,SAAS,CAAC,CAAC;QACtC,CAAC;QAED,MAAM,GAAG,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC;QAE5B,IAAI,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,OAAO,CAAC,WAAW,EAAE,KAAK,KAAK,EAAE,CAAC;YACvD,MAAM,IAAI,KAAK,CAAC,iBAAiB,GAAG,aAAa,CAAC,CAAC;QACvD,CAAC;QAED,OAAO,IAAI,WAAW,CAAC,GAAG,CAAC,CAAC;IAChC,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,QAAQ,EAAE,CAAC;IAC1E,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;;AAhEuB,qBAAS,GAAG,aAAa,AAAhB,CAAiB;AAC1B,qBAAS,GAAG,CAAC,aAAa,AAAjB,CAAkB;AAC3B,wBAAY,GAAG,YAAY,AAAf,CAAgB"}
|
package/dist/value/float8.d.ts
DELETED
|
@@ -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 Float8Value implements Value {
|
|
8
|
-
readonly type: Type;
|
|
9
|
-
readonly value?: number;
|
|
10
|
-
constructor(value?: number);
|
|
11
|
-
static parse(str: string): Float8Value;
|
|
12
|
-
valueOf(): number | undefined;
|
|
13
|
-
toString(): string;
|
|
14
|
-
encode(): TypeValuePair;
|
|
15
|
-
}
|
|
16
|
-
//# sourceMappingURL=float8.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"float8.d.ts","sourceRoot":"","sources":["../../src/value/float8.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAC,IAAI,EAAE,KAAK,EAAE,aAAa,EAAC,MAAM,GAAG,CAAC;AAG7C,qBAAa,WAAY,YAAW,KAAK;IACrC,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAqB;IACxC,SAAgB,KAAK,CAAC,EAAE,MAAM,CAAC;gBAEnB,KAAK,CAAC,EAAE,MAAM;IAW1B,MAAM,CAAC,KAAK,CAAC,GAAG,EAAE,MAAM,GAAG,WAAW;IAetC,OAAO,IAAI,MAAM,GAAG,SAAS;IAI7B,QAAQ,IAAI,MAAM;IAIlB,MAAM,IAAI,aAAa;CAM1B"}
|
package/dist/value/float8.js
DELETED
|
@@ -1,44 +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 Float8Value {
|
|
8
|
-
constructor(value) {
|
|
9
|
-
this.type = "Float8";
|
|
10
|
-
if (value !== undefined) {
|
|
11
|
-
if (typeof value !== 'number') {
|
|
12
|
-
throw new Error(`Float8 value must be a number, got ${typeof value}`);
|
|
13
|
-
}
|
|
14
|
-
this.value = value;
|
|
15
|
-
}
|
|
16
|
-
else {
|
|
17
|
-
this.value = undefined;
|
|
18
|
-
}
|
|
19
|
-
}
|
|
20
|
-
static parse(str) {
|
|
21
|
-
const trimmed = str.trim();
|
|
22
|
-
if (trimmed === '' || trimmed === UNDEFINED_VALUE) {
|
|
23
|
-
return new Float8Value(undefined);
|
|
24
|
-
}
|
|
25
|
-
const num = Number(trimmed);
|
|
26
|
-
if (Number.isNaN(num) && trimmed.toLowerCase() !== 'nan') {
|
|
27
|
-
throw new Error(`Cannot parse "${str}" as Float8`);
|
|
28
|
-
}
|
|
29
|
-
return new Float8Value(num);
|
|
30
|
-
}
|
|
31
|
-
valueOf() {
|
|
32
|
-
return this.value;
|
|
33
|
-
}
|
|
34
|
-
toString() {
|
|
35
|
-
return this.value === undefined ? 'undefined' : this.value.toString();
|
|
36
|
-
}
|
|
37
|
-
encode() {
|
|
38
|
-
return {
|
|
39
|
-
type: this.type,
|
|
40
|
-
value: this.value === undefined ? UNDEFINED_VALUE : this.toString()
|
|
41
|
-
};
|
|
42
|
-
}
|
|
43
|
-
}
|
|
44
|
-
//# sourceMappingURL=float8.js.map
|
package/dist/value/float8.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"float8.js","sourceRoot":"","sources":["../../src/value/float8.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,EAAC,eAAe,EAAC,MAAM,aAAa,CAAC;AAE5C,MAAM,OAAO,WAAW;IAIpB,YAAY,KAAc;QAHjB,SAAI,GAAS,QAAiB,CAAC;QAIpC,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;YACtB,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;gBAC5B,MAAM,IAAI,KAAK,CAAC,sCAAsC,OAAO,KAAK,EAAE,CAAC,CAAC;YAC1E,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,MAAM,OAAO,GAAG,GAAG,CAAC,IAAI,EAAE,CAAC;QAC3B,IAAI,OAAO,KAAK,EAAE,IAAI,OAAO,KAAK,eAAe,EAAE,CAAC;YAChD,OAAO,IAAI,WAAW,CAAC,SAAS,CAAC,CAAC;QACtC,CAAC;QAED,MAAM,GAAG,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC;QAE5B,IAAI,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,OAAO,CAAC,WAAW,EAAE,KAAK,KAAK,EAAE,CAAC;YACvD,MAAM,IAAI,KAAK,CAAC,iBAAiB,GAAG,aAAa,CAAC,CAAC;QACvD,CAAC;QAED,OAAO,IAAI,WAAW,CAAC,GAAG,CAAC,CAAC;IAChC,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,QAAQ,EAAE,CAAC;IAC1E,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"}
|
package/dist/value/index.d.ts
DELETED
|
@@ -1,38 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* MIT License
|
|
3
|
-
* Copyright (c) 2025 ReifyDB
|
|
4
|
-
* See license.md file for full license text
|
|
5
|
-
*/
|
|
6
|
-
export { BlobValue } from './blob';
|
|
7
|
-
export { BoolValue } from './bool';
|
|
8
|
-
export { DateValue } from './date';
|
|
9
|
-
export { DateTimeValue } from './datetime';
|
|
10
|
-
export { Float4Value } from './float4';
|
|
11
|
-
export { Float8Value } from './float8';
|
|
12
|
-
export { Int1Value } from './int1';
|
|
13
|
-
export { Int2Value } from './int2';
|
|
14
|
-
export { Int4Value } from './int4';
|
|
15
|
-
export { Int8Value } from './int8';
|
|
16
|
-
export { Int16Value } from './int16';
|
|
17
|
-
export { IntervalValue } from './interval';
|
|
18
|
-
export { TimeValue } from './time';
|
|
19
|
-
export { Uint1Value } from './uint1';
|
|
20
|
-
export { Uint2Value } from './uint2';
|
|
21
|
-
export { Uint4Value } from './uint4';
|
|
22
|
-
export { Uint8Value } from './uint8';
|
|
23
|
-
export { Uint16Value } from './uint16';
|
|
24
|
-
export { RowIdValue } from './rowid';
|
|
25
|
-
export { UndefinedValue } from './undefined';
|
|
26
|
-
export { Utf8Value } from './utf8';
|
|
27
|
-
export { Uuid4Value } from './uuid4';
|
|
28
|
-
export { Uuid7Value } from './uuid7';
|
|
29
|
-
export type Type = "Blob" | "Bool" | "Float4" | "Float8" | "Int1" | "Int2" | "Int4" | "Int8" | "Int16" | "Uint1" | "Uint2" | "Uint4" | "Uint8" | "Uint16" | "Utf8" | "Date" | "DateTime" | "Time" | "Interval" | "Uuid4" | "Uuid7" | "Undefined" | "RowId";
|
|
30
|
-
export interface TypeValuePair {
|
|
31
|
-
type: Type;
|
|
32
|
-
value: string;
|
|
33
|
-
}
|
|
34
|
-
export declare abstract class Value {
|
|
35
|
-
abstract readonly type: Type;
|
|
36
|
-
abstract encode(): TypeValuePair;
|
|
37
|
-
}
|
|
38
|
-
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/value/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAC,SAAS,EAAC,MAAM,QAAQ,CAAC;AACjC,OAAO,EAAC,SAAS,EAAC,MAAM,QAAQ,CAAC;AACjC,OAAO,EAAC,SAAS,EAAC,MAAM,QAAQ,CAAC;AACjC,OAAO,EAAC,aAAa,EAAC,MAAM,YAAY,CAAC;AACzC,OAAO,EAAC,WAAW,EAAC,MAAM,UAAU,CAAC;AACrC,OAAO,EAAC,WAAW,EAAC,MAAM,UAAU,CAAC;AACrC,OAAO,EAAC,SAAS,EAAC,MAAM,QAAQ,CAAC;AACjC,OAAO,EAAC,SAAS,EAAC,MAAM,QAAQ,CAAC;AACjC,OAAO,EAAC,SAAS,EAAC,MAAM,QAAQ,CAAC;AACjC,OAAO,EAAC,SAAS,EAAC,MAAM,QAAQ,CAAC;AACjC,OAAO,EAAC,UAAU,EAAC,MAAM,SAAS,CAAC;AACnC,OAAO,EAAC,aAAa,EAAC,MAAM,YAAY,CAAC;AACzC,OAAO,EAAC,SAAS,EAAC,MAAM,QAAQ,CAAC;AACjC,OAAO,EAAC,UAAU,EAAC,MAAM,SAAS,CAAC;AACnC,OAAO,EAAC,UAAU,EAAC,MAAM,SAAS,CAAC;AACnC,OAAO,EAAC,UAAU,EAAC,MAAM,SAAS,CAAC;AACnC,OAAO,EAAC,UAAU,EAAC,MAAM,SAAS,CAAC;AACnC,OAAO,EAAC,WAAW,EAAC,MAAM,UAAU,CAAC;AACrC,OAAO,EAAC,UAAU,EAAC,MAAM,SAAS,CAAC;AACnC,OAAO,EAAC,cAAc,EAAC,MAAM,aAAa,CAAC;AAC3C,OAAO,EAAC,SAAS,EAAC,MAAM,QAAQ,CAAC;AACjC,OAAO,EAAC,UAAU,EAAC,MAAM,SAAS,CAAC;AACnC,OAAO,EAAC,UAAU,EAAC,MAAM,SAAS,CAAC;AAKnC,MAAM,MAAM,IAAI,GACV,MAAM,GACN,MAAM,GACN,QAAQ,GAAG,QAAQ,GACnB,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,GAC3C,OAAO,GAAG,OAAO,GAAG,OAAO,GAAG,OAAO,GAAG,QAAQ,GAChD,MAAM,GACN,MAAM,GAAG,UAAU,GAAG,MAAM,GAAG,UAAU,GACzC,OAAO,GAAG,OAAO,GACjB,WAAW,GACX,OAAO,CAAC;AAEd,MAAM,WAAW,aAAa;IAC1B,IAAI,EAAE,IAAI,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;CACjB;AAED,8BAAsB,KAAK;IACvB,QAAQ,CAAC,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC;IAE7B,QAAQ,CAAC,MAAM,IAAI,aAAa;CACnC"}
|