allez-orm 1.0.1 → 1.0.4

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 (2) hide show
  1. package/index.d.ts +41 -0
  2. package/package.json +73 -58
package/index.d.ts ADDED
@@ -0,0 +1,41 @@
1
+ // index.d.ts
2
+ export interface Schema {
3
+ table: string;
4
+ createSQL: string;
5
+ extraSQL?: string[];
6
+ version?: number;
7
+ onUpgrade?(db: any, from: number, to: number): void | Promise<void>;
8
+ }
9
+
10
+ export interface InitOptions {
11
+ dbName?: string;
12
+ autoSaveMs?: number;
13
+ wasmLocateFile?(file: string): string;
14
+ schemas?: Schema[];
15
+ schemaModules?: Record<string, { default: Schema }>;
16
+ }
17
+
18
+ export type Row = Record<string, any>;
19
+
20
+ export interface TableHelper<T extends Row = Row> {
21
+ insert(obj: Partial<T>): Promise<void>;
22
+ upsert(obj: Partial<T>): Promise<void>;
23
+ update(id: any, patch: Partial<T>): Promise<void>;
24
+ deleteSoft(id: any, ts?: string): Promise<void>;
25
+ remove(id: any): Promise<void>;
26
+ findById(id: any): Promise<T | null>;
27
+ searchLike(q: string, columns: (keyof T | string)[], limit?: number): Promise<T[]>;
28
+ }
29
+
30
+ export class AllezORM {
31
+ constructor(SQL: any, db: any, opts: InitOptions);
32
+ static init(opts?: InitOptions): Promise<AllezORM>;
33
+ saveNow(): Promise<void>;
34
+ exec(sql: string, params?: any[]): Promise<boolean>;
35
+ run(sql: string, params?: any[]): Promise<boolean>;
36
+ execute(sql: string, params?: any[]): Promise<void>;
37
+ query<T = Row>(sql: string, params?: any[]): Promise<T[]>;
38
+ get<T = Row>(sql: string, params?: any[]): Promise<T | null>;
39
+ table<T extends Row = Row>(table: string): TableHelper<T>;
40
+ registerSchemas(schemas: Schema[]): Promise<void>;
41
+ }
package/package.json CHANGED
@@ -1,61 +1,76 @@
1
1
  {
2
- "name": "allez-orm",
3
- "version": "1.0.1",
4
- "description": "AllezORM: lightweight browser SQLite ORM (sql.js) + schema generator CLI",
5
- "type": "module",
6
- "main": "./allez-orm.mjs",
7
- "module": "./allez-orm.mjs",
8
- "browser": "./allez-orm.mjs",
9
- "exports": {
10
- ".": {
11
- "import": "./allez-orm.mjs"
12
- },
13
- "./cli": "./tools/allez-orm.mjs"
14
- },
15
- "sideEffects": false,
16
- "scripts": {
17
- "dev": "node dev-server.mjs",
18
- "dev:static": "serve -l 5173",
19
- "allez": "node tools/allez-orm.mjs",
20
- "test:cli": "node tests/test-cli.mjs",
21
- "ddl:audit": "node tools/ddl-audit.mjs",
22
- "prepublishOnly": "node tests/test-cli.mjs && node tools/ddl-audit.mjs"
23
- },
24
- "bin": {
25
- "allez-orm": "tools/allez-orm.mjs"
26
- },
27
- "files": [
28
- "allez-orm.mjs",
29
- "tools/allez-orm.mjs",
30
- "tools/ddl-audit.mjs",
31
- "package.json",
32
- "README.md"
33
- ],
34
- "keywords": [
35
- "sqlite",
36
- "orm",
37
- "schema",
38
- "cli",
39
- "browser",
40
- "sql.js"
41
- ],
42
- "repository": {
43
- "type": "git",
44
- "url": "git+https://github.com/AllezMarketing/allez-orm.git"
45
- },
46
- "bugs": {
47
- "url": "https://github.com/AllezMarketing/allez-orm/issues"
48
- },
49
- "homepage": "https://github.com/AllezMarketing/allez-orm#readme",
50
- "license": "ISC",
51
- "author": "Allez Marketing LLC",
52
- "devDependencies": {
53
- "serve": "^14.2.5"
54
- },
55
- "engines": {
56
- "node": ">=18"
57
- },
58
- "publishConfig": {
59
- "access": "public"
2
+ "name": "allez-orm",
3
+ "version": "1.0.4",
4
+ "description": "AllezORM: lightweight browser SQLite ORM (sql.js) + schema generator CLI",
5
+ "type": "module",
6
+ "main": "./allez-orm.mjs",
7
+ "module": "./allez-orm.mjs",
8
+ "browser": "./allez-orm.mjs",
9
+ "types": "./index.d.ts",
10
+ "typesVersions": {
11
+ "*": {
12
+ "*": [
13
+ "index.d.ts"
14
+ ]
60
15
  }
16
+ },
17
+ "exports": {
18
+ ".": {
19
+ "import": "./allez-orm.mjs",
20
+ "default": "./allez-orm.mjs"
21
+ },
22
+ "./cli": "./tools/allez-orm.mjs",
23
+ "./package.json": "./package.json"
24
+ },
25
+ "sideEffects": false,
26
+ "scripts": {
27
+ "dev": "node dev-server.mjs",
28
+ "dev:static": "serve -l 5173",
29
+ "allez": "node tools/allez-orm.mjs",
30
+ "test:cli": "node tests/test-cli.mjs",
31
+ "ddl:audit": "node tools/ddl-audit.mjs",
32
+ "prepublishOnly": "node tests/test-cli.mjs && node tools/ddl-audit.mjs"
33
+ },
34
+ "bin": {
35
+ "allez-orm": "tools/allez-orm.mjs"
36
+ },
37
+ "files": [
38
+ "allez-orm.mjs",
39
+ "index.d.ts",
40
+ "tools/allez-orm.mjs",
41
+ "tools/ddl-audit.mjs",
42
+ "README.md",
43
+ "LICENSE",
44
+ "package.json"
45
+ ],
46
+ "keywords": [
47
+ "sqlite",
48
+ "orm",
49
+ "schema",
50
+ "cli",
51
+ "browser",
52
+ "sql.js"
53
+ ],
54
+ "repository": {
55
+ "type": "git",
56
+ "url": "git+https://github.com/AllezMarketing/allez-orm.git"
57
+ },
58
+ "bugs": {
59
+ "url": "https://github.com/AllezMarketing/allez-orm/issues"
60
+ },
61
+ "homepage": "https://github.com/AllezMarketing/allez-orm#readme",
62
+ "license": "ISC",
63
+ "author": "Allez Marketing LLC",
64
+ "dependencies": {
65
+ "sql.js": "^1.13.0"
66
+ },
67
+ "devDependencies": {
68
+ "serve": "^14.2.5"
69
+ },
70
+ "engines": {
71
+ "node": ">=18"
72
+ },
73
+ "publishConfig": {
74
+ "access": "public"
75
+ }
61
76
  }