tablinum 0.1.0 → 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.
@@ -0,0 +1,8 @@
1
+ import { Stream } from "effect";
2
+ export declare class LiveQuery<T> {
3
+ #private;
4
+ items: any;
5
+ error: any;
6
+ constructor(stream: Stream.Stream<ReadonlyArray<T>, unknown>);
7
+ destroy(): void;
8
+ }
@@ -0,0 +1,39 @@
1
+ import type { WhereClause, OrderByBuilder } from "../crud/query-builder.ts";
2
+ import { LiveQuery } from "./live-query.svelte.ts";
3
+ export type OnLiveCallback = (lq: LiveQuery<unknown>) => void;
4
+ export interface SvelteQueryBuilder<T> {
5
+ readonly and: (fn: (item: T) => boolean) => SvelteQueryBuilder<T>;
6
+ readonly sortBy: (field: string) => SvelteQueryBuilder<T>;
7
+ readonly reverse: () => SvelteQueryBuilder<T>;
8
+ readonly offset: (n: number) => SvelteQueryBuilder<T>;
9
+ readonly limit: (n: number) => SvelteQueryBuilder<T>;
10
+ readonly get: () => Promise<ReadonlyArray<T>>;
11
+ readonly first: () => Promise<T | null>;
12
+ readonly count: () => Promise<number>;
13
+ readonly live: () => LiveQuery<T>;
14
+ }
15
+ export interface SvelteWhereClause<T> {
16
+ readonly equals: (value: string | number | boolean) => SvelteQueryBuilder<T>;
17
+ readonly above: (value: number) => SvelteQueryBuilder<T>;
18
+ readonly aboveOrEqual: (value: number) => SvelteQueryBuilder<T>;
19
+ readonly below: (value: number) => SvelteQueryBuilder<T>;
20
+ readonly belowOrEqual: (value: number) => SvelteQueryBuilder<T>;
21
+ readonly between: (lower: number, upper: number, options?: {
22
+ includeLower?: boolean;
23
+ includeUpper?: boolean;
24
+ }) => SvelteQueryBuilder<T>;
25
+ readonly startsWith: (prefix: string) => SvelteQueryBuilder<T>;
26
+ readonly anyOf: (values: ReadonlyArray<string | number | boolean>) => SvelteQueryBuilder<T>;
27
+ readonly noneOf: (values: ReadonlyArray<string | number | boolean>) => SvelteQueryBuilder<T>;
28
+ }
29
+ export interface SvelteOrderByBuilder<T> {
30
+ readonly reverse: () => SvelteOrderByBuilder<T>;
31
+ readonly offset: (n: number) => SvelteOrderByBuilder<T>;
32
+ readonly limit: (n: number) => SvelteOrderByBuilder<T>;
33
+ readonly get: () => Promise<ReadonlyArray<T>>;
34
+ readonly first: () => Promise<T | null>;
35
+ readonly count: () => Promise<number>;
36
+ readonly live: () => LiveQuery<T>;
37
+ }
38
+ export declare function wrapWhereClause<T>(clause: WhereClause<T>, onLive?: OnLiveCallback): SvelteWhereClause<T>;
39
+ export declare function wrapOrderByBuilder<T>(builder: OrderByBuilder<T>, onLive?: OnLiveCallback): SvelteOrderByBuilder<T>;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "tablinum",
3
- "version": "0.1.0",
3
+ "version": "0.1.1",
4
4
  "repository": {
5
5
  "type": "git",
6
6
  "url": "git+https://github.com/kevmodrome/tablinum.git"
@@ -15,6 +15,11 @@
15
15
  ".": {
16
16
  "types": "./dist/index.d.ts",
17
17
  "import": "./dist/index.js"
18
+ },
19
+ "./svelte": {
20
+ "types": "./dist/svelte/index.svelte.d.ts",
21
+ "svelte": "./dist/svelte/index.svelte.js",
22
+ "import": "./dist/svelte/index.svelte.js"
18
23
  }
19
24
  },
20
25
  "scripts": {
@@ -27,7 +32,7 @@
27
32
  "validate": "bun run scripts/validate.ts",
28
33
  "demo": "bun run examples/vanilla/serve.ts",
29
34
  "demo:svelte": "cd examples/svelte && bun run dev",
30
- "build": "bun build src/index.ts --outdir dist --format esm --packages external && tsc -p tsconfig.build.json --noCheck",
35
+ "build": "bun build src/index.ts --outdir dist --format esm --packages external && bun build src/svelte/index.svelte.ts --outdir dist/svelte --format esm --packages external && tsc -p tsconfig.build.json --noCheck && tsc -p tsconfig.build.svelte.json --noCheck",
31
36
  "changeset": "changeset",
32
37
  "version": "changeset version",
33
38
  "release": "changeset publish"