@distilled.cloud/planetscale 0.2.0-alpha → 0.2.4
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/README.md +54 -0
- package/lib/client.d.ts +1 -1
- package/lib/client.d.ts.map +1 -1
- package/lib/client.js +5 -5
- package/lib/client.js.map +1 -1
- package/lib/errors.d.ts +3 -3
- package/lib/errors.d.ts.map +1 -1
- package/lib/errors.js +3 -3
- package/lib/errors.js.map +1 -1
- package/package.json +4 -4
- package/src/client.ts +5 -5
- package/src/errors.ts +5 -3
package/README.md
ADDED
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
# @distilled.cloud/planetscale
|
|
2
|
+
|
|
3
|
+
Effect-native PlanetScale SDK generated from the [PlanetScale OpenAPI specification](https://api-docs.planetscale.com/). Manage MySQL and PostgreSQL databases, branches, deploy requests, passwords, and more with exhaustive error typing.
|
|
4
|
+
|
|
5
|
+
## Installation
|
|
6
|
+
|
|
7
|
+
```bash
|
|
8
|
+
npm install @distilled.cloud/planetscale effect
|
|
9
|
+
```
|
|
10
|
+
|
|
11
|
+
## Quick Start
|
|
12
|
+
|
|
13
|
+
```typescript
|
|
14
|
+
import { Effect, Layer } from "effect";
|
|
15
|
+
import * as FetchHttpClient from "effect/unstable/http/FetchHttpClient";
|
|
16
|
+
import { listDatabases, CredentialsFromEnv, Credentials } from "@distilled.cloud/planetscale";
|
|
17
|
+
|
|
18
|
+
const program = Effect.gen(function* () {
|
|
19
|
+
const { organization } = yield* Credentials;
|
|
20
|
+
const databases = yield* listDatabases({ organization });
|
|
21
|
+
return databases.data;
|
|
22
|
+
});
|
|
23
|
+
|
|
24
|
+
const PlanetScaleLive = Layer.mergeAll(FetchHttpClient.layer, CredentialsFromEnv);
|
|
25
|
+
|
|
26
|
+
program.pipe(Effect.provide(PlanetScaleLive), Effect.runPromise);
|
|
27
|
+
```
|
|
28
|
+
|
|
29
|
+
## Configuration
|
|
30
|
+
|
|
31
|
+
Set the following environment variables:
|
|
32
|
+
|
|
33
|
+
```bash
|
|
34
|
+
# Format: SERVICE_TOKEN_ID:SERVICE_TOKEN
|
|
35
|
+
PLANETSCALE_API_TOKEN=pscale_tkn_xxxxx:pscale_tok_xxxxx
|
|
36
|
+
PLANETSCALE_ORGANIZATION=my-org-name
|
|
37
|
+
```
|
|
38
|
+
|
|
39
|
+
## Error Handling
|
|
40
|
+
|
|
41
|
+
```typescript
|
|
42
|
+
import { getDatabase } from "@distilled.cloud/planetscale";
|
|
43
|
+
|
|
44
|
+
getDatabase({ organization: "my-org", database: "missing" }).pipe(
|
|
45
|
+
Effect.catchTags({
|
|
46
|
+
NotFound: () => Effect.succeed(null),
|
|
47
|
+
UnknownPlanetScaleError: (e) => Effect.fail(new Error(`Unknown: ${e.message}`)),
|
|
48
|
+
}),
|
|
49
|
+
);
|
|
50
|
+
```
|
|
51
|
+
|
|
52
|
+
## License
|
|
53
|
+
|
|
54
|
+
MIT
|
package/lib/client.d.ts
CHANGED
package/lib/client.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AACxC,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AASxC,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AACxC,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AASxC,OAAO,EAAE,uBAAuB,EAAE,MAAM,aAAa,CAAC;AAkCtD;;GAEG;AACH,eAAO,MAAM,GAAG;;;CAMd,CAAC"}
|
package/lib/client.js
CHANGED
|
@@ -7,9 +7,9 @@
|
|
|
7
7
|
import * as Effect from "effect/Effect";
|
|
8
8
|
import * as Schema from "effect/Schema";
|
|
9
9
|
import { makeAPI } from "@distilled.cloud/core/client";
|
|
10
|
-
import { HTTP_STATUS_MAP,
|
|
11
|
-
// Re-export for backwards compatibility (tests import
|
|
12
|
-
export {
|
|
10
|
+
import { HTTP_STATUS_MAP, UnknownPlanetScaleError, PlanetScaleParseError, } from "./errors.js";
|
|
11
|
+
// Re-export for backwards compatibility (tests import UnknownPlanetScaleError from client)
|
|
12
|
+
export { UnknownPlanetScaleError } from "./errors.js";
|
|
13
13
|
import { Credentials } from "./credentials.js";
|
|
14
14
|
// API Error Response Schema
|
|
15
15
|
const ApiErrorResponse = Schema.Struct({
|
|
@@ -26,14 +26,14 @@ const matchError = (status, errorBody) => {
|
|
|
26
26
|
if (ErrorClass) {
|
|
27
27
|
return Effect.fail(new ErrorClass({ message: parsed.message ?? "" }));
|
|
28
28
|
}
|
|
29
|
-
return Effect.fail(new
|
|
29
|
+
return Effect.fail(new UnknownPlanetScaleError({
|
|
30
30
|
code: parsed.code,
|
|
31
31
|
message: parsed.message,
|
|
32
32
|
body: errorBody,
|
|
33
33
|
}));
|
|
34
34
|
}
|
|
35
35
|
catch {
|
|
36
|
-
return Effect.fail(new
|
|
36
|
+
return Effect.fail(new UnknownPlanetScaleError({ body: errorBody }));
|
|
37
37
|
}
|
|
38
38
|
};
|
|
39
39
|
/**
|
package/lib/client.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AACxC,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AACxC,OAAO,EAAE,OAAO,EAAE,MAAM,8BAA8B,CAAC;AACvD,OAAO,EACL,eAAe,EACf,
|
|
1
|
+
{"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AACxC,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AACxC,OAAO,EAAE,OAAO,EAAE,MAAM,8BAA8B,CAAC;AACvD,OAAO,EACL,eAAe,EACf,uBAAuB,EACvB,qBAAqB,GACtB,MAAM,aAAa,CAAC;AAErB,2FAA2F;AAC3F,OAAO,EAAE,uBAAuB,EAAE,MAAM,aAAa,CAAC;AACtD,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAE/C,4BAA4B;AAC5B,MAAM,gBAAgB,GAAG,MAAM,CAAC,MAAM,CAAC;IACrC,IAAI,EAAE,MAAM,CAAC,MAAM;IACnB,OAAO,EAAE,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC;CACxC,CAAC,CAAC;AAEH;;GAEG;AACH,MAAM,UAAU,GAAG,CACjB,MAAc,EACd,SAAkB,EACa,EAAE;IACjC,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,MAAM,CAAC,iBAAiB,CAAC,gBAAgB,CAAC,CAAC,SAAS,CAAC,CAAC;QACrE,MAAM,UAAU,GAAI,eAAuB,CAAC,MAAM,CAAC,CAAC;QACpD,IAAI,UAAU,EAAE,CAAC;YACf,OAAO,MAAM,CAAC,IAAI,CAAC,IAAI,UAAU,CAAC,EAAE,OAAO,EAAE,MAAM,CAAC,OAAO,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC;QACxE,CAAC;QACD,OAAO,MAAM,CAAC,IAAI,CAChB,IAAI,uBAAuB,CAAC;YAC1B,IAAI,EAAE,MAAM,CAAC,IAAI;YACjB,OAAO,EAAE,MAAM,CAAC,OAAO;YACvB,IAAI,EAAE,SAAS;SAChB,CAAC,CACH,CAAC;IACJ,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,MAAM,CAAC,IAAI,CAAC,IAAI,uBAAuB,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC;IACvE,CAAC;AACH,CAAC,CAAC;AAEF;;GAEG;AACH,MAAM,CAAC,MAAM,GAAG,GAAG,OAAO,CAAC;IACzB,WAAW,EAAE,WAAkB;IAC/B,UAAU,EAAE,CAAC,KAAU,EAAE,EAAE,CAAC,KAAK,CAAC,UAAU;IAC5C,cAAc,EAAE,CAAC,KAAU,EAAE,EAAE,CAAC,CAAC,EAAE,aAAa,EAAE,KAAK,CAAC,KAAK,EAAE,CAAC;IAChE,UAAU;IACV,UAAU,EAAE,qBAA4B;CACzC,CAAC,CAAC"}
|
package/lib/errors.d.ts
CHANGED
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
* Re-exports common HTTP errors from sdk-core and adds PlanetScale-specific
|
|
5
5
|
* error matching and API error types.
|
|
6
6
|
*/
|
|
7
|
-
export { BadRequest, Conflict, ConfigError, Forbidden, InternalServerError, NotFound, ServiceUnavailable, TooManyRequests, Unauthorized, UnprocessableEntity, HTTP_STATUS_MAP, DEFAULT_ERRORS, API_ERRORS, } from "@distilled.cloud/core/errors";
|
|
7
|
+
export { BadGateway, BadRequest, Conflict, ConfigError, Forbidden, GatewayTimeout, InternalServerError, NotFound, ServiceUnavailable, TooManyRequests, Unauthorized, UnprocessableEntity, HTTP_STATUS_MAP, DEFAULT_ERRORS, API_ERRORS, } from "@distilled.cloud/core/errors";
|
|
8
8
|
export type { DefaultErrors } from "@distilled.cloud/core/errors";
|
|
9
9
|
import * as Schema from "effect/Schema";
|
|
10
10
|
/**
|
|
@@ -12,7 +12,7 @@ import * as Schema from "effect/Schema";
|
|
|
12
12
|
* Maps API error response codes to HTTP error classes.
|
|
13
13
|
*/
|
|
14
14
|
export { HTTP_STATUS_MAP as ERROR_CODE_MAP } from "@distilled.cloud/core/errors";
|
|
15
|
-
declare const
|
|
15
|
+
declare const UnknownPlanetScaleError_base: Schema.ErrorClass<UnknownPlanetScaleError, Schema.TaggedStruct<"UnknownPlanetScaleError", {
|
|
16
16
|
readonly code: Schema.optional<Schema.String>;
|
|
17
17
|
readonly message: Schema.optional<Schema.String>;
|
|
18
18
|
readonly body: Schema.Unknown;
|
|
@@ -21,7 +21,7 @@ declare const PlanetScaleApiError_base: Schema.ErrorClass<PlanetScaleApiError, S
|
|
|
21
21
|
ServerError: true;
|
|
22
22
|
};
|
|
23
23
|
});
|
|
24
|
-
export declare class
|
|
24
|
+
export declare class UnknownPlanetScaleError extends UnknownPlanetScaleError_base {
|
|
25
25
|
}
|
|
26
26
|
declare const PlanetScaleParseError_base: Schema.ErrorClass<PlanetScaleParseError, Schema.TaggedStruct<"PlanetScaleParseError", {
|
|
27
27
|
readonly body: Schema.Unknown;
|
package/lib/errors.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,OAAO,EACL,UAAU,EACV,QAAQ,EACR,WAAW,EACX,SAAS,EACT,mBAAmB,EACnB,QAAQ,EACR,kBAAkB,EAClB,eAAe,EACf,YAAY,EACZ,mBAAmB,EACnB,eAAe,EACf,cAAc,EACd,UAAU,GACX,MAAM,8BAA8B,CAAC;AACtC,YAAY,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAC;AAElE,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AAGxC;;;GAGG;AACH,OAAO,EAAE,eAAe,IAAI,cAAc,EAAE,MAAM,8BAA8B,CAAC;;;;;;;;;;AAGjF,qBAAa,
|
|
1
|
+
{"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,OAAO,EACL,UAAU,EACV,UAAU,EACV,QAAQ,EACR,WAAW,EACX,SAAS,EACT,cAAc,EACd,mBAAmB,EACnB,QAAQ,EACR,kBAAkB,EAClB,eAAe,EACf,YAAY,EACZ,mBAAmB,EACnB,eAAe,EACf,cAAc,EACd,UAAU,GACX,MAAM,8BAA8B,CAAC;AACtC,YAAY,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAC;AAElE,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AAGxC;;;GAGG;AACH,OAAO,EAAE,eAAe,IAAI,cAAc,EAAE,MAAM,8BAA8B,CAAC;;;;;;;;;;AAGjF,qBAAa,uBAAwB,SAAQ,4BAOb;CAAG;;;;;;;;;AAGnC,qBAAa,qBAAsB,SAAQ,0BAMZ;CAAG"}
|
package/lib/errors.js
CHANGED
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
* Re-exports common HTTP errors from sdk-core and adds PlanetScale-specific
|
|
5
5
|
* error matching and API error types.
|
|
6
6
|
*/
|
|
7
|
-
export { BadRequest, Conflict, ConfigError, Forbidden, InternalServerError, NotFound, ServiceUnavailable, TooManyRequests, Unauthorized, UnprocessableEntity, HTTP_STATUS_MAP, DEFAULT_ERRORS, API_ERRORS, } from "@distilled.cloud/core/errors";
|
|
7
|
+
export { BadGateway, BadRequest, Conflict, ConfigError, Forbidden, GatewayTimeout, InternalServerError, NotFound, ServiceUnavailable, TooManyRequests, Unauthorized, UnprocessableEntity, HTTP_STATUS_MAP, DEFAULT_ERRORS, API_ERRORS, } from "@distilled.cloud/core/errors";
|
|
8
8
|
import * as Schema from "effect/Schema";
|
|
9
9
|
import * as Category from "@distilled.cloud/core/category";
|
|
10
10
|
/**
|
|
@@ -12,8 +12,8 @@ import * as Category from "@distilled.cloud/core/category";
|
|
|
12
12
|
* Maps API error response codes to HTTP error classes.
|
|
13
13
|
*/
|
|
14
14
|
export { HTTP_STATUS_MAP as ERROR_CODE_MAP } from "@distilled.cloud/core/errors";
|
|
15
|
-
//
|
|
16
|
-
export class
|
|
15
|
+
// Unknown PlanetScale error - returned when an error code is not recognized
|
|
16
|
+
export class UnknownPlanetScaleError extends Schema.TaggedErrorClass()("UnknownPlanetScaleError", {
|
|
17
17
|
code: Schema.optional(Schema.String),
|
|
18
18
|
message: Schema.optional(Schema.String),
|
|
19
19
|
body: Schema.Unknown,
|
package/lib/errors.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"errors.js","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,OAAO,EACL,UAAU,EACV,QAAQ,EACR,WAAW,EACX,SAAS,EACT,mBAAmB,EACnB,QAAQ,EACR,kBAAkB,EAClB,eAAe,EACf,YAAY,EACZ,mBAAmB,EACnB,eAAe,EACf,cAAc,EACd,UAAU,GACX,MAAM,8BAA8B,CAAC;AAGtC,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AACxC,OAAO,KAAK,QAAQ,MAAM,gCAAgC,CAAC;AAE3D;;;GAGG;AACH,OAAO,EAAE,eAAe,IAAI,cAAc,EAAE,MAAM,8BAA8B,CAAC;AAEjF,
|
|
1
|
+
{"version":3,"file":"errors.js","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,OAAO,EACL,UAAU,EACV,UAAU,EACV,QAAQ,EACR,WAAW,EACX,SAAS,EACT,cAAc,EACd,mBAAmB,EACnB,QAAQ,EACR,kBAAkB,EAClB,eAAe,EACf,YAAY,EACZ,mBAAmB,EACnB,eAAe,EACf,cAAc,EACd,UAAU,GACX,MAAM,8BAA8B,CAAC;AAGtC,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AACxC,OAAO,KAAK,QAAQ,MAAM,gCAAgC,CAAC;AAE3D;;;GAGG;AACH,OAAO,EAAE,eAAe,IAAI,cAAc,EAAE,MAAM,8BAA8B,CAAC;AAEjF,4EAA4E;AAC5E,MAAM,OAAO,uBAAwB,SAAQ,MAAM,CAAC,gBAAgB,EAA2B,CAC7F,yBAAyB,EACzB;IACE,IAAI,EAAE,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC;IACpC,OAAO,EAAE,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC;IACvC,IAAI,EAAE,MAAM,CAAC,OAAO;CACrB,CACF,CAAC,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC;CAAG;AAEnC,6BAA6B;AAC7B,MAAM,OAAO,qBAAsB,SAAQ,MAAM,CAAC,gBAAgB,EAAyB,CACzF,uBAAuB,EACvB;IACE,IAAI,EAAE,MAAM,CAAC,OAAO;IACpB,KAAK,EAAE,MAAM,CAAC,OAAO;CACtB,CACF,CAAC,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC;CAAG"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@distilled.cloud/planetscale",
|
|
3
|
-
"version": "0.2.
|
|
3
|
+
"version": "0.2.4",
|
|
4
4
|
"repository": {
|
|
5
5
|
"type": "git",
|
|
6
6
|
"url": "https://github.com/alchemy-run/distilled",
|
|
@@ -73,8 +73,8 @@
|
|
|
73
73
|
"specs:update": "git -C specs/distilled-spec-planetscale fetch && git -C specs/distilled-spec-planetscale checkout main && git -C specs/distilled-spec-planetscale pull"
|
|
74
74
|
},
|
|
75
75
|
"dependencies": {
|
|
76
|
-
"@distilled.cloud/core": "0.2.0",
|
|
77
|
-
"effect": "4.0.0-beta.
|
|
76
|
+
"@distilled.cloud/core": "0.2.0-alpha",
|
|
77
|
+
"effect": "4.0.0-beta.30"
|
|
78
78
|
},
|
|
79
79
|
"devDependencies": {
|
|
80
80
|
"@types/bun": "^1.3.0",
|
|
@@ -83,6 +83,6 @@
|
|
|
83
83
|
"vitest": "^3.2.3"
|
|
84
84
|
},
|
|
85
85
|
"peerDependencies": {
|
|
86
|
-
"effect": "4.0.0-beta.
|
|
86
|
+
"effect": "4.0.0-beta.30"
|
|
87
87
|
}
|
|
88
88
|
}
|
package/src/client.ts
CHANGED
|
@@ -9,12 +9,12 @@ import * as Schema from "effect/Schema";
|
|
|
9
9
|
import { makeAPI } from "@distilled.cloud/core/client";
|
|
10
10
|
import {
|
|
11
11
|
HTTP_STATUS_MAP,
|
|
12
|
-
|
|
12
|
+
UnknownPlanetScaleError,
|
|
13
13
|
PlanetScaleParseError,
|
|
14
14
|
} from "./errors.ts";
|
|
15
15
|
|
|
16
|
-
// Re-export for backwards compatibility (tests import
|
|
17
|
-
export {
|
|
16
|
+
// Re-export for backwards compatibility (tests import UnknownPlanetScaleError from client)
|
|
17
|
+
export { UnknownPlanetScaleError } from "./errors.ts";
|
|
18
18
|
import { Credentials } from "./credentials.ts";
|
|
19
19
|
|
|
20
20
|
// API Error Response Schema
|
|
@@ -37,14 +37,14 @@ const matchError = (
|
|
|
37
37
|
return Effect.fail(new ErrorClass({ message: parsed.message ?? "" }));
|
|
38
38
|
}
|
|
39
39
|
return Effect.fail(
|
|
40
|
-
new
|
|
40
|
+
new UnknownPlanetScaleError({
|
|
41
41
|
code: parsed.code,
|
|
42
42
|
message: parsed.message,
|
|
43
43
|
body: errorBody,
|
|
44
44
|
}),
|
|
45
45
|
);
|
|
46
46
|
} catch {
|
|
47
|
-
return Effect.fail(new
|
|
47
|
+
return Effect.fail(new UnknownPlanetScaleError({ body: errorBody }));
|
|
48
48
|
}
|
|
49
49
|
};
|
|
50
50
|
|
package/src/errors.ts
CHANGED
|
@@ -5,10 +5,12 @@
|
|
|
5
5
|
* error matching and API error types.
|
|
6
6
|
*/
|
|
7
7
|
export {
|
|
8
|
+
BadGateway,
|
|
8
9
|
BadRequest,
|
|
9
10
|
Conflict,
|
|
10
11
|
ConfigError,
|
|
11
12
|
Forbidden,
|
|
13
|
+
GatewayTimeout,
|
|
12
14
|
InternalServerError,
|
|
13
15
|
NotFound,
|
|
14
16
|
ServiceUnavailable,
|
|
@@ -30,9 +32,9 @@ import * as Category from "@distilled.cloud/core/category";
|
|
|
30
32
|
*/
|
|
31
33
|
export { HTTP_STATUS_MAP as ERROR_CODE_MAP } from "@distilled.cloud/core/errors";
|
|
32
34
|
|
|
33
|
-
//
|
|
34
|
-
export class
|
|
35
|
-
"
|
|
35
|
+
// Unknown PlanetScale error - returned when an error code is not recognized
|
|
36
|
+
export class UnknownPlanetScaleError extends Schema.TaggedErrorClass<UnknownPlanetScaleError>()(
|
|
37
|
+
"UnknownPlanetScaleError",
|
|
36
38
|
{
|
|
37
39
|
code: Schema.optional(Schema.String),
|
|
38
40
|
message: Schema.optional(Schema.String),
|