@spinajs/orm-sqlite 1.2.26 → 1.2.30

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,180 @@
1
+ export declare enum LogLevel {
2
+ Security = 999,
3
+ Fatal = 6,
4
+ Error = 5,
5
+ Warn = 4,
6
+ Success = 3,
7
+ Info = 2,
8
+ Debug = 1,
9
+ Trace = 0
10
+ }
11
+ export declare const StrToLogLevel: {
12
+ trace: LogLevel;
13
+ debug: LogLevel;
14
+ info: LogLevel;
15
+ success: LogLevel;
16
+ warn: LogLevel;
17
+ error: LogLevel;
18
+ fatal: LogLevel;
19
+ security: LogLevel;
20
+ };
21
+ export declare const LogLevelStrings: {
22
+ 1: string;
23
+ 5: string;
24
+ 6: string;
25
+ 2: string;
26
+ 999: string;
27
+ 3: string;
28
+ 0: string;
29
+ 4: string;
30
+ };
31
+ export declare abstract class LogVariable {
32
+ abstract get Name(): string;
33
+ abstract Value(option?: string): string;
34
+ }
35
+ export interface ILogRule {
36
+ name: string;
37
+ level: "trace" | "debug" | "info" | "warn" | "error" | "fatal" | "security" | "success";
38
+ target: string | string[];
39
+ }
40
+ export interface ITargetsOption {
41
+ name: string;
42
+ type: string;
43
+ options: ICommonTargetOptions;
44
+ }
45
+ export interface ILogOptions {
46
+ targets: ITargetsOption[];
47
+ rules: ILogRule[];
48
+ variables: Record<string, unknown>;
49
+ }
50
+ export interface ICommonTargetOptions {
51
+ /**
52
+ * Message layout. You can use variables
53
+ *
54
+ * Default message layout is: datetime level message (logger)
55
+ */
56
+ layout: string;
57
+ /**
58
+ * Target name
59
+ */
60
+ name: string;
61
+ /**
62
+ * Target type
63
+ */
64
+ type: string;
65
+ /**
66
+ * Is logger enabled
67
+ */
68
+ enabled: boolean;
69
+ }
70
+ export interface IColoredConsoleTargetOptions extends ICommonTargetOptions {
71
+ /**
72
+ * Color theme for console message. Best leave it for default.
73
+ */
74
+ theme: {
75
+ security: string | string[];
76
+ fatal: string | string[];
77
+ error: string | string[];
78
+ warn: string | string[];
79
+ success: string | string[];
80
+ info: string | string[];
81
+ debug: string | string[];
82
+ trace: string | string[];
83
+ };
84
+ }
85
+ export interface IFileTargetOptions extends ICommonTargetOptions {
86
+ options: {
87
+ /**
88
+ * path whre log is stored. It is allowed to use variables to create path eg. date / time etc.
89
+ */
90
+ path: string;
91
+ /**
92
+ * Archive path for logs eg. when size is exceeded. Is is allowed to use variables eg. date / time etc.
93
+ *
94
+ * Default is none. When not set archive files are stored in same folder as logs.
95
+ */
96
+ archivePath: string;
97
+ /**
98
+ * Maximum log file size, if exceeded it is moved to archive, and new log file is created
99
+ *
100
+ * Default is 1mb
101
+ */
102
+ maxSize: number;
103
+ /**
104
+ * Should compress log file when moved to archive
105
+ *
106
+ * Default is false
107
+ */
108
+ compress: boolean;
109
+ /**
110
+ * Should rotate log file eg. new file every new day.
111
+ * You should use cron like definition eg. at 1am every day: 0 1 * * *
112
+ * When rotate event occurs, old file is moved to archive, and new one is created
113
+ *
114
+ * Default is not set
115
+ */
116
+ rotate: string;
117
+ /**
118
+ * How mutch archive files should be preserved before deletion. Default is 0
119
+ * Eg. to store max 5 archive files, set it to 5. Oldest by modification time are deleted.
120
+ */
121
+ maxArchiveFiles: number;
122
+ /**
123
+ * Buffer size for incoming log messages. Messages are stored in buffer before write to file.
124
+ *
125
+ * Default is 8kb
126
+ */
127
+ bufferSize: number;
128
+ /**
129
+ * Time in ms after whitch flush will be forced. If set to 0 feature is disabled ( any data hangin in temp buffer will not be saved before it reaches bufferSize)
130
+ * Default time is 10s.
131
+ */
132
+ flushTimeout: number;
133
+ };
134
+ }
135
+ export interface ILogStaticVariables {
136
+ error: Error | undefined;
137
+ level: string;
138
+ logger: string;
139
+ message: string;
140
+ }
141
+ export interface ILogVariable {
142
+ [key: string]: unknown | (() => unknown);
143
+ }
144
+ export interface ILogEntry {
145
+ Level: LogLevel;
146
+ Variables: LogVariables;
147
+ }
148
+ export interface ILog {
149
+ trace(message: string, ...args: any[]): void;
150
+ trace(err: Error, message: string, ...args: any[]): void;
151
+ trace(err: Error | string, message: string | any[], ...args: any[]): void;
152
+ debug(message: string, ...args: any[]): void;
153
+ debug(err: Error, message: string, ...args: any[]): void;
154
+ debug(err: Error | string, message: string | any[], ...args: any[]): void;
155
+ info(message: string, ...args: any[]): void;
156
+ info(err: Error, message: string, ...args: any[]): void;
157
+ info(err: Error | string, message: string | any[], ...args: any[]): void;
158
+ warn(message: string, ...args: any[]): void;
159
+ warn(err: Error, message: string, ...args: any[]): void;
160
+ warn(err: Error | string, message: string | any[], ...args: any[]): void;
161
+ error(message: string, ...args: any[]): void;
162
+ error(err: Error, message: string, ...args: any[]): void;
163
+ error(err: Error | string, message: string | any[], ...args: any[]): void;
164
+ fatal(message: string, ...args: any[]): void;
165
+ fatal(err: Error, message: string, ...args: any[]): void;
166
+ fatal(err: Error | string, message: string | any[], ...args: any[]): void;
167
+ security(message: string, ...args: any[]): void;
168
+ security(err: Error, message: string, ...args: any[]): void;
169
+ security(err: Error | string, message: string | any[], ...args: any[]): void;
170
+ success(message: string, ...args: any[]): void;
171
+ success(err: Error, message: string, ...args: any[]): void;
172
+ success(err: Error | string, message: string | any[], ...args: any[]): void;
173
+ child(name: string, variables?: LogVariables): ILog;
174
+ write(entry: ILogEntry): Promise<PromiseSettledResult<void>[]>;
175
+ addVariable(name: string, value: unknown): void;
176
+ timeStart(name: string): void;
177
+ timeEnd(name: string): number;
178
+ }
179
+ export declare type LogVariables = ILogStaticVariables & ILogVariable;
180
+ export declare function createLogMessageObject(err: Error | string, message: string | any[], level: LogLevel, logger: string, variables: any, ...args: any[]): ILogEntry;
@@ -0,0 +1,49 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.createLogMessageObject = exports.LogVariable = exports.LogLevelStrings = exports.StrToLogLevel = exports.LogLevel = void 0;
4
+ const util = require("util");
5
+ var LogLevel;
6
+ (function (LogLevel) {
7
+ LogLevel[LogLevel["Security"] = 999] = "Security";
8
+ LogLevel[LogLevel["Fatal"] = 6] = "Fatal";
9
+ LogLevel[LogLevel["Error"] = 5] = "Error";
10
+ LogLevel[LogLevel["Warn"] = 4] = "Warn";
11
+ LogLevel[LogLevel["Success"] = 3] = "Success";
12
+ LogLevel[LogLevel["Info"] = 2] = "Info";
13
+ LogLevel[LogLevel["Debug"] = 1] = "Debug";
14
+ LogLevel[LogLevel["Trace"] = 0] = "Trace";
15
+ })(LogLevel = exports.LogLevel || (exports.LogLevel = {}));
16
+ exports.StrToLogLevel = {
17
+ trace: LogLevel.Trace,
18
+ debug: LogLevel.Debug,
19
+ info: LogLevel.Info,
20
+ success: LogLevel.Success,
21
+ warn: LogLevel.Warn,
22
+ error: LogLevel.Error,
23
+ fatal: LogLevel.Fatal,
24
+ security: LogLevel.Security,
25
+ };
26
+ exports.LogLevelStrings = {
27
+ [LogLevel.Debug]: "debug",
28
+ [LogLevel.Error]: "error",
29
+ [LogLevel.Fatal]: "fatal",
30
+ [LogLevel.Info]: "info",
31
+ [LogLevel.Security]: "security",
32
+ [LogLevel.Success]: "success",
33
+ [LogLevel.Trace]: "trace",
34
+ [LogLevel.Warn]: "warn",
35
+ };
36
+ class LogVariable {
37
+ }
38
+ exports.LogVariable = LogVariable;
39
+ function createLogMessageObject(err, message, level, logger, variables, ...args) {
40
+ const sMsg = err instanceof Error ? message : err;
41
+ const tMsg = args.length !== 0 ? util.format(sMsg, ...args) : sMsg;
42
+ const lName = logger !== null && logger !== void 0 ? logger : message;
43
+ return {
44
+ Level: level,
45
+ Variables: Object.assign({ error: err instanceof Error ? err : undefined, level: exports.LogLevelStrings[`${level}`].toUpperCase(), logger: lName, message: tMsg }, variables),
46
+ };
47
+ }
48
+ exports.createLogMessageObject = createLogMessageObject;
49
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../log-common/src/index.ts"],"names":[],"mappings":";;;AAAA,6BAA6B;AAE7B,IAAY,QAgBX;AAhBD,WAAY,QAAQ;IAClB,iDAAc,CAAA;IAEd,yCAAS,CAAA;IAET,yCAAS,CAAA;IAET,uCAAQ,CAAA;IAER,6CAAW,CAAA;IAEX,uCAAQ,CAAA;IAER,yCAAS,CAAA;IAET,yCAAS,CAAA;AACX,CAAC,EAhBW,QAAQ,GAAR,gBAAQ,KAAR,gBAAQ,QAgBnB;AAEY,QAAA,aAAa,GAAG;IAC3B,KAAK,EAAE,QAAQ,CAAC,KAAK;IACrB,KAAK,EAAE,QAAQ,CAAC,KAAK;IACrB,IAAI,EAAE,QAAQ,CAAC,IAAI;IACnB,OAAO,EAAE,QAAQ,CAAC,OAAO;IACzB,IAAI,EAAE,QAAQ,CAAC,IAAI;IACnB,KAAK,EAAE,QAAQ,CAAC,KAAK;IACrB,KAAK,EAAE,QAAQ,CAAC,KAAK;IACrB,QAAQ,EAAE,QAAQ,CAAC,QAAQ;CAC5B,CAAC;AAEW,QAAA,eAAe,GAAG;IAC7B,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,OAAO;IACzB,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,OAAO;IACzB,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,OAAO;IACzB,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM;IACvB,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,UAAU;IAC/B,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,SAAS;IAC7B,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,OAAO;IACzB,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM;CACxB,CAAC;AAEF,MAAsB,WAAW;CAGhC;AAHD,kCAGC;AA2LD,SAAgB,sBAAsB,CACpC,GAAmB,EACnB,OAAuB,EACvB,KAAe,EACf,MAAc,EACd,SAAc,EACd,GAAG,IAAW;IAEd,MAAM,IAAI,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAE,OAAkB,CAAC,CAAC,CAAC,GAAG,CAAC;IAC9D,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IACnE,MAAM,KAAK,GAAG,MAAM,aAAN,MAAM,cAAN,MAAM,GAAI,OAAO,CAAC;IAEhC,OAAO;QACL,KAAK,EAAE,KAAK;QACZ,SAAS,kBACP,KAAK,EAAE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS,EAC7C,KAAK,EAAE,uBAAe,CAAC,GAAG,KAAK,EAAE,CAAC,CAAC,WAAW,EAAE,EAChD,MAAM,EAAE,KAAK,EACb,OAAO,EAAE,IAAI,IACV,SAAS,CACb;KACF,CAAC;AACJ,CAAC;AAtBD,wDAsBC"}
@@ -0,0 +1,32 @@
1
+ import { SqlColumnQueryCompiler, SqlTableQueryCompiler, SqlOnDuplicateQueryCompiler, SqlInsertQueryCompiler } from '@spinajs/orm-sql';
2
+ import { ICompilerOutput, OrderByBuilder, OrderByQueryCompiler, OnDuplicateQueryBuilder, InsertQueryBuilder } from '@spinajs/orm';
3
+ import { Container } from '@spinajs/di';
4
+ export declare class SqliteOrderByCompiler extends OrderByQueryCompiler {
5
+ protected _builder: OrderByBuilder;
6
+ constructor(builder: OrderByBuilder);
7
+ compile(): ICompilerOutput;
8
+ }
9
+ export declare class SqliteOnDuplicateQueryCompiler extends SqlOnDuplicateQueryCompiler {
10
+ protected _builder: OnDuplicateQueryBuilder;
11
+ constructor(builder: OnDuplicateQueryBuilder);
12
+ compile(): {
13
+ bindings: any[];
14
+ expression: string;
15
+ };
16
+ }
17
+ export declare class SqliteTableQueryCompiler extends SqlTableQueryCompiler {
18
+ compile(): ICompilerOutput;
19
+ }
20
+ export declare class SqliteInsertQueryCompiler extends SqlInsertQueryCompiler {
21
+ protected _container: Container;
22
+ constructor(builder: InsertQueryBuilder);
23
+ compile(): {
24
+ bindings: any[];
25
+ expression: string;
26
+ };
27
+ protected into(): string;
28
+ }
29
+ export declare class SqliteColumnCompiler extends SqlColumnQueryCompiler {
30
+ compile(): ICompilerOutput;
31
+ protected _defaultCompiler(): string;
32
+ }
@@ -0,0 +1,215 @@
1
+ "use strict";
2
+ /* eslint-disable security/detect-object-injection */
3
+ /* eslint-disable prettier/prettier */
4
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
5
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
6
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
7
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
8
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
9
+ };
10
+ var __metadata = (this && this.__metadata) || function (k, v) {
11
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
12
+ };
13
+ Object.defineProperty(exports, "__esModule", { value: true });
14
+ exports.SqliteColumnCompiler = exports.SqliteInsertQueryCompiler = exports.SqliteTableQueryCompiler = exports.SqliteOnDuplicateQueryCompiler = exports.SqliteOrderByCompiler = void 0;
15
+ const orm_sql_1 = require("@spinajs/orm-sql");
16
+ const orm_1 = require("@spinajs/orm");
17
+ const di_1 = require("@spinajs/di");
18
+ const _ = require("lodash");
19
+ let SqliteOrderByCompiler = class SqliteOrderByCompiler extends orm_1.OrderByQueryCompiler {
20
+ constructor(builder) {
21
+ super();
22
+ if (!builder) {
23
+ throw new Error('builder cannot be null or undefined');
24
+ }
25
+ this._builder = builder;
26
+ }
27
+ compile() {
28
+ const sort = this._builder.getSort();
29
+ let stmt = '';
30
+ const bindings = [];
31
+ if (sort) {
32
+ stmt = ` ORDER BY \`${sort.column}\` ${sort.order.toLowerCase() === 'asc' ? 'ASC' : 'DESC'}`;
33
+ }
34
+ return {
35
+ bindings,
36
+ expression: stmt,
37
+ };
38
+ }
39
+ };
40
+ SqliteOrderByCompiler = __decorate([
41
+ (0, di_1.NewInstance)(),
42
+ __metadata("design:paramtypes", [orm_1.OrderByBuilder])
43
+ ], SqliteOrderByCompiler);
44
+ exports.SqliteOrderByCompiler = SqliteOrderByCompiler;
45
+ let SqliteOnDuplicateQueryCompiler = class SqliteOnDuplicateQueryCompiler extends orm_sql_1.SqlOnDuplicateQueryCompiler {
46
+ constructor(builder) {
47
+ super(builder);
48
+ }
49
+ compile() {
50
+ const columns = this._builder.getColumnsToUpdate().map((c) => {
51
+ if (_.isString(c)) {
52
+ return `${c} = ?`;
53
+ }
54
+ else {
55
+ return c.Query;
56
+ }
57
+ });
58
+ const bindings = _.flatMap(this._builder.getColumnsToUpdate(), (c) => {
59
+ if (_.isString(c)) {
60
+ const cIndex = this._builder
61
+ .getParent()
62
+ .getColumns()
63
+ .findIndex((col) => (_.isString(col.Column) ? col.Column === c : null));
64
+ return this._builder.getParent().Values[0][cIndex];
65
+ }
66
+ else {
67
+ return c.Bindings;
68
+ }
69
+ });
70
+ return {
71
+ bindings,
72
+ expression: `ON CONFLICT(${this._builder.getColumn().join(',')}) DO UPDATE SET ${columns.join(',')}`,
73
+ };
74
+ }
75
+ };
76
+ SqliteOnDuplicateQueryCompiler = __decorate([
77
+ (0, di_1.NewInstance)(),
78
+ __metadata("design:paramtypes", [orm_1.OnDuplicateQueryBuilder])
79
+ ], SqliteOnDuplicateQueryCompiler);
80
+ exports.SqliteOnDuplicateQueryCompiler = SqliteOnDuplicateQueryCompiler;
81
+ let SqliteTableQueryCompiler = class SqliteTableQueryCompiler extends orm_sql_1.SqlTableQueryCompiler {
82
+ compile() {
83
+ const _table = this._table();
84
+ const _columns = this._columns();
85
+ const _foreignKeys = this._foreignKeys();
86
+ return {
87
+ bindings: [],
88
+ expression: `${_table} (${_columns} ${_foreignKeys ? ',' + _foreignKeys : ''})`,
89
+ };
90
+ }
91
+ };
92
+ SqliteTableQueryCompiler = __decorate([
93
+ (0, di_1.NewInstance)(),
94
+ (0, di_1.Inject)(di_1.Container)
95
+ ], SqliteTableQueryCompiler);
96
+ exports.SqliteTableQueryCompiler = SqliteTableQueryCompiler;
97
+ let SqliteInsertQueryCompiler = class SqliteInsertQueryCompiler extends orm_sql_1.SqlInsertQueryCompiler {
98
+ constructor(builder) {
99
+ super(builder);
100
+ }
101
+ compile() {
102
+ const into = this.into();
103
+ const columns = this.columns();
104
+ const values = this.values();
105
+ const onDuplicate = this.onDuplicate();
106
+ return {
107
+ bindings: values.bindings.concat(onDuplicate.bindings),
108
+ expression: `${into} ${columns} ${values.data} ${onDuplicate.expression}`.trim(),
109
+ };
110
+ }
111
+ into() {
112
+ return `INSERT${this._builder.Ignore ? ' OR IGNORE' : ''} INTO \`${this._builder.Table}\``;
113
+ }
114
+ };
115
+ __decorate([
116
+ (0, di_1.Autoinject)(),
117
+ __metadata("design:type", di_1.Container)
118
+ ], SqliteInsertQueryCompiler.prototype, "_container", void 0);
119
+ SqliteInsertQueryCompiler = __decorate([
120
+ (0, di_1.NewInstance)(),
121
+ __metadata("design:paramtypes", [orm_1.InsertQueryBuilder])
122
+ ], SqliteInsertQueryCompiler);
123
+ exports.SqliteInsertQueryCompiler = SqliteInsertQueryCompiler;
124
+ let SqliteColumnCompiler = class SqliteColumnCompiler extends orm_sql_1.SqlColumnQueryCompiler {
125
+ compile() {
126
+ const _stmt = [];
127
+ _stmt.push(`\`${this.builder.Name}\``);
128
+ switch (this.builder.Type) {
129
+ case 'binary':
130
+ case 'tinyblob':
131
+ case 'mediumblob':
132
+ case 'longblob':
133
+ _stmt.push('BLOB');
134
+ break;
135
+ case 'string':
136
+ case 'text':
137
+ case 'mediumtext':
138
+ case 'tinytext':
139
+ case 'longtext':
140
+ case 'date':
141
+ case 'dateTime':
142
+ case 'time':
143
+ case 'set':
144
+ _stmt.push(`TEXT`);
145
+ break;
146
+ case 'float':
147
+ case 'double':
148
+ _stmt.push(`REAL`);
149
+ break;
150
+ case 'decimal':
151
+ _stmt.push(`DECIMAL`);
152
+ break;
153
+ case 'int':
154
+ case 'tinyint':
155
+ case 'smallint':
156
+ case 'mediumint':
157
+ case 'bigint':
158
+ case 'boolean':
159
+ _stmt.push('INTEGER');
160
+ break;
161
+ }
162
+ if (this.builder.Unsigned) {
163
+ _stmt.push('UNSIGNED');
164
+ }
165
+ if (this.builder.Charset) {
166
+ _stmt.push(`CHARACTER SET '${this.builder.Charset}'`);
167
+ }
168
+ if (this.builder.Collation) {
169
+ _stmt.push(`COLLATE '${this.builder.Collation}'`);
170
+ }
171
+ if (this.builder.NotNull) {
172
+ _stmt.push('NOT NULL');
173
+ }
174
+ if (this.builder.Default) {
175
+ _stmt.push(this._defaultCompiler());
176
+ }
177
+ if (this.builder.Comment) {
178
+ _stmt.push(`COMMENT '${this.builder.Comment}'`);
179
+ }
180
+ if (this.builder.PrimaryKey) {
181
+ _stmt.push(`PRIMARY KEY`);
182
+ }
183
+ if (this.builder.AutoIncrement) {
184
+ _stmt.push(`AUTOINCREMENT`);
185
+ }
186
+ if (this.builder.Unique) {
187
+ _stmt.push('UNIQUE');
188
+ }
189
+ return {
190
+ bindings: [],
191
+ expression: _stmt.filter((x) => !_.isEmpty(x)).join(' '),
192
+ };
193
+ }
194
+ _defaultCompiler() {
195
+ let _stmt = '';
196
+ if (_.isNil(this.builder.Default) || (_.isString(this.builder.Default) && _.isEmpty(this.builder.Default.trim()))) {
197
+ return _stmt;
198
+ }
199
+ if (_.isString(this.builder.Default)) {
200
+ _stmt = `DEFAULT '${this.builder.Default.trim()}'`;
201
+ }
202
+ else if (_.isNumber(this.builder.Default)) {
203
+ _stmt = `DEFAULT ${this.builder.Default}`;
204
+ }
205
+ else if (this.builder.Default instanceof orm_1.RawQuery) {
206
+ _stmt = `DEFAULT ${this.builder.Default.Query}`;
207
+ }
208
+ return _stmt;
209
+ }
210
+ };
211
+ SqliteColumnCompiler = __decorate([
212
+ (0, di_1.NewInstance)()
213
+ ], SqliteColumnCompiler);
214
+ exports.SqliteColumnCompiler = SqliteColumnCompiler;
215
+ //# sourceMappingURL=compilers.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"compilers.js","sourceRoot":"","sources":["../../../src/compilers.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ import { DatetimeValueConverter } from '@spinajs/orm';
2
+ import { DateTime } from 'luxon';
3
+ export declare class SqliteDatetimeValueConverter extends DatetimeValueConverter {
4
+ toDB(value: Date | DateTime): string;
5
+ fromDB(value: string): DateTime;
6
+ }
@@ -0,0 +1,25 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.SqliteDatetimeValueConverter = void 0;
4
+ /* eslint-disable prettier/prettier */
5
+ const orm_1 = require("@spinajs/orm");
6
+ const luxon_1 = require("luxon");
7
+ class SqliteDatetimeValueConverter extends orm_1.DatetimeValueConverter {
8
+ toDB(value) {
9
+ if (value instanceof Date) {
10
+ return value.toISOString();
11
+ }
12
+ if (value instanceof luxon_1.DateTime) {
13
+ return value.toISO();
14
+ }
15
+ return null;
16
+ }
17
+ fromDB(value) {
18
+ if (!value) {
19
+ return null;
20
+ }
21
+ return luxon_1.DateTime.fromISO(value);
22
+ }
23
+ }
24
+ exports.SqliteDatetimeValueConverter = SqliteDatetimeValueConverter;
25
+ //# sourceMappingURL=converters.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"converters.js","sourceRoot":"","sources":["../../../src/converters.ts"],"names":[],"mappings":";;;AAAA,sCAAsC;AACtC,sCAAsD;AACtD,iCAAiC;AAEjC,MAAa,4BAA6B,SAAQ,4BAAsB;IAC/D,IAAI,CAAC,KAAsB;QAChC,IAAI,KAAK,YAAY,IAAI,EAAE;YACzB,OAAO,KAAK,CAAC,WAAW,EAAE,CAAC;SAC5B;QAED,IAAI,KAAK,YAAY,gBAAQ,EAAE;YAC7B,OAAO,KAAK,CAAC,KAAK,EAAE,CAAC;SACtB;QAED,OAAO,IAAI,CAAC;IACd,CAAC;IAEM,MAAM,CAAC,KAAa;QACzB,IAAI,CAAC,KAAK,EAAE;YACV,OAAO,IAAI,CAAC;SACb;QAED,OAAO,gBAAQ,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;IACjC,CAAC;CACF;AApBD,oEAoBC"}
@@ -0,0 +1,22 @@
1
+ export * from './compilers';
2
+ import { IColumnDescriptor, QueryContext, OrmDriver, QueryBuilder, TransactionCallback } from '@spinajs/orm';
3
+ import { Database } from 'sqlite3';
4
+ import { SqlDriver } from '@spinajs/orm-sql';
5
+ export declare class SqliteOrmDriver extends SqlDriver {
6
+ protected executionId: number;
7
+ protected Db: Database;
8
+ execute(stmt: string, params: unknown[], queryContext: QueryContext): Promise<unknown>;
9
+ ping(): Promise<boolean>;
10
+ connect(): Promise<OrmDriver>;
11
+ disconnect(): Promise<OrmDriver>;
12
+ resolve(): void;
13
+ transaction(qrOrCallback: QueryBuilder[] | TransactionCallback): Promise<void>;
14
+ /**
15
+ *
16
+ * Retrieves information about specific DB table if exists. If table not exists returns null
17
+ *
18
+ * @param name - table name to retrieve info
19
+ * @param _schema - optional schema name
20
+ */
21
+ tableInfo(name: string, _schema?: string): Promise<IColumnDescriptor[]>;
22
+ }