@prisma/studio-core 0.0.0-dev.202503281209 → 0.0.0-dev.202503281245

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.
@@ -0,0 +1,40 @@
1
+ import { E as Either } from './type-utils-rTHUvEmt.js';
2
+
3
+ interface Adapter {
4
+ introspect(): Promise<Either<Error, Introspection>>;
5
+ query(details: QueryDetails): Promise<Either<Error, QueryResult>>;
6
+ }
7
+ type SchemaName = string;
8
+ interface Introspection {
9
+ schemas: Record<SchemaName, Schema>;
10
+ }
11
+ type TableName = string;
12
+ interface Schema {
13
+ tables: Record<TableName, Table>;
14
+ }
15
+ type ColumnName = string;
16
+ interface Table {
17
+ schema: SchemaName;
18
+ name: TableName;
19
+ columns: Record<ColumnName, Column>;
20
+ }
21
+ interface Column {
22
+ schema: SchemaName;
23
+ table: TableName;
24
+ name: ColumnName;
25
+ }
26
+ interface QueryDetails {
27
+ /**
28
+ * The database schema where the table is located. Defaults to "public".
29
+ */
30
+ schema?: string;
31
+ /**
32
+ * The name of the table to select from.
33
+ */
34
+ table: string;
35
+ }
36
+ interface QueryResult {
37
+ rows: Record<ColumnName, unknown>[];
38
+ }
39
+
40
+ export type { Adapter as A, Column as C, Introspection as I, QueryDetails as Q, Schema as S, Table as T };
@@ -0,0 +1,40 @@
1
+ import { E as Either } from './type-utils-rTHUvEmt.cjs';
2
+
3
+ interface Adapter {
4
+ introspect(): Promise<Either<Error, Introspection>>;
5
+ query(details: QueryDetails): Promise<Either<Error, QueryResult>>;
6
+ }
7
+ type SchemaName = string;
8
+ interface Introspection {
9
+ schemas: Record<SchemaName, Schema>;
10
+ }
11
+ type TableName = string;
12
+ interface Schema {
13
+ tables: Record<TableName, Table>;
14
+ }
15
+ type ColumnName = string;
16
+ interface Table {
17
+ schema: SchemaName;
18
+ name: TableName;
19
+ columns: Record<ColumnName, Column>;
20
+ }
21
+ interface Column {
22
+ schema: SchemaName;
23
+ table: TableName;
24
+ name: ColumnName;
25
+ }
26
+ interface QueryDetails {
27
+ /**
28
+ * The database schema where the table is located. Defaults to "public".
29
+ */
30
+ schema?: string;
31
+ /**
32
+ * The name of the table to select from.
33
+ */
34
+ table: string;
35
+ }
36
+ interface QueryResult {
37
+ rows: Record<ColumnName, unknown>[];
38
+ }
39
+
40
+ export type { Adapter as A, Column as C, Introspection as I, QueryDetails as Q, Schema as S, Table as T };
@@ -1 +1 @@
1
- "use strict";var i=Object.defineProperty;var c=Object.getOwnPropertyDescriptor;var y=Object.getOwnPropertyNames;var d=Object.prototype.hasOwnProperty;var l=(r,e)=>{for(var o in e)i(r,o,{get:e[o],enumerable:!0})},Q=(r,e,o,u)=>{if(e&&typeof e=="object"||typeof e=="function")for(let t of y(e))!d.call(r,t)&&t!==o&&i(r,t,{get:()=>e[t],enumerable:!(u=c(e,t))||u.enumerable});return r};var p=r=>Q(i({},"__esModule",{value:!0}),r);var R={};l(R,{createStudioBFFClient:()=>f});module.exports=p(R);function f(r){let{customHeaders:e,customPayload:o,url:u}=r,t=r.fetch||fetch;return{async query(a){try{let n=await t(u,{body:JSON.stringify({customPayload:o,procedure:"query",query:a}),headers:{Accept:"application/json","Content-Type":"application/json",...e},method:"POST"});if(!n.ok){let s;try{s=await n.text()}catch{s="unknown error"}return{error:new Error(s),results:[]}}return{error:null,results:await n.json()}}catch(n){return{error:n,results:[]}}}}}0&&(module.exports={createStudioBFFClient});
1
+ "use strict";var i=Object.defineProperty;var a=Object.getOwnPropertyDescriptor;var y=Object.getOwnPropertyNames;var d=Object.prototype.hasOwnProperty;var l=(t,e)=>{for(var o in e)i(t,o,{get:e[o],enumerable:!0})},p=(t,e,o,n)=>{if(e&&typeof e=="object"||typeof e=="function")for(let r of y(e))!d.call(t,r)&&r!==o&&i(t,r,{get:()=>e[r],enumerable:!(n=a(e,r))||n.enumerable});return t};var f=t=>p(i({},"__esModule",{value:!0}),t);var x={};l(x,{createStudioBFFClient:()=>m});module.exports=f(x);function m(t){let{customHeaders:e,customPayload:o,url:n}=t,r=t.fetch||fetch;return{async execute(c){try{let u=await r(n,{body:JSON.stringify({customPayload:o,procedure:"query",query:c}),headers:{Accept:"application/json","Content-Type":"application/json",...e},method:"POST"});if(!u.ok){let s;try{s=await u.text()}catch{s="unknown error"}return[new Error(s)]}return[null,await u.json()]}catch(u){return[u]}}}}0&&(module.exports={createStudioBFFClient});
@@ -1,4 +1,6 @@
1
+ import { E as Executor } from '../../executor-DVs9UVdS.cjs';
1
2
  import { Q as Query, a as QueryResult } from '../../query-L1_vLuFd.cjs';
3
+ import { E as Either } from '../../type-utils-rTHUvEmt.cjs';
2
4
  import 'kysely';
3
5
 
4
6
  interface StudioBFFClientProps {
@@ -27,26 +29,22 @@ interface StudioBFFClientProps {
27
29
  */
28
30
  url: string | URL;
29
31
  }
30
- interface StudioBFFClient {
32
+ interface StudioBFFClient extends Executor {
31
33
  /**
32
34
  * Requests BFF to query the database.
33
35
  *
34
36
  * The query is sent as `body.query`.
35
37
  */
36
- query<Q extends Query>(this: void, query: Q): Promise<StudioBFFQueryResponse<Q>>;
38
+ execute<Q extends Query>(this: void, query: Q): Promise<Either<Error, QueryResult<Q>>>;
37
39
  }
38
40
  interface StudioBFFQueryRequest {
39
41
  customPayload?: Record<string, unknown>;
40
42
  procedure: "query";
41
43
  query: Query<unknown>;
42
44
  }
43
- interface StudioBFFQueryResponse<Q extends Query> {
44
- error: unknown;
45
- results: QueryResult<Q>;
46
- }
47
45
  /**
48
46
  * Creates a Studio BFF client. BFF stands for "Backend For Frontend" btw.
49
47
  */
50
48
  declare function createStudioBFFClient(props: StudioBFFClientProps): StudioBFFClient;
51
49
 
52
- export { type StudioBFFClient, type StudioBFFClientProps, type StudioBFFQueryRequest, type StudioBFFQueryResponse, createStudioBFFClient };
50
+ export { type StudioBFFClient, type StudioBFFClientProps, type StudioBFFQueryRequest, createStudioBFFClient };
@@ -1,4 +1,6 @@
1
+ import { E as Executor } from '../../executor-BjkBF_Xv.js';
1
2
  import { Q as Query, a as QueryResult } from '../../query-L1_vLuFd.js';
3
+ import { E as Either } from '../../type-utils-rTHUvEmt.js';
2
4
  import 'kysely';
3
5
 
4
6
  interface StudioBFFClientProps {
@@ -27,26 +29,22 @@ interface StudioBFFClientProps {
27
29
  */
28
30
  url: string | URL;
29
31
  }
30
- interface StudioBFFClient {
32
+ interface StudioBFFClient extends Executor {
31
33
  /**
32
34
  * Requests BFF to query the database.
33
35
  *
34
36
  * The query is sent as `body.query`.
35
37
  */
36
- query<Q extends Query>(this: void, query: Q): Promise<StudioBFFQueryResponse<Q>>;
38
+ execute<Q extends Query>(this: void, query: Q): Promise<Either<Error, QueryResult<Q>>>;
37
39
  }
38
40
  interface StudioBFFQueryRequest {
39
41
  customPayload?: Record<string, unknown>;
40
42
  procedure: "query";
41
43
  query: Query<unknown>;
42
44
  }
43
- interface StudioBFFQueryResponse<Q extends Query> {
44
- error: unknown;
45
- results: QueryResult<Q>;
46
- }
47
45
  /**
48
46
  * Creates a Studio BFF client. BFF stands for "Backend For Frontend" btw.
49
47
  */
50
48
  declare function createStudioBFFClient(props: StudioBFFClientProps): StudioBFFClient;
51
49
 
52
- export { type StudioBFFClient, type StudioBFFClientProps, type StudioBFFQueryRequest, type StudioBFFQueryResponse, createStudioBFFClient };
50
+ export { type StudioBFFClient, type StudioBFFClientProps, type StudioBFFQueryRequest, createStudioBFFClient };
@@ -1 +1 @@
1
- import"../../chunk-2FW6TKD6.js";function y(t){let{customHeaders:o,customPayload:n,url:u}=t,s=t.fetch||fetch;return{async query(i){try{let e=await s(u,{body:JSON.stringify({customPayload:n,procedure:"query",query:i}),headers:{Accept:"application/json","Content-Type":"application/json",...o},method:"POST"});if(!e.ok){let r;try{r=await e.text()}catch{r="unknown error"}return{error:new Error(r),results:[]}}return{error:null,results:await e.json()}}catch(e){return{error:e,results:[]}}}}}export{y as createStudioBFFClient};
1
+ import"../../chunk-2FW6TKD6.js";function y(r){let{customHeaders:o,customPayload:u,url:n}=r,s=r.fetch||fetch;return{async execute(i){try{let e=await s(n,{body:JSON.stringify({customPayload:u,procedure:"query",query:i}),headers:{Accept:"application/json","Content-Type":"application/json",...o},method:"POST"});if(!e.ok){let t;try{t=await e.text()}catch{t="unknown error"}return[new Error(t)]}return[null,await e.json()]}catch(e){return[e]}}}}export{y as createStudioBFFClient};
@@ -1 +1 @@
1
- "use strict";var l=Object.defineProperty;var u=Object.getOwnPropertyDescriptor;var i=Object.getOwnPropertyNames;var m=Object.prototype.hasOwnProperty;var p=(a,e)=>{for(var r in e)l(a,r,{get:e[r],enumerable:!0})},o=(a,e,r,n)=>{if(e&&typeof e=="object"||typeof e=="function")for(let s of i(e))!m.call(a,s)&&s!==r&&l(a,s,{get:()=>e[s],enumerable:!(n=u(e,s))||n.enumerable});return a};var d=a=>o(l({},"__esModule",{value:!0}),a);var f={};p(f,{AdapterMock:()=>t});module.exports=d(f);var t=class{async introspect(){return[null,{schemas:{public:{tables:{users:{schema:"public",name:"users",columns:{id:{schema:"public",table:"users",name:"id",dataType:{name:"integer",args:[]},uiType:{kind:"number",isList:!1,max:1e4,min:0},defaults:null,nullable:!1,partOfPk:!0,reference:null},name:{schema:"public",table:"users",name:"name",dataType:{name:"varchar",args:[255]},uiType:{kind:"string",isList:!1,max:255,min:0},defaults:null,nullable:!1,partOfPk:!1,reference:null},role:{schema:"public",table:"users",name:"role",dataType:{name:"enum",args:[]},uiType:{kind:"enum",isList:!1,name:"UserRole",values:["admin","user","guest"]},defaults:"user",nullable:!1,partOfPk:!1,reference:null}}},posts:{schema:"public",name:"posts",columns:{id:{schema:"public",table:"posts",name:"id",dataType:{name:"integer",args:[]},uiType:{kind:"number",isList:!1,max:1e4,min:0},defaults:null,nullable:!1,partOfPk:!0,reference:null},title:{schema:"public",table:"posts",name:"title",dataType:{name:"varchar",args:[255]},uiType:{kind:"string",isList:!1,max:255,min:0},defaults:null,nullable:!1,partOfPk:!1,reference:null},content:{schema:"public",table:"posts",name:"content",dataType:{name:"text",args:[]},uiType:{kind:"string",isList:!1,max:1e4,min:0},defaults:null,nullable:!0,partOfPk:!1,reference:null},userId:{schema:"public",table:"posts",name:"userId",dataType:{name:"integer",args:[]},uiType:{kind:"number",isList:!1,max:1e4,min:0},defaults:null,nullable:!1,partOfPk:!1,reference:{schema:"public",name:"users",columns:{}}}}}},enums:{UserRole:{name:"UserRole",values:["admin","user","guest"]}}}},filters:{"=":!0,">=":!0,">":!0,"<=":!0,"<":!0,like:!0,ilike:!1,"is null":!0}}]}async query(e){return[null,{schema:"public",table:"users",fetchedAt:Date.now(),duration:35,count:2,rows:[{id:{column:"id",value:1,dataType:{name:"integer",args:[]},uiType:{kind:"number",isList:!1,max:1e4,min:0}},name:{column:"name",value:"Alice",dataType:{name:"varchar",args:[255]},uiType:{kind:"string",isList:!1,max:255,min:0}},role:{column:"role",value:"admin",dataType:{name:"enum",args:[]},uiType:{kind:"enum",isList:!1,name:"UserRole",values:["admin","user","guest"]}}},{id:{column:"id",value:2,dataType:{name:"integer",args:[]},uiType:{kind:"number",isList:!1,max:1e4,min:0}},name:{column:"name",value:"Bob",dataType:{name:"varchar",args:[255]},uiType:{kind:"string",isList:!1,max:255,min:0}},role:{column:"role",value:"user",dataType:{name:"enum",args:[]},uiType:{kind:"enum",isList:!1,name:"UserRole",values:["admin","user","guest"]}}}]}]}async mutate(e){throw new Error("Method not implemented.")}async alter(e){throw new Error("Method not implemented.")}async rawQuery(e){throw new Error("Method not implemented.")}};0&&(module.exports={AdapterMock});
1
+ "use strict";var o=Object.defineProperty;var u=Object.getOwnPropertyDescriptor;var x=Object.getOwnPropertyNames;var f=Object.prototype.hasOwnProperty;var m=(r,e,y,p)=>{if(e&&typeof e=="object"||typeof e=="function")for(let t of x(e))!f.call(r,t)&&t!==y&&o(r,t,{get:()=>e[t],enumerable:!(p=u(e,t))||p.enumerable});return r};var a=r=>m(o({},"__esModule",{value:!0}),r);var l={};module.exports=a(l);
@@ -1,13 +1,5 @@
1
- import { A as Adapter, E as Either, I as InstrospectResult, Q as QueryInput, a as QueryResult, M as MutateInput, b as MutateResult, c as AlterInput, d as AlterResult, R as RawQueryInput, e as RawQueryResult } from '../Adapter-C2FVF4Hg.cjs';
1
+ export { A as Adapter, C as Column, I as Introspection, Q as QueryDetails, S as Schema, T as Table } from '../adapter-CW2L6BRg.cjs';
2
+ export { E as Executor } from '../executor-DVs9UVdS.cjs';
2
3
  export { Q as Query, a as QueryResult } from '../query-L1_vLuFd.cjs';
4
+ export { E as Either } from '../type-utils-rTHUvEmt.cjs';
3
5
  import 'kysely';
4
-
5
- declare class AdapterMock implements Adapter {
6
- introspect(): Promise<Either<Error, InstrospectResult>>;
7
- query(input: QueryInput): Promise<Either<Error, QueryResult>>;
8
- mutate(inputs: MutateInput[]): Promise<Either<Error, MutateResult>>;
9
- alter(inputs: AlterInput[]): Promise<Either<Error, AlterResult>>;
10
- rawQuery(input: RawQueryInput): Promise<Either<Error, RawQueryResult>>;
11
- }
12
-
13
- export { Adapter, AdapterMock };
@@ -1,13 +1,5 @@
1
- import { A as Adapter, E as Either, I as InstrospectResult, Q as QueryInput, a as QueryResult, M as MutateInput, b as MutateResult, c as AlterInput, d as AlterResult, R as RawQueryInput, e as RawQueryResult } from '../Adapter-C2FVF4Hg.js';
1
+ export { A as Adapter, C as Column, I as Introspection, Q as QueryDetails, S as Schema, T as Table } from '../adapter-08vtHScw.js';
2
+ export { E as Executor } from '../executor-BjkBF_Xv.js';
2
3
  export { Q as Query, a as QueryResult } from '../query-L1_vLuFd.js';
4
+ export { E as Either } from '../type-utils-rTHUvEmt.js';
3
5
  import 'kysely';
4
-
5
- declare class AdapterMock implements Adapter {
6
- introspect(): Promise<Either<Error, InstrospectResult>>;
7
- query(input: QueryInput): Promise<Either<Error, QueryResult>>;
8
- mutate(inputs: MutateInput[]): Promise<Either<Error, MutateResult>>;
9
- alter(inputs: AlterInput[]): Promise<Either<Error, AlterResult>>;
10
- rawQuery(input: RawQueryInput): Promise<Either<Error, RawQueryResult>>;
11
- }
12
-
13
- export { Adapter, AdapterMock };
@@ -1 +1 @@
1
- import"../chunk-2FW6TKD6.js";var a=class{async introspect(){return[null,{schemas:{public:{tables:{users:{schema:"public",name:"users",columns:{id:{schema:"public",table:"users",name:"id",dataType:{name:"integer",args:[]},uiType:{kind:"number",isList:!1,max:1e4,min:0},defaults:null,nullable:!1,partOfPk:!0,reference:null},name:{schema:"public",table:"users",name:"name",dataType:{name:"varchar",args:[255]},uiType:{kind:"string",isList:!1,max:255,min:0},defaults:null,nullable:!1,partOfPk:!1,reference:null},role:{schema:"public",table:"users",name:"role",dataType:{name:"enum",args:[]},uiType:{kind:"enum",isList:!1,name:"UserRole",values:["admin","user","guest"]},defaults:"user",nullable:!1,partOfPk:!1,reference:null}}},posts:{schema:"public",name:"posts",columns:{id:{schema:"public",table:"posts",name:"id",dataType:{name:"integer",args:[]},uiType:{kind:"number",isList:!1,max:1e4,min:0},defaults:null,nullable:!1,partOfPk:!0,reference:null},title:{schema:"public",table:"posts",name:"title",dataType:{name:"varchar",args:[255]},uiType:{kind:"string",isList:!1,max:255,min:0},defaults:null,nullable:!1,partOfPk:!1,reference:null},content:{schema:"public",table:"posts",name:"content",dataType:{name:"text",args:[]},uiType:{kind:"string",isList:!1,max:1e4,min:0},defaults:null,nullable:!0,partOfPk:!1,reference:null},userId:{schema:"public",table:"posts",name:"userId",dataType:{name:"integer",args:[]},uiType:{kind:"number",isList:!1,max:1e4,min:0},defaults:null,nullable:!1,partOfPk:!1,reference:{schema:"public",name:"users",columns:{}}}}}},enums:{UserRole:{name:"UserRole",values:["admin","user","guest"]}}}},filters:{"=":!0,">=":!0,">":!0,"<=":!0,"<":!0,like:!0,ilike:!1,"is null":!0}}]}async query(e){return[null,{schema:"public",table:"users",fetchedAt:Date.now(),duration:35,count:2,rows:[{id:{column:"id",value:1,dataType:{name:"integer",args:[]},uiType:{kind:"number",isList:!1,max:1e4,min:0}},name:{column:"name",value:"Alice",dataType:{name:"varchar",args:[255]},uiType:{kind:"string",isList:!1,max:255,min:0}},role:{column:"role",value:"admin",dataType:{name:"enum",args:[]},uiType:{kind:"enum",isList:!1,name:"UserRole",values:["admin","user","guest"]}}},{id:{column:"id",value:2,dataType:{name:"integer",args:[]},uiType:{kind:"number",isList:!1,max:1e4,min:0}},name:{column:"name",value:"Bob",dataType:{name:"varchar",args:[255]},uiType:{kind:"string",isList:!1,max:255,min:0}},role:{column:"role",value:"user",dataType:{name:"enum",args:[]},uiType:{kind:"enum",isList:!1,name:"UserRole",values:["admin","user","guest"]}}}]}]}async mutate(e){throw new Error("Method not implemented.")}async alter(e){throw new Error("Method not implemented.")}async rawQuery(e){throw new Error("Method not implemented.")}};export{a as AdapterMock};
1
+ import"../chunk-2FW6TKD6.js";