effect-start 0.32.0 → 0.34.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 (200) hide show
  1. package/dist/Entity.d.ts +6 -1
  2. package/dist/Entity.d.ts.map +1 -1
  3. package/dist/Entity.js +43 -5
  4. package/dist/Entity.js.map +1 -1
  5. package/dist/Fetch.js.map +1 -1
  6. package/dist/FileRouterCodegen.js +2 -2
  7. package/dist/FileRouterCodegen.js.map +1 -1
  8. package/dist/Html.d.ts +5 -11
  9. package/dist/Html.d.ts.map +1 -1
  10. package/dist/Html.js +21 -1
  11. package/dist/Html.js.map +1 -1
  12. package/dist/KeyValueStore.d.ts +37 -0
  13. package/dist/KeyValueStore.d.ts.map +1 -0
  14. package/dist/KeyValueStore.js +99 -0
  15. package/dist/KeyValueStore.js.map +1 -0
  16. package/dist/Route.d.ts +2 -2
  17. package/dist/Route.d.ts.map +1 -1
  18. package/dist/Route.js +1 -1
  19. package/dist/Route.js.map +1 -1
  20. package/dist/RouteBody.d.ts +2 -2
  21. package/dist/RouteBody.d.ts.map +1 -1
  22. package/dist/RouteHttp.d.ts.map +1 -1
  23. package/dist/RouteHttp.js +45 -35
  24. package/dist/RouteHttp.js.map +1 -1
  25. package/dist/RouteMount.d.ts +20 -31
  26. package/dist/RouteMount.d.ts.map +1 -1
  27. package/dist/RouteMount.js +0 -15
  28. package/dist/RouteMount.js.map +1 -1
  29. package/dist/Start.d.ts.map +1 -1
  30. package/dist/Start.js +4 -0
  31. package/dist/Start.js.map +1 -1
  32. package/dist/StaticFiles.d.ts +2 -2
  33. package/dist/StaticFiles.d.ts.map +1 -1
  34. package/dist/StaticFiles.js +7 -8
  35. package/dist/StaticFiles.js.map +1 -1
  36. package/dist/bun/BunRoute.d.ts.map +1 -1
  37. package/dist/bun/BunRoute.js +90 -78
  38. package/dist/bun/BunRoute.js.map +1 -1
  39. package/dist/bun/BunServer.d.ts +1 -1
  40. package/dist/bun/BunServer.d.ts.map +1 -1
  41. package/dist/bun/BunServer.js +8 -1
  42. package/dist/bun/BunServer.js.map +1 -1
  43. package/dist/bundler/BundleRoute.d.ts +4 -4
  44. package/dist/bundler/BundleRoute.d.ts.map +1 -1
  45. package/dist/datastar/attributes/computed.js +3 -3
  46. package/dist/datastar/attributes/computed.js.map +1 -1
  47. package/dist/datastar/attributes/on.js +11 -36
  48. package/dist/datastar/attributes/on.js.map +1 -1
  49. package/dist/datastar/engine.d.ts +9 -7
  50. package/dist/datastar/engine.d.ts.map +1 -1
  51. package/dist/datastar/engine.js +45 -29
  52. package/dist/datastar/engine.js.map +1 -1
  53. package/dist/datastar/jsx.d.ts +70 -0
  54. package/dist/datastar/jsx.d.ts.map +1 -0
  55. package/dist/datastar/jsx.js +2 -0
  56. package/dist/datastar/jsx.js.map +1 -0
  57. package/dist/datastar/window.d.ts +8 -0
  58. package/dist/datastar/window.d.ts.map +1 -0
  59. package/dist/datastar/window.js +4 -0
  60. package/dist/datastar/window.js.map +1 -0
  61. package/dist/experimental/KeyValueStore.d.ts +37 -0
  62. package/dist/experimental/KeyValueStore.d.ts.map +1 -0
  63. package/dist/experimental/KeyValueStore.js +99 -0
  64. package/dist/experimental/KeyValueStore.js.map +1 -0
  65. package/dist/experimental/SqlCache.d.ts +19 -0
  66. package/dist/experimental/SqlCache.d.ts.map +1 -0
  67. package/dist/experimental/SqlCache.js +35 -0
  68. package/dist/experimental/SqlCache.js.map +1 -0
  69. package/dist/experimental/SqlIntrospect.d.ts +92 -0
  70. package/dist/experimental/SqlIntrospect.d.ts.map +1 -0
  71. package/dist/experimental/SqlIntrospect.js +478 -0
  72. package/dist/experimental/SqlIntrospect.js.map +1 -0
  73. package/dist/index.d.ts +1 -0
  74. package/dist/index.d.ts.map +1 -1
  75. package/dist/index.js +1 -0
  76. package/dist/index.js.map +1 -1
  77. package/dist/jsx-runtime.d.ts +2 -2
  78. package/dist/jsx-runtime.d.ts.map +1 -1
  79. package/dist/jsx.d.ts +3216 -0
  80. package/dist/jsx.d.ts.map +1 -0
  81. package/dist/jsx.js +6 -0
  82. package/dist/jsx.js.map +1 -0
  83. package/dist/lint/plugin.d.ts +4 -3
  84. package/dist/lint/plugin.js +56 -17
  85. package/dist/lint/plugin.js.map +1 -1
  86. package/dist/sql/index.d.ts +0 -2
  87. package/dist/sql/index.d.ts.map +1 -1
  88. package/dist/sql/index.js +0 -2
  89. package/dist/sql/index.js.map +1 -1
  90. package/dist/studio/StudioLogger.d.ts.map +1 -1
  91. package/dist/studio/StudioLogger.js +2 -1
  92. package/dist/studio/StudioLogger.js.map +1 -1
  93. package/dist/studio/StudioStore.d.ts +3 -0
  94. package/dist/studio/StudioStore.d.ts.map +1 -1
  95. package/dist/studio/StudioStore.js +13 -0
  96. package/dist/studio/StudioStore.js.map +1 -1
  97. package/dist/studio/_Pretty.d.ts +4 -0
  98. package/dist/studio/_Pretty.d.ts.map +1 -0
  99. package/dist/studio/_Pretty.js +56 -0
  100. package/dist/studio/_Pretty.js.map +1 -0
  101. package/dist/studio/routes/errors/route.d.ts +2 -2
  102. package/dist/studio/routes/fiberDetail.d.ts +2 -2
  103. package/dist/studio/routes/fibers/route.d.ts +2 -2
  104. package/dist/studio/routes/layout.d.ts +2 -0
  105. package/dist/studio/routes/layout.d.ts.map +1 -1
  106. package/dist/studio/routes/layout.html +3 -12
  107. package/dist/studio/routes/layout.js +6 -1
  108. package/dist/studio/routes/layout.js.map +1 -1
  109. package/dist/studio/routes/logs/route.d.ts +2 -2
  110. package/dist/studio/routes/metrics/route.d.ts +2 -2
  111. package/dist/studio/routes/route.d.ts +2 -2
  112. package/dist/studio/routes/routes/route.d.ts +2 -2
  113. package/dist/studio/routes/services/route.d.ts +2 -2
  114. package/dist/studio/routes/system/route.d.ts +2 -2
  115. package/dist/studio/routes/traceDetail.d.ts +2 -2
  116. package/dist/studio/routes/traces/route.d.ts +2 -2
  117. package/dist/studio/routes/traces/route.d.ts.map +1 -1
  118. package/dist/studio/routes/traces/route.js +5 -2
  119. package/dist/studio/routes/traces/route.js.map +1 -1
  120. package/dist/studio/routes/tree.d.ts +22 -0
  121. package/dist/studio/routes/tree.d.ts.map +1 -1
  122. package/dist/studio/ui/Errors.d.ts +1 -1
  123. package/dist/studio/ui/Errors.js +1 -1
  124. package/dist/studio/ui/Errors.js.map +1 -1
  125. package/dist/studio/ui/Fibers.d.ts +2 -2
  126. package/dist/studio/ui/Fibers.d.ts.map +1 -1
  127. package/dist/studio/ui/Fibers.js +4 -3
  128. package/dist/studio/ui/Fibers.js.map +1 -1
  129. package/dist/studio/ui/Logs.d.ts +1 -1
  130. package/dist/studio/ui/Logs.d.ts.map +1 -1
  131. package/dist/studio/ui/Logs.js +2 -1
  132. package/dist/studio/ui/Logs.js.map +1 -1
  133. package/dist/studio/ui/Metrics.d.ts +1 -1
  134. package/dist/studio/ui/Routes.d.ts +1 -1
  135. package/dist/studio/ui/Routes.d.ts.map +1 -1
  136. package/dist/studio/ui/Services.d.ts +1 -1
  137. package/dist/studio/ui/Services.d.ts.map +1 -1
  138. package/dist/studio/ui/Shell.d.ts +2 -2
  139. package/dist/studio/ui/Shell.d.ts.map +1 -1
  140. package/dist/studio/ui/System.d.ts +1 -1
  141. package/dist/studio/ui/Traces.d.ts +3 -3
  142. package/dist/studio/ui/Traces.d.ts.map +1 -1
  143. package/dist/studio/ui/Traces.js +5 -11
  144. package/dist/studio/ui/Traces.js.map +1 -1
  145. package/dist/studio/ui/_PrettyValue.d.ts +10 -0
  146. package/dist/studio/ui/_PrettyValue.d.ts.map +1 -0
  147. package/dist/studio/ui/_PrettyValue.js +27 -0
  148. package/dist/studio/ui/_PrettyValue.js.map +1 -0
  149. package/dist/tailwind/TailwindPlugin.d.ts.map +1 -1
  150. package/dist/tailwind/TailwindPlugin.js +89 -62
  151. package/dist/tailwind/TailwindPlugin.js.map +1 -1
  152. package/dist/ts/import-plugin.cjs +388 -0
  153. package/dist/ts/import-plugin.cjs.map +1 -0
  154. package/dist/ts/import-plugin.d.cts +87 -0
  155. package/dist/ts/import-plugin.d.cts.map +1 -0
  156. package/dist/ts/import-plugin.d.ts +87 -0
  157. package/dist/ts/import-plugin.d.ts.map +1 -0
  158. package/dist/ts/import-plugin.js +390 -0
  159. package/dist/ts/import-plugin.js.map +1 -0
  160. package/package.json +109 -8
  161. package/src/Entity.ts +62 -8
  162. package/src/Fetch.ts +1 -1
  163. package/src/FileRouterCodegen.ts +2 -2
  164. package/src/Html.ts +28 -21
  165. package/src/Route.ts +2 -2
  166. package/src/RouteBody.ts +2 -2
  167. package/src/RouteHttp.ts +45 -47
  168. package/src/RouteMount.ts +23 -65
  169. package/src/Start.ts +4 -0
  170. package/src/StaticFiles.ts +7 -10
  171. package/src/bun/BunRoute.ts +117 -95
  172. package/src/bun/BunServer.ts +9 -2
  173. package/src/datastar/README.md +24 -8
  174. package/src/datastar/attributes/computed.ts +3 -3
  175. package/src/datastar/attributes/on.ts +11 -37
  176. package/src/datastar/engine.ts +61 -37
  177. package/src/datastar/jsx.d.ts +12 -26
  178. package/src/datastar/types.d.ts +8 -0
  179. package/src/experimental/KeyValueStore.ts +161 -0
  180. package/src/{sql → experimental}/SqlCache.ts +1 -1
  181. package/src/{sql → experimental}/SqlIntrospect.ts +1 -1
  182. package/src/index.ts +1 -0
  183. package/src/jsx-runtime.ts +1 -1
  184. package/src/jsx.d.ts +17 -2
  185. package/src/lint/plugin.js +54 -19
  186. package/src/sql/index.ts +0 -2
  187. package/src/studio/StudioLogger.ts +2 -1
  188. package/src/studio/StudioStore.ts +18 -0
  189. package/src/studio/_Pretty.ts +59 -0
  190. package/src/studio/routes/layout.html +3 -12
  191. package/src/studio/routes/layout.tsx +9 -1
  192. package/src/studio/routes/traces/route.tsx +5 -1
  193. package/src/studio/ui/Errors.tsx +1 -1
  194. package/src/studio/ui/Fibers.tsx +14 -10
  195. package/src/studio/ui/Logs.tsx +15 -10
  196. package/src/studio/ui/Traces.tsx +40 -68
  197. package/src/studio/ui/_PrettyValue.tsx +34 -0
  198. package/src/tailwind/TailwindPlugin.ts +102 -75
  199. package/src/RouteTrie.ts +0 -205
  200. package/src/experimental/index.ts +0 -1
@@ -0,0 +1,92 @@
1
+ import * as Effect from "effect/Effect";
2
+ import * as Schema from "effect/Schema";
3
+ import * as SqlClient from "../sql/SqlClient.ts";
4
+ export interface Column {
5
+ readonly tableSchema: string;
6
+ readonly tableName: string;
7
+ readonly columnName: string;
8
+ readonly ordinalPosition: number;
9
+ readonly columnDefault: string | null;
10
+ readonly isNullable: boolean;
11
+ readonly dataType: string;
12
+ readonly maxLength: number | null;
13
+ readonly isPrimaryKey: boolean;
14
+ readonly isAutoIncrement: boolean;
15
+ readonly isSortable: boolean;
16
+ }
17
+ export interface ForeignKey {
18
+ readonly constraintName: string;
19
+ readonly tableSchema: string;
20
+ readonly tableName: string;
21
+ readonly columnName: string;
22
+ readonly referencedSchema: string;
23
+ readonly referencedTable: string;
24
+ readonly referencedColumn: string;
25
+ readonly updateRule: string;
26
+ readonly deleteRule: string;
27
+ }
28
+ export interface Index {
29
+ readonly tableSchema: string;
30
+ readonly tableName: string;
31
+ readonly indexName: string;
32
+ readonly columnName: string;
33
+ readonly isUnique: boolean;
34
+ readonly ordinalPosition: number;
35
+ }
36
+ export interface Table {
37
+ readonly tableSchema: string;
38
+ readonly tableName: string;
39
+ readonly columns: ReadonlyArray<Column>;
40
+ readonly foreignKeys: ReadonlyArray<ForeignKey>;
41
+ readonly indexes: ReadonlyArray<Index>;
42
+ }
43
+ export interface DatabaseSchema {
44
+ readonly tables: ReadonlyArray<Table>;
45
+ }
46
+ export interface IntrospectOptions {
47
+ readonly foreignKeys?: boolean;
48
+ readonly indexes?: boolean;
49
+ }
50
+ export type Dialect = "sqlite" | "postgres" | "mssql";
51
+ export declare const introspect: (dialect: Dialect, options?: IntrospectOptions) => Effect.Effect<DatabaseSchema, SqlClient.SqlError, SqlClient.SqlClient>;
52
+ export interface TableSchema {
53
+ readonly tableName: string;
54
+ readonly tableSchema: string;
55
+ readonly schema: Schema.Schema<any, any, never>;
56
+ readonly columns: ReadonlyArray<Column>;
57
+ }
58
+ export declare const tableToSchema: (table: Table) => TableSchema | null;
59
+ export declare const toSchemas: (db: DatabaseSchema) => ReadonlyArray<TableSchema>;
60
+ export interface SortOrder {
61
+ readonly column: string;
62
+ readonly reverse?: boolean;
63
+ }
64
+ export interface Filter {
65
+ readonly column: string;
66
+ readonly op: "eq" | "neq";
67
+ readonly value: unknown;
68
+ }
69
+ export interface FindAllOptions {
70
+ readonly limit?: number;
71
+ readonly offset?: number;
72
+ readonly sort?: ReadonlyArray<SortOrder>;
73
+ readonly filters?: ReadonlyArray<Filter>;
74
+ }
75
+ export interface TableReader {
76
+ readonly tableName: string;
77
+ readonly tableSchema: string;
78
+ readonly schema: Schema.Schema<any, any, never>;
79
+ readonly columns: ReadonlyArray<Column>;
80
+ readonly sortableColumns: ReadonlyArray<string>;
81
+ readonly findAll: (options?: FindAllOptions) => Effect.Effect<ReadonlyArray<unknown>, SqlClient.SqlError, SqlClient.SqlClient>;
82
+ readonly findById: (id: unknown) => Effect.Effect<unknown | null, SqlClient.SqlError, SqlClient.SqlClient>;
83
+ readonly count: (options?: {
84
+ readonly filters?: ReadonlyArray<Filter>;
85
+ }) => Effect.Effect<number, SqlClient.SqlError, SqlClient.SqlClient>;
86
+ }
87
+ export interface DatabaseReader {
88
+ readonly tables: ReadonlyArray<TableReader>;
89
+ readonly table: (name: string) => TableReader | undefined;
90
+ }
91
+ export declare const makeDatabaseReader: (db: DatabaseSchema) => DatabaseReader;
92
+ //# sourceMappingURL=SqlIntrospect.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SqlIntrospect.d.ts","sourceRoot":"","sources":["../../src/experimental/SqlIntrospect.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AACvC,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AACvC,OAAO,KAAK,SAAS,MAAM,qBAAqB,CAAA;AAEhD,MAAM,WAAW,MAAM;IACrB,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAA;IAC5B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAA;IAC1B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAA;IAC3B,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAA;IAChC,QAAQ,CAAC,aAAa,EAAE,MAAM,GAAG,IAAI,CAAA;IACrC,QAAQ,CAAC,UAAU,EAAE,OAAO,CAAA;IAC5B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAA;IACzB,QAAQ,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI,CAAA;IACjC,QAAQ,CAAC,YAAY,EAAE,OAAO,CAAA;IAC9B,QAAQ,CAAC,eAAe,EAAE,OAAO,CAAA;IACjC,QAAQ,CAAC,UAAU,EAAE,OAAO,CAAA;CAC7B;AAED,MAAM,WAAW,UAAU;IACzB,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAA;IAC/B,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAA;IAC5B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAA;IAC1B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAA;IAC3B,QAAQ,CAAC,gBAAgB,EAAE,MAAM,CAAA;IACjC,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAA;IAChC,QAAQ,CAAC,gBAAgB,EAAE,MAAM,CAAA;IACjC,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAA;IAC3B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAA;CAC5B;AAED,MAAM,WAAW,KAAK;IACpB,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAA;IAC5B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAA;IAC1B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAA;IAC1B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAA;IAC3B,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAA;IAC1B,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAA;CACjC;AAED,MAAM,WAAW,KAAK;IACpB,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAA;IAC5B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAA;IAC1B,QAAQ,CAAC,OAAO,EAAE,aAAa,CAAC,MAAM,CAAC,CAAA;IACvC,QAAQ,CAAC,WAAW,EAAE,aAAa,CAAC,UAAU,CAAC,CAAA;IAC/C,QAAQ,CAAC,OAAO,EAAE,aAAa,CAAC,KAAK,CAAC,CAAA;CACvC;AAED,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,MAAM,EAAE,aAAa,CAAC,KAAK,CAAC,CAAA;CACtC;AAED,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,WAAW,CAAC,EAAE,OAAO,CAAA;IAC9B,QAAQ,CAAC,OAAO,CAAC,EAAE,OAAO,CAAA;CAC3B;AAqMD,MAAM,MAAM,OAAO,GAAG,QAAQ,GAAG,UAAU,GAAG,OAAO,CAAA;AAoFrD,eAAO,MAAM,UAAU,GACrB,SAAS,OAAO,EAChB,UAAU,iBAAiB,KAC1B,MAAM,CAAC,MAAM,CAAC,cAAc,EAAE,SAAS,CAAC,QAAQ,EAAE,SAAS,CAAC,SAAS,CAepE,CAAA;AAyEJ,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAA;IAC1B,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAA;IAC5B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,GAAG,EAAE,GAAG,EAAE,KAAK,CAAC,CAAA;IAC/C,QAAQ,CAAC,OAAO,EAAE,aAAa,CAAC,MAAM,CAAC,CAAA;CACxC;AAED,eAAO,MAAM,aAAa,GAAI,OAAO,KAAK,KAAG,WAAW,GAAG,IAgB1D,CAAA;AAED,eAAO,MAAM,SAAS,GAAI,IAAI,cAAc,KAAG,aAAa,CAAC,WAAW,CAIpE,CAAA;AAEJ,MAAM,WAAW,SAAS;IACxB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;IACvB,QAAQ,CAAC,OAAO,CAAC,EAAE,OAAO,CAAA;CAC3B;AAED,MAAM,WAAW,MAAM;IACrB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;IACvB,QAAQ,CAAC,EAAE,EAAE,IAAI,GAAG,KAAK,CAAA;IACzB,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAA;CACxB;AAED,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAA;IACvB,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAA;IACxB,QAAQ,CAAC,IAAI,CAAC,EAAE,aAAa,CAAC,SAAS,CAAC,CAAA;IACxC,QAAQ,CAAC,OAAO,CAAC,EAAE,aAAa,CAAC,MAAM,CAAC,CAAA;CACzC;AAED,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAA;IAC1B,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAA;IAC5B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,GAAG,EAAE,GAAG,EAAE,KAAK,CAAC,CAAA;IAC/C,QAAQ,CAAC,OAAO,EAAE,aAAa,CAAC,MAAM,CAAC,CAAA;IACvC,QAAQ,CAAC,eAAe,EAAE,aAAa,CAAC,MAAM,CAAC,CAAA;IAC/C,QAAQ,CAAC,OAAO,EAAE,CAChB,OAAO,CAAC,EAAE,cAAc,KACrB,MAAM,CAAC,MAAM,CAAC,aAAa,CAAC,OAAO,CAAC,EAAE,SAAS,CAAC,QAAQ,EAAE,SAAS,CAAC,SAAS,CAAC,CAAA;IACnF,QAAQ,CAAC,QAAQ,EAAE,CACjB,EAAE,EAAE,OAAO,KACR,MAAM,CAAC,MAAM,CAAC,OAAO,GAAG,IAAI,EAAE,SAAS,CAAC,QAAQ,EAAE,SAAS,CAAC,SAAS,CAAC,CAAA;IAC3E,QAAQ,CAAC,KAAK,EAAE,CAAC,OAAO,CAAC,EAAE;QACzB,QAAQ,CAAC,OAAO,CAAC,EAAE,aAAa,CAAC,MAAM,CAAC,CAAA;KACzC,KAAK,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,QAAQ,EAAE,SAAS,CAAC,SAAS,CAAC,CAAA;CACrE;AAED,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,MAAM,EAAE,aAAa,CAAC,WAAW,CAAC,CAAA;IAC3C,QAAQ,CAAC,KAAK,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,WAAW,GAAG,SAAS,CAAA;CAC1D;AAiHD,eAAO,MAAM,kBAAkB,GAAI,IAAI,cAAc,KAAG,cAOvD,CAAA"}
@@ -0,0 +1,478 @@
1
+ import * as Effect from "effect/Effect";
2
+ import * as Schema from "effect/Schema";
3
+ import * as SqlClient from "../sql/SqlClient.js";
4
+ const sqliteColumns = `
5
+ SELECT
6
+ '' as tableSchema,
7
+ m.name as tableName,
8
+ p.name as columnName,
9
+ p.cid + 1 as ordinalPosition,
10
+ p.dflt_value as columnDefault,
11
+ CASE WHEN p."notnull" = 0 THEN 1 ELSE 0 END as isNullable,
12
+ p.type as dataType,
13
+ NULL as maxLength,
14
+ p.pk as isPrimaryKey,
15
+ CASE WHEN p.pk = 1 AND lower(p.type) = 'integer' THEN 1 ELSE 0 END as isAutoIncrement
16
+ FROM sqlite_master m
17
+ JOIN pragma_table_info(m.name) p
18
+ WHERE m.type = 'table'
19
+ AND m.name NOT LIKE 'sqlite_%'
20
+ ORDER BY m.name, p.cid
21
+ `;
22
+ const sqliteForeignKeys = `
23
+ SELECT
24
+ '' as constraintName,
25
+ '' as tableSchema,
26
+ m.name as tableName,
27
+ fk."from" as columnName,
28
+ '' as referencedSchema,
29
+ fk."table" as referencedTable,
30
+ fk."to" as referencedColumn,
31
+ fk.on_update as updateRule,
32
+ fk.on_delete as deleteRule
33
+ FROM sqlite_master m
34
+ JOIN pragma_foreign_key_list(m.name) fk
35
+ WHERE m.type = 'table'
36
+ AND m.name NOT LIKE 'sqlite_%'
37
+ ORDER BY m.name, fk.seq
38
+ `;
39
+ const sqliteIndexes = `
40
+ SELECT
41
+ '' as tableSchema,
42
+ m.name as tableName,
43
+ il.name as indexName,
44
+ ii.name as columnName,
45
+ il."unique" as isUnique,
46
+ ii.seqno + 1 as ordinalPosition
47
+ FROM sqlite_master m
48
+ JOIN pragma_index_list(m.name) il
49
+ JOIN pragma_index_info(il.name) ii
50
+ WHERE m.type = 'table'
51
+ AND m.name NOT LIKE 'sqlite_%'
52
+ ORDER BY m.name, il.name, ii.seqno
53
+ `;
54
+ const postgresColumns = `
55
+ SELECT
56
+ c.table_schema as "tableSchema",
57
+ c.table_name as "tableName",
58
+ c.column_name as "columnName",
59
+ c.ordinal_position as "ordinalPosition",
60
+ c.column_default as "columnDefault",
61
+ CASE WHEN c.is_nullable = 'YES' THEN true ELSE false END as "isNullable",
62
+ c.data_type as "dataType",
63
+ c.character_maximum_length as "maxLength",
64
+ CASE WHEN pk.column_name IS NOT NULL THEN true ELSE false END as "isPrimaryKey",
65
+ CASE WHEN c.column_default LIKE 'nextval(%' THEN true ELSE false END as "isAutoIncrement"
66
+ FROM information_schema.columns c
67
+ LEFT JOIN (
68
+ SELECT kcu.table_schema, kcu.table_name, kcu.column_name
69
+ FROM information_schema.table_constraints tc
70
+ JOIN information_schema.key_column_usage kcu
71
+ ON tc.constraint_name = kcu.constraint_name
72
+ AND tc.table_schema = kcu.table_schema
73
+ WHERE tc.constraint_type = 'PRIMARY KEY'
74
+ ) pk
75
+ ON c.table_schema = pk.table_schema
76
+ AND c.table_name = pk.table_name
77
+ AND c.column_name = pk.column_name
78
+ WHERE c.table_schema NOT IN ('information_schema', 'pg_catalog')
79
+ ORDER BY c.table_schema, c.table_name, c.ordinal_position
80
+ `;
81
+ const postgresForeignKeys = `
82
+ SELECT
83
+ tc.constraint_name as "constraintName",
84
+ tc.table_schema as "tableSchema",
85
+ tc.table_name as "tableName",
86
+ kcu.column_name as "columnName",
87
+ ccu.table_schema as "referencedSchema",
88
+ ccu.table_name as "referencedTable",
89
+ ccu.column_name as "referencedColumn",
90
+ rc.update_rule as "updateRule",
91
+ rc.delete_rule as "deleteRule"
92
+ FROM information_schema.table_constraints tc
93
+ JOIN information_schema.key_column_usage kcu
94
+ ON tc.constraint_name = kcu.constraint_name
95
+ AND tc.table_schema = kcu.table_schema
96
+ JOIN information_schema.constraint_column_usage ccu
97
+ ON tc.constraint_name = ccu.constraint_name
98
+ AND tc.table_schema = ccu.table_schema
99
+ JOIN information_schema.referential_constraints rc
100
+ ON tc.constraint_name = rc.constraint_name
101
+ AND tc.table_schema = rc.constraint_schema
102
+ WHERE tc.constraint_type = 'FOREIGN KEY'
103
+ AND tc.table_schema NOT IN ('information_schema', 'pg_catalog')
104
+ ORDER BY tc.table_schema, tc.table_name, kcu.ordinal_position
105
+ `;
106
+ const postgresIndexes = `
107
+ SELECT
108
+ n.nspname as "tableSchema",
109
+ t.relname as "tableName",
110
+ i.relname as "indexName",
111
+ a.attname as "columnName",
112
+ ix.indisunique as "isUnique",
113
+ array_position(ix.indkey, a.attnum) as "ordinalPosition"
114
+ FROM pg_index ix
115
+ JOIN pg_class t ON t.oid = ix.indrelid
116
+ JOIN pg_class i ON i.oid = ix.indexrelid
117
+ JOIN pg_namespace n ON n.oid = t.relnamespace
118
+ JOIN pg_attribute a ON a.attrelid = t.oid
119
+ AND a.attnum = ANY(ix.indkey)
120
+ WHERE n.nspname NOT IN ('information_schema', 'pg_catalog')
121
+ ORDER BY n.nspname, t.relname, i.relname, array_position(ix.indkey, a.attnum)
122
+ `;
123
+ const mssqlColumns = `
124
+ SELECT
125
+ s.name as tableSchema,
126
+ t.name as tableName,
127
+ c.name as columnName,
128
+ c.column_id as ordinalPosition,
129
+ dc.definition as columnDefault,
130
+ c.is_nullable as isNullable,
131
+ tp.name as dataType,
132
+ c.max_length as maxLength,
133
+ CASE WHEN pk.column_id IS NOT NULL THEN 1 ELSE 0 END as isPrimaryKey,
134
+ c.is_identity as isAutoIncrement
135
+ FROM sys.tables t
136
+ JOIN sys.schemas s ON t.schema_id = s.schema_id
137
+ JOIN sys.columns c ON t.object_id = c.object_id
138
+ JOIN sys.types tp ON c.user_type_id = tp.user_type_id
139
+ LEFT JOIN sys.default_constraints dc ON c.default_object_id = dc.object_id
140
+ LEFT JOIN (
141
+ SELECT ic.object_id, ic.column_id
142
+ FROM sys.index_columns ic
143
+ JOIN sys.indexes i ON ic.object_id = i.object_id AND ic.index_id = i.index_id
144
+ WHERE i.is_primary_key = 1
145
+ ) pk ON c.object_id = pk.object_id AND c.column_id = pk.column_id
146
+ WHERE t.is_ms_shipped = 0
147
+ ORDER BY s.name, t.name, c.column_id
148
+ `;
149
+ const mssqlForeignKeys = `
150
+ SELECT
151
+ fk.name as constraintName,
152
+ s.name as tableSchema,
153
+ t.name as tableName,
154
+ c.name as columnName,
155
+ rs.name as referencedSchema,
156
+ rt.name as referencedTable,
157
+ rc.name as referencedColumn,
158
+ fk.update_referential_action_desc as updateRule,
159
+ fk.delete_referential_action_desc as deleteRule
160
+ FROM sys.foreign_keys fk
161
+ JOIN sys.foreign_key_columns fkc ON fk.object_id = fkc.constraint_object_id
162
+ JOIN sys.tables t ON fkc.parent_object_id = t.object_id
163
+ JOIN sys.schemas s ON t.schema_id = s.schema_id
164
+ JOIN sys.columns c ON fkc.parent_object_id = c.object_id AND fkc.parent_column_id = c.column_id
165
+ JOIN sys.tables rt ON fkc.referenced_object_id = rt.object_id
166
+ JOIN sys.schemas rs ON rt.schema_id = rs.schema_id
167
+ JOIN sys.columns rc ON fkc.referenced_object_id = rc.object_id AND fkc.referenced_column_id = rc.column_id
168
+ WHERE t.is_ms_shipped = 0
169
+ ORDER BY s.name, t.name, fkc.constraint_column_id
170
+ `;
171
+ const mssqlIndexes = `
172
+ SELECT
173
+ s.name as tableSchema,
174
+ t.name as tableName,
175
+ i.name as indexName,
176
+ c.name as columnName,
177
+ i.is_unique as isUnique,
178
+ ic.key_ordinal as ordinalPosition
179
+ FROM sys.indexes i
180
+ JOIN sys.index_columns ic ON i.object_id = ic.object_id AND i.index_id = ic.index_id
181
+ JOIN sys.tables t ON i.object_id = t.object_id
182
+ JOIN sys.schemas s ON t.schema_id = s.schema_id
183
+ JOIN sys.columns c ON ic.object_id = c.object_id AND ic.column_id = c.column_id
184
+ WHERE t.is_ms_shipped = 0
185
+ AND i.name IS NOT NULL
186
+ AND i.is_primary_key = 0
187
+ AND ic.is_included_column = 0
188
+ ORDER BY s.name, t.name, i.name, ic.key_ordinal
189
+ `;
190
+ const dialectQueries = {
191
+ sqlite: { columns: sqliteColumns, foreignKeys: sqliteForeignKeys, indexes: sqliteIndexes },
192
+ postgres: {
193
+ columns: postgresColumns,
194
+ foreignKeys: postgresForeignKeys,
195
+ indexes: postgresIndexes,
196
+ },
197
+ mssql: { columns: mssqlColumns, foreignKeys: mssqlForeignKeys, indexes: mssqlIndexes },
198
+ };
199
+ const singleColumnIndexes = (indexes) => {
200
+ const countByIndex = new Map();
201
+ for (const idx of indexes) {
202
+ const key = `${idx.tableSchema}.${idx.tableName}.${idx.indexName}`;
203
+ const existing = countByIndex.get(key);
204
+ if (existing) {
205
+ existing.count++;
206
+ }
207
+ else {
208
+ countByIndex.set(key, { count: 1, columnName: idx.columnName });
209
+ }
210
+ }
211
+ const result = new Set();
212
+ for (const [key, entry] of countByIndex) {
213
+ if (entry.count === 1) {
214
+ const tableKey = key.substring(0, key.lastIndexOf("."));
215
+ result.add(`${tableKey}.${entry.columnName}`);
216
+ }
217
+ }
218
+ return result;
219
+ };
220
+ const groupByTable = (columns, foreignKeys, indexes) => {
221
+ const sortable = singleColumnIndexes(indexes);
222
+ const tableMap = new Map();
223
+ for (const col of columns) {
224
+ const key = `${col.tableSchema}.${col.tableName}`;
225
+ const fullCol = {
226
+ ...col,
227
+ isSortable: col.isPrimaryKey || sortable.has(`${key}.${col.columnName}`),
228
+ };
229
+ const existing = tableMap.get(key);
230
+ if (existing) {
231
+ ;
232
+ existing.columns.push(fullCol);
233
+ }
234
+ else {
235
+ tableMap.set(key, {
236
+ tableSchema: col.tableSchema,
237
+ tableName: col.tableName,
238
+ columns: [fullCol],
239
+ foreignKeys: [],
240
+ indexes: [],
241
+ });
242
+ }
243
+ }
244
+ for (const fk of foreignKeys) {
245
+ const key = `${fk.tableSchema}.${fk.tableName}`;
246
+ const table = tableMap.get(key);
247
+ if (table) {
248
+ ;
249
+ table.foreignKeys.push(fk);
250
+ }
251
+ }
252
+ for (const idx of indexes) {
253
+ const key = `${idx.tableSchema}.${idx.tableName}`;
254
+ const table = tableMap.get(key);
255
+ if (table) {
256
+ ;
257
+ table.indexes.push(idx);
258
+ }
259
+ }
260
+ return Array.from(tableMap.values());
261
+ };
262
+ const normalizeBooleans = (columns) => columns.map((c) => ({
263
+ ...c,
264
+ isNullable: Boolean(c.isNullable),
265
+ isPrimaryKey: Boolean(c.isPrimaryKey),
266
+ isAutoIncrement: Boolean(c.isAutoIncrement),
267
+ }));
268
+ export const introspect = (dialect, options) => Effect.gen(function* () {
269
+ const sql = yield* SqlClient.SqlClient;
270
+ const q = dialectQueries[dialect];
271
+ const columns = normalizeBooleans(yield* sql.unsafe(q.columns));
272
+ const foreignKeys = options?.foreignKeys !== false ? yield* sql.unsafe(q.foreignKeys) : [];
273
+ const indexes = options?.indexes !== false
274
+ ? (yield* sql.unsafe(q.indexes)).map((i) => ({
275
+ ...i,
276
+ isUnique: Boolean(i.isUnique),
277
+ }))
278
+ : [];
279
+ return { tables: groupByTable(columns, foreignKeys, indexes) };
280
+ });
281
+ const dataTypeToSchema = (dataType) => {
282
+ const t = dataType.toLowerCase();
283
+ if (t === "integer" ||
284
+ t === "int" ||
285
+ t === "int4" ||
286
+ t === "int8" ||
287
+ t === "smallint" ||
288
+ t === "tinyint" ||
289
+ t === "mediumint" ||
290
+ t === "bigint" ||
291
+ t === "int2")
292
+ return Schema.Number;
293
+ if (t === "real" ||
294
+ t === "double" ||
295
+ t === "double precision" ||
296
+ t === "float" ||
297
+ t === "float4" ||
298
+ t === "float8" ||
299
+ t === "numeric" ||
300
+ t === "decimal" ||
301
+ t === "money" ||
302
+ t === "smallmoney")
303
+ return Schema.Number;
304
+ if (t === "text" ||
305
+ t === "varchar" ||
306
+ t === "char" ||
307
+ t === "nchar" ||
308
+ t === "nvarchar" ||
309
+ t === "ntext" ||
310
+ t === "character varying" ||
311
+ t === "character" ||
312
+ t === "bpchar" ||
313
+ t === "uuid" ||
314
+ t === "citext" ||
315
+ t === "name" ||
316
+ t === "xml")
317
+ return Schema.String;
318
+ if (t === "boolean" || t === "bool" || t === "bit")
319
+ return Schema.Union(Schema.Boolean, Schema.Number);
320
+ if (t === "timestamp" ||
321
+ t === "timestamptz" ||
322
+ t === "timestamp with time zone" ||
323
+ t === "timestamp without time zone" ||
324
+ t === "date" ||
325
+ t === "datetime" ||
326
+ t === "datetime2" ||
327
+ t === "smalldatetime" ||
328
+ t === "datetimeoffset" ||
329
+ t === "time")
330
+ return Schema.String;
331
+ if (t === "json" || t === "jsonb")
332
+ return Schema.Unknown;
333
+ if (t === "blob" || t === "bytea" || t === "varbinary" || t === "binary" || t === "image")
334
+ return null;
335
+ return null;
336
+ };
337
+ const columnToSchema = (col) => {
338
+ const base = dataTypeToSchema(col.dataType);
339
+ if (base === null)
340
+ return null;
341
+ if (col.isNullable)
342
+ return Schema.NullOr(base);
343
+ return base;
344
+ };
345
+ export const tableToSchema = (table) => {
346
+ const fields = {};
347
+ let hasFields = false;
348
+ for (const col of table.columns) {
349
+ const s = columnToSchema(col);
350
+ if (s === null)
351
+ continue;
352
+ fields[col.columnName] = s;
353
+ hasFields = true;
354
+ }
355
+ if (!hasFields)
356
+ return null;
357
+ return {
358
+ tableName: table.tableName,
359
+ tableSchema: table.tableSchema,
360
+ schema: Schema.Struct(fields),
361
+ columns: table.columns.filter((c) => columnToSchema(c) !== null),
362
+ };
363
+ };
364
+ export const toSchemas = (db) => db.tables.flatMap((t) => {
365
+ const s = tableToSchema(t);
366
+ return s ? [s] : [];
367
+ });
368
+ const escapeIdentifier = (id) => `"${id.replace(/"/g, '""')}"`;
369
+ const concatSql = (sql, fragments) => {
370
+ const strings = [];
371
+ const values = [];
372
+ for (let i = 0; i < fragments.length; i++) {
373
+ const frag = fragments[i];
374
+ for (let j = 0; j < frag.strings.length; j++) {
375
+ if (j === 0 && strings.length > 0) {
376
+ strings[strings.length - 1] += frag.strings[j];
377
+ }
378
+ else {
379
+ strings.push(frag.strings[j]);
380
+ }
381
+ if (j < frag.values.length)
382
+ values.push(frag.values[j]);
383
+ }
384
+ }
385
+ const tsa = Object.assign([...strings], { raw: strings });
386
+ return sql(tsa, ...values);
387
+ };
388
+ const literal = (text) => ({ strings: [text], values: [] });
389
+ const param = (value) => ({ strings: ["", ""], values: [value] });
390
+ const buildWhereFragments = (filters, columnSet) => {
391
+ const parts = [];
392
+ const valid = filters.filter((f) => columnSet.has(f.column));
393
+ if (valid.length === 0)
394
+ return parts;
395
+ parts.push(literal(" WHERE "));
396
+ for (let i = 0; i < valid.length; i++) {
397
+ if (i > 0)
398
+ parts.push(literal(" AND "));
399
+ const f = valid[i];
400
+ const col = escapeIdentifier(f.column);
401
+ if (f.value === null) {
402
+ parts.push(literal(f.op === "eq" ? `${col} IS NULL` : `${col} IS NOT NULL`));
403
+ }
404
+ else {
405
+ parts.push(literal(`${col} ${f.op === "eq" ? "=" : "!="} `));
406
+ parts.push(param(f.value));
407
+ }
408
+ }
409
+ return parts;
410
+ };
411
+ const makeTableReader = (ts) => {
412
+ const qualifiedName = ts.tableSchema
413
+ ? `${escapeIdentifier(ts.tableSchema)}.${escapeIdentifier(ts.tableName)}`
414
+ : escapeIdentifier(ts.tableName);
415
+ const primaryKey = ts.columns.find((c) => c.isPrimaryKey);
416
+ const selectCols = ts.columns.map((c) => escapeIdentifier(c.columnName)).join(", ");
417
+ const columnSet = new Set(ts.columns.map((c) => c.columnName));
418
+ const sortableSet = new Set(ts.columns.filter((c) => c.isSortable).map((c) => c.columnName));
419
+ return {
420
+ tableName: ts.tableName,
421
+ tableSchema: ts.tableSchema,
422
+ schema: ts.schema,
423
+ columns: ts.columns,
424
+ sortableColumns: Array.from(sortableSet),
425
+ findAll: (options) => Effect.gen(function* () {
426
+ const sql = yield* SqlClient.SqlClient;
427
+ const fragments = [
428
+ literal(`SELECT ${selectCols} FROM ${qualifiedName}`),
429
+ ];
430
+ if (options?.filters) {
431
+ fragments.push(...buildWhereFragments(options.filters, columnSet));
432
+ }
433
+ if (options?.sort && options.sort.length > 0) {
434
+ const sortClauses = options.sort
435
+ .filter((s) => sortableSet.has(s.column))
436
+ .map((s) => `${escapeIdentifier(s.column)} ${s.reverse ? "DESC" : "ASC"}`);
437
+ if (sortClauses.length > 0)
438
+ fragments.push(literal(` ORDER BY ${sortClauses.join(", ")}`));
439
+ }
440
+ if (options?.limit !== undefined)
441
+ fragments.push(literal(` LIMIT ${Math.trunc(Number(options.limit))}`));
442
+ if (options?.offset !== undefined)
443
+ fragments.push(literal(` OFFSET ${Math.trunc(Number(options.offset))}`));
444
+ return yield* concatSql(sql, fragments);
445
+ }),
446
+ findById: (id) => Effect.gen(function* () {
447
+ if (!primaryKey)
448
+ return null;
449
+ const sql = yield* SqlClient.SqlClient;
450
+ const pkCol = escapeIdentifier(primaryKey.columnName);
451
+ const rows = yield* concatSql(sql, [
452
+ literal(`SELECT ${selectCols} FROM ${qualifiedName} WHERE ${pkCol} = `),
453
+ param(id),
454
+ ]);
455
+ return rows[0] ?? null;
456
+ }),
457
+ count: (options) => Effect.gen(function* () {
458
+ const sql = yield* SqlClient.SqlClient;
459
+ const fragments = [
460
+ literal(`SELECT COUNT(*) as count FROM ${qualifiedName}`),
461
+ ];
462
+ if (options?.filters) {
463
+ fragments.push(...buildWhereFragments(options.filters, columnSet));
464
+ }
465
+ const rows = yield* concatSql(sql, fragments);
466
+ return Number(rows[0].count);
467
+ }),
468
+ };
469
+ };
470
+ export const makeDatabaseReader = (db) => {
471
+ const schemas = toSchemas(db);
472
+ const readers = schemas.map(makeTableReader);
473
+ return {
474
+ tables: readers,
475
+ table: (name) => readers.find((r) => r.tableName === name),
476
+ };
477
+ };
478
+ //# sourceMappingURL=SqlIntrospect.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SqlIntrospect.js","sourceRoot":"","sources":["../../src/experimental/SqlIntrospect.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -8,4 +8,5 @@ export * as Route from "./Route.ts";
8
8
  export * as Start from "./Start.ts";
9
9
  export * as System from "./System.ts";
10
10
  export * as Unique from "./Unique.ts";
11
+ export * as Cookies from "./Cookies.ts";
11
12
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,qBAAqB,CAAA;AAC7C,OAAO,KAAK,WAAW,MAAM,kBAAkB,CAAA;AAC/C,OAAO,KAAK,MAAM,MAAM,aAAa,CAAA;AACrC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAA;AAChC,OAAO,KAAK,IAAI,MAAM,WAAW,CAAA;AACjC,OAAO,KAAK,UAAU,MAAM,iBAAiB,CAAA;AAC7C,OAAO,KAAK,KAAK,MAAM,YAAY,CAAA;AACnC,OAAO,KAAK,KAAK,MAAM,YAAY,CAAA;AACnC,OAAO,KAAK,MAAM,MAAM,aAAa,CAAA;AACrC,OAAO,KAAK,MAAM,MAAM,aAAa,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,qBAAqB,CAAA;AAC7C,OAAO,KAAK,WAAW,MAAM,kBAAkB,CAAA;AAC/C,OAAO,KAAK,MAAM,MAAM,aAAa,CAAA;AACrC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAA;AAChC,OAAO,KAAK,IAAI,MAAM,WAAW,CAAA;AACjC,OAAO,KAAK,UAAU,MAAM,iBAAiB,CAAA;AAC7C,OAAO,KAAK,KAAK,MAAM,YAAY,CAAA;AACnC,OAAO,KAAK,KAAK,MAAM,YAAY,CAAA;AACnC,OAAO,KAAK,MAAM,MAAM,aAAa,CAAA;AACrC,OAAO,KAAK,MAAM,MAAM,aAAa,CAAA;AACrC,OAAO,KAAK,OAAO,MAAM,cAAc,CAAA"}
package/dist/index.js CHANGED
@@ -8,4 +8,5 @@ export * as Route from "./Route.js";
8
8
  export * as Start from "./Start.js";
9
9
  export * as System from "./System.js";
10
10
  export * as Unique from "./Unique.js";
11
+ export * as Cookies from "./Cookies.js";
11
12
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,qBAAqB,CAAA;AAC7C,OAAO,KAAK,WAAW,MAAM,kBAAkB,CAAA;AAC/C,OAAO,KAAK,MAAM,MAAM,aAAa,CAAA;AACrC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAA;AAChC,OAAO,KAAK,IAAI,MAAM,WAAW,CAAA;AACjC,OAAO,KAAK,UAAU,MAAM,iBAAiB,CAAA;AAC7C,OAAO,KAAK,KAAK,MAAM,YAAY,CAAA;AACnC,OAAO,KAAK,KAAK,MAAM,YAAY,CAAA;AACnC,OAAO,KAAK,MAAM,MAAM,aAAa,CAAA;AACrC,OAAO,KAAK,MAAM,MAAM,aAAa,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,qBAAqB,CAAA;AAC7C,OAAO,KAAK,WAAW,MAAM,kBAAkB,CAAA;AAC/C,OAAO,KAAK,MAAM,MAAM,aAAa,CAAA;AACrC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAA;AAChC,OAAO,KAAK,IAAI,MAAM,WAAW,CAAA;AACjC,OAAO,KAAK,UAAU,MAAM,iBAAiB,CAAA;AAC7C,OAAO,KAAK,KAAK,MAAM,YAAY,CAAA;AACnC,OAAO,KAAK,KAAK,MAAM,YAAY,CAAA;AACnC,OAAO,KAAK,MAAM,MAAM,aAAa,CAAA;AACrC,OAAO,KAAK,MAAM,MAAM,aAAa,CAAA;AACrC,OAAO,KAAK,OAAO,MAAM,cAAc,CAAA"}
@@ -1,8 +1,8 @@
1
1
  import * as Html from "./Html.ts";
2
- import type { JSX } from "./jsx.d.ts";
2
+ import type { JSX } from "../src/jsx.d.ts";
3
3
  declare function Fragment(props: {
4
4
  children: JSX.Element;
5
- }): Html.Element;
5
+ }): import("../src/jsx.d.ts").HtmlElement;
6
6
  declare function jsx<T extends Html.ElementType>(type: T, props: T extends string ? Html.ElemenetProps : T extends (props: infer P) => any ? P : never): Html.Element;
7
7
  export { Fragment, type JSX, jsx, jsx as jsxDEV, jsx as jsxs };
8
8
  //# sourceMappingURL=jsx-runtime.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"jsx-runtime.d.ts","sourceRoot":"","sources":["../src/jsx-runtime.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,IAAI,MAAM,WAAW,CAAA;AACjC,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,YAAY,CAAA;AAErC,iBAAS,QAAQ,CAAC,KAAK,EAAE;IAAE,QAAQ,EAAE,GAAG,CAAC,OAAO,CAAA;CAAE,gBAEjD;AAED,iBAAS,GAAG,CAAC,CAAC,SAAS,IAAI,CAAC,WAAW,EACrC,IAAI,EAAE,CAAC,EACP,KAAK,EAAE,CAAC,SAAS,MAAM,GAAG,IAAI,CAAC,aAAa,GAAG,CAAC,SAAS,CAAC,KAAK,EAAE,MAAM,CAAC,KAAK,GAAG,GAAG,CAAC,GAAG,KAAK,GAC3F,IAAI,CAAC,OAAO,CAEd;AAED,OAAO,EAAE,QAAQ,EAAE,KAAK,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,MAAM,EAAE,GAAG,IAAI,IAAI,EAAE,CAAA"}
1
+ {"version":3,"file":"jsx-runtime.d.ts","sourceRoot":"","sources":["../src/jsx-runtime.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,IAAI,MAAM,WAAW,CAAA;AACjC,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,iBAAiB,CAAA;AAE1C,iBAAS,QAAQ,CAAC,KAAK,EAAE;IAAE,QAAQ,EAAE,GAAG,CAAC,OAAO,CAAA;CAAE,yCAEjD;AAED,iBAAS,GAAG,CAAC,CAAC,SAAS,IAAI,CAAC,WAAW,EACrC,IAAI,EAAE,CAAC,EACP,KAAK,EAAE,CAAC,SAAS,MAAM,GAAG,IAAI,CAAC,aAAa,GAAG,CAAC,SAAS,CAAC,KAAK,EAAE,MAAM,CAAC,KAAK,GAAG,GAAG,CAAC,GAAG,KAAK,GAC3F,IAAI,CAAC,OAAO,CAEd;AAED,OAAO,EAAE,QAAQ,EAAE,KAAK,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,MAAM,EAAE,GAAG,IAAI,IAAI,EAAE,CAAA"}