forj 0.0.6 → 0.0.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 CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "forj",
3
3
  "description": "SQLite ORM and Query Builder whitout dependencies",
4
- "version": "0.0.6",
4
+ "version": "0.0.7",
5
5
  "type": "module",
6
6
  "main": "src/index.ts",
7
7
  "files": ["src"],
@@ -23,7 +23,7 @@ export class Blueprint {
23
23
  }
24
24
 
25
25
  id(name: string = 'id') { // Auto-increment ID (bigint unsigned)
26
- return this.#column({ name, type: 'BIGINT', unsigned: true, autoIncrement: true, primary: true, nullable: false })
26
+ return this.#column({ name, type: 'INTEGER', autoIncrement: true, primary: true, nullable: false })
27
27
  }
28
28
 
29
29
  string(name: string, length: number = 255) {
@@ -34,49 +34,58 @@ export class Blueprint {
34
34
  return this.#column({ name, type: 'TEXT', nullable: false })
35
35
  }
36
36
 
37
- integer(name: string) {
37
+ int(name: string) {
38
38
  return this.#column({ name, type: 'INTEGER', nullable: false })
39
39
  }
40
-
41
- bigInteger(name: string) {
42
- return this.#column({ name, type: 'BIGINT', nullable: false })
40
+ integer(name: string) {
41
+ return this.int(name)
43
42
  }
44
-
45
- tinyInteger(name: string) {
46
- return this.#column({ name, type: 'TINYINT', nullable: false })
43
+ real(name: string) {
44
+ return this.#column({ name, type: 'REAL', nullable: false })
45
+ }
46
+ numeric(name: string) {
47
+ return this.#column({ name, type: 'NUMERIC', nullable: false })
47
48
  }
48
49
 
50
+ // bigInteger(name: string) {
51
+ // return this.#column({ name, type: 'BIGINT', nullable: false })
52
+ // }
53
+
54
+ // tinyInteger(name: string) {
55
+ // return this.#column({ name, type: 'TINYINT', nullable: false })
56
+ // }
57
+
49
58
  boolean(name: string) {
50
- return this.#column({ name, type: 'BOOLEAN', nullable: false })
59
+ return this.#column({ name, type: 'INTEGER', nullable: false })
51
60
  }
52
61
 
53
- decimal(name: string, precision: number = 8, scale: number = 2) {
54
- return this.#column({ name, type: `DECIMAL(${precision},${scale})`, nullable: false })
55
- }
62
+ // decimal(name: string, precision: number = 8, scale: number = 2) {
63
+ // return this.#column({ name, type: `DECIMAL(${precision},${scale})`, nullable: false })
64
+ // }
56
65
 
57
- float(name: string) {
58
- return this.#column({ name, type: 'FLOAT', nullable: false })
59
- }
66
+ // float(name: string) {
67
+ // return this.#column({ name, type: 'FLOAT', nullable: false })
68
+ // }
60
69
 
61
- double(name: string) {
62
- return this.#column({ name, type: 'DOUBLE', nullable: false })
63
- }
70
+ // double(name: string) {
71
+ // return this.#column({ name, type: 'DOUBLE', nullable: false })
72
+ // }
64
73
 
65
- date(name: string) {
66
- return this.#column({ name, type: 'DATE', nullable: false })
67
- }
74
+ // date(name: string) {
75
+ // return this.#column({ name, type: 'DATE', nullable: false })
76
+ // }
68
77
 
69
- dateTime(name: string) {
70
- return this.#column({ name, type: 'DATETIME', nullable: false })
71
- }
78
+ // dateTime(name: string) {
79
+ // return this.#column({ name, type: 'DATETIME', nullable: false })
80
+ // }
72
81
 
73
- timestamp(name: string) {
74
- return this.#column({ name, type: 'TIMESTAMP', nullable: false })
75
- }
82
+ // timestamp(name: string) {
83
+ // return this.#column({ name, type: 'TIMESTAMP', nullable: false })
84
+ // }
76
85
 
77
- time(name: string) {
78
- return this.#column({ name, type: 'TIME', nullable: false })
79
- }
86
+ // time(name: string) {
87
+ // return this.#column({ name, type: 'TIME', nullable: false })
88
+ // }
80
89
 
81
90
  json(name: string) {
82
91
  return this.#column({ name, type: 'JSON', nullable: false })
@@ -86,14 +95,18 @@ export class Blueprint {
86
95
  return this.#column({ name, type: `ENUM(${values.map(v => `'${v}'`).join(', ')})`, nullable: false })
87
96
  }
88
97
 
98
+ blob(name: string) {
99
+ return this.#column({ name, type: 'BLOB', nullable: false })
100
+ }
101
+
89
102
  timestamps() {
90
- this.timestamp('created_at')
91
- this.timestamp('updated_at')
103
+ this.#column({ name: 'created_at', type: 'TEXT', nullable: false })
104
+ this.#column({ name: 'updated_at', type: 'TEXT', nullable: false })
92
105
  return this
93
106
  }
94
107
 
95
108
  softDelete(name: string = 'deleted_at') {
96
- this.timestamp(name).nullable()
109
+ this.#column({ name, type: 'TEXT', nullable: true })
97
110
  return this
98
111
  }
99
112
 
@@ -53,8 +53,11 @@ export default class SchemaBuilder {
53
53
  if (column.length && !column.type.includes('('))
54
54
  sql += `(${column.length})`
55
55
 
56
- if (column.unsigned)
57
- sql += ' UNSIGNED'
56
+ if (column.autoIncrement)
57
+ sql += ' AUTOINCREMENT'
58
+
59
+ // if (column.unsigned)
60
+ // sql += ' UNSIGNED'
58
61
 
59
62
  if (column.nullable) {
60
63
  sql += ' NULL'
@@ -62,9 +65,6 @@ export default class SchemaBuilder {
62
65
  sql += ' NOT NULL'
63
66
  }
64
67
 
65
- if (column.autoIncrement)
66
- sql += ' AUTO_INCREMENT'
67
-
68
68
  if (column.default !== undefined) {
69
69
  if (column.default === null) {
70
70
  sql += ' DEFAULT NULL'
@@ -83,8 +83,8 @@ export default class SchemaBuilder {
83
83
  if (column.primary)
84
84
  sql += ' PRIMARY KEY'
85
85
 
86
- if (column.comment)
87
- sql += ` COMMENT '${column.comment.replace(/'/g, "''")}'`
86
+ // if (column.comment)
87
+ // sql += ` COMMENT '${column.comment.replace(/'/g, "''")}'`
88
88
 
89
89
  return sql
90
90
  }