@casekit/orm 0.0.1-alpha.12 → 0.0.1-alpha.13
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 +13 -3
- package/.env +0 -2
- package/.eslintrc.cjs +0 -69
- package/.github/actions/ci-setup/action.yml +0 -19
- package/.github/dependabot.yml +0 -12
- package/.github/workflows/ci.yml +0 -119
- package/.github/workflows/dependabot.yml +0 -26
- package/.github/workflows/semgrep.yml +0 -24
- package/.prettierrc.cjs +0 -11
- package/.vscode/tasks.json +0 -28
- package/codecov.yml +0 -7
- package/lib/orm.query.test.d.ts +0 -2
- package/lib/orm.query.test.d.ts.map +0 -1
- package/lib/orm.query.test.js +0 -22
- package/lib/orm.query.test.js.map +0 -1
- package/src/Connection.ts +0 -65
- package/src/errors.ts +0 -18
- package/src/index.ts +0 -16
- package/src/logger.ts +0 -3
- package/src/migrate/commands/implode.ts +0 -46
- package/src/migrate/index.ts +0 -1
- package/src/migrate/migrator.ts +0 -24
- package/src/migrate/sql/createExtensionsSql.test.ts +0 -26
- package/src/migrate/sql/createExtensionsSql.ts +0 -16
- package/src/migrate/sql/createForeignKeyConstraintSql.test.ts +0 -50
- package/src/migrate/sql/createForeignKeyConstraintSql.ts +0 -44
- package/src/migrate/sql/createSchemasSql.test.ts +0 -81
- package/src/migrate/sql/createSchemasSql.ts +0 -15
- package/src/migrate/sql/createTableSql.properties.ts +0 -38
- package/src/migrate/sql/createTableSql.test.ts +0 -74
- package/src/migrate/sql/createTableSql.ts +0 -53
- package/src/migrate/sql/createUniqueConstraintSql.ts +0 -27
- package/src/migrate/sql/dropSchemasSql.ts +0 -15
- package/src/migrate/sql/dropTableSql.ts +0 -13
- package/src/orm.query.test.ts +0 -28
- package/src/orm.ts +0 -370
- package/src/pull/index.ts +0 -1
- package/src/pull/introspect/getForeignKeys.ts +0 -64
- package/src/pull/introspect/getPrimaryKeys.ts +0 -26
- package/src/pull/introspect/getTables.ts +0 -51
- package/src/pull/introspect/getUniqueConstraints.ts +0 -39
- package/src/pull/parse/parseCreateUniqueIndexStatement.test.ts +0 -14
- package/src/pull/parse/parseCreateUniqueIndexStatement.ts +0 -19
- package/src/pull/pull.ts +0 -78
- package/src/pull/render/renderModel.test.ts +0 -144
- package/src/pull/render/renderModel.ts +0 -141
- package/src/pull/render/renderModelsIndex.ts +0 -24
- package/src/pull/render/renderRelations.ts +0 -77
- package/src/pull/render/renderRelationsIndex.ts +0 -24
- package/src/pull/types/ColumnMeta.ts +0 -10
- package/src/pull/types/ForeignKey.ts +0 -6
- package/src/pull/types/PrimaryKey.ts +0 -6
- package/src/pull/types/UniqueConstraint.ts +0 -8
- package/src/pull/util/format.ts +0 -17
- package/src/pull/util/quote.ts +0 -7
- package/src/pull/util/unquote.ts +0 -9
- package/src/queries/clauses/IncludeClause.ts +0 -39
- package/src/queries/clauses/LateralByClause.ts +0 -4
- package/src/queries/clauses/ReturningClause.ts +0 -7
- package/src/queries/clauses/SelectClause.ts +0 -7
- package/src/queries/clauses/WhereClause.ts +0 -16
- package/src/queries/clauses/helpers/OptionalColumn.ts +0 -18
- package/src/queries/clauses/helpers/OptionalParams.ts +0 -14
- package/src/queries/clauses/helpers/RequiredColumn.ts +0 -8
- package/src/queries/clauses/helpers/RequiredParams.ts +0 -14
- package/src/queries/clauses/include/IncludedRelationModel.ts +0 -13
- package/src/queries/clauses/include/IncludedRelationName.ts +0 -11
- package/src/queries/clauses/include/IncludedRelationQuery.ts +0 -20
- package/src/queries/clauses/where/buildWhereClause.ts +0 -121
- package/src/queries/clauses/where/buildWhereClauses.test.ts +0 -145
- package/src/queries/clauses/where/buildWhereClauses.ts +0 -45
- package/src/queries/clauses/where/operators.ts +0 -13
- package/src/queries/clauses/where/types/WhereClauseValue.ts +0 -39
- package/src/queries/count/buildCount.ts +0 -77
- package/src/queries/count/countToSql.ts +0 -66
- package/src/queries/count/tests/count.test.ts +0 -35
- package/src/queries/count/types/BaseCountParams.ts +0 -11
- package/src/queries/count/types/CountBuilder.ts +0 -45
- package/src/queries/count/types/CountParams.ts +0 -27
- package/src/queries/count.ts +0 -33
- package/src/queries/create/buildCreate.ts +0 -67
- package/src/queries/create/createResultSchema.ts +0 -24
- package/src/queries/create/createToSql.ts +0 -44
- package/src/queries/create/tests/createMany.varied-keys.test.ts +0 -28
- package/src/queries/create/tests/createOne.test-d.ts +0 -116
- package/src/queries/create/tests/createOne.test.ts +0 -197
- package/src/queries/create/types/BaseCreateManyParams.ts +0 -7
- package/src/queries/create/types/BaseCreateOneParams.ts +0 -7
- package/src/queries/create/types/CreateManyParams.ts +0 -15
- package/src/queries/create/types/CreateManyResult.ts +0 -17
- package/src/queries/create/types/CreateOneParams.ts +0 -22
- package/src/queries/create/types/CreateOneResult.ts +0 -17
- package/src/queries/createMany.ts +0 -38
- package/src/queries/createOne.ts +0 -27
- package/src/queries/delete/buildDelete.ts +0 -56
- package/src/queries/delete/deleteResultSchema.ts +0 -23
- package/src/queries/delete/deleteToSql.ts +0 -48
- package/src/queries/delete/tests/deleteOne.test.ts +0 -108
- package/src/queries/delete/types/BaseDeleteParams.ts +0 -9
- package/src/queries/delete/types/DeleteManyResult.ts +0 -16
- package/src/queries/delete/types/DeleteOneResult.ts +0 -16
- package/src/queries/delete/types/DeleteParams.ts +0 -12
- package/src/queries/deleteMany.ts +0 -33
- package/src/queries/deleteOne.ts +0 -32
- package/src/queries/find/buildFind.ts +0 -138
- package/src/queries/find/findResultSchema.ts +0 -32
- package/src/queries/find/findToSql.test.ts +0 -123
- package/src/queries/find/findToSql.ts +0 -141
- package/src/queries/find/getIncludedManyToManyRelations.ts +0 -49
- package/src/queries/find/getIncludedOneToManyRelations.ts +0 -44
- package/src/queries/find/tests/findMany.include.test.ts +0 -107
- package/src/queries/find/tests/findMany.limit.test-d.ts +0 -75
- package/src/queries/find/tests/findMany.limit.test.ts +0 -176
- package/src/queries/find/tests/findMany.nullable-relations.test.ts +0 -127
- package/src/queries/find/tests/findMany.orderBy.test-d.ts +0 -84
- package/src/queries/find/tests/findMany.orderBy.test.ts +0 -184
- package/src/queries/find/tests/findMany.select.test-d.ts +0 -117
- package/src/queries/find/tests/findMany.select.test.ts +0 -188
- package/src/queries/find/tests/findMany.too-deep.test-d.ts +0 -154
- package/src/queries/find/tests/findMany.where.test-d.ts +0 -85
- package/src/queries/find/tests/findMany.where.test.ts +0 -76
- package/src/queries/find/tests/middleware.find.where.test.ts +0 -467
- package/src/queries/find/types/BaseFindParams.ts +0 -18
- package/src/queries/find/types/FindBuilder.ts +0 -73
- package/src/queries/find/types/FindManyParams.ts +0 -24
- package/src/queries/find/types/FindManyResult.ts +0 -13
- package/src/queries/find/types/FindOneParams.ts +0 -17
- package/src/queries/find/types/FindOneResult.ts +0 -50
- package/src/queries/findMany.ts +0 -134
- package/src/queries/findOne.ts +0 -30
- package/src/queries/middleware/Middleware.ts +0 -53
- package/src/queries/middleware/ValuesMiddleware.ts +0 -9
- package/src/queries/middleware/WhereMiddleware.ts +0 -16
- package/src/queries/update/buildUpdate.ts +0 -76
- package/src/queries/update/tests/updateOne.test.ts +0 -118
- package/src/queries/update/types/BaseUpdateParams.ts +0 -10
- package/src/queries/update/types/UpdateManyResult.ts +0 -16
- package/src/queries/update/types/UpdateOneResult.ts +0 -16
- package/src/queries/update/types/UpdateParams.ts +0 -14
- package/src/queries/update/types/UpdateValues.ts +0 -12
- package/src/queries/update/updateResultSchema.ts +0 -23
- package/src/queries/update/updateToSql.ts +0 -43
- package/src/queries/updateMany.ts +0 -33
- package/src/queries/updateOne.ts +0 -33
- package/src/queries/util/hasConditions.test.ts +0 -36
- package/src/queries/util/hasConditions.ts +0 -14
- package/src/queries/util/rowToObject.test.ts +0 -76
- package/src/queries/util/rowToObject.ts +0 -13
- package/src/queries/util/tableAlias.test.ts +0 -20
- package/src/queries/util/tableAlias.ts +0 -10
- package/src/schema/populate/composeMiddleware.ts +0 -51
- package/src/schema/populate/populateConfiguration.ts +0 -48
- package/src/schema/populate/populateModel.ts +0 -98
- package/src/schema/populate/suggestedColumnSchema.ts +0 -62
- package/src/schema/types/base/BaseColumn.ts +0 -10
- package/src/schema/types/base/BaseConfiguration.ts +0 -14
- package/src/schema/types/base/BaseModel.ts +0 -12
- package/src/schema/types/base/BaseModels.ts +0 -3
- package/src/schema/types/base/BaseOrm.ts +0 -8
- package/src/schema/types/base/BaseRelation.ts +0 -19
- package/src/schema/types/base/BaseRelations.ts +0 -3
- package/src/schema/types/constraints/ForeignKey.ts +0 -13
- package/src/schema/types/constraints/UniqueConstraint.ts +0 -9
- package/src/schema/types/helpers/ColumnName.ts +0 -6
- package/src/schema/types/helpers/ColumnType.ts +0 -23
- package/src/schema/types/helpers/Columns.ts +0 -3
- package/src/schema/types/helpers/HasDefault.ts +0 -11
- package/src/schema/types/helpers/IsNullable.ts +0 -7
- package/src/schema/types/helpers/IsProvided.ts +0 -8
- package/src/schema/types/helpers/IsSerial.ts +0 -10
- package/src/schema/types/helpers/ModelName.ts +0 -6
- package/src/schema/types/loose/LooseColumnDefinition.ts +0 -80
- package/src/schema/types/loose/LooseModelDefinition.ts +0 -47
- package/src/schema/types/loose/LooseModelDefinitions.ts +0 -3
- package/src/schema/types/loose/LooseRelationDefinition.ts +0 -10
- package/src/schema/types/loose/LooseRelationsDefinition.ts +0 -8
- package/src/schema/types/loose/LooseRelationsDefinitions.ts +0 -7
- package/src/schema/types/postgres/DataType.ts +0 -65
- package/src/schema/types/relations/ManyToManyRelation.ts +0 -15
- package/src/schema/types/relations/ManyToOneRelation.ts +0 -14
- package/src/schema/types/relations/OneToManyRelation.ts +0 -12
- package/src/schema/types/strict/ColumnDefinition.ts +0 -81
- package/src/schema/types/strict/ModelDefinition.ts +0 -47
- package/src/schema/types/strict/ModelDefinitions.ts +0 -3
- package/src/schema/types/strict/RelationDefinition.ts +0 -13
- package/src/schema/types/strict/RelationsDefinition.ts +0 -8
- package/src/schema/types/strict/RelationsDefinitions.ts +0 -7
- package/src/schema/validate/validateConfiguration.ts +0 -9
- package/src/schema/validate/validateModel.ts +0 -32
- package/src/sql/SQLStatement.test.ts +0 -112
- package/src/sql/SQLStatement.ts +0 -86
- package/src/sql/index.ts +0 -2
- package/src/sql/sql.ts +0 -47
- package/src/test/db/index.ts +0 -27
- package/src/test/db/models/foo.model.ts +0 -24
- package/src/test/db/models/foo.relations.ts +0 -4
- package/src/test/db/models/post.model.ts +0 -34
- package/src/test/db/models/post.relations.ts +0 -21
- package/src/test/db/models/tenant.model.ts +0 -14
- package/src/test/db/models/tenant.relations.ts +0 -22
- package/src/test/db/models/tenantUser.model.ts +0 -23
- package/src/test/db/models/tenantUser.relations.ts +0 -15
- package/src/test/db/models/user.model.ts +0 -29
- package/src/test/db/models/user.relations.ts +0 -38
- package/src/test/db/models.ts +0 -15
- package/src/test/db/relations.ts +0 -13
- package/src/test/gen/column.ts +0 -39
- package/src/test/gen/index.ts +0 -2
- package/src/test/gen/model.ts +0 -58
- package/src/test/gen/sqldate.ts +0 -8
- package/src/test/globalSetup.ts +0 -6
- package/src/test/seed/index.ts +0 -75
- package/src/test/util/withRollback.ts +0 -18
- package/src/test/util/withTransaction.ts +0 -19
- package/src/types/ColumnName.ts +0 -6
- package/src/types/ColumnType.ts +0 -20
- package/src/types/Configuration.ts +0 -21
- package/src/types/ModelType.ts +0 -20
- package/src/types/util/DeepRequired.ts +0 -7
- package/src/types/util/DisallowExtraKeys.ts +0 -5
- package/src/types/util/NonEmptyArray.ts +0 -1
- package/src/types/util/Simplify.ts +0 -8
- package/src/util/ensureArray.ts +0 -4
- package/src/util/interleave.test.ts +0 -35
- package/src/util/interleave.ts +0 -8
- package/tsconfig.json +0 -18
- package/vitest.config.ts +0 -15
package/src/types/ColumnName.ts
DELETED
package/src/types/ColumnType.ts
DELETED
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
import { z } from "zod";
|
|
2
|
-
|
|
3
|
-
import { SuggestedColumnType } from "../schema/populate/suggestedColumnSchema";
|
|
4
|
-
import { LooseModelDefinition } from "../schema/types/loose/LooseModelDefinition";
|
|
5
|
-
import { ColumnName } from "./ColumnName";
|
|
6
|
-
|
|
7
|
-
type NonNullableColumnType<
|
|
8
|
-
Model extends LooseModelDefinition,
|
|
9
|
-
C extends ColumnName<Model>,
|
|
10
|
-
> =
|
|
11
|
-
Model["columns"][C]["zodSchema"] extends z.ZodType<unknown>
|
|
12
|
-
? z.infer<Model["columns"][C]["zodSchema"]>
|
|
13
|
-
: SuggestedColumnType<Model["columns"][C]["type"]>;
|
|
14
|
-
|
|
15
|
-
export type ColumnType<
|
|
16
|
-
Model extends LooseModelDefinition,
|
|
17
|
-
C extends ColumnName<Model>,
|
|
18
|
-
> = Model["columns"][C]["nullable"] extends true
|
|
19
|
-
? NonNullableColumnType<Model, C> | null
|
|
20
|
-
: NonNullableColumnType<Model, C>;
|
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
import pg from "pg";
|
|
2
|
-
|
|
3
|
-
import { Middleware } from "../queries/middleware/Middleware";
|
|
4
|
-
import { LooseModelDefinitions } from "../schema/types/loose/LooseModelDefinitions";
|
|
5
|
-
import { LooseRelationsDefinitions } from "../schema/types/loose/LooseRelationsDefinitions";
|
|
6
|
-
|
|
7
|
-
export type Configuration<
|
|
8
|
-
Models extends LooseModelDefinitions,
|
|
9
|
-
Relations extends LooseRelationsDefinitions<Models>,
|
|
10
|
-
> = {
|
|
11
|
-
models: Models;
|
|
12
|
-
relations?: Relations;
|
|
13
|
-
extensions?: string[];
|
|
14
|
-
schema?: string;
|
|
15
|
-
naming?: {
|
|
16
|
-
column?: (s: string) => string;
|
|
17
|
-
table?: (s: string) => string;
|
|
18
|
-
};
|
|
19
|
-
pool: pg.Pool;
|
|
20
|
-
middleware?: Middleware[];
|
|
21
|
-
};
|
package/src/types/ModelType.ts
DELETED
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
import { IsNullable } from "../schema/types/helpers/IsNullable";
|
|
2
|
-
import { LooseModelDefinition } from "../schema/types/loose/LooseModelDefinition";
|
|
3
|
-
import { ColumnName } from "./ColumnName";
|
|
4
|
-
import { ColumnType } from "./ColumnType";
|
|
5
|
-
import { Simplify } from "./util/Simplify";
|
|
6
|
-
|
|
7
|
-
export type NullableColumn<Model extends LooseModelDefinition> = {
|
|
8
|
-
[C in ColumnName<Model>]: IsNullable<Model, C> extends true ? C : never;
|
|
9
|
-
}[ColumnName<Model>];
|
|
10
|
-
|
|
11
|
-
export type ModelType<Model extends LooseModelDefinition> = Simplify<
|
|
12
|
-
{
|
|
13
|
-
[C in Exclude<ColumnName<Model>, NullableColumn<Model>>]: ColumnType<
|
|
14
|
-
Model,
|
|
15
|
-
C
|
|
16
|
-
>;
|
|
17
|
-
} & {
|
|
18
|
-
[C in NullableColumn<Model>]?: ColumnType<Model, C>;
|
|
19
|
-
}
|
|
20
|
-
>;
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
export type DeepRequired<T> = T extends (...args: unknown[]) => unknown
|
|
2
|
-
? T
|
|
3
|
-
: T extends Record<string, unknown>
|
|
4
|
-
? { [K in keyof T]-?: Exclude<DeepRequired<T[K]>, null | undefined> }
|
|
5
|
-
: T extends [infer Head, ...infer Tail]
|
|
6
|
-
? [DeepRequired<Head>, ...DeepRequired<Tail>]
|
|
7
|
-
: T;
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export type NonEmptyArray<T> = [T, ...T[]];
|
package/src/util/ensureArray.ts
DELETED
|
@@ -1,35 +0,0 @@
|
|
|
1
|
-
import { describe, expect, test } from "vitest";
|
|
2
|
-
|
|
3
|
-
import { interleave } from "./interleave";
|
|
4
|
-
|
|
5
|
-
describe("interleave", () => {
|
|
6
|
-
test("it interleaves a value between elements of a list", () => {
|
|
7
|
-
expect(interleave([1, 2, 3], "x")).toEqual([1, "x", 2, "x", 3]);
|
|
8
|
-
});
|
|
9
|
-
|
|
10
|
-
test("it works with empty lists", () => {
|
|
11
|
-
expect(interleave([], "x")).toEqual([]);
|
|
12
|
-
});
|
|
13
|
-
|
|
14
|
-
test("it works with long lists", () => {
|
|
15
|
-
expect(interleave([1, 2, 3, 1, 2, 3, 1, 2, 3], "x")).toEqual([
|
|
16
|
-
1,
|
|
17
|
-
"x",
|
|
18
|
-
2,
|
|
19
|
-
"x",
|
|
20
|
-
3,
|
|
21
|
-
"x",
|
|
22
|
-
1,
|
|
23
|
-
"x",
|
|
24
|
-
2,
|
|
25
|
-
"x",
|
|
26
|
-
3,
|
|
27
|
-
"x",
|
|
28
|
-
1,
|
|
29
|
-
"x",
|
|
30
|
-
2,
|
|
31
|
-
"x",
|
|
32
|
-
3,
|
|
33
|
-
]);
|
|
34
|
-
});
|
|
35
|
-
});
|
package/src/util/interleave.ts
DELETED
package/tsconfig.json
DELETED
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"compilerOptions": {
|
|
3
|
-
"target": "ES2022",
|
|
4
|
-
"module": "ESNext",
|
|
5
|
-
"sourceMap": true,
|
|
6
|
-
"outDir": "./lib",
|
|
7
|
-
"declaration": true,
|
|
8
|
-
"declarationMap": true,
|
|
9
|
-
"esModuleInterop": true,
|
|
10
|
-
"resolveJsonModule": true,
|
|
11
|
-
"moduleResolution": "Bundler",
|
|
12
|
-
"forceConsistentCasingInFileNames": true,
|
|
13
|
-
"strict": true,
|
|
14
|
-
"skipLibCheck": true,
|
|
15
|
-
"baseUrl": "./"
|
|
16
|
-
},
|
|
17
|
-
"include": ["src"]
|
|
18
|
-
}
|
package/vitest.config.ts
DELETED
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
/// <reference types="vitest" />
|
|
2
|
-
import "dotenv/config";
|
|
3
|
-
import tsconfigPaths from "vite-tsconfig-paths";
|
|
4
|
-
import { defineConfig } from "vitest/config";
|
|
5
|
-
|
|
6
|
-
export default defineConfig({
|
|
7
|
-
plugins: [tsconfigPaths()],
|
|
8
|
-
test: {
|
|
9
|
-
// ... Specify options here.
|
|
10
|
-
include: ["**/*.(spec|test|properties).ts?(x)"],
|
|
11
|
-
exclude: ["lib", "node_modules"],
|
|
12
|
-
globalSetup: "src/test/globalSetup.ts",
|
|
13
|
-
coverage: { provider: "istanbul" },
|
|
14
|
-
},
|
|
15
|
-
});
|