TenantAtlas/apps/platform/.pnpm-store/v10/files/7e/b842ee075ad69e1fbda6442d433f22171923eb8d919cdfe53632ff123f9e9d135c9ca8fb28e19eeb67ef22958278f18c531eda473a84d1ace572bf0d3311a8
Ahmed Darrazi 9f74f7a658
Some checks failed
PR Fast Feedback / fast-feedback (pull_request) Failing after 51s
feat: compress governance operator outcomes
2026-04-19 14:15:11 +02:00

25 lines
1.2 KiB
Plaintext

import type { AnyColumn, Column } from "./column.js";
import type { SQL } from "./sql/sql.js";
import type { Subquery } from "./subquery.js";
import type { Table } from "./table.js";
export type RequiredKeyOnly<TKey extends string, T extends Column> = T extends AnyColumn<{
notNull: true;
hasDefault: false;
}> ? TKey : never;
export type OptionalKeyOnly<TKey extends string, T extends Column, OverrideT extends boolean | undefined = false> = TKey extends RequiredKeyOnly<TKey, T> ? never : T extends {
_: {
generated: undefined;
};
} ? (T extends {
_: {
identity: undefined;
};
} ? TKey : T['_']['identity'] extends 'always' ? OverrideT extends true ? TKey : never : TKey) : never;
export type SelectedFieldsFlat<TColumn extends Column> = Record<string, TColumn | SQL | SQL.Aliased | Subquery>;
export type SelectedFieldsFlatFull<TColumn extends Column> = Record<string, TColumn | SQL | SQL.Aliased>;
export type SelectedFields<TColumn extends Column, TTable extends Table> = Record<string, SelectedFieldsFlat<TColumn>[string] | TTable | SelectedFieldsFlat<TColumn>>;
export type SelectedFieldsOrdered<TColumn extends Column> = {
path: string[];
field: TColumn | SQL | SQL.Aliased | Subquery;
}[];