dsqlbase 0.0.1 → 0.1.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.
Files changed (159) hide show
  1. package/CHANGELOG.md +27 -0
  2. package/README.md +86 -0
  3. package/dist/client/create.d.ts +73 -0
  4. package/dist/client/create.d.ts.map +1 -0
  5. package/dist/client/create.js +82 -0
  6. package/dist/client/create.js.map +1 -0
  7. package/dist/client/database/base.d.ts +8 -0
  8. package/dist/client/database/base.d.ts.map +1 -0
  9. package/dist/client/database/base.js +13 -0
  10. package/dist/client/database/base.js.map +1 -0
  11. package/dist/client/database/client.d.ts +5 -0
  12. package/dist/client/database/client.d.ts.map +1 -0
  13. package/dist/client/database/client.js +4 -0
  14. package/dist/client/database/client.js.map +1 -0
  15. package/dist/client/database/index.d.ts +9 -0
  16. package/dist/client/database/index.d.ts.map +1 -0
  17. package/dist/client/database/index.js +3 -0
  18. package/dist/client/database/index.js.map +1 -0
  19. package/dist/client/index.d.ts +6 -0
  20. package/dist/client/index.d.ts.map +1 -0
  21. package/dist/client/index.js +5 -0
  22. package/dist/client/index.js.map +1 -0
  23. package/dist/client/model/base.d.ts +330 -0
  24. package/dist/client/model/base.d.ts.map +1 -0
  25. package/dist/client/model/base.js +7 -0
  26. package/dist/client/model/base.js.map +1 -0
  27. package/dist/client/model/client.d.ts +102 -0
  28. package/dist/client/model/client.d.ts.map +1 -0
  29. package/dist/client/model/client.js +123 -0
  30. package/dist/client/model/client.js.map +1 -0
  31. package/dist/client/model/normalizer.d.ts +19 -0
  32. package/dist/client/model/normalizer.d.ts.map +1 -0
  33. package/dist/client/model/normalizer.js +221 -0
  34. package/dist/client/model/normalizer.js.map +1 -0
  35. package/dist/index.d.ts +3 -1
  36. package/dist/index.d.ts.map +1 -1
  37. package/dist/index.js +2 -1
  38. package/dist/index.js.map +1 -1
  39. package/dist/pg/index.d.ts +9 -0
  40. package/dist/pg/index.d.ts.map +1 -0
  41. package/dist/pg/index.js +14 -0
  42. package/dist/pg/index.js.map +1 -0
  43. package/dist/pglite/index.d.ts +9 -0
  44. package/dist/pglite/index.d.ts.map +1 -0
  45. package/dist/pglite/index.js +14 -0
  46. package/dist/pglite/index.js.map +1 -0
  47. package/dist/schema/columns/array.d.ts +16 -0
  48. package/dist/schema/columns/array.d.ts.map +1 -0
  49. package/dist/schema/columns/array.js +24 -0
  50. package/dist/schema/columns/array.js.map +1 -0
  51. package/dist/schema/columns/bigint.d.ts +11 -0
  52. package/dist/schema/columns/bigint.d.ts.map +1 -0
  53. package/dist/schema/columns/bigint.js +19 -0
  54. package/dist/schema/columns/bigint.js.map +1 -0
  55. package/dist/schema/columns/boolean.d.ts +10 -0
  56. package/dist/schema/columns/boolean.d.ts.map +1 -0
  57. package/dist/schema/columns/boolean.js +18 -0
  58. package/dist/schema/columns/boolean.js.map +1 -0
  59. package/dist/schema/columns/bytea.d.ts +8 -0
  60. package/dist/schema/columns/bytea.d.ts.map +1 -0
  61. package/dist/schema/columns/bytea.js +16 -0
  62. package/dist/schema/columns/bytea.js.map +1 -0
  63. package/dist/schema/columns/char.d.ts +10 -0
  64. package/dist/schema/columns/char.d.ts.map +1 -0
  65. package/dist/schema/columns/char.js +18 -0
  66. package/dist/schema/columns/char.js.map +1 -0
  67. package/dist/schema/columns/date.d.ts +23 -0
  68. package/dist/schema/columns/date.d.ts.map +1 -0
  69. package/dist/schema/columns/date.js +29 -0
  70. package/dist/schema/columns/date.js.map +1 -0
  71. package/dist/schema/columns/double.d.ts +13 -0
  72. package/dist/schema/columns/double.d.ts.map +1 -0
  73. package/dist/schema/columns/double.js +21 -0
  74. package/dist/schema/columns/double.js.map +1 -0
  75. package/dist/schema/columns/identity.d.ts +56 -0
  76. package/dist/schema/columns/identity.d.ts.map +1 -0
  77. package/dist/schema/columns/identity.js +65 -0
  78. package/dist/schema/columns/identity.js.map +1 -0
  79. package/dist/schema/columns/int.d.ts +11 -0
  80. package/dist/schema/columns/int.d.ts.map +1 -0
  81. package/dist/schema/columns/int.js +19 -0
  82. package/dist/schema/columns/int.js.map +1 -0
  83. package/dist/schema/columns/interval.d.ts +23 -0
  84. package/dist/schema/columns/interval.d.ts.map +1 -0
  85. package/dist/schema/columns/interval.js +40 -0
  86. package/dist/schema/columns/interval.js.map +1 -0
  87. package/dist/schema/columns/json.d.ts +9 -0
  88. package/dist/schema/columns/json.d.ts.map +1 -0
  89. package/dist/schema/columns/json.js +18 -0
  90. package/dist/schema/columns/json.js.map +1 -0
  91. package/dist/schema/columns/numeric.d.ts +11 -0
  92. package/dist/schema/columns/numeric.d.ts.map +1 -0
  93. package/dist/schema/columns/numeric.js +19 -0
  94. package/dist/schema/columns/numeric.js.map +1 -0
  95. package/dist/schema/columns/real.d.ts +13 -0
  96. package/dist/schema/columns/real.d.ts.map +1 -0
  97. package/dist/schema/columns/real.js +21 -0
  98. package/dist/schema/columns/real.js.map +1 -0
  99. package/dist/schema/columns/smallint.d.ts +11 -0
  100. package/dist/schema/columns/smallint.d.ts.map +1 -0
  101. package/dist/schema/columns/smallint.js +19 -0
  102. package/dist/schema/columns/smallint.js.map +1 -0
  103. package/dist/schema/columns/text.d.ts +9 -0
  104. package/dist/schema/columns/text.d.ts.map +1 -0
  105. package/dist/schema/columns/text.js +17 -0
  106. package/dist/schema/columns/text.js.map +1 -0
  107. package/dist/schema/columns/time.d.ts +20 -0
  108. package/dist/schema/columns/time.d.ts.map +1 -0
  109. package/dist/schema/columns/time.js +19 -0
  110. package/dist/schema/columns/time.js.map +1 -0
  111. package/dist/schema/columns/timestamp.d.ts +40 -0
  112. package/dist/schema/columns/timestamp.d.ts.map +1 -0
  113. package/dist/schema/columns/timestamp.js +48 -0
  114. package/dist/schema/columns/timestamp.js.map +1 -0
  115. package/dist/schema/columns/uuid.d.ts +17 -0
  116. package/dist/schema/columns/uuid.d.ts.map +1 -0
  117. package/dist/schema/columns/uuid.js +27 -0
  118. package/dist/schema/columns/uuid.js.map +1 -0
  119. package/dist/schema/columns/varchar.d.ts +9 -0
  120. package/dist/schema/columns/varchar.d.ts.map +1 -0
  121. package/dist/schema/columns/varchar.js +17 -0
  122. package/dist/schema/columns/varchar.js.map +1 -0
  123. package/dist/schema/domain.d.ts +19 -0
  124. package/dist/schema/domain.d.ts.map +1 -0
  125. package/dist/schema/domain.js +37 -0
  126. package/dist/schema/domain.js.map +1 -0
  127. package/dist/schema/index.d.ts +27 -0
  128. package/dist/schema/index.d.ts.map +1 -0
  129. package/dist/schema/index.js +25 -0
  130. package/dist/schema/index.js.map +1 -0
  131. package/dist/schema/namespace.d.ts +22 -0
  132. package/dist/schema/namespace.d.ts.map +1 -0
  133. package/dist/schema/namespace.js +24 -0
  134. package/dist/schema/namespace.js.map +1 -0
  135. package/dist/schema/relations.d.ts +12 -0
  136. package/dist/schema/relations.d.ts.map +1 -0
  137. package/dist/schema/relations.js +29 -0
  138. package/dist/schema/relations.js.map +1 -0
  139. package/dist/schema/sequence.d.ts +14 -0
  140. package/dist/schema/sequence.d.ts.map +1 -0
  141. package/dist/schema/sequence.js +16 -0
  142. package/dist/schema/sequence.js.map +1 -0
  143. package/dist/schema/table.d.ts +20 -0
  144. package/dist/schema/table.d.ts.map +1 -0
  145. package/dist/schema/table.js +22 -0
  146. package/dist/schema/table.js.map +1 -0
  147. package/dist/schema/utils/date.d.ts +33 -0
  148. package/dist/schema/utils/date.d.ts.map +1 -0
  149. package/dist/schema/utils/date.js +62 -0
  150. package/dist/schema/utils/date.js.map +1 -0
  151. package/dist/schema/utils/duration.d.ts +66 -0
  152. package/dist/schema/utils/duration.d.ts.map +1 -0
  153. package/dist/schema/utils/duration.js +167 -0
  154. package/dist/schema/utils/duration.js.map +1 -0
  155. package/dist/schema/utils/json.d.ts +2 -0
  156. package/dist/schema/utils/json.d.ts.map +1 -0
  157. package/dist/schema/utils/json.js +12 -0
  158. package/dist/schema/utils/json.js.map +1 -0
  159. package/package.json +34 -5
@@ -0,0 +1,167 @@
1
+ export const ISO_DURATION_REGEX = /^P(?:(?<years>\d+)Y)?(?:(?<months>\d+)M)?(?:(?<weeks>\d+)W)?(?:(?<days>\d+)D)?(?:T(?:(?<hours>\d+)H)?(?:(?<minutes>\d+)M)?(?:(?<seconds>\d+)(?:\.(?<fraction>\d+))?S)?)?$/;
2
+ export const STRING_DURATION_REGEX = /^(?:(\d+)\s*year[s]?)?\s*(?:(\d+)\s*month[s]?)?\s*(?:(\d+)\s*day[s]?)?\s*(?:(\d+)\s*hour[s]?)?\s*(?:(\d+)\s*minute[s]?)?\s*(?:(\d+(?:\.\d+)?)\s*second[s]?)?$/i;
3
+ /**
4
+ * Formats a Duration object into an ISO 8601 duration string.
5
+ *
6
+ * @param duration Duration object
7
+ * @returns ISO 8601 duration string like "P3Y6M4DT12H30M5S"
8
+ */
9
+ export const formatISODuration = (duration) => {
10
+ let iso = "P";
11
+ if (duration.years)
12
+ iso += `${duration.years}Y`;
13
+ if (duration.months)
14
+ iso += `${duration.months}M`;
15
+ if (duration.days)
16
+ iso += `${duration.days}D`;
17
+ if (duration.hours || duration.minutes || duration.seconds) {
18
+ iso += "T";
19
+ if (duration.hours)
20
+ iso += `${duration.hours}H`;
21
+ if (duration.minutes)
22
+ iso += `${duration.minutes}M`;
23
+ if (duration.seconds) {
24
+ const seconds = duration.milliseconds
25
+ ? `${duration.seconds}.${duration.milliseconds}`
26
+ : duration.seconds;
27
+ iso += `${seconds}S`;
28
+ }
29
+ }
30
+ return iso;
31
+ };
32
+ /**
33
+ * Parses an ISO 8601 duration string into a Duration object. Supported formats include:
34
+ * - "P3Y6M4DT12H30M5S" (3 years, 6 months, 4 days, 12 hours, 30 minutes, and 5 seconds)
35
+ * - "P2Y" (2 years)
36
+ * - "PT15M" (15 minutes)
37
+ * - "P1DT12H" (1 day and 12 hours)
38
+ * - "PT0.5S" (0.5 seconds)
39
+ * @param isoString
40
+ * @returns Duration object
41
+ */
42
+ export const parseISODuration = (iso) => {
43
+ const match = ISO_DURATION_REGEX.exec(iso);
44
+ if (!match?.groups) {
45
+ throw new Error(`Invalid ISO 8601 duration string: ${iso}`);
46
+ }
47
+ const { years, months, days, hours, minutes, seconds, fraction } = match.groups;
48
+ return {
49
+ years: parseInt(years ?? "0") || 0,
50
+ months: parseInt(months ?? "0") || 0,
51
+ days: parseInt(days ?? "0") || 0,
52
+ hours: parseInt(hours ?? "0") || 0,
53
+ minutes: parseInt(minutes ?? "0") || 0,
54
+ seconds: parseInt(seconds ?? "0") || 0,
55
+ milliseconds: fraction ? Math.round(parseFloat(`0.${fraction}`) * 1000) : 0,
56
+ };
57
+ };
58
+ /**
59
+ * Formats a Duration object into a human-readable string format.
60
+ *
61
+ * @param duration Duration object
62
+ * @returns String fomrat like "3 years 6 months 4 days 12 hours 30 minutes 5 seconds"
63
+ */
64
+ export const formatStringDuration = (duration) => {
65
+ let str = "";
66
+ if (duration.years)
67
+ str += `${duration.years} year${duration.years > 1 ? "s" : ""} `;
68
+ if (duration.months)
69
+ str += `${duration.months} month${duration.months > 1 ? "s" : ""} `;
70
+ if (duration.days)
71
+ str += `${duration.days} day${duration.days > 1 ? "s" : ""} `;
72
+ if (duration.hours)
73
+ str += `${duration.hours} hour${duration.hours > 1 ? "s" : ""} `;
74
+ if (duration.minutes)
75
+ str += `${duration.minutes} minute${duration.minutes > 1 ? "s" : ""} `;
76
+ if (duration.seconds)
77
+ str += `${duration.seconds} second${duration.seconds > 1 ? "s" : ""} `;
78
+ return str.trim();
79
+ };
80
+ /**
81
+ * Parses a human-readable duration string into a Duration object.
82
+ * Supported formats include:
83
+ * - "3 years 6 months 4 days 12 hours 30 minutes 5 seconds"
84
+ * - "2 hours 15 minutes"
85
+ * - "45 seconds"
86
+ *
87
+ * @param str String formatted duration
88
+ * @returns Duration object
89
+ */
90
+ export const parseStringDuration = (str) => {
91
+ const match = STRING_DURATION_REGEX.exec(str);
92
+ if (!match) {
93
+ throw new Error(`Invalid duration string: ${str}`);
94
+ }
95
+ const [, years, months, days, hours, minutes, seconds] = match;
96
+ return {
97
+ years: parseInt(years) || 0,
98
+ months: parseInt(months) || 0,
99
+ days: parseInt(days) || 0,
100
+ hours: parseInt(hours) || 0,
101
+ minutes: parseInt(minutes) || 0,
102
+ seconds: parseFloat(seconds) || 0,
103
+ milliseconds: 0,
104
+ };
105
+ };
106
+ export const PG_INTERVAL_REGEX = /^(?:(?<years>-?\d+)\s+years?\s*)?(?:(?<months>-?\d+)\s+mon(?:th)?s?\s*)?(?:(?<days>-?\d+)\s+days?\s*)?(?:(?<timeSign>-)?(?<hours>\d+):(?<minutes>\d{1,2}):(?<seconds>\d{1,2})(?:\.(?<fraction>\d+))?)?$/;
107
+ /**
108
+ * Parses Postgres' default `intervalstyle = 'postgres'` text format into a Duration object.
109
+ * Supported shapes include:
110
+ * - "40:00:00" / "12:30:05.5" (time-only, optional fractional seconds)
111
+ * - "-12:30:05" (signed time)
112
+ * - "4 days 12:30:05"
113
+ * - "3 years 6 mons 4 days 12:30:05" (note: PG uses `mons`, not `months`)
114
+ * - Per-component negatives: "-3 years -6 mons -4 days -12:30:05"
115
+ *
116
+ * Each calendar component carries its own sign; the time portion's leading `-` applies to
117
+ * hours/minutes/seconds/milliseconds together.
118
+ *
119
+ * @param str Postgres-formatted interval string
120
+ * @returns Duration object
121
+ */
122
+ export const parsePGIntervalDuration = (str) => {
123
+ const match = PG_INTERVAL_REGEX.exec(str.trim());
124
+ if (!match?.groups) {
125
+ throw new Error(`Invalid Postgres interval string: ${str}`);
126
+ }
127
+ const { years, months, days, timeSign, hours, minutes, seconds, fraction } = match.groups;
128
+ const sign = timeSign === "-" ? -1 : 1;
129
+ return {
130
+ years: parseInt(years ?? "0") || 0,
131
+ months: parseInt(months ?? "0") || 0,
132
+ days: parseInt(days ?? "0") || 0,
133
+ hours: hours ? parseInt(hours) * sign : 0,
134
+ minutes: minutes ? parseInt(minutes) * sign : 0,
135
+ seconds: seconds ? parseInt(seconds) * sign : 0,
136
+ milliseconds: fraction ? Math.round(parseFloat(`0.${fraction}`) * 1000) * sign : 0,
137
+ };
138
+ };
139
+ export const safeParseDuration = (value) => {
140
+ if (typeof value === "string") {
141
+ try {
142
+ return parseISODuration(value);
143
+ }
144
+ catch {
145
+ try {
146
+ return parsePGIntervalDuration(value);
147
+ }
148
+ catch {
149
+ return parseStringDuration(value);
150
+ }
151
+ }
152
+ }
153
+ if (typeof value === "object" && value !== null) {
154
+ const { years, months, days, hours, minutes, seconds, milliseconds } = value;
155
+ return {
156
+ years: parseInt(String(years)) || 0,
157
+ months: parseInt(String(months)) || 0,
158
+ days: parseInt(String(days)) || 0,
159
+ hours: parseInt(String(hours)) || 0,
160
+ minutes: parseInt(String(minutes)) || 0,
161
+ seconds: parseFloat(String(seconds)) || 0,
162
+ milliseconds: parseInt(String(milliseconds)) || 0,
163
+ };
164
+ }
165
+ throw new Error(`Unsupported duration value: ${value}`);
166
+ };
167
+ //# sourceMappingURL=duration.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"duration.js","sourceRoot":"","sources":["../../../src/schema/utils/duration.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export declare const safeParseJson: (value: unknown) => any;
2
+ //# sourceMappingURL=json.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"json.d.ts","sourceRoot":"","sources":["../../../src/schema/utils/json.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,aAAa,GAAI,OAAO,OAAO,QAU3C,CAAC"}
@@ -0,0 +1,12 @@
1
+ export const safeParseJson = (value) => {
2
+ if (typeof value === "string") {
3
+ try {
4
+ return JSON.parse(value);
5
+ }
6
+ catch {
7
+ return value;
8
+ }
9
+ }
10
+ return value;
11
+ };
12
+ //# sourceMappingURL=json.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"json.js","sourceRoot":"","sources":["../../../src/schema/utils/json.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,KAAc,EAAE,EAAE;IAC9C,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC9B,IAAI,CAAC;YACH,OAAO,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QAC3B,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,KAAK,CAAC;QACf,CAAC;IACH,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "dsqlbase",
3
- "version": "0.0.1",
3
+ "version": "0.1.1",
4
4
  "description": "Query client and schema definition for distributed SQL databases",
5
5
  "sideEffects": false,
6
6
  "type": "module",
@@ -39,16 +39,45 @@
39
39
  ".": {
40
40
  "default": "./dist/index.js",
41
41
  "types": "./dist/index.d.ts"
42
+ },
43
+ "./client": {
44
+ "default": "./dist/client/index.js",
45
+ "types": "./dist/client/index.d.ts"
46
+ },
47
+ "./pg": {
48
+ "default": "./dist/pg/index.js",
49
+ "types": "./dist/pg/index.d.ts"
50
+ },
51
+ "./pglite": {
52
+ "default": "./dist/pglite/index.js",
53
+ "types": "./dist/pglite/index.d.ts"
54
+ },
55
+ "./schema": {
56
+ "default": "./dist/schema/index.js",
57
+ "types": "./dist/schema/index.d.ts"
42
58
  }
43
59
  },
44
60
  "scripts": {
45
61
  "build": "tsc -b",
46
- "test": "vitest run",
47
62
  "lint": "eslint src --ext .ts"
48
63
  },
49
64
  "dependencies": {
50
- "@dsqlbase/core": "^0.0.1",
51
- "@dsqlbase/schema": "^0.0.1",
52
- "@dsqlbase/client": "^0.0.1"
65
+ "@dsqlbase/core": "^0.1.1",
66
+ "@dsqlbase/schema": "^0.1.0"
67
+ },
68
+ "peerDependencies": {
69
+ "@electric-sql/pglite": "^0.4.5",
70
+ "pg": "^8.20.0"
71
+ },
72
+ "peerDependenciesMeta": {
73
+ "pg": {
74
+ "optional": true
75
+ },
76
+ "@electric-sql/pglite": {
77
+ "optional": true
78
+ }
79
+ },
80
+ "devDependencies": {
81
+ "@types/pg": "^8.20.0"
53
82
  }
54
83
  }