drizzle-graphql-plus 0.8.16 → 0.8.18
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/index.cjs +37 -40
- package/index.cjs.map +1 -1
- package/index.d.cts +1 -1
- package/index.d.ts +1 -1
- package/index.js +37 -40
- package/index.js.map +1 -1
- package/package.json +1 -1
package/index.d.cts
CHANGED
|
@@ -379,4 +379,4 @@ declare function setCustomGraphQL<T extends Table, TColumns = ReturnType<typeof
|
|
|
379
379
|
*/
|
|
380
380
|
declare function setCustomGraphQLTypes<T extends Table, TColumns = ReturnType<typeof getTableColumns<T>>>(table: T, columnTypes: Partial<Record<keyof TColumns, string>>): void;
|
|
381
381
|
|
|
382
|
-
export { type AnyDrizzleDB, type AnyQueryBuiler, type BuildSchemaConfig, type BuildSchemaSDLResult, type DeleteArgs, type DeleteResolver, type ExtractRelations, type ExtractTableByName, type ExtractTableRelations, type ExtractTables, type GeneratedData, type GeneratedEntities, type GeneratedInputs, type GeneratedInterfaces, type GeneratedOutputs, type GraphQLFieldConfig, type InsertArgs, type InsertArrResolver, type InsertResolver, type MutationReturnlessResult, type MutationsCore, type
|
|
382
|
+
export { type AnyDrizzleDB, type AnyQueryBuiler, type BuildSchemaConfig, type BuildSchemaSDLResult, type Capitalize$1 as Capitalize, type ColumnFilter, type DeleteArgs, type DeleteResolver, type ExtractRelations, type ExtractTableByName, type ExtractTableRelations, type ExtractTables, type GeneratedData, type GeneratedEntities, type GeneratedInputs, type GeneratedInterfaces, type GeneratedOutputs, type GraphQLFieldConfig, type InsertArgs, type InsertArrResolver, type InsertInput, type InsertResolver, type MutationReturnlessResult, type MutationsCore, type OrderByInput, type QueriesCore, type QueryArgs, type SelectResolver, type SelectSingleResolver, type UpdateArgs, type UpdateInput, type UpdateResolver, type WhereInput, buildSchema, buildSchemaSDL, setCustomGraphQL, setCustomGraphQLTypes };
|
package/index.d.ts
CHANGED
|
@@ -379,4 +379,4 @@ declare function setCustomGraphQL<T extends Table, TColumns = ReturnType<typeof
|
|
|
379
379
|
*/
|
|
380
380
|
declare function setCustomGraphQLTypes<T extends Table, TColumns = ReturnType<typeof getTableColumns<T>>>(table: T, columnTypes: Partial<Record<keyof TColumns, string>>): void;
|
|
381
381
|
|
|
382
|
-
export { type AnyDrizzleDB, type AnyQueryBuiler, type BuildSchemaConfig, type BuildSchemaSDLResult, type DeleteArgs, type DeleteResolver, type ExtractRelations, type ExtractTableByName, type ExtractTableRelations, type ExtractTables, type GeneratedData, type GeneratedEntities, type GeneratedInputs, type GeneratedInterfaces, type GeneratedOutputs, type GraphQLFieldConfig, type InsertArgs, type InsertArrResolver, type InsertResolver, type MutationReturnlessResult, type MutationsCore, type
|
|
382
|
+
export { type AnyDrizzleDB, type AnyQueryBuiler, type BuildSchemaConfig, type BuildSchemaSDLResult, type Capitalize$1 as Capitalize, type ColumnFilter, type DeleteArgs, type DeleteResolver, type ExtractRelations, type ExtractTableByName, type ExtractTableRelations, type ExtractTables, type GeneratedData, type GeneratedEntities, type GeneratedInputs, type GeneratedInterfaces, type GeneratedOutputs, type GraphQLFieldConfig, type InsertArgs, type InsertArrResolver, type InsertInput, type InsertResolver, type MutationReturnlessResult, type MutationsCore, type OrderByInput, type QueriesCore, type QueryArgs, type SelectResolver, type SelectSingleResolver, type UpdateArgs, type UpdateInput, type UpdateResolver, type WhereInput, buildSchema, buildSchemaSDL, setCustomGraphQL, setCustomGraphQLTypes };
|
package/index.js
CHANGED
|
@@ -2263,6 +2263,7 @@ import { SQLiteInteger as SQLiteInteger2 } from "drizzle-orm/sqlite-core";
|
|
|
2263
2263
|
var allowedNameChars2 = /^[a-zA-Z0-9_]+$/;
|
|
2264
2264
|
var customScalars = /* @__PURE__ */ new Set();
|
|
2265
2265
|
var enumDefinitions = /* @__PURE__ */ new Map();
|
|
2266
|
+
var requiredFieldFilters = /* @__PURE__ */ new Set();
|
|
2266
2267
|
var columnToSDL = (column, columnName, tableName, forceNullable = false) => {
|
|
2267
2268
|
let baseType;
|
|
2268
2269
|
if (column.customGraphqlType) {
|
|
@@ -2398,6 +2399,7 @@ var generateTypeDefs = (tables, relations) => {
|
|
|
2398
2399
|
const typeDefs = [];
|
|
2399
2400
|
customScalars.clear();
|
|
2400
2401
|
enumDefinitions.clear();
|
|
2402
|
+
requiredFieldFilters.clear();
|
|
2401
2403
|
for (const [tableName, tableInfo] of Object.entries(tables)) {
|
|
2402
2404
|
const typeName = capitalize(tableName);
|
|
2403
2405
|
const fields = [];
|
|
@@ -2469,6 +2471,7 @@ ${insertFields.join("\n")}
|
|
|
2469
2471
|
${updateFields.join("\n")}
|
|
2470
2472
|
}`
|
|
2471
2473
|
);
|
|
2474
|
+
const whereFields = [];
|
|
2472
2475
|
for (const [columnName, column] of Object.entries(tableInfo.columns)) {
|
|
2473
2476
|
const typeStr = columnToSDL(
|
|
2474
2477
|
column,
|
|
@@ -2476,47 +2479,14 @@ ${updateFields.join("\n")}
|
|
|
2476
2479
|
tableName,
|
|
2477
2480
|
true
|
|
2478
2481
|
);
|
|
2479
|
-
const
|
|
2480
|
-
const
|
|
2481
|
-
|
|
2482
|
-
|
|
2483
|
-
|
|
2484
|
-
|
|
2485
|
-
filterFields.push(` gt: ${typeStr}`);
|
|
2486
|
-
filterFields.push(` gte: ${typeStr}`);
|
|
2487
|
-
filterFields.push(` like: String`);
|
|
2488
|
-
filterFields.push(` notLike: String`);
|
|
2489
|
-
filterFields.push(` ilike: String`);
|
|
2490
|
-
filterFields.push(` notIlike: String`);
|
|
2491
|
-
filterFields.push(` inArray: [${typeStr}!]`);
|
|
2492
|
-
filterFields.push(` notInArray: [${typeStr}!]`);
|
|
2493
|
-
filterFields.push(` isNull: Boolean`);
|
|
2494
|
-
filterFields.push(` isNotNull: Boolean`);
|
|
2495
|
-
const orFilterName = `${typeName}${capitalize(columnName)}FiltersOr`;
|
|
2496
|
-
typeDefs.push(`input ${orFilterName} {
|
|
2497
|
-
${filterFields.join("\n")}
|
|
2498
|
-
}`);
|
|
2499
|
-
filterFields.push(` OR: [${orFilterName}!]`);
|
|
2500
|
-
typeDefs.push(`input ${filterName} {
|
|
2501
|
-
${filterFields.join("\n")}
|
|
2502
|
-
}`);
|
|
2503
|
-
}
|
|
2504
|
-
const whereFields = [];
|
|
2505
|
-
for (const columnName of Object.keys(tableInfo.columns)) {
|
|
2506
|
-
const filterName = `${typeName}${capitalize(columnName)}Filters`;
|
|
2507
|
-
whereFields.push(` ${columnName}: ${filterName}`);
|
|
2508
|
-
}
|
|
2509
|
-
whereFields.push(` OR: [${typeName}FiltersOr!]`);
|
|
2510
|
-
const filtersOrFields = [];
|
|
2511
|
-
for (const columnName of Object.keys(tableInfo.columns)) {
|
|
2512
|
-
const filterName = `${typeName}${capitalize(columnName)}Filters`;
|
|
2513
|
-
filtersOrFields.push(` ${columnName}: ${filterName}`);
|
|
2482
|
+
const normalizedType = typeStr.replace(/[^a-zA-Z0-9]/g, "");
|
|
2483
|
+
const filterTypeName = `${normalizedType}FieldFilter`;
|
|
2484
|
+
requiredFieldFilters.add(
|
|
2485
|
+
JSON.stringify({ normalizedType, baseType: typeStr })
|
|
2486
|
+
);
|
|
2487
|
+
whereFields.push(` ${columnName}: ${filterTypeName}`);
|
|
2514
2488
|
}
|
|
2515
|
-
|
|
2516
|
-
`input ${typeName}FiltersOr {
|
|
2517
|
-
${filtersOrFields.join("\n")}
|
|
2518
|
-
}`
|
|
2519
|
-
);
|
|
2489
|
+
whereFields.push(` OR: [${typeName}Filters!]`);
|
|
2520
2490
|
typeDefs.push(`input ${typeName}Filters {
|
|
2521
2491
|
${whereFields.join("\n")}
|
|
2522
2492
|
}`);
|
|
@@ -2550,6 +2520,33 @@ ${valueStrings.join("\n")}
|
|
|
2550
2520
|
direction: OrderByDirection!
|
|
2551
2521
|
priority: Int!
|
|
2552
2522
|
}`);
|
|
2523
|
+
const filterTypesAdded = /* @__PURE__ */ new Set();
|
|
2524
|
+
for (const filterInfoJson of requiredFieldFilters) {
|
|
2525
|
+
const { normalizedType, baseType } = JSON.parse(filterInfoJson);
|
|
2526
|
+
const filterTypeName = `${normalizedType}FieldFilter`;
|
|
2527
|
+
if (filterTypesAdded.has(filterTypeName))
|
|
2528
|
+
continue;
|
|
2529
|
+
filterTypesAdded.add(filterTypeName);
|
|
2530
|
+
const filterFields = [];
|
|
2531
|
+
filterFields.push(` eq: ${baseType}`);
|
|
2532
|
+
filterFields.push(` ne: ${baseType}`);
|
|
2533
|
+
filterFields.push(` lt: ${baseType}`);
|
|
2534
|
+
filterFields.push(` lte: ${baseType}`);
|
|
2535
|
+
filterFields.push(` gt: ${baseType}`);
|
|
2536
|
+
filterFields.push(` gte: ${baseType}`);
|
|
2537
|
+
filterFields.push(` like: String`);
|
|
2538
|
+
filterFields.push(` notLike: String`);
|
|
2539
|
+
filterFields.push(` ilike: String`);
|
|
2540
|
+
filterFields.push(` notIlike: String`);
|
|
2541
|
+
filterFields.push(` inArray: [${baseType}!]`);
|
|
2542
|
+
filterFields.push(` notInArray: [${baseType}!]`);
|
|
2543
|
+
filterFields.push(` isNull: Boolean`);
|
|
2544
|
+
filterFields.push(` isNotNull: Boolean`);
|
|
2545
|
+
filterFields.push(` OR: [${filterTypeName}!]`);
|
|
2546
|
+
allDefs.push(`input ${filterTypeName} {
|
|
2547
|
+
${filterFields.join("\n")}
|
|
2548
|
+
}`);
|
|
2549
|
+
}
|
|
2553
2550
|
allDefs.push(...typeDefs);
|
|
2554
2551
|
return allDefs.join("\n\n");
|
|
2555
2552
|
};
|