drizzle-orm 0.12.0-beta.2 → 0.12.0-beta.20

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 (95) hide show
  1. package/.turbo/turbo-build:int.log +13 -0
  2. package/.turbo/turbo-test:types.log +5 -0
  3. package/README.md +0 -0
  4. package/dist/alias.d.ts +12 -0
  5. package/dist/alias.js +45 -0
  6. package/dist/alias.js.map +1 -0
  7. package/{branded-types.d.ts → dist/branded-types.d.ts} +0 -0
  8. package/{branded-types.js → dist/branded-types.js} +0 -0
  9. package/{branded-types.js.map → dist/branded-types.js.map} +0 -0
  10. package/dist/column-builder.d.ts +34 -0
  11. package/dist/column-builder.js +28 -0
  12. package/dist/column-builder.js.map +1 -0
  13. package/dist/column.d.ts +43 -0
  14. package/dist/column.js +29 -0
  15. package/dist/column.js.map +1 -0
  16. package/dist/connection.d.ts +32 -0
  17. package/dist/connection.js +77 -0
  18. package/dist/connection.js.map +1 -0
  19. package/{expressions.d.ts → dist/expressions.d.ts} +0 -0
  20. package/{expressions.js → dist/expressions.js} +0 -0
  21. package/{expressions.js.map → dist/expressions.js.map} +0 -0
  22. package/dist/index.d.ts +4 -0
  23. package/{index.js → dist/index.js} +6 -4
  24. package/dist/index.js.map +1 -0
  25. package/dist/operations.d.ts +18 -0
  26. package/{operations.js → dist/operations.js} +0 -0
  27. package/{operations.js.map → dist/operations.js.map} +0 -0
  28. package/dist/package.json +58 -0
  29. package/dist/query-promise.d.ts +7 -0
  30. package/dist/query-promise.js +27 -0
  31. package/dist/query-promise.js.map +1 -0
  32. package/dist/readme.md +30 -0
  33. package/dist/sql/expressions/conditions.d.ts +33 -0
  34. package/{sql → dist/sql}/expressions/conditions.js +4 -4
  35. package/dist/sql/expressions/conditions.js.map +1 -0
  36. package/{sql → dist/sql}/expressions/index.d.ts +0 -0
  37. package/{sql → dist/sql}/expressions/index.js +0 -0
  38. package/{sql → dist/sql}/expressions/index.js.map +0 -0
  39. package/dist/sql/expressions/select.d.ts +4 -0
  40. package/{sql → dist/sql}/expressions/select.js +0 -0
  41. package/dist/sql/expressions/select.js.map +1 -0
  42. package/dist/sql/index.d.ts +88 -0
  43. package/{sql → dist/sql}/index.js +69 -53
  44. package/dist/sql/index.js.map +1 -0
  45. package/dist/table.d.ts +6 -0
  46. package/dist/table.js +26 -0
  47. package/dist/table.js.map +1 -0
  48. package/dist/utils.d.ts +79 -0
  49. package/{utils.js → dist/utils.js} +8 -12
  50. package/dist/utils.js.map +1 -0
  51. package/drizzle-orm-0.12.0-beta.19.tgz +0 -0
  52. package/drizzle-orm-0.12.0-beta.20.tgz +0 -0
  53. package/package.json +15 -32
  54. package/package.tgz +0 -0
  55. package/src/alias.ts +47 -0
  56. package/src/column-builder.ts +69 -0
  57. package/src/column.ts +86 -0
  58. package/src/connection.ts +99 -0
  59. package/src/expressions.ts +1 -0
  60. package/src/index.ts +4 -0
  61. package/src/operations.ts +22 -0
  62. package/src/query-promise.ts +31 -0
  63. package/src/sql/expressions/conditions.ts +168 -0
  64. package/src/sql/expressions/index.ts +2 -0
  65. package/src/sql/expressions/select.ts +10 -0
  66. package/src/sql/index.ts +254 -0
  67. package/src/table.ts +45 -0
  68. package/src/utils.ts +140 -0
  69. package/tsconfig.build.json +8 -0
  70. package/tsconfig.build.tsbuildinfo +1 -0
  71. package/tsconfig.json +7 -0
  72. package/tsconfig.tsbuildinfo +1 -0
  73. package/column-builder.d.ts +0 -14
  74. package/column-builder.js +0 -24
  75. package/column-builder.js.map +0 -1
  76. package/column.d.ts +0 -36
  77. package/column.js +0 -41
  78. package/column.js.map +0 -1
  79. package/connection.d.ts +0 -29
  80. package/connection.js +0 -91
  81. package/connection.js.map +0 -1
  82. package/index.d.ts +0 -4
  83. package/index.js.map +0 -1
  84. package/operations.d.ts +0 -13
  85. package/sql/expressions/conditions.d.ts +0 -33
  86. package/sql/expressions/conditions.js.map +0 -1
  87. package/sql/expressions/select.d.ts +0 -5
  88. package/sql/expressions/select.js.map +0 -1
  89. package/sql/index.d.ts +0 -97
  90. package/sql/index.js.map +0 -1
  91. package/table.d.ts +0 -10
  92. package/table.js +0 -11
  93. package/table.js.map +0 -1
  94. package/utils.d.ts +0 -7
  95. package/utils.js.map +0 -1
@@ -0,0 +1,13 @@
1
+
2
+ > drizzle-orm@0.12.0-beta.17 build:int /Users/alexblokh/Development/drizzle-orm-new/drizzle-orm
3
+ > pnpm build && pnpm run pack
4
+
5
+
6
+ > drizzle-orm@0.12.0-beta.17 build /Users/alexblokh/Development/drizzle-orm-new/drizzle-orm
7
+ > tsc -p tsconfig.build.json
8
+
9
+
10
+ > drizzle-orm@0.12.0-beta.17 pack /Users/alexblokh/Development/drizzle-orm-new/drizzle-orm
11
+ > cp ../README.md package.json dist/ && (cd dist && pnpm pack --pack-destination ..) && rm -f package.tgz && mv *.tgz package.tgz
12
+
13
+ drizzle-orm-0.12.0-beta.17.tgz
@@ -0,0 +1,5 @@
1
+
2
+ > drizzle-orm@0.12.0-beta.17 test:types /Users/alexblokh/Development/drizzle-orm-new/drizzle-orm
3
+ > echo WARN: No tests defined!
4
+
5
+ WARN: No tests defined!
package/README.md ADDED
File without changes
@@ -0,0 +1,12 @@
1
+ import { AnyColumn } from './column';
2
+ import { Table } from './table';
3
+ export declare class ColumnAliasProxyHandler<TColumn extends AnyColumn> implements ProxyHandler<TColumn> {
4
+ private table;
5
+ constructor(table: Table);
6
+ get(columnObj: TColumn, prop: string | symbol, receiver: any): any;
7
+ }
8
+ export declare class TableAliasProxyHandler implements ProxyHandler<Table> {
9
+ private alias;
10
+ constructor(alias: string);
11
+ get(tableObj: Table, prop: string | symbol, receiver: any): any;
12
+ }
package/dist/alias.js ADDED
@@ -0,0 +1,45 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.TableAliasProxyHandler = exports.ColumnAliasProxyHandler = void 0;
4
+ const column_1 = require("./column");
5
+ const table_1 = require("./table");
6
+ class ColumnAliasProxyHandler {
7
+ constructor(table) {
8
+ this.table = table;
9
+ }
10
+ get(columnObj, prop, receiver) {
11
+ if (prop === 'table') {
12
+ return this.table;
13
+ }
14
+ return columnObj[prop];
15
+ }
16
+ }
17
+ exports.ColumnAliasProxyHandler = ColumnAliasProxyHandler;
18
+ class TableAliasProxyHandler {
19
+ constructor(alias) {
20
+ this.alias = alias;
21
+ }
22
+ get(tableObj, prop, receiver) {
23
+ if (prop === table_1.Table.Symbol.Name) {
24
+ return this.alias;
25
+ }
26
+ if (prop === table_1.Table.Symbol.Columns) {
27
+ const columns = tableObj[table_1.Table.Symbol.Columns];
28
+ if (!columns) {
29
+ return columns;
30
+ }
31
+ const proxiedColumns = {};
32
+ Object.keys(columns).map((key) => {
33
+ proxiedColumns[key] = new Proxy(columns[key], new ColumnAliasProxyHandler(new Proxy(tableObj, this)));
34
+ });
35
+ return proxiedColumns;
36
+ }
37
+ const value = tableObj[prop];
38
+ if (value instanceof column_1.Column) {
39
+ return new Proxy(value, new ColumnAliasProxyHandler(new Proxy(tableObj, this)));
40
+ }
41
+ return value;
42
+ }
43
+ }
44
+ exports.TableAliasProxyHandler = TableAliasProxyHandler;
45
+ //# sourceMappingURL=alias.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"alias.js","sourceRoot":"","sources":["../src/alias.ts"],"names":[],"mappings":";;;AAAA,qCAA6C;AAC7C,mCAAgC;AAEhC,MAAa,uBAAuB;IACnC,YAAoB,KAAY;QAAZ,UAAK,GAAL,KAAK,CAAO;IAAG,CAAC;IAEpC,GAAG,CAAC,SAAkB,EAAE,IAAqB,EAAE,QAAa;QAC3D,IAAI,IAAI,KAAK,OAAO,EAAE;YACrB,OAAO,IAAI,CAAC,KAAK,CAAC;SAClB;QACD,OAAO,SAAS,CAAC,IAAqB,CAAC,CAAC;IACzC,CAAC;CACD;AATD,0DASC;AAED,MAAa,sBAAsB;IAClC,YAAoB,KAAa;QAAb,UAAK,GAAL,KAAK,CAAQ;IAAG,CAAC;IAErC,GAAG,CAAC,QAAe,EAAE,IAAqB,EAAE,QAAa;QACxD,IAAI,IAAI,KAAK,aAAK,CAAC,MAAM,CAAC,IAAI,EAAE;YAC/B,OAAO,IAAI,CAAC,KAAK,CAAC;SAClB;QACD,IAAI,IAAI,KAAK,aAAK,CAAC,MAAM,CAAC,OAAO,EAAE;YAClC,MAAM,OAAO,GAAG,QAAQ,CAAC,aAAK,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;YAC/C,IAAI,CAAC,OAAO,EAAE;gBACb,OAAO,OAAO,CAAC;aACf;YAED,MAAM,cAAc,GAA2B,EAAE,CAAC;YAElD,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE;gBAChC,cAAc,CAAC,GAAG,CAAC,GAAG,IAAI,KAAK,CAC9B,OAAO,CAAC,GAAG,CAAE,EACb,IAAI,uBAAuB,CAAC,IAAI,KAAK,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC,CACtD,CAAC;YACH,CAAC,CAAC,CAAC;YAEH,OAAO,cAAc,CAAC;SACtB;QAED,MAAM,KAAK,GAAG,QAAQ,CAAC,IAAmB,CAAC,CAAC;QAC5C,IAAI,KAAK,YAAY,eAAM,EAAE;YAC5B,OAAO,IAAI,KAAK,CAAC,KAAK,EAAE,IAAI,uBAAuB,CAAC,IAAI,KAAK,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC;SAChF;QAED,OAAO,KAAK,CAAC;IACd,CAAC;CACD;AAhCD,wDAgCC"}
File without changes
File without changes
@@ -0,0 +1,34 @@
1
+ import { SQL } from './sql';
2
+ import { Update } from './utils';
3
+ export interface ColumnBuilderBaseConfig {
4
+ data: unknown;
5
+ driverParam: unknown;
6
+ notNull: boolean;
7
+ hasDefault: boolean;
8
+ }
9
+ export declare type ColumnBuilderConfig<TPartial extends Partial<ColumnBuilderBaseConfig> = {}> = Update<ColumnBuilderBaseConfig & {
10
+ notNull: false;
11
+ hasDefault: false;
12
+ }, TPartial>;
13
+ export declare abstract class ColumnBuilder<T extends Partial<ColumnBuilderBaseConfig>> {
14
+ protected $brand: {
15
+ type: 'ColumnBuilder';
16
+ subtype: string;
17
+ };
18
+ protected $config: T;
19
+ protected $data: T['data'];
20
+ protected $driverParam: T['driverParam'];
21
+ protected $notNull: T['notNull'];
22
+ protected $hasDefault: T['hasDefault'];
23
+ constructor(name: string);
24
+ notNull(): ColumnBuilder<UpdateCBConfig<T, {
25
+ notNull: true;
26
+ }>>;
27
+ default(value: T['data'] | SQL): ColumnBuilder<UpdateCBConfig<T, {
28
+ hasDefault: true;
29
+ }>>;
30
+ primaryKey(): ColumnBuilder<UpdateCBConfig<T, {
31
+ notNull: true;
32
+ }>>;
33
+ }
34
+ export declare type UpdateCBConfig<T extends Partial<ColumnBuilderBaseConfig>, TUpdate extends Partial<ColumnBuilderBaseConfig>> = Update<T, TUpdate>;
@@ -0,0 +1,28 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ColumnBuilder = void 0;
4
+ // To understand how to use `ColumnBuilder` and `AnyColumnBuilder`, see `Column` and `AnyColumn` documentation.
5
+ class ColumnBuilder {
6
+ constructor(name) {
7
+ this.config = {
8
+ name,
9
+ notNull: false,
10
+ default: undefined,
11
+ primaryKey: false,
12
+ };
13
+ }
14
+ notNull() {
15
+ this.config.notNull = true;
16
+ return this;
17
+ }
18
+ default(value) {
19
+ this.config.default = value;
20
+ return this;
21
+ }
22
+ primaryKey() {
23
+ this.config.primaryKey = true;
24
+ return this;
25
+ }
26
+ }
27
+ exports.ColumnBuilder = ColumnBuilder;
28
+ //# sourceMappingURL=column-builder.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"column-builder.js","sourceRoot":"","sources":["../src/column-builder.ts"],"names":[],"mappings":";;;AAkBA,+GAA+G;AAC/G,MAAsB,aAAa;IAmBlC,YAAY,IAAY;QACvB,IAAI,CAAC,MAAM,GAAG;YACb,IAAI;YACJ,OAAO,EAAE,KAAK;YACd,OAAO,EAAE,SAAS;YAClB,UAAU,EAAE,KAAK;SACjB,CAAC;IACH,CAAC;IAED,OAAO;QACN,IAAI,CAAC,MAAM,CAAC,OAAO,GAAG,IAAI,CAAC;QAC3B,OAAO,IAAmC,CAAC;IAC5C,CAAC;IAED,OAAO,CACN,KAAsB;QAEtB,IAAI,CAAC,MAAM,CAAC,OAAO,GAAG,KAAK,CAAC;QAC5B,OAAO,IAAmC,CAAC;IAC5C,CAAC;IAED,UAAU;QACT,IAAI,CAAC,MAAM,CAAC,UAAU,GAAG,IAAI,CAAC;QAC9B,OAAO,IAAsC,CAAC;IAC/C,CAAC;CACD;AA5CD,sCA4CC"}
@@ -0,0 +1,43 @@
1
+ import { ColumnBuilder, ColumnBuilderBaseConfig, ColumnBuilderConfig } from './column-builder';
2
+ import { DriverValueMapper, SQL } from './sql';
3
+ import { Table } from './table';
4
+ import { Update } from './utils';
5
+ export interface ColumnBaseConfig extends ColumnBuilderBaseConfig {
6
+ tableName: string;
7
+ }
8
+ export declare type ColumnConfig<TPartial extends Partial<ColumnBaseConfig> = {}> = Update<ColumnBuilderConfig & {
9
+ tableName: string;
10
+ }, TPartial>;
11
+ export declare abstract class Column<T extends Partial<ColumnBaseConfig>> implements DriverValueMapper<T['data'], T['driverParam']> {
12
+ readonly table: Table<T['tableName']>;
13
+ protected $brand: 'Column';
14
+ protected $config: T;
15
+ protected $data: T['data'];
16
+ protected $driverParam: T['driverParam'];
17
+ protected $notNull: T['notNull'];
18
+ protected $hasDefault: T['hasDefault'];
19
+ readonly name: string;
20
+ readonly primary: boolean;
21
+ readonly notNull: boolean;
22
+ readonly default: T['data'] | SQL | undefined;
23
+ constructor(table: Table<T['tableName']>, builder: ColumnBuilder<Omit<T, 'tableName'>>);
24
+ abstract getSQLType(): string;
25
+ mapFromDriverValue(value: T['driverParam']): T['data'];
26
+ mapToDriverValue(value: T['data']): T['driverParam'];
27
+ }
28
+ export declare type UpdateColConfig<T extends Partial<ColumnBaseConfig>, TUpdate extends Partial<ColumnBaseConfig>> = Update<T, TUpdate>;
29
+ export declare type AnyColumn<TPartial extends Partial<ColumnBaseConfig> = {}> = Column<Update<ColumnBaseConfig, TPartial>>;
30
+ export declare type GetColumnData<TColumn extends AnyColumn, TInferMode extends 'query' | 'raw' = 'query'> = TColumn extends AnyColumn<{
31
+ data: infer TData;
32
+ notNull: infer TNotNull extends boolean;
33
+ }> ? TInferMode extends 'raw' ? TData : TNotNull extends true ? TData : TData | null : never;
34
+ /**
35
+ `GetColumnConfig` can be used to infer either the full config of the column or a single parameter.
36
+ @example
37
+ type TConfig = GetColumnConfig<typeof column>;
38
+ type TNotNull = GetColumnConfig<typeof column, 'notNull'>;
39
+ */
40
+ export declare type GetColumnConfig<TColumn extends AnyColumn, TParam extends keyof ColumnBaseConfig | undefined = undefined> = TColumn extends Column<infer TConfig> ? TParam extends keyof ColumnBaseConfig ? TConfig[TParam] : TConfig : never;
41
+ export declare type InferColumnsDataTypes<TColumns extends Record<string, AnyColumn>> = {
42
+ [Key in keyof TColumns]: GetColumnData<TColumns[Key], 'query'>;
43
+ };
package/dist/column.js ADDED
@@ -0,0 +1,29 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Column = void 0;
4
+ // export type UpdateColumnConfig<
5
+ // T extends ColumnBaseConfig,
6
+ // TUpdate extends Partial<ColumnBaseConfig>,
7
+ // > = Update<T, TUpdate, keyof ColumnBaseConfig>;
8
+ /*
9
+ `Column` only accepts a full `ColumnConfig` as its generic.
10
+ To infer parts of the config, use `AnyColumn` that accepts a partial config.
11
+ See `GetColumnData` for example usage of inferring.
12
+ */
13
+ class Column {
14
+ constructor(table, builder) {
15
+ this.table = table;
16
+ this.name = builder.config.name;
17
+ this.notNull = builder.config.notNull;
18
+ this.default = builder.config.default;
19
+ this.primary = builder.config.primaryKey;
20
+ }
21
+ mapFromDriverValue(value) {
22
+ return value;
23
+ }
24
+ mapToDriverValue(value) {
25
+ return value;
26
+ }
27
+ }
28
+ exports.Column = Column;
29
+ //# sourceMappingURL=column.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"column.js","sourceRoot":"","sources":["../src/column.ts"],"names":[],"mappings":";;;AAcA,kCAAkC;AAClC,+BAA+B;AAC/B,8CAA8C;AAC9C,kDAAkD;AAElD;;;;EAIE;AACF,MAAsB,MAAM;IAe3B,YAAqB,KAA4B,EAAE,OAA4C;QAA1E,UAAK,GAAL,KAAK,CAAuB;QAChD,IAAI,CAAC,IAAI,GAAG,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC;QAChC,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC;QACtC,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC;QACtC,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,UAAU,CAAC;IAC1C,CAAC;IAID,kBAAkB,CAAC,KAAuB;QACzC,OAAO,KAAY,CAAC;IACrB,CAAC;IAED,gBAAgB,CAAC,KAAgB;QAChC,OAAO,KAAY,CAAC;IACrB,CAAC;CACD;AA/BD,wBA+BC"}
@@ -0,0 +1,32 @@
1
+ export declare type MigrationMeta = {
2
+ sql: string;
3
+ folderMillis: number;
4
+ hash: string;
5
+ };
6
+ export interface Logger {
7
+ logQuery(query: string, params: unknown[]): void;
8
+ }
9
+ export interface LogWriter {
10
+ write(message: string): void;
11
+ }
12
+ export declare class ConsoleLogWriter implements LogWriter {
13
+ write(message: string): void;
14
+ }
15
+ export declare class DefaultLogger implements Logger {
16
+ readonly writer: LogWriter;
17
+ constructor(config?: {
18
+ writer: LogWriter;
19
+ });
20
+ logQuery(query: string, params: unknown[]): void;
21
+ }
22
+ export declare class NoopLogger implements Logger {
23
+ logQuery(): void;
24
+ }
25
+ export interface KitConfig {
26
+ out: string;
27
+ schema: string;
28
+ }
29
+ export interface MigrationConfig {
30
+ migrationsFolder: string;
31
+ }
32
+ export declare function readMigrationFiles(config: string | MigrationConfig): MigrationMeta[];
@@ -0,0 +1,77 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.readMigrationFiles = exports.NoopLogger = exports.DefaultLogger = exports.ConsoleLogWriter = void 0;
4
+ class ConsoleLogWriter {
5
+ write(message) {
6
+ console.log(message);
7
+ }
8
+ }
9
+ exports.ConsoleLogWriter = ConsoleLogWriter;
10
+ class DefaultLogger {
11
+ constructor(config = { writer: new ConsoleLogWriter() }) {
12
+ this.writer = config.writer;
13
+ }
14
+ logQuery(query, params) {
15
+ const stringifiedParams = params.map((p) => {
16
+ try {
17
+ return JSON.stringify(p);
18
+ }
19
+ catch (e) {
20
+ return String(p);
21
+ }
22
+ });
23
+ const paramsStr = stringifiedParams.length ? ` -- params: [${stringifiedParams.join(', ')}]` : '';
24
+ this.writer.write(`Query: ${query}${paramsStr}`);
25
+ }
26
+ }
27
+ exports.DefaultLogger = DefaultLogger;
28
+ class NoopLogger {
29
+ logQuery() { }
30
+ }
31
+ exports.NoopLogger = NoopLogger;
32
+ function readMigrationFiles(config) {
33
+ const fs = require('fs');
34
+ const crypto = require('crypto');
35
+ const path = require('path');
36
+ let migrationFolderTo;
37
+ if (typeof config === 'string') {
38
+ const configAsString = fs.readFileSync(path.resolve('.', config), 'utf8');
39
+ const jsonConfig = JSON.parse(configAsString);
40
+ migrationFolderTo = jsonConfig.out;
41
+ }
42
+ else {
43
+ migrationFolderTo = config.migrationsFolder;
44
+ }
45
+ if (!migrationFolderTo) {
46
+ throw Error('no migration folder defined');
47
+ }
48
+ const files = fs.readdirSync(migrationFolderTo);
49
+ const migrationQueries = [];
50
+ for (const migrationFolder of files) {
51
+ if (migrationFolder === '.DS_Store') {
52
+ continue;
53
+ }
54
+ const migrationFiles = fs.readdirSync(`${migrationFolderTo}/${migrationFolder}`);
55
+ const migrationFile = migrationFiles.filter((file) => file === 'migration.sql')[0];
56
+ const query = fs
57
+ .readFileSync(`${migrationFolderTo}/${migrationFolder}/${migrationFile}`)
58
+ .toString();
59
+ const year = Number(migrationFolder.slice(0, 4));
60
+ // second param for Date() is month index, that started from 0, so we need
61
+ // to decrement a value for month
62
+ const month = Number(migrationFolder.slice(4, 6)) - 1;
63
+ const day = Number(migrationFolder.slice(6, 8));
64
+ const hour = Number(migrationFolder.slice(8, 10));
65
+ const min = Number(migrationFolder.slice(10, 12));
66
+ const sec = Number(migrationFolder.slice(12, 14));
67
+ const folderAsMillis = Date.UTC(year, month, day, hour, min, sec);
68
+ migrationQueries.push({
69
+ sql: query,
70
+ folderMillis: folderAsMillis,
71
+ hash: crypto.createHash('sha256').update(query).digest('hex'),
72
+ });
73
+ }
74
+ return migrationQueries;
75
+ }
76
+ exports.readMigrationFiles = readMigrationFiles;
77
+ //# sourceMappingURL=connection.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"connection.js","sourceRoot":"","sources":["../src/connection.ts"],"names":[],"mappings":"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"}
File without changes
File without changes
File without changes
@@ -0,0 +1,4 @@
1
+ export * from './column';
2
+ export * from './connection';
3
+ export { param, sql } from './sql';
4
+ export { Table } from './table';
@@ -14,10 +14,12 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
14
  for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
15
  };
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
- exports.sql = void 0;
18
- var sql_1 = require("./sql");
19
- Object.defineProperty(exports, "sql", { enumerable: true, get: function () { return sql_1.sql; } });
20
- __exportStar(require("./table"), exports);
17
+ exports.Table = exports.sql = exports.param = void 0;
21
18
  __exportStar(require("./column"), exports);
22
19
  __exportStar(require("./connection"), exports);
20
+ var sql_1 = require("./sql");
21
+ Object.defineProperty(exports, "param", { enumerable: true, get: function () { return sql_1.param; } });
22
+ Object.defineProperty(exports, "sql", { enumerable: true, get: function () { return sql_1.sql; } });
23
+ var table_1 = require("./table");
24
+ Object.defineProperty(exports, "Table", { enumerable: true, get: function () { return table_1.Table; } });
23
25
  //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,2CAAyB;AACzB,+CAA6B;AAC7B,6BAAmC;AAA1B,4FAAA,KAAK,OAAA;AAAE,0FAAA,GAAG,OAAA;AACnB,iCAAgC;AAAvB,8FAAA,KAAK,OAAA"}
@@ -0,0 +1,18 @@
1
+ import { AnyColumn } from './column';
2
+ import { SQL, SQLResponse } from './sql';
3
+ export declare type RequiredKeyOnly<TKey extends string, T extends AnyColumn> = T extends AnyColumn<{
4
+ notNull: true;
5
+ hasDefault: false;
6
+ }> ? TKey : never;
7
+ export declare type OptionalKeyOnly<TKey extends string, T extends AnyColumn> = TKey extends RequiredKeyOnly<TKey, T> ? never : TKey;
8
+ export declare type SelectFields<TTableName extends string, TColumnDriverParam> = {
9
+ [key: string]: SQL | SQLResponse | AnyColumn<{
10
+ tableName: TTableName;
11
+ driverParam: TColumnDriverParam;
12
+ }>;
13
+ };
14
+ export declare type SelectFieldsOrdered = {
15
+ name: string;
16
+ resultTableName: string;
17
+ field: AnyColumn | SQL | SQLResponse;
18
+ }[];
File without changes
File without changes
@@ -0,0 +1,58 @@
1
+ {
2
+ "name": "drizzle-orm",
3
+ "version": "0.12.0-beta.17",
4
+ "description": "Drizzle ORM package for SQL databases",
5
+ "main": "index.js",
6
+ "types": "index.d.ts",
7
+ "scripts": {
8
+ "build": "tsc -p tsconfig.build.json",
9
+ "test:types": "echo WARN: No tests defined!",
10
+ "pack": "cp ../README.md package.json dist/ && (cd dist && pnpm pack --pack-destination ..) && rm -f package.tgz && mv *.tgz package.tgz",
11
+ "publish": "npm publish package.tgz",
12
+ "publish:beta": "npm publish package.tgz --tag beta",
13
+ "release:beta": "pnpm build && pnpm version prerelease && pnpm run pack && pnpm publish:beta",
14
+ "build:int": "pnpm build && pnpm run pack"
15
+ },
16
+ "publishConfig": {
17
+ "access": "public"
18
+ },
19
+ "repository": {
20
+ "type": "git",
21
+ "url": "git+https://github.com/drizzle-team/drizzle-orm.git"
22
+ },
23
+ "keywords": [
24
+ "orm",
25
+ "pg",
26
+ "mysql",
27
+ "postgresql",
28
+ "postgres",
29
+ "database",
30
+ "sql",
31
+ "typescript"
32
+ ],
33
+ "author": "",
34
+ "license": "Apache-2.0",
35
+ "bugs": {
36
+ "url": "https://github.com/drizzle-team/drizzle-orm/issues"
37
+ },
38
+ "homepage": "https://github.com/drizzle-team/drizzle-orm#readme",
39
+ "peerDependencies": {
40
+ "drizzle-orm-mysql": ">=0.12.0 <0.13.0 || >=0.12.0-beta.0 <0.13.0-beta.0",
41
+ "drizzle-orm-pg": ">=0.12.0 <0.13.0 || >=0.12.0-beta.0 <0.13.0-beta.0",
42
+ "drizzle-orm-sqlite": ">=0.12.0 <0.13.0 || >=0.12.0-beta.0 <0.13.0-beta.0"
43
+ },
44
+ "peerDependenciesMeta": {
45
+ "drizzle-orm-mysql": {
46
+ "optional": true
47
+ },
48
+ "drizzle-orm-pg": {
49
+ "optional": true
50
+ },
51
+ "drizzle-orm-sqlite": {
52
+ "optional": true
53
+ }
54
+ },
55
+ "devDependencies": {
56
+ "@types/node": "^18.11.9"
57
+ }
58
+ }
@@ -0,0 +1,7 @@
1
+ export declare abstract class QueryPromise<T> implements Promise<T> {
2
+ [Symbol.toStringTag]: string;
3
+ catch<TResult = never>(onRejected?: ((reason: any) => TResult | PromiseLike<TResult>) | null | undefined): Promise<T | TResult>;
4
+ finally(onFinally?: (() => void) | null | undefined): Promise<T>;
5
+ then<TResult1 = T, TResult2 = never>(onFulfilled?: ((value: T) => TResult1 | PromiseLike<TResult1>) | undefined | null, onRejected?: ((reason: any) => TResult2 | PromiseLike<TResult2>) | undefined | null): Promise<TResult1 | TResult2>;
6
+ protected abstract execute(): Promise<T>;
7
+ }
@@ -0,0 +1,27 @@
1
+ "use strict";
2
+ var _a;
3
+ Object.defineProperty(exports, "__esModule", { value: true });
4
+ exports.QueryPromise = void 0;
5
+ class QueryPromise {
6
+ constructor() {
7
+ this[_a] = 'QueryPromise';
8
+ }
9
+ catch(onRejected) {
10
+ return this.then(undefined, onRejected);
11
+ }
12
+ finally(onFinally) {
13
+ return this.then((value) => {
14
+ onFinally === null || onFinally === void 0 ? void 0 : onFinally();
15
+ return value;
16
+ }, (reason) => {
17
+ onFinally === null || onFinally === void 0 ? void 0 : onFinally();
18
+ return Promise.reject(reason);
19
+ });
20
+ }
21
+ then(onFulfilled, onRejected) {
22
+ return this.execute().then(onFulfilled, onRejected);
23
+ }
24
+ }
25
+ exports.QueryPromise = QueryPromise;
26
+ _a = Symbol.toStringTag;
27
+ //# sourceMappingURL=query-promise.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"query-promise.js","sourceRoot":"","sources":["../src/query-promise.ts"],"names":[],"mappings":";;;;AAAA,MAAsB,YAAY;IAAlC;QACC,QAAoB,GAAG,cAAc,CAAC;IA6BvC,CAAC;IA3BA,KAAK,CACJ,UAAiF;QAEjF,OAAO,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC;IACzC,CAAC;IAED,OAAO,CAAC,SAA2C;QAClD,OAAO,IAAI,CAAC,IAAI,CACf,CAAC,KAAK,EAAE,EAAE;YACT,SAAS,aAAT,SAAS,uBAAT,SAAS,EAAI,CAAC;YACd,OAAO,KAAK,CAAC;QACd,CAAC,EACD,CAAC,MAAM,EAAE,EAAE;YACV,SAAS,aAAT,SAAS,uBAAT,SAAS,EAAI,CAAC;YACd,OAAO,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QAC/B,CAAC,CACD,CAAC;IACH,CAAC;IAED,IAAI,CACH,WAAiF,EACjF,UAAmF;QAEnF,OAAO,IAAI,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC,WAAW,EAAE,UAAU,CAAC,CAAC;IACrD,CAAC;CAGD;AA9BD,oCA8BC;KA7BC,MAAM,CAAC,WAAW"}
package/dist/readme.md ADDED
@@ -0,0 +1,30 @@
1
+ ## DrizzleORM
2
+ DrizzleORM is a TypeScript ORM library with a [drizzle-kit](#migrations) CLI companion for automatic SQL migrations generation.
3
+ It's meant to be a library, not a framework, stay as an opt-in solution all the time at any levels.
4
+ We try to follow SQL-like syntax whenever possible, be strongly typed ground top and fail in compile time, not in runtime.
5
+ We implemented best in class `joins` and second to none `migrations generation`.
6
+ Library has almost zero dependencies and being battle tested on production projects by multiple teams 🚀
7
+
8
+ | database | support | |
9
+ |:-- | :---: | :-- |
10
+ | PostgreSQL | ✅ |[Docs](https://github.com/drizzle-team/drizzle-orm/tree/main/drizzle-orm-pg)|
11
+ | MySQL | ✅ |[Docs](https://github.com/drizzle-team/drizzle-orm/tree/main/drizzle-orm-mysql)| |
12
+ | SQLite | ⏳ | |
13
+ | DynamoDB | ⏳ | |
14
+ | MS SQL | ⏳ | |
15
+ | CockroachDB | ⏳ | |
16
+
17
+ ### Installation
18
+ ```bash
19
+ // postgresql
20
+ npm install drizzle-orm drizzle-orm-pg
21
+ npm install -D drizzle-kit
22
+
23
+ // mysql
24
+ npm install drizzle-orm drizzle-orm-mysql
25
+ npm install -D drizzle-kit
26
+
27
+ // sqlite
28
+ npm install drizzle-orm drizzle-orm-sqlite
29
+ npm install -D drizzle-kit
30
+ ```
@@ -0,0 +1,33 @@
1
+ import { AnyColumn, GetColumnData } from '../../column';
2
+ import { Placeholder, SQL, SQLWrapper } from '..';
3
+ export declare function eq<TColumn extends AnyColumn>(column: TColumn, value: GetColumnData<TColumn, 'raw'> | Placeholder): SQL;
4
+ export declare function eq(left: AnyColumn, right: AnyColumn): SQL;
5
+ export declare function ne<TColumn extends AnyColumn>(column: TColumn, value: GetColumnData<TColumn> | Placeholder): SQL;
6
+ export declare function ne(left: AnyColumn, right: AnyColumn): SQL;
7
+ export declare function and(...conditions: (SQL | undefined)[]): SQL | undefined;
8
+ export declare function or(...conditions: (SQL | undefined)[]): SQL | undefined;
9
+ export declare function not(condition: SQL): SQL;
10
+ export declare function gt<TColumn extends AnyColumn>(column: TColumn, value: GetColumnData<TColumn> | Placeholder): SQL;
11
+ export declare function gt(left: AnyColumn, right: AnyColumn): SQL;
12
+ export declare function gte<TColumn extends AnyColumn>(column: TColumn, value: GetColumnData<TColumn> | Placeholder): SQL;
13
+ export declare function gte(left: AnyColumn, right: AnyColumn): SQL;
14
+ export declare function lt<TColumn extends AnyColumn>(column: TColumn, value: GetColumnData<TColumn> | Placeholder): SQL;
15
+ export declare function lt(left: AnyColumn, right: AnyColumn): SQL;
16
+ export declare function lte<TColumn extends AnyColumn>(column: TColumn, value: GetColumnData<TColumn> | Placeholder): SQL;
17
+ export declare function lte(left: AnyColumn, right: AnyColumn): SQL;
18
+ export declare function inArray<TColumn extends AnyColumn>(column: TColumn, values: (GetColumnData<TColumn> | Placeholder)[]): SQL;
19
+ export declare function inArray(column: AnyColumn, subquery: SQLWrapper): SQL;
20
+ export declare function notInArray<TColumn extends AnyColumn>(column: TColumn, values: (GetColumnData<TColumn> | Placeholder)[]): SQL;
21
+ export declare function notInArray(column: AnyColumn, subquery: SQLWrapper): SQL;
22
+ export declare function isNull(column: AnyColumn<{
23
+ notNull: false;
24
+ }>): SQL;
25
+ export declare function isNotNull(column: AnyColumn): SQL;
26
+ export declare function exists(subquery: SQLWrapper): SQL;
27
+ export declare function notExists(subquery: SQLWrapper): SQL;
28
+ export declare function between<TColumn extends AnyColumn>(column: TColumn, min: GetColumnData<TColumn, 'raw'> | Placeholder, max: GetColumnData<TColumn, 'raw'> | Placeholder): SQL;
29
+ export declare function notBetween<TColumn extends AnyColumn>(column: TColumn, min: GetColumnData<TColumn, 'raw'> | Placeholder, max: GetColumnData<TColumn, 'raw'> | Placeholder): SQL;
30
+ export declare function like(column: AnyColumn, value: string): SQL;
31
+ export declare function notLike(column: AnyColumn, value: string): SQL;
32
+ export declare function ilike(column: AnyColumn, value: string): SQL;
33
+ export declare function notIlike(column: AnyColumn, value: string): SQL;
@@ -4,11 +4,11 @@ exports.notIlike = exports.ilike = exports.notLike = exports.like = exports.notB
4
4
  const column_1 = require("../../column");
5
5
  const __1 = require("..");
6
6
  function bindIfParam(value, column) {
7
- if (value instanceof column_1.Column) {
7
+ if (value instanceof column_1.Column || value instanceof __1.Placeholder) {
8
8
  return value;
9
9
  }
10
10
  else {
11
- return new __1.BoundParamValue(value, column);
11
+ return new __1.Param(value, column);
12
12
  }
13
13
  }
14
14
  function eq(left, right) {
@@ -84,7 +84,7 @@ function inArray(column, values) {
84
84
  if (values.length === 0) {
85
85
  throw new Error('inArray requires at least one value');
86
86
  }
87
- return (0, __1.sql) `${column} in ${values.map((v) => new __1.BoundParamValue(v, column))}`;
87
+ return (0, __1.sql) `${column} in ${values.map((v) => bindIfParam(v, column))}`;
88
88
  }
89
89
  exports.inArray = inArray;
90
90
  function notInArray(column, values) {
@@ -94,7 +94,7 @@ function notInArray(column, values) {
94
94
  if (values.length === 0) {
95
95
  throw new Error('notInArray requires at least one value');
96
96
  }
97
- return (0, __1.sql) `${column} not in ${values.map((v) => new __1.BoundParamValue(v, column))}`;
97
+ return (0, __1.sql) `${column} not in ${values.map((v) => new __1.Param(v, column))}`;
98
98
  }
99
99
  exports.notInArray = notInArray;
100
100
  function isNull(column) {
@@ -0,0 +1 @@
1
+ {"version":3,"file":"conditions.js","sourceRoot":"","sources":["../../../src/sql/expressions/conditions.ts"],"names":[],"mappings":"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"}
File without changes
File without changes
File without changes
@@ -0,0 +1,4 @@
1
+ import { AnyColumn } from '../../column';
2
+ import { SQL } from '..';
3
+ export declare function asc(column: AnyColumn): SQL;
4
+ export declare function desc(column: AnyColumn): SQL;