Fix more errors, Uint8Array<ArrayBuffer> disambiguation
This commit is contained in:
@@ -40,7 +40,7 @@ export interface AttachmentTable extends AttachmentData, SystemInformation {
|
|||||||
|
|
||||||
export interface FileTable {
|
export interface FileTable {
|
||||||
sha256: ColumnType<Sha256, Sha256, never>;
|
sha256: ColumnType<Sha256, Sha256, never>;
|
||||||
data: ColumnType<Uint8Array, Uint8Array, never>;
|
data: ColumnType<Uint8Array<ArrayBuffer>, Uint8Array<ArrayBuffer>, never>;
|
||||||
}
|
}
|
||||||
|
|
||||||
export interface OptionTable {
|
export interface OptionTable {
|
||||||
|
|||||||
@@ -2,6 +2,7 @@
|
|||||||
|
|
||||||
import { describe, test } from "bun:test";
|
import { describe, test } from "bun:test";
|
||||||
import * as cbor from "cbor2";
|
import * as cbor from "cbor2";
|
||||||
|
import { Uint8ArrayArrayBufferFromSelf } from "common";
|
||||||
import { Effect, Schema } from "effect";
|
import { Effect, Schema } from "effect";
|
||||||
import * as Cbor from "./Cbor";
|
import * as Cbor from "./Cbor";
|
||||||
import * as Test from "./Test";
|
import * as Test from "./Test";
|
||||||
@@ -61,7 +62,7 @@ describe("encodeSchema", () => {
|
|||||||
const schema = Schema.Struct({
|
const schema = Schema.Struct({
|
||||||
x: Schema.String,
|
x: Schema.String,
|
||||||
y: Schema.DateFromSelf,
|
y: Schema.DateFromSelf,
|
||||||
z: Schema.Uint8ArrayFromSelf,
|
z: Uint8ArrayArrayBufferFromSelf,
|
||||||
});
|
});
|
||||||
|
|
||||||
const object = schema.make({
|
const object = schema.make({
|
||||||
@@ -84,7 +85,7 @@ describe("decodeSchema", () => {
|
|||||||
const schema = Schema.Struct({
|
const schema = Schema.Struct({
|
||||||
x: Schema.String,
|
x: Schema.String,
|
||||||
y: Schema.DateFromSelf,
|
y: Schema.DateFromSelf,
|
||||||
z: Schema.Uint8ArrayFromSelf,
|
z: Uint8ArrayArrayBufferFromSelf,
|
||||||
});
|
});
|
||||||
|
|
||||||
const object = schema.make({
|
const object = schema.make({
|
||||||
|
|||||||
@@ -1,7 +1,19 @@
|
|||||||
import { pipe, Schema } from "effect";
|
import { Arbitrary, Array, Equal, Equivalence, pipe, Predicate, Pretty, Schema } from "effect";
|
||||||
|
|
||||||
|
export const isUint8ArrayArrayBuffer = (input: unknown): input is Uint8Array<ArrayBuffer> => input instanceof Uint8Array && input.buffer instanceof ArrayBuffer;
|
||||||
|
|
||||||
|
export class Uint8ArrayArrayBufferFromSelf extends Schema.declare(
|
||||||
|
isUint8ArrayArrayBuffer,
|
||||||
|
{
|
||||||
|
identifier: "Uint8ArrayArrayBufferFromSelf",
|
||||||
|
pretty: (): Pretty.Pretty<Uint8Array<ArrayBuffer>> => (u8arr) => `new Uint8Array<ArrayBuffer>(${JSON.stringify(globalThis.Array.from(u8arr))})`,
|
||||||
|
arbitrary: (): Arbitrary.LazyArbitrary<Uint8Array<ArrayBuffer>> => (fc) => fc.uint8Array() as any,
|
||||||
|
equivalence: (): Equivalence.Equivalence<Uint8Array> => Array.getEquivalence(Equal.equals) as any,
|
||||||
|
},
|
||||||
|
) { }
|
||||||
|
|
||||||
export const Sha256 = pipe(
|
export const Sha256 = pipe(
|
||||||
Schema.Uint8ArrayFromSelf,
|
Uint8ArrayArrayBufferFromSelf,
|
||||||
Schema.filter((arr) => arr.byteLength === 32),
|
Schema.filter((arr) => arr.byteLength === 32),
|
||||||
Schema.brand("Sha256"),
|
Schema.brand("Sha256"),
|
||||||
);
|
);
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
import { AttachmentId, PieceId, RepertoireId, Sha256, UserId } from "common";
|
import { AttachmentId, PieceId, RepertoireId, Sha256, Uint8ArrayArrayBufferFromSelf, UserId } from "common";
|
||||||
import { pipe, Schema } from "effect";
|
import { pipe, Schema } from "effect";
|
||||||
import { constant } from "effect/Function";
|
import { constant } from "effect/Function";
|
||||||
import * as Api from "./Api";
|
import * as Api from "./Api";
|
||||||
@@ -173,7 +173,7 @@ export default Api.bundle({
|
|||||||
pieceId: PieceId,
|
pieceId: PieceId,
|
||||||
filename: Schema.NonEmptyString,
|
filename: Schema.NonEmptyString,
|
||||||
mediaType: Schema.NonEmptyString,
|
mediaType: Schema.NonEmptyString,
|
||||||
data: Schema.Uint8ArrayFromSelf,
|
data: Uint8ArrayArrayBufferFromSelf,
|
||||||
}),
|
}),
|
||||||
Attachment,
|
Attachment,
|
||||||
Schema.Union(Unauthenticated, Unauthorized, NotFound),
|
Schema.Union(Unauthenticated, Unauthorized, NotFound),
|
||||||
@@ -183,7 +183,7 @@ export default Api.bundle({
|
|||||||
Schema.Struct({
|
Schema.Struct({
|
||||||
filename: Schema.NonEmptyString,
|
filename: Schema.NonEmptyString,
|
||||||
mediaType: Schema.NonEmptyString,
|
mediaType: Schema.NonEmptyString,
|
||||||
data: Schema.Uint8ArrayFromSelf,
|
data: Uint8ArrayArrayBufferFromSelf,
|
||||||
}),
|
}),
|
||||||
Schema.Union(Unauthenticated, Unauthorized, NotFound),
|
Schema.Union(Unauthenticated, Unauthorized, NotFound),
|
||||||
),
|
),
|
||||||
|
|||||||
@@ -21,7 +21,7 @@ export function Repertoires() {
|
|||||||
|
|
||||||
const { isLoading, error, data: repertoireIds } = useLoading(Effect.gen(function* () {
|
const { isLoading, error, data: repertoireIds } = useLoading(Effect.gen(function* () {
|
||||||
yield* debounce.current;
|
yield* debounce.current;
|
||||||
const data = yield* client.queryRepertoire({
|
const data = yield* client.queryRepertoires({
|
||||||
name: name !== "" ? Option.some(name) : Option.none(),
|
name: name !== "" ? Option.some(name) : Option.none(),
|
||||||
offset: 0,
|
offset: 0,
|
||||||
limit: 100,
|
limit: 100,
|
||||||
|
|||||||
Reference in New Issue
Block a user