4466ba436b
## Description This PR ensures that the default prettier config is used for examples and templates. This config is compatible with `prettier@3` as well (upgrading prettier is bigger change that can be a future PR). ## Changes - Updated `.prettierrc.json` in root with `"trailingComma": "es5"` (will be needed upgrading to prettier@3) - Added `examples/.prettierrc.json` with default config (this will change every example) - Added `packages/create-next-app/templates/.prettierrc.json` with default config (this will change every template) ## Related - Fixes #54402 - Closes #54409
41 lines
1,003 B
TypeScript
41 lines
1,003 B
TypeScript
import {
|
|
BaseClientOptions,
|
|
buildClient,
|
|
SchemaInference,
|
|
XataRecord,
|
|
} from "@xata.io/client";
|
|
|
|
const tables = [
|
|
{
|
|
name: "nextjs_with_xata_example",
|
|
columns: [
|
|
{ name: "title", type: "string" },
|
|
{ name: "description", type: "string" },
|
|
{ name: "url", type: "string" },
|
|
],
|
|
},
|
|
] as const;
|
|
|
|
export type SchemaTables = typeof tables;
|
|
export type DatabaseSchema = SchemaInference<SchemaTables>;
|
|
|
|
export type NextjsWithXataExample = DatabaseSchema["nextjs_with_xata_example"];
|
|
export type NextjsWithXataExampleRecord = NextjsWithXataExample & XataRecord;
|
|
|
|
const DatabaseClient = buildClient();
|
|
|
|
const defaultOptions = {};
|
|
|
|
export class XataClient extends DatabaseClient<SchemaTables> {
|
|
constructor(options?: BaseClientOptions) {
|
|
super({ ...defaultOptions, ...options }, tables);
|
|
}
|
|
}
|
|
|
|
let instance: XataClient | undefined = undefined;
|
|
export const getXataClient = () => {
|
|
if (instance) return instance;
|
|
|
|
instance = new XataClient();
|
|
return instance;
|
|
};
|