Compare commits
17 Commits
fuzzyobjec
...
benjamin-j
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
327a7315b7 | ||
|
|
2bf28170f7 | ||
|
|
e472d2c513 | ||
|
|
64e0aaba88 | ||
|
|
27b0d75338 | ||
|
|
d6175fb936 | ||
|
|
8311a61f3f | ||
|
|
2e3b10c5f6 | ||
|
|
2dfe2158fd | ||
|
|
2a4f9da62a | ||
|
|
67b1a6ba66 | ||
|
|
0609388899 | ||
|
|
b12f8e3f26 | ||
|
|
892ca34443 | ||
|
|
3533707794 | ||
|
|
2f848a8d83 | ||
|
|
eae493b9d3 |
@@ -1,5 +0,0 @@
|
||||
---
|
||||
"jazz-tools": patch
|
||||
---
|
||||
|
||||
Rename BinaryCoStream to FileStream
|
||||
@@ -1,5 +0,0 @@
|
||||
---
|
||||
"jazz-tools": patch
|
||||
---
|
||||
|
||||
Rename CoStream to CoFeed
|
||||
@@ -5,7 +5,7 @@
|
||||
<link rel="icon" type="image/png" href="/jazz-logo.png" />
|
||||
<link rel="stylesheet" href="/src/index.css" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
<title>Jazz FileStream Tests</title>
|
||||
<title>Jazz BinaryCoStream Tests</title>
|
||||
</head>
|
||||
<body>
|
||||
<div id="root"></div>
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
{
|
||||
"name": "@jazz-e2e/filestream",
|
||||
"name": "@jazz-e2e/binarycostream",
|
||||
"private": true,
|
||||
"version": "0.0.100",
|
||||
"type": "module",
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
import { Account, FileStream, ID } from "jazz-tools";
|
||||
import { Account, BinaryCoStream, ID } from "jazz-tools";
|
||||
import { useEffect } from "react";
|
||||
import { useAccount, useCoState } from "./jazz";
|
||||
import { waitForCoValue } from "./lib/waitForCoValue";
|
||||
@@ -15,7 +15,7 @@ async function getUploadedFile(me: Account, uploadedFileId: ID<UploadedFile>) {
|
||||
|
||||
uploadedFile.coMapDownloaded = true;
|
||||
|
||||
await FileStream.loadAsBlob(uploadedFile._refs.file.id, me);
|
||||
await BinaryCoStream.loadAsBlob(uploadedFile._refs.file.id, me);
|
||||
|
||||
return uploadedFile;
|
||||
}
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
import { Account, FileStream, Group } from "jazz-tools";
|
||||
import { Account, BinaryCoStream, Group } from "jazz-tools";
|
||||
import { UploadedFile } from "../schema";
|
||||
|
||||
export async function generateTestFile(me: Account, bytes: number) {
|
||||
@@ -8,7 +8,7 @@ export async function generateTestFile(me: Account, bytes: number) {
|
||||
const ownership = { owner: group };
|
||||
const testFile = UploadedFile.create(
|
||||
{
|
||||
file: await FileStream.createFromBlob(
|
||||
file: await BinaryCoStream.createFromBlob(
|
||||
new Blob(["1".repeat(bytes)], { type: "image/png" }),
|
||||
ownership,
|
||||
),
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
import { CoMap, FileStream, co } from "jazz-tools";
|
||||
import { BinaryCoStream, CoMap, co } from "jazz-tools";
|
||||
|
||||
export class UploadedFile extends CoMap {
|
||||
file = co.ref(FileStream);
|
||||
file = co.ref(BinaryCoStream);
|
||||
syncCompleted = co.boolean;
|
||||
coMapDownloaded = co.boolean;
|
||||
}
|
||||
|
||||
@@ -1,4 +1,11 @@
|
||||
import { Account, CoList, CoMap, FileStream, Profile, co } from "jazz-tools";
|
||||
import {
|
||||
Account,
|
||||
BinaryCoStream,
|
||||
CoList,
|
||||
CoMap,
|
||||
Profile,
|
||||
co,
|
||||
} from "jazz-tools";
|
||||
|
||||
/** Walkthrough: Defining the data model with CoJSON
|
||||
*
|
||||
@@ -29,12 +36,12 @@ export class MusicTrack extends CoMap {
|
||||
sourceTrack = co.optional.ref(MusicTrack);
|
||||
|
||||
/**
|
||||
* In Jazz you can upload files using FileStream.
|
||||
* In Jazz you can files using BinaryCoStream.
|
||||
*
|
||||
* As for any other coValue the music files we put inside FileStream
|
||||
* As for any other coValue the music files we put inside BinaryCoStream
|
||||
* is available offline and end-to-end encrypted 😉
|
||||
*/
|
||||
file = co.ref(FileStream);
|
||||
file = co.ref(BinaryCoStream);
|
||||
waveform = co.ref(MusicTrackWaveform);
|
||||
}
|
||||
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
import { getAudioFileData } from "@/lib/audio/getAudioFileData";
|
||||
import { FileStream, Group } from "jazz-tools";
|
||||
import { BinaryCoStream, Group } from "jazz-tools";
|
||||
import {
|
||||
ListOfTracks,
|
||||
MusicTrack,
|
||||
@@ -35,14 +35,14 @@ export async function uploadMusicTracks(
|
||||
for (const file of files) {
|
||||
const data = await getAudioFileData(file);
|
||||
|
||||
// We transform the file blob into a FileStream
|
||||
// We transform the file blob into a BinaryCoStream
|
||||
// making it a collaborative value that is encrypted, easy
|
||||
// to share across devices and users and available offline!
|
||||
const fileStream = await FileStream.createFromBlob(file, ownership);
|
||||
const binaryCoStream = await BinaryCoStream.createFromBlob(file, ownership);
|
||||
|
||||
const musicTrack = MusicTrack.create(
|
||||
{
|
||||
file: fileStream,
|
||||
file: binaryCoStream,
|
||||
duration: data.duration,
|
||||
waveform: MusicTrackWaveform.create({ data: data.waveform }, ownership),
|
||||
title: file.name,
|
||||
@@ -98,7 +98,7 @@ export async function addTrackToPlaylist(
|
||||
* won't need to clone values to have this kind of sharing granularity
|
||||
*/
|
||||
const ownership = { owner: playlist._owner };
|
||||
const blob = await FileStream.loadAsBlob(track._refs.file.id, account);
|
||||
const blob = await BinaryCoStream.loadAsBlob(track._refs.file.id, account);
|
||||
const waveform = await MusicTrackWaveform.load(
|
||||
track._refs.waveform.id,
|
||||
account,
|
||||
@@ -109,7 +109,7 @@ export async function addTrackToPlaylist(
|
||||
|
||||
const trackClone = MusicTrack.create(
|
||||
{
|
||||
file: await FileStream.createFromBlob(blob, ownership),
|
||||
file: await BinaryCoStream.createFromBlob(blob, ownership),
|
||||
duration: track.duration,
|
||||
waveform: MusicTrackWaveform.create({ data: waveform.data }, ownership),
|
||||
title: track.title,
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
import { MusicTrack, Playlist } from "@/1_schema";
|
||||
import { usePlayMedia } from "@/lib/audio/usePlayMedia";
|
||||
import { usePlayState } from "@/lib/audio/usePlayState";
|
||||
import { FileStream, ID } from "jazz-tools";
|
||||
import { BinaryCoStream, ID } from "jazz-tools";
|
||||
import { useRef, useState } from "react";
|
||||
import { useAccount } from "./2_main";
|
||||
import { updateActivePlaylist, updateActiveTrack } from "./4_actions";
|
||||
@@ -27,7 +27,7 @@ export function useMediaPlayer() {
|
||||
|
||||
setLoading(track.id);
|
||||
|
||||
const file = await FileStream.loadAsBlob(track._refs.file.id, me);
|
||||
const file = await BinaryCoStream.loadAsBlob(track._refs.file.id, me);
|
||||
|
||||
if (!file) {
|
||||
setLoading(null);
|
||||
|
||||
87
homepage/homepage/app/docs/[...slug]/schemas/accounts.mdx
Normal file
87
homepage/homepage/app/docs/[...slug]/schemas/accounts.mdx
Normal file
@@ -0,0 +1,87 @@
|
||||
import { CodeGroup } from "@/components/forMdx";
|
||||
|
||||
# Accounts & migrations
|
||||
|
||||
Accounts are a fundamental building block for user identity and data organization in Jazz applications, providing a structured way to manage both public and private user data while maintaining type-safety and access control.
|
||||
|
||||
Account data and metadata are publicly visible to other users.
|
||||
|
||||
For private data, we suggest nesting privately owned CoValues within the account root.
|
||||
|
||||
## Accounts
|
||||
|
||||
To create a custom account type, extend the `Account` class and register it with the Jazz runtime.
|
||||
|
||||
<CodeGroup>
|
||||
```ts
|
||||
import { Account, CoMap } from "jazz-tools";
|
||||
|
||||
class MyAccountRoot extends CoMap {
|
||||
privateString = co.string; // Readable by the account owner
|
||||
}
|
||||
|
||||
class MyProfile extends Profile {
|
||||
publicString = co.string; // Readable by everyone
|
||||
}
|
||||
|
||||
class MyAccount extends Account {
|
||||
root = co.ref(MyAccountRoot);
|
||||
profile = co.ref(MyProfile);
|
||||
}
|
||||
```
|
||||
</CodeGroup>
|
||||
|
||||
### Schema
|
||||
|
||||
When passing the account class to the Jazz runtime, the schema is used to type account data.
|
||||
|
||||
<CodeGroup>
|
||||
```ts
|
||||
// React
|
||||
const Jazz = createJazzReactApp({
|
||||
AccountSchema: MyAccount,
|
||||
});
|
||||
```
|
||||
</CodeGroup>
|
||||
|
||||
<CodeGroup>
|
||||
```ts
|
||||
// React Native
|
||||
const Jazz = createJazzReactNativeApp({
|
||||
AccountSchema: MyAccount,
|
||||
});
|
||||
```
|
||||
</CodeGroup>
|
||||
|
||||
<CodeGroup>
|
||||
```ts
|
||||
// Vue
|
||||
const Jazz = createJazzVueApp({
|
||||
AccountSchema: MyAccount,
|
||||
});
|
||||
```
|
||||
</CodeGroup>
|
||||
|
||||
## Migrations
|
||||
|
||||
Accounts can be migrated to add new data or update schemas. The `migrate()` method runs automatically when an account is created and each time a user logs in.
|
||||
|
||||
You can use migrations to initialize the account root and set up any other required CoValues.
|
||||
|
||||
|
||||
<CodeGroup>
|
||||
```ts
|
||||
class MyAccount extends Account {
|
||||
async migrate() {
|
||||
super.migrate(creationProps);
|
||||
|
||||
if (!this._refs.root) {
|
||||
this.root = MyAccountRoot.create({
|
||||
privateString: "Keep it hidden, keep it safe.",
|
||||
},
|
||||
{ owner: this });
|
||||
}
|
||||
}
|
||||
}
|
||||
```
|
||||
</CodeGroup>
|
||||
@@ -56,12 +56,12 @@ export const docNavigationItems = [
|
||||
{
|
||||
name: "CoValues",
|
||||
href: "/docs/schemas/covalues",
|
||||
done: 20,
|
||||
done: 50,
|
||||
},
|
||||
{
|
||||
name: "Accounts & Migrations",
|
||||
href: "/docs/schemas/accounts",
|
||||
done: 0,
|
||||
done: 20,
|
||||
},
|
||||
],
|
||||
},
|
||||
|
||||
@@ -42,7 +42,7 @@ test("Can create a CoStream in a group", () => {
|
||||
expect(stream instanceof RawCoStream).toEqual(true);
|
||||
});
|
||||
|
||||
test("Can create a FileStream in a group", () => {
|
||||
test("Can create a BinaryCoStream in a group", () => {
|
||||
const node = new LocalNode(...randomAnonymousAccountAndSessionID(), Crypto);
|
||||
|
||||
const group = node.createGroup();
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
import ImageBlobReduce from "image-blob-reduce";
|
||||
import { Account, FileStream, Group, ImageDefinition } from "jazz-tools";
|
||||
import { Account, BinaryCoStream, Group, ImageDefinition } from "jazz-tools";
|
||||
import Pica from "pica";
|
||||
|
||||
const pica = new Pica();
|
||||
@@ -51,7 +51,7 @@ export async function createImage(
|
||||
? 256
|
||||
: Math.round(256 * (originalHeight / originalWidth));
|
||||
|
||||
const binaryStream = await FileStream.createFromBlob(max256, {
|
||||
const binaryStream = await BinaryCoStream.createFromBlob(max256, {
|
||||
owner: options.owner,
|
||||
});
|
||||
|
||||
@@ -74,7 +74,7 @@ export async function createImage(
|
||||
? 1024
|
||||
: Math.round(1024 * (originalHeight / originalWidth));
|
||||
|
||||
const binaryStream = await FileStream.createFromBlob(max1024, {
|
||||
const binaryStream = await BinaryCoStream.createFromBlob(max1024, {
|
||||
owner: options.owner,
|
||||
});
|
||||
|
||||
@@ -97,7 +97,7 @@ export async function createImage(
|
||||
? 2048
|
||||
: Math.round(2048 * (originalHeight / originalWidth));
|
||||
|
||||
const binaryStream = await FileStream.createFromBlob(max2048, {
|
||||
const binaryStream = await BinaryCoStream.createFromBlob(max2048, {
|
||||
owner: options.owner,
|
||||
});
|
||||
|
||||
@@ -108,7 +108,7 @@ export async function createImage(
|
||||
|
||||
if (options.maxSize === 2048) return;
|
||||
|
||||
const originalBinaryStream = await FileStream.createFromBlob(
|
||||
const originalBinaryStream = await BinaryCoStream.createFromBlob(
|
||||
imageBlobOrFile,
|
||||
{ owner: options.owner },
|
||||
);
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
import ImageResizer from "@bam.tech/react-native-image-resizer";
|
||||
import * as FileSystem from "expo-file-system";
|
||||
import { Account, FileStream, Group, ImageDefinition } from "jazz-tools";
|
||||
import { Account, BinaryCoStream, Group, ImageDefinition } from "jazz-tools";
|
||||
import { Image } from "react-native";
|
||||
|
||||
function arrayBuffer(blob: Blob): Promise<ArrayBuffer> {
|
||||
@@ -157,7 +157,7 @@ export async function createImage(
|
||||
0,
|
||||
);
|
||||
|
||||
const binaryStream = await FileStream.createFromBlob(
|
||||
const binaryStream = await BinaryCoStream.createFromBlob(
|
||||
await fileUriToBlob(resizedImage.uri),
|
||||
{ owner: options.owner },
|
||||
);
|
||||
@@ -214,7 +214,7 @@ export async function createImage(
|
||||
|
||||
if (options.maxSize === undefined || options.maxSize > 2048) {
|
||||
try {
|
||||
const originalBinaryStream = await FileStream.createFromBlob(
|
||||
const originalBinaryStream = await BinaryCoStream.createFromBlob(
|
||||
await base64DataURIToBlob(base64ImageDataURI),
|
||||
{ owner: options.owner },
|
||||
);
|
||||
|
||||
@@ -469,11 +469,8 @@ const CoStreamPerSessionProxyHandler = (
|
||||
},
|
||||
});
|
||||
|
||||
/** @deprecated Use CoFeed instead */
|
||||
export { FileStream as BinaryCoStream };
|
||||
|
||||
/** @category CoValues */
|
||||
export class FileStream extends CoValueBase implements CoValue {
|
||||
export class BinaryCoStream extends CoValueBase implements CoValue {
|
||||
declare id: ID<this>;
|
||||
declare _type: "BinaryCoStream";
|
||||
declare _raw: RawBinaryCoStream;
|
||||
@@ -508,7 +505,7 @@ export class FileStream extends CoValueBase implements CoValue {
|
||||
});
|
||||
}
|
||||
|
||||
static create<S extends FileStream>(
|
||||
static create<S extends BinaryCoStream>(
|
||||
this: CoValueClass<S>,
|
||||
options: { owner: Account | Group },
|
||||
) {
|
||||
@@ -553,7 +550,7 @@ export class FileStream extends CoValueBase implements CoValue {
|
||||
}
|
||||
|
||||
static async loadAsBlob(
|
||||
id: ID<FileStream>,
|
||||
id: ID<BinaryCoStream>,
|
||||
as: Account,
|
||||
options?: {
|
||||
allowUnfinished?: boolean;
|
||||
@@ -566,7 +563,7 @@ export class FileStream extends CoValueBase implements CoValue {
|
||||
* stream isn't complete wait for the stream download before progressing
|
||||
*/
|
||||
if (!options?.allowUnfinished && !stream?.isBinaryStreamEnded()) {
|
||||
stream = await new Promise<FileStream>((resolve) => {
|
||||
stream = await new Promise<BinaryCoStream>((resolve) => {
|
||||
const unsubscribe = subscribeToCoValue(this, id, as, [], (value) => {
|
||||
if (value.isBinaryStreamEnded()) {
|
||||
unsubscribe();
|
||||
@@ -587,7 +584,7 @@ export class FileStream extends CoValueBase implements CoValue {
|
||||
owner: Group | Account;
|
||||
onProgress?: (progress: number) => void;
|
||||
},
|
||||
): Promise<FileStream> {
|
||||
): Promise<BinaryCoStream> {
|
||||
const stream = this.create({ owner: options.owner });
|
||||
|
||||
const start = Date.now();
|
||||
@@ -647,7 +644,7 @@ export class FileStream extends CoValueBase implements CoValue {
|
||||
}
|
||||
|
||||
/** @category Subscription & Loading */
|
||||
static load<B extends FileStream, Depth>(
|
||||
static load<B extends BinaryCoStream, Depth>(
|
||||
this: CoValueClass<B>,
|
||||
id: ID<B>,
|
||||
as: Account,
|
||||
@@ -657,7 +654,7 @@ export class FileStream extends CoValueBase implements CoValue {
|
||||
}
|
||||
|
||||
/** @category Subscription & Loading */
|
||||
static subscribe<B extends FileStream, Depth>(
|
||||
static subscribe<B extends BinaryCoStream, Depth>(
|
||||
this: CoValueClass<B>,
|
||||
id: ID<B>,
|
||||
as: Account,
|
||||
@@ -668,7 +665,7 @@ export class FileStream extends CoValueBase implements CoValue {
|
||||
}
|
||||
|
||||
/** @category Subscription & Loading */
|
||||
ensureLoaded<B extends FileStream, Depth>(
|
||||
ensureLoaded<B extends BinaryCoStream, Depth>(
|
||||
this: B,
|
||||
depth: Depth & DepthsIn<B>,
|
||||
): Promise<DeeplyLoaded<B, Depth> | undefined> {
|
||||
@@ -676,7 +673,7 @@ export class FileStream extends CoValueBase implements CoValue {
|
||||
}
|
||||
|
||||
/** @category Subscription & Loading */
|
||||
subscribe<B extends FileStream, Depth>(
|
||||
subscribe<B extends BinaryCoStream, Depth>(
|
||||
this: B,
|
||||
depth: Depth & DepthsIn<B>,
|
||||
listener: (value: DeeplyLoaded<B, Depth>) => void,
|
||||
|
||||
@@ -1,16 +1,21 @@
|
||||
import { CoMap, FileStream, co, subscriptionsScopes } from "../../internal.js";
|
||||
import {
|
||||
BinaryCoStream,
|
||||
CoMap,
|
||||
co,
|
||||
subscriptionsScopes,
|
||||
} from "../../internal.js";
|
||||
|
||||
/** @category Media */
|
||||
export class ImageDefinition extends CoMap {
|
||||
originalSize = co.json<[number, number]>();
|
||||
placeholderDataURL? = co.string;
|
||||
|
||||
[co.items] = co.ref(FileStream);
|
||||
[res: `${number}x${number}`]: co<FileStream | null>;
|
||||
[co.items] = co.ref(BinaryCoStream);
|
||||
[res: `${number}x${number}`]: co<BinaryCoStream | null>;
|
||||
|
||||
highestResAvailable(options?: {
|
||||
maxWidth?: number;
|
||||
}): { res: `${number}x${number}`; stream: FileStream } | undefined {
|
||||
}): { res: `${number}x${number}`; stream: BinaryCoStream } | undefined {
|
||||
if (!subscriptionsScopes.get(this)) {
|
||||
console.warn(
|
||||
"highestResAvailable() only makes sense when used within a subscription.",
|
||||
|
||||
@@ -14,7 +14,6 @@ export { Encoders, co } from "./internal.js";
|
||||
|
||||
export {
|
||||
Account,
|
||||
FileStream,
|
||||
BinaryCoStream,
|
||||
CoList,
|
||||
CoMap,
|
||||
|
||||
@@ -2,8 +2,8 @@ import { connectedPeers } from "cojson/src/streamUtils.ts";
|
||||
import { describe, expect, test } from "vitest";
|
||||
import {
|
||||
Account,
|
||||
BinaryCoStream,
|
||||
CoFeed,
|
||||
FileStream,
|
||||
ID,
|
||||
WasmCrypto,
|
||||
co,
|
||||
@@ -242,13 +242,13 @@ describe("CoFeed resolution", async () => {
|
||||
});
|
||||
});
|
||||
|
||||
describe("Simple FileStream operations", async () => {
|
||||
describe("Simple BinaryCoStream operations", async () => {
|
||||
const me = await Account.create({
|
||||
creationProps: { name: "Hermes Puggington" },
|
||||
crypto: Crypto,
|
||||
});
|
||||
|
||||
const stream = FileStream.create({ owner: me });
|
||||
const stream = BinaryCoStream.create({ owner: me });
|
||||
|
||||
test("Construction", () => {
|
||||
expect(stream.getChunks()).toBe(undefined);
|
||||
@@ -270,14 +270,14 @@ describe("Simple FileStream operations", async () => {
|
||||
});
|
||||
});
|
||||
|
||||
describe("FileStream loading & Subscription", async () => {
|
||||
describe("BinaryCoStream loading & Subscription", async () => {
|
||||
const initNodeAndStream = async () => {
|
||||
const me = await Account.create({
|
||||
creationProps: { name: "Hermes Puggington" },
|
||||
crypto: Crypto,
|
||||
});
|
||||
|
||||
const stream = FileStream.create({ owner: me });
|
||||
const stream = BinaryCoStream.create({ owner: me });
|
||||
|
||||
stream.start({ mimeType: "text/plain" });
|
||||
stream.push(new Uint8Array([1, 2, 3]));
|
||||
@@ -316,7 +316,11 @@ describe("FileStream loading & Subscription", async () => {
|
||||
crypto: Crypto,
|
||||
});
|
||||
|
||||
const loadedStream = await FileStream.load(stream.id, meOnSecondPeer, []);
|
||||
const loadedStream = await BinaryCoStream.load(
|
||||
stream.id,
|
||||
meOnSecondPeer,
|
||||
[],
|
||||
);
|
||||
|
||||
expect(loadedStream?.getChunks()).toEqual({
|
||||
mimeType: "text/plain",
|
||||
@@ -327,7 +331,7 @@ describe("FileStream loading & Subscription", async () => {
|
||||
|
||||
test("Subscription", async () => {
|
||||
const { me } = await initNodeAndStream();
|
||||
const stream = FileStream.create({ owner: me });
|
||||
const stream = BinaryCoStream.create({ owner: me });
|
||||
|
||||
const [initialAsPeer, secondAsPeer] = connectedPeers("initial", "second", {
|
||||
peer1role: "server",
|
||||
@@ -349,9 +353,14 @@ describe("FileStream loading & Subscription", async () => {
|
||||
|
||||
const queue = new cojsonInternals.Channel();
|
||||
|
||||
FileStream.subscribe(stream.id, meOnSecondPeer, [], (subscribedStream) => {
|
||||
void queue.push(subscribedStream);
|
||||
});
|
||||
BinaryCoStream.subscribe(
|
||||
stream.id,
|
||||
meOnSecondPeer,
|
||||
[],
|
||||
(subscribedStream) => {
|
||||
void queue.push(subscribedStream);
|
||||
},
|
||||
);
|
||||
|
||||
const update1 = (await queue.next()).value;
|
||||
expect(update1.getChunks()).toBe(undefined);
|
||||
@@ -402,14 +411,14 @@ describe("FileStream loading & Subscription", async () => {
|
||||
});
|
||||
});
|
||||
|
||||
describe("FileStream.loadAsBlob", async () => {
|
||||
describe("BinaryCoStream.loadAsBlob", async () => {
|
||||
async function setup() {
|
||||
const me = await Account.create({
|
||||
creationProps: { name: "Hermes Puggington" },
|
||||
crypto: Crypto,
|
||||
});
|
||||
|
||||
const stream = FileStream.create({ owner: me });
|
||||
const stream = BinaryCoStream.create({ owner: me });
|
||||
|
||||
stream.start({ mimeType: "text/plain" });
|
||||
|
||||
@@ -420,7 +429,7 @@ describe("FileStream.loadAsBlob", async () => {
|
||||
const { stream, me } = await setup();
|
||||
stream.push(new Uint8Array([1]));
|
||||
|
||||
const promise = FileStream.loadAsBlob(stream.id, me);
|
||||
const promise = BinaryCoStream.loadAsBlob(stream.id, me);
|
||||
|
||||
await stream.ensureLoaded([]);
|
||||
|
||||
@@ -438,7 +447,7 @@ describe("FileStream.loadAsBlob", async () => {
|
||||
const { stream, me } = await setup();
|
||||
stream.push(new Uint8Array([1]));
|
||||
|
||||
const promise = FileStream.loadAsBlob(stream.id, me, {
|
||||
const promise = BinaryCoStream.loadAsBlob(stream.id, me, {
|
||||
allowUnfinished: true,
|
||||
});
|
||||
|
||||
|
||||
@@ -13,7 +13,7 @@ import {
|
||||
isControlledAccount,
|
||||
} from "../index.web.js";
|
||||
import {
|
||||
FileStream,
|
||||
BinaryCoStream,
|
||||
Group,
|
||||
randomSessionProvider,
|
||||
subscribeToCoValue,
|
||||
@@ -27,7 +27,7 @@ class ChatRoom extends CoMap {
|
||||
class Message extends CoMap {
|
||||
text = co.string;
|
||||
reactions = co.ref(ReactionsStream);
|
||||
attachment = co.optional.ref(FileStream);
|
||||
attachment = co.optional.ref(BinaryCoStream);
|
||||
}
|
||||
|
||||
class MessagesList extends CoList.Of(co.ref(Message)) {}
|
||||
|
||||
126
pnpm-lock.yaml
generated
126
pnpm-lock.yaml
generated
@@ -20,7 +20,7 @@ importers:
|
||||
version: 2.27.3
|
||||
'@vitest/coverage-istanbul':
|
||||
specifier: 1.5.3
|
||||
version: 1.5.3(vitest@1.5.3)
|
||||
version: 1.5.3(vitest@1.5.3(@types/node@22.5.1)(@vitest/ui@1.5.3)(happy-dom@15.8.3)(jsdom@20.0.3)(terser@5.33.0))
|
||||
'@vitest/ui':
|
||||
specifier: 1.5.3
|
||||
version: 1.5.3(vitest@1.5.3)
|
||||
@@ -32,7 +32,7 @@ importers:
|
||||
version: 1.8.2
|
||||
ts-node:
|
||||
specifier: ^10.9.1
|
||||
version: 10.9.2(@swc/core@1.7.22(@swc/helpers@0.5.5))(@types/node@22.5.1)(typescript@5.6.2)
|
||||
version: 10.9.2(@swc/core@1.7.22)(@types/node@22.5.1)(typescript@5.6.2)
|
||||
turbo:
|
||||
specifier: ^1.11.2
|
||||
version: 1.11.2
|
||||
@@ -75,7 +75,7 @@ importers:
|
||||
version: 22.5.1
|
||||
'@types/react':
|
||||
specifier: ^18.2.19
|
||||
version: 18.2.79
|
||||
version: 18.2.45
|
||||
'@types/react-dom':
|
||||
specifier: ^18.2.7
|
||||
version: 18.2.18
|
||||
@@ -84,7 +84,7 @@ importers:
|
||||
version: 3.5.0(@swc/helpers@0.5.5)(vite@5.0.10(@types/node@22.5.1)(terser@5.33.0))
|
||||
typescript:
|
||||
specifier: ^5.3.3
|
||||
version: 5.6.2
|
||||
version: 5.3.3
|
||||
vite:
|
||||
specifier: ^5.0.10
|
||||
version: 5.0.10(@types/node@22.5.1)(terser@5.33.0)
|
||||
@@ -182,7 +182,7 @@ importers:
|
||||
version: 8.4.32
|
||||
tailwindcss:
|
||||
specifier: 3.3.2
|
||||
version: 3.3.2(ts-node@10.9.2(@swc/core@1.7.22(@swc/helpers@0.5.5))(@types/node@22.5.1)(typescript@5.6.2))
|
||||
version: 3.3.2(ts-node@10.9.2(@swc/core@1.7.22)(@types/node@22.5.1)(typescript@5.6.2))
|
||||
typescript:
|
||||
specifier: ^5.3.3
|
||||
version: 5.6.2
|
||||
@@ -242,7 +242,7 @@ importers:
|
||||
version: 1.14.0
|
||||
tailwindcss-animate:
|
||||
specifier: ^1.0.7
|
||||
version: 1.0.7(tailwindcss@3.3.2(ts-node@10.9.2(@swc/core@1.7.22(@swc/helpers@0.5.5))(@types/node@22.5.1)(typescript@5.3.3)))
|
||||
version: 1.0.7(tailwindcss@3.3.2(ts-node@10.9.2(@swc/core@1.7.22)(@types/node@22.5.1)(typescript@5.3.3)))
|
||||
uniqolor:
|
||||
specifier: ^1.1.0
|
||||
version: 1.1.1
|
||||
@@ -273,7 +273,7 @@ importers:
|
||||
version: 8.4.32
|
||||
tailwindcss:
|
||||
specifier: 3.3.2
|
||||
version: 3.3.2(ts-node@10.9.2(@swc/core@1.7.22(@swc/helpers@0.5.5))(@types/node@22.5.1)(typescript@5.3.3))
|
||||
version: 3.3.2(ts-node@10.9.2(@swc/core@1.7.22)(@types/node@22.5.1)(typescript@5.3.3))
|
||||
typescript:
|
||||
specifier: ^5.3.3
|
||||
version: 5.3.3
|
||||
@@ -342,7 +342,7 @@ importers:
|
||||
version: 1.14.0
|
||||
tailwindcss-animate:
|
||||
specifier: ^1.0.7
|
||||
version: 1.0.7(tailwindcss@3.3.2(ts-node@10.9.2(@swc/core@1.7.22(@swc/helpers@0.5.5))(@types/node@22.5.1)(typescript@5.3.3)))
|
||||
version: 1.0.7(tailwindcss@3.3.2(ts-node@10.9.2(@swc/core@1.7.22)(@types/node@22.5.1)(typescript@5.3.3)))
|
||||
uniqolor:
|
||||
specifier: ^1.1.0
|
||||
version: 1.1.1
|
||||
@@ -367,7 +367,7 @@ importers:
|
||||
version: 8.4.32
|
||||
tailwindcss:
|
||||
specifier: 3.3.2
|
||||
version: 3.3.2(ts-node@10.9.2(@swc/core@1.7.22(@swc/helpers@0.5.5))(@types/node@22.5.1)(typescript@5.3.3))
|
||||
version: 3.3.2(ts-node@10.9.2(@swc/core@1.7.22)(@types/node@22.5.1)(typescript@5.3.3))
|
||||
typescript:
|
||||
specifier: ^5.3.3
|
||||
version: 5.3.3
|
||||
@@ -433,7 +433,7 @@ importers:
|
||||
version: link:../../packages/jazz-tools
|
||||
nativewind:
|
||||
specifier: ^2.0.11
|
||||
version: 2.0.11(react@18.3.1)(tailwindcss@3.3.2(ts-node@10.9.2(@swc/core@1.7.22(@swc/helpers@0.5.5))(@types/node@22.5.1)(typescript@5.3.3)))
|
||||
version: 2.0.11(react@18.3.1)(tailwindcss@3.3.2(ts-node@10.9.2(@swc/core@1.7.22)(@types/node@22.5.1)(typescript@5.3.3)))
|
||||
react:
|
||||
specifier: 18.3.1
|
||||
version: 18.3.1
|
||||
@@ -476,7 +476,7 @@ importers:
|
||||
version: 18.2.79
|
||||
tailwindcss:
|
||||
specifier: 3.3.2
|
||||
version: 3.3.2(ts-node@10.9.2(@swc/core@1.7.22(@swc/helpers@0.5.5))(@types/node@22.5.1)(typescript@5.3.3))
|
||||
version: 3.3.2(ts-node@10.9.2(@swc/core@1.7.22)(@types/node@22.5.1)(typescript@5.3.3))
|
||||
typescript:
|
||||
specifier: ^5.3.3
|
||||
version: 5.3.3
|
||||
@@ -542,7 +542,7 @@ importers:
|
||||
version: 6.3.1(expo@51.0.37(@babel/core@7.25.2)(@babel/preset-env@7.25.4(@babel/core@7.25.2)))
|
||||
expo-router:
|
||||
specifier: ~3.5.23
|
||||
version: 3.5.23(gxmcwa4qdc6bvqs2lj3c6b64ki)
|
||||
version: 3.5.23(expo-constants@16.0.2(expo@51.0.37(@babel/core@7.25.2)(@babel/preset-env@7.25.4(@babel/core@7.25.2))))(expo-linking@6.3.1(expo@51.0.37(@babel/core@7.25.2)(@babel/preset-env@7.25.4(@babel/core@7.25.2))))(expo-modules-autolinking@1.11.3)(expo-status-bar@1.12.1)(expo@51.0.37(@babel/core@7.25.2)(@babel/preset-env@7.25.4(@babel/core@7.25.2)))(react-native-reanimated@3.10.1(@babel/core@7.25.2)(react-native@0.74.5(@babel/core@7.25.2)(@babel/preset-env@7.25.4(@babel/core@7.25.2))(@types/react@18.2.79)(react@18.3.1))(react@18.3.1))(react-native-safe-area-context@4.10.5(react-native@0.74.5(@babel/core@7.25.2)(@babel/preset-env@7.25.4(@babel/core@7.25.2))(@types/react@18.2.79)(react@18.3.1))(react@18.3.1))(react-native-screens@3.31.1(react-native@0.74.5(@babel/core@7.25.2)(@babel/preset-env@7.25.4(@babel/core@7.25.2))(@types/react@18.2.79)(react@18.3.1))(react@18.3.1))(react-native@0.74.5(@babel/core@7.25.2)(@babel/preset-env@7.25.4(@babel/core@7.25.2))(@types/react@18.2.79)(react@18.3.1))(react@18.3.1)(typescript@5.3.3)
|
||||
expo-secure-store:
|
||||
specifier: ~13.0.2
|
||||
version: 13.0.2(expo@51.0.37(@babel/core@7.25.2)(@babel/preset-env@7.25.4(@babel/core@7.25.2)))
|
||||
@@ -572,7 +572,7 @@ importers:
|
||||
version: link:../../packages/jazz-tools
|
||||
nativewind:
|
||||
specifier: ^2.0.11
|
||||
version: 2.0.11(react@18.3.1)(tailwindcss@3.3.2(ts-node@10.9.2(@swc/core@1.7.22(@swc/helpers@0.5.5))(@types/node@22.5.1)(typescript@5.3.3)))
|
||||
version: 2.0.11(react@18.3.1)(tailwindcss@3.3.2(ts-node@10.9.2(@swc/core@1.7.22)(@types/node@22.5.1)(typescript@5.3.3)))
|
||||
react:
|
||||
specifier: 18.3.1
|
||||
version: 18.3.1
|
||||
@@ -636,16 +636,16 @@ importers:
|
||||
version: 18.3.0
|
||||
jest:
|
||||
specifier: ^29.2.1
|
||||
version: 29.7.0(@types/node@22.5.1)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@swc/core@1.7.22(@swc/helpers@0.5.5))(@types/node@22.5.1)(typescript@5.3.3))
|
||||
version: 29.7.0(@types/node@22.5.1)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@swc/core@1.7.22)(@types/node@22.5.1)(typescript@5.3.3))
|
||||
jest-expo:
|
||||
specifier: ~51.0.3
|
||||
version: 51.0.4(@babel/core@7.25.2)(jest@29.7.0(@types/node@22.5.1)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@swc/core@1.7.22(@swc/helpers@0.5.5))(@types/node@22.5.1)(typescript@5.3.3)))(react@18.3.1)
|
||||
version: 51.0.4(@babel/core@7.25.2)(jest@29.7.0(@types/node@22.5.1)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@swc/core@1.7.22)(@types/node@22.5.1)(typescript@5.3.3)))(react@18.3.1)
|
||||
react-test-renderer:
|
||||
specifier: 18.2.0
|
||||
version: 18.2.0(react@18.3.1)
|
||||
tailwindcss:
|
||||
specifier: 3.3.2
|
||||
version: 3.3.2(ts-node@10.9.2(@swc/core@1.7.22(@swc/helpers@0.5.5))(@types/node@22.5.1)(typescript@5.3.3))
|
||||
version: 3.3.2(ts-node@10.9.2(@swc/core@1.7.22)(@types/node@22.5.1)(typescript@5.3.3))
|
||||
typescript:
|
||||
specifier: ^5.3.3
|
||||
version: 5.3.3
|
||||
@@ -700,7 +700,7 @@ importers:
|
||||
version: 8.4.47
|
||||
tailwindcss:
|
||||
specifier: 3.3.2
|
||||
version: 3.3.2(ts-node@10.9.2(@swc/core@1.7.22(@swc/helpers@0.5.5))(@types/node@22.5.1)(typescript@5.6.2))
|
||||
version: 3.3.2(ts-node@10.9.2(@swc/core@1.7.22)(@types/node@22.5.1)(typescript@5.6.2))
|
||||
typescript:
|
||||
specifier: ^5.3.3
|
||||
version: 5.6.2
|
||||
@@ -766,7 +766,7 @@ importers:
|
||||
version: 1.14.0
|
||||
tailwindcss-animate:
|
||||
specifier: ^1.0.7
|
||||
version: 1.0.7(tailwindcss@3.3.2(ts-node@10.9.2(@swc/core@1.7.22(@swc/helpers@0.5.5))(@types/node@22.5.1)(typescript@5.3.3)))
|
||||
version: 1.0.7(tailwindcss@3.3.2(ts-node@10.9.2(@swc/core@1.7.22)(@types/node@22.5.1)(typescript@5.3.3)))
|
||||
uniqolor:
|
||||
specifier: ^1.1.0
|
||||
version: 1.1.1
|
||||
@@ -791,7 +791,7 @@ importers:
|
||||
version: 8.4.32
|
||||
tailwindcss:
|
||||
specifier: 3.3.2
|
||||
version: 3.3.2(ts-node@10.9.2(@swc/core@1.7.22(@swc/helpers@0.5.5))(@types/node@22.5.1)(typescript@5.3.3))
|
||||
version: 3.3.2(ts-node@10.9.2(@swc/core@1.7.22)(@types/node@22.5.1)(typescript@5.3.3))
|
||||
typescript:
|
||||
specifier: ^5.3.3
|
||||
version: 5.3.3
|
||||
@@ -842,7 +842,7 @@ importers:
|
||||
version: 1.14.0
|
||||
tailwindcss-animate:
|
||||
specifier: ^1.0.7
|
||||
version: 1.0.7(tailwindcss@3.3.2(ts-node@10.9.2(@swc/core@1.7.22(@swc/helpers@0.5.5))(@types/node@22.5.1)(typescript@5.3.3)))
|
||||
version: 1.0.7(tailwindcss@3.3.2(ts-node@10.9.2(@swc/core@1.7.22)(@types/node@22.5.1)(typescript@5.3.3)))
|
||||
devDependencies:
|
||||
'@playwright/test':
|
||||
specifier: ^1.46.1
|
||||
@@ -864,7 +864,7 @@ importers:
|
||||
version: 8.4.32
|
||||
tailwindcss:
|
||||
specifier: 3.3.2
|
||||
version: 3.3.2(ts-node@10.9.2(@swc/core@1.7.22(@swc/helpers@0.5.5))(@types/node@22.5.1)(typescript@5.3.3))
|
||||
version: 3.3.2(ts-node@10.9.2(@swc/core@1.7.22)(@types/node@22.5.1)(typescript@5.3.3))
|
||||
typescript:
|
||||
specifier: ^5.3.3
|
||||
version: 5.3.3
|
||||
@@ -916,7 +916,7 @@ importers:
|
||||
version: 8.4.47
|
||||
tailwindcss:
|
||||
specifier: ^3.3.2
|
||||
version: 3.3.2(ts-node@10.9.2(@swc/core@1.7.22(@swc/helpers@0.5.5))(@types/node@22.5.1)(typescript@5.6.2))
|
||||
version: 3.3.2(ts-node@10.9.2(@swc/core@1.7.22)(@types/node@22.5.1)(typescript@5.6.2))
|
||||
typescript:
|
||||
specifier: ^5.3.3
|
||||
version: 5.6.2
|
||||
@@ -965,7 +965,7 @@ importers:
|
||||
version: 8.4.32
|
||||
tailwindcss:
|
||||
specifier: 3.3.2
|
||||
version: 3.3.2(ts-node@10.9.2(@swc/core@1.7.22(@swc/helpers@0.5.5))(@types/node@22.5.1)(typescript@5.3.3))
|
||||
version: 3.3.2(ts-node@10.9.2(@swc/core@1.7.22)(@types/node@22.5.1)(typescript@5.3.3))
|
||||
typescript:
|
||||
specifier: ^5.3.3
|
||||
version: 5.3.3
|
||||
@@ -1022,7 +1022,7 @@ importers:
|
||||
version: 1.14.0
|
||||
tailwindcss-animate:
|
||||
specifier: ^1.0.7
|
||||
version: 1.0.7(tailwindcss@3.3.2(ts-node@10.9.2(@swc/core@1.7.22(@swc/helpers@0.5.5))(@types/node@22.5.1)(typescript@5.3.3)))
|
||||
version: 1.0.7(tailwindcss@3.3.2(ts-node@10.9.2(@swc/core@1.7.22)(@types/node@22.5.1)(typescript@5.3.3)))
|
||||
uniqolor:
|
||||
specifier: ^1.1.0
|
||||
version: 1.1.1
|
||||
@@ -1059,7 +1059,7 @@ importers:
|
||||
version: 8.4.32
|
||||
tailwindcss:
|
||||
specifier: 3.3.2
|
||||
version: 3.3.2(ts-node@10.9.2(@swc/core@1.7.22(@swc/helpers@0.5.5))(@types/node@22.5.1)(typescript@5.3.3))
|
||||
version: 3.3.2(ts-node@10.9.2(@swc/core@1.7.22)(@types/node@22.5.1)(typescript@5.3.3))
|
||||
typescript:
|
||||
specifier: ^5.3.3
|
||||
version: 5.3.3
|
||||
@@ -1118,7 +1118,7 @@ importers:
|
||||
version: 1.14.0
|
||||
tailwindcss-animate:
|
||||
specifier: ^1.0.7
|
||||
version: 1.0.7(tailwindcss@3.3.2(ts-node@10.9.2(@swc/core@1.7.22(@swc/helpers@0.5.5))(@types/node@22.5.1)(typescript@5.3.3)))
|
||||
version: 1.0.7(tailwindcss@3.3.2(ts-node@10.9.2(@swc/core@1.7.22)(@types/node@22.5.1)(typescript@5.3.3)))
|
||||
uniqolor:
|
||||
specifier: ^1.1.0
|
||||
version: 1.1.1
|
||||
@@ -1143,7 +1143,7 @@ importers:
|
||||
version: 8.4.32
|
||||
tailwindcss:
|
||||
specifier: 3.3.2
|
||||
version: 3.3.2(ts-node@10.9.2(@swc/core@1.7.22(@swc/helpers@0.5.5))(@types/node@22.5.1)(typescript@5.3.3))
|
||||
version: 3.3.2(ts-node@10.9.2(@swc/core@1.7.22)(@types/node@22.5.1)(typescript@5.3.3))
|
||||
typescript:
|
||||
specifier: ^5.3.3
|
||||
version: 5.3.3
|
||||
@@ -1201,7 +1201,7 @@ importers:
|
||||
version: 8.4.47
|
||||
tailwindcss:
|
||||
specifier: 3.3.2
|
||||
version: 3.3.2(ts-node@10.9.2(@swc/core@1.7.22(@swc/helpers@0.5.5))(@types/node@22.5.1)(typescript@5.6.2))
|
||||
version: 3.3.2(ts-node@10.9.2(@swc/core@1.7.22)(@types/node@22.5.1)(typescript@5.6.2))
|
||||
typescript:
|
||||
specifier: ^5.3.3
|
||||
version: 5.6.2
|
||||
@@ -12667,7 +12667,7 @@ snapshots:
|
||||
jest-util: 29.7.0
|
||||
slash: 3.0.0
|
||||
|
||||
'@jest/core@29.7.0(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@swc/core@1.7.22(@swc/helpers@0.5.5))(@types/node@22.5.1)(typescript@5.3.3))':
|
||||
'@jest/core@29.7.0(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@swc/core@1.7.22)(@types/node@22.5.1)(typescript@5.3.3))':
|
||||
dependencies:
|
||||
'@jest/console': 29.7.0
|
||||
'@jest/reporters': 29.7.0
|
||||
@@ -12681,7 +12681,7 @@ snapshots:
|
||||
exit: 0.1.2
|
||||
graceful-fs: 4.2.11
|
||||
jest-changed-files: 29.7.0
|
||||
jest-config: 29.7.0(@types/node@22.5.1)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@swc/core@1.7.22(@swc/helpers@0.5.5))(@types/node@22.5.1)(typescript@5.3.3))
|
||||
jest-config: 29.7.0(@types/node@22.5.1)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@swc/core@1.7.22)(@types/node@22.5.1)(typescript@5.3.3))
|
||||
jest-haste-map: 29.7.0
|
||||
jest-message-util: 29.7.0
|
||||
jest-regex-util: 29.6.3
|
||||
@@ -14345,7 +14345,7 @@ snapshots:
|
||||
|
||||
'@types/react-dom@18.2.18':
|
||||
dependencies:
|
||||
'@types/react': 18.2.79
|
||||
'@types/react': 18.2.45
|
||||
|
||||
'@types/react-test-renderer@18.3.0':
|
||||
dependencies:
|
||||
@@ -14458,7 +14458,7 @@ snapshots:
|
||||
- esbuild
|
||||
- rollup
|
||||
|
||||
'@vitest/coverage-istanbul@1.5.3(vitest@1.5.3)':
|
||||
'@vitest/coverage-istanbul@1.5.3(vitest@1.5.3(@types/node@22.5.1)(@vitest/ui@1.5.3)(happy-dom@15.8.3)(jsdom@20.0.3)(terser@5.33.0))':
|
||||
dependencies:
|
||||
debug: 4.3.7
|
||||
istanbul-lib-coverage: 3.2.2
|
||||
@@ -15581,13 +15581,13 @@ snapshots:
|
||||
crc-32: 1.2.2
|
||||
readable-stream: 3.6.2
|
||||
|
||||
create-jest@29.7.0(@types/node@22.5.1)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@swc/core@1.7.22(@swc/helpers@0.5.5))(@types/node@22.5.1)(typescript@5.3.3)):
|
||||
create-jest@29.7.0(@types/node@22.5.1)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@swc/core@1.7.22)(@types/node@22.5.1)(typescript@5.3.3)):
|
||||
dependencies:
|
||||
'@jest/types': 29.6.3
|
||||
chalk: 4.1.2
|
||||
exit: 0.1.2
|
||||
graceful-fs: 4.2.11
|
||||
jest-config: 29.7.0(@types/node@22.5.1)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@swc/core@1.7.22(@swc/helpers@0.5.5))(@types/node@22.5.1)(typescript@5.3.3))
|
||||
jest-config: 29.7.0(@types/node@22.5.1)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@swc/core@1.7.22)(@types/node@22.5.1)(typescript@5.3.3))
|
||||
jest-util: 29.7.0
|
||||
prompts: 2.4.2
|
||||
transitivePeerDependencies:
|
||||
@@ -16364,8 +16364,8 @@ snapshots:
|
||||
dependencies:
|
||||
invariant: 2.2.4
|
||||
|
||||
expo-router@3.5.23(gxmcwa4qdc6bvqs2lj3c6b64ki):
|
||||
dependencies:
|
||||
? expo-router@3.5.23(expo-constants@16.0.2(expo@51.0.37(@babel/core@7.25.2)(@babel/preset-env@7.25.4(@babel/core@7.25.2))))(expo-linking@6.3.1(expo@51.0.37(@babel/core@7.25.2)(@babel/preset-env@7.25.4(@babel/core@7.25.2))))(expo-modules-autolinking@1.11.3)(expo-status-bar@1.12.1)(expo@51.0.37(@babel/core@7.25.2)(@babel/preset-env@7.25.4(@babel/core@7.25.2)))(react-native-reanimated@3.10.1(@babel/core@7.25.2)(react-native@0.74.5(@babel/core@7.25.2)(@babel/preset-env@7.25.4(@babel/core@7.25.2))(@types/react@18.2.79)(react@18.3.1))(react@18.3.1))(react-native-safe-area-context@4.10.5(react-native@0.74.5(@babel/core@7.25.2)(@babel/preset-env@7.25.4(@babel/core@7.25.2))(@types/react@18.2.79)(react@18.3.1))(react@18.3.1))(react-native-screens@3.31.1(react-native@0.74.5(@babel/core@7.25.2)(@babel/preset-env@7.25.4(@babel/core@7.25.2))(@types/react@18.2.79)(react@18.3.1))(react@18.3.1))(react-native@0.74.5(@babel/core@7.25.2)(@babel/preset-env@7.25.4(@babel/core@7.25.2))(@types/react@18.2.79)(react@18.3.1))(react@18.3.1)(typescript@5.3.3)
|
||||
: dependencies:
|
||||
'@expo/metro-runtime': 3.2.3(react-native@0.74.5(@babel/core@7.25.2)(@babel/preset-env@7.25.4(@babel/core@7.25.2))(@types/react@18.2.79)(react@18.3.1))
|
||||
'@expo/server': 0.4.4(typescript@5.3.3)
|
||||
'@radix-ui/react-slot': 1.0.1(react@18.3.1)
|
||||
@@ -17369,16 +17369,16 @@ snapshots:
|
||||
- babel-plugin-macros
|
||||
- supports-color
|
||||
|
||||
jest-cli@29.7.0(@types/node@22.5.1)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@swc/core@1.7.22(@swc/helpers@0.5.5))(@types/node@22.5.1)(typescript@5.3.3)):
|
||||
jest-cli@29.7.0(@types/node@22.5.1)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@swc/core@1.7.22)(@types/node@22.5.1)(typescript@5.3.3)):
|
||||
dependencies:
|
||||
'@jest/core': 29.7.0(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@swc/core@1.7.22(@swc/helpers@0.5.5))(@types/node@22.5.1)(typescript@5.3.3))
|
||||
'@jest/core': 29.7.0(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@swc/core@1.7.22)(@types/node@22.5.1)(typescript@5.3.3))
|
||||
'@jest/test-result': 29.7.0
|
||||
'@jest/types': 29.6.3
|
||||
chalk: 4.1.2
|
||||
create-jest: 29.7.0(@types/node@22.5.1)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@swc/core@1.7.22(@swc/helpers@0.5.5))(@types/node@22.5.1)(typescript@5.3.3))
|
||||
create-jest: 29.7.0(@types/node@22.5.1)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@swc/core@1.7.22)(@types/node@22.5.1)(typescript@5.3.3))
|
||||
exit: 0.1.2
|
||||
import-local: 3.2.0
|
||||
jest-config: 29.7.0(@types/node@22.5.1)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@swc/core@1.7.22(@swc/helpers@0.5.5))(@types/node@22.5.1)(typescript@5.3.3))
|
||||
jest-config: 29.7.0(@types/node@22.5.1)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@swc/core@1.7.22)(@types/node@22.5.1)(typescript@5.3.3))
|
||||
jest-util: 29.7.0
|
||||
jest-validate: 29.7.0
|
||||
yargs: 17.7.2
|
||||
@@ -17388,7 +17388,7 @@ snapshots:
|
||||
- supports-color
|
||||
- ts-node
|
||||
|
||||
jest-config@29.7.0(@types/node@22.5.1)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@swc/core@1.7.22(@swc/helpers@0.5.5))(@types/node@22.5.1)(typescript@5.3.3)):
|
||||
jest-config@29.7.0(@types/node@22.5.1)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@swc/core@1.7.22)(@types/node@22.5.1)(typescript@5.3.3)):
|
||||
dependencies:
|
||||
'@babel/core': 7.25.2
|
||||
'@jest/test-sequencer': 29.7.0
|
||||
@@ -17414,7 +17414,7 @@ snapshots:
|
||||
strip-json-comments: 3.1.1
|
||||
optionalDependencies:
|
||||
'@types/node': 22.5.1
|
||||
ts-node: 10.9.2(@swc/core@1.7.22(@swc/helpers@0.5.5))(@types/node@22.5.1)(typescript@5.3.3)
|
||||
ts-node: 10.9.2(@swc/core@1.7.22)(@types/node@22.5.1)(typescript@5.3.3)
|
||||
transitivePeerDependencies:
|
||||
- babel-plugin-macros
|
||||
- supports-color
|
||||
@@ -17462,7 +17462,7 @@ snapshots:
|
||||
jest-mock: 29.7.0
|
||||
jest-util: 29.7.0
|
||||
|
||||
jest-expo@51.0.4(@babel/core@7.25.2)(jest@29.7.0(@types/node@22.5.1)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@swc/core@1.7.22(@swc/helpers@0.5.5))(@types/node@22.5.1)(typescript@5.3.3)))(react@18.3.1):
|
||||
jest-expo@51.0.4(@babel/core@7.25.2)(jest@29.7.0(@types/node@22.5.1)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@swc/core@1.7.22)(@types/node@22.5.1)(typescript@5.3.3)))(react@18.3.1):
|
||||
dependencies:
|
||||
'@expo/config': 9.0.4
|
||||
'@expo/json-file': 8.3.3
|
||||
@@ -17471,7 +17471,7 @@ snapshots:
|
||||
find-up: 5.0.0
|
||||
jest-environment-jsdom: 29.7.0
|
||||
jest-watch-select-projects: 2.0.0
|
||||
jest-watch-typeahead: 2.2.1(jest@29.7.0(@types/node@22.5.1)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@swc/core@1.7.22(@swc/helpers@0.5.5))(@types/node@22.5.1)(typescript@5.3.3)))
|
||||
jest-watch-typeahead: 2.2.1(jest@29.7.0(@types/node@22.5.1)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@swc/core@1.7.22)(@types/node@22.5.1)(typescript@5.3.3)))
|
||||
json5: 2.2.3
|
||||
lodash: 4.17.21
|
||||
react-test-renderer: 18.2.0(react@18.3.1)
|
||||
@@ -17660,11 +17660,11 @@ snapshots:
|
||||
chalk: 3.0.0
|
||||
prompts: 2.4.2
|
||||
|
||||
jest-watch-typeahead@2.2.1(jest@29.7.0(@types/node@22.5.1)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@swc/core@1.7.22(@swc/helpers@0.5.5))(@types/node@22.5.1)(typescript@5.3.3))):
|
||||
jest-watch-typeahead@2.2.1(jest@29.7.0(@types/node@22.5.1)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@swc/core@1.7.22)(@types/node@22.5.1)(typescript@5.3.3))):
|
||||
dependencies:
|
||||
ansi-escapes: 6.2.1
|
||||
chalk: 4.1.2
|
||||
jest: 29.7.0(@types/node@22.5.1)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@swc/core@1.7.22(@swc/helpers@0.5.5))(@types/node@22.5.1)(typescript@5.3.3))
|
||||
jest: 29.7.0(@types/node@22.5.1)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@swc/core@1.7.22)(@types/node@22.5.1)(typescript@5.3.3))
|
||||
jest-regex-util: 29.6.3
|
||||
jest-watcher: 29.7.0
|
||||
slash: 5.1.0
|
||||
@@ -17689,12 +17689,12 @@ snapshots:
|
||||
merge-stream: 2.0.0
|
||||
supports-color: 8.1.1
|
||||
|
||||
jest@29.7.0(@types/node@22.5.1)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@swc/core@1.7.22(@swc/helpers@0.5.5))(@types/node@22.5.1)(typescript@5.3.3)):
|
||||
jest@29.7.0(@types/node@22.5.1)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@swc/core@1.7.22)(@types/node@22.5.1)(typescript@5.3.3)):
|
||||
dependencies:
|
||||
'@jest/core': 29.7.0(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@swc/core@1.7.22(@swc/helpers@0.5.5))(@types/node@22.5.1)(typescript@5.3.3))
|
||||
'@jest/core': 29.7.0(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@swc/core@1.7.22)(@types/node@22.5.1)(typescript@5.3.3))
|
||||
'@jest/types': 29.6.3
|
||||
import-local: 3.2.0
|
||||
jest-cli: 29.7.0(@types/node@22.5.1)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@swc/core@1.7.22(@swc/helpers@0.5.5))(@types/node@22.5.1)(typescript@5.3.3))
|
||||
jest-cli: 29.7.0(@types/node@22.5.1)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@swc/core@1.7.22)(@types/node@22.5.1)(typescript@5.3.3))
|
||||
transitivePeerDependencies:
|
||||
- '@types/node'
|
||||
- babel-plugin-macros
|
||||
@@ -18485,7 +18485,7 @@ snapshots:
|
||||
|
||||
napi-build-utils@1.0.2: {}
|
||||
|
||||
nativewind@2.0.11(react@18.3.1)(tailwindcss@3.3.2(ts-node@10.9.2(@swc/core@1.7.22(@swc/helpers@0.5.5))(@types/node@22.5.1)(typescript@5.3.3))):
|
||||
nativewind@2.0.11(react@18.3.1)(tailwindcss@3.3.2(ts-node@10.9.2(@swc/core@1.7.22)(@types/node@22.5.1)(typescript@5.3.3))):
|
||||
dependencies:
|
||||
'@babel/generator': 7.25.6
|
||||
'@babel/helper-module-imports': 7.18.6
|
||||
@@ -18499,7 +18499,7 @@ snapshots:
|
||||
postcss-css-variables: 0.18.0(postcss@8.4.47)
|
||||
postcss-nested: 5.0.6(postcss@8.4.47)
|
||||
react-is: 18.2.0
|
||||
tailwindcss: 3.3.2(ts-node@10.9.2(@swc/core@1.7.22(@swc/helpers@0.5.5))(@types/node@22.5.1)(typescript@5.3.3))
|
||||
tailwindcss: 3.3.2(ts-node@10.9.2(@swc/core@1.7.22)(@types/node@22.5.1)(typescript@5.3.3))
|
||||
use-sync-external-store: 1.2.2(react@18.3.1)
|
||||
transitivePeerDependencies:
|
||||
- react
|
||||
@@ -18958,21 +18958,21 @@ snapshots:
|
||||
camelcase-css: 2.0.1
|
||||
postcss: 8.4.47
|
||||
|
||||
postcss-load-config@4.0.2(postcss@8.4.47)(ts-node@10.9.2(@swc/core@1.7.22(@swc/helpers@0.5.5))(@types/node@22.5.1)(typescript@5.3.3)):
|
||||
postcss-load-config@4.0.2(postcss@8.4.47)(ts-node@10.9.2(@swc/core@1.7.22)(@types/node@22.5.1)(typescript@5.3.3)):
|
||||
dependencies:
|
||||
lilconfig: 3.0.0
|
||||
yaml: 2.5.0
|
||||
optionalDependencies:
|
||||
postcss: 8.4.47
|
||||
ts-node: 10.9.2(@swc/core@1.7.22(@swc/helpers@0.5.5))(@types/node@22.5.1)(typescript@5.3.3)
|
||||
ts-node: 10.9.2(@swc/core@1.7.22)(@types/node@22.5.1)(typescript@5.3.3)
|
||||
|
||||
postcss-load-config@4.0.2(postcss@8.4.47)(ts-node@10.9.2(@swc/core@1.7.22(@swc/helpers@0.5.5))(@types/node@22.5.1)(typescript@5.6.2)):
|
||||
postcss-load-config@4.0.2(postcss@8.4.47)(ts-node@10.9.2(@swc/core@1.7.22)(@types/node@22.5.1)(typescript@5.6.2)):
|
||||
dependencies:
|
||||
lilconfig: 3.0.0
|
||||
yaml: 2.5.0
|
||||
optionalDependencies:
|
||||
postcss: 8.4.47
|
||||
ts-node: 10.9.2(@swc/core@1.7.22(@swc/helpers@0.5.5))(@types/node@22.5.1)(typescript@5.6.2)
|
||||
ts-node: 10.9.2(@swc/core@1.7.22)(@types/node@22.5.1)(typescript@5.6.2)
|
||||
|
||||
postcss-nested@5.0.6(postcss@8.4.47):
|
||||
dependencies:
|
||||
@@ -20189,11 +20189,11 @@ snapshots:
|
||||
|
||||
tailwind-merge@1.14.0: {}
|
||||
|
||||
tailwindcss-animate@1.0.7(tailwindcss@3.3.2(ts-node@10.9.2(@swc/core@1.7.22(@swc/helpers@0.5.5))(@types/node@22.5.1)(typescript@5.3.3))):
|
||||
tailwindcss-animate@1.0.7(tailwindcss@3.3.2(ts-node@10.9.2(@swc/core@1.7.22)(@types/node@22.5.1)(typescript@5.3.3))):
|
||||
dependencies:
|
||||
tailwindcss: 3.3.2(ts-node@10.9.2(@swc/core@1.7.22(@swc/helpers@0.5.5))(@types/node@22.5.1)(typescript@5.3.3))
|
||||
tailwindcss: 3.3.2(ts-node@10.9.2(@swc/core@1.7.22)(@types/node@22.5.1)(typescript@5.3.3))
|
||||
|
||||
tailwindcss@3.3.2(ts-node@10.9.2(@swc/core@1.7.22(@swc/helpers@0.5.5))(@types/node@22.5.1)(typescript@5.3.3)):
|
||||
tailwindcss@3.3.2(ts-node@10.9.2(@swc/core@1.7.22)(@types/node@22.5.1)(typescript@5.3.3)):
|
||||
dependencies:
|
||||
'@alloc/quick-lru': 5.2.0
|
||||
arg: 5.0.2
|
||||
@@ -20212,7 +20212,7 @@ snapshots:
|
||||
postcss: 8.4.47
|
||||
postcss-import: 15.1.0(postcss@8.4.47)
|
||||
postcss-js: 4.0.1(postcss@8.4.47)
|
||||
postcss-load-config: 4.0.2(postcss@8.4.47)(ts-node@10.9.2(@swc/core@1.7.22(@swc/helpers@0.5.5))(@types/node@22.5.1)(typescript@5.3.3))
|
||||
postcss-load-config: 4.0.2(postcss@8.4.47)(ts-node@10.9.2(@swc/core@1.7.22)(@types/node@22.5.1)(typescript@5.3.3))
|
||||
postcss-nested: 6.0.1(postcss@8.4.47)
|
||||
postcss-selector-parser: 6.0.13
|
||||
postcss-value-parser: 4.2.0
|
||||
@@ -20221,7 +20221,7 @@ snapshots:
|
||||
transitivePeerDependencies:
|
||||
- ts-node
|
||||
|
||||
tailwindcss@3.3.2(ts-node@10.9.2(@swc/core@1.7.22(@swc/helpers@0.5.5))(@types/node@22.5.1)(typescript@5.6.2)):
|
||||
tailwindcss@3.3.2(ts-node@10.9.2(@swc/core@1.7.22)(@types/node@22.5.1)(typescript@5.6.2)):
|
||||
dependencies:
|
||||
'@alloc/quick-lru': 5.2.0
|
||||
arg: 5.0.2
|
||||
@@ -20240,7 +20240,7 @@ snapshots:
|
||||
postcss: 8.4.47
|
||||
postcss-import: 15.1.0(postcss@8.4.47)
|
||||
postcss-js: 4.0.1(postcss@8.4.47)
|
||||
postcss-load-config: 4.0.2(postcss@8.4.47)(ts-node@10.9.2(@swc/core@1.7.22(@swc/helpers@0.5.5))(@types/node@22.5.1)(typescript@5.6.2))
|
||||
postcss-load-config: 4.0.2(postcss@8.4.47)(ts-node@10.9.2(@swc/core@1.7.22)(@types/node@22.5.1)(typescript@5.6.2))
|
||||
postcss-nested: 6.0.1(postcss@8.4.47)
|
||||
postcss-selector-parser: 6.0.13
|
||||
postcss-value-parser: 4.2.0
|
||||
@@ -20405,7 +20405,7 @@ snapshots:
|
||||
|
||||
ts-interface-checker@0.1.13: {}
|
||||
|
||||
ts-node@10.9.2(@swc/core@1.7.22(@swc/helpers@0.5.5))(@types/node@22.5.1)(typescript@5.3.3):
|
||||
ts-node@10.9.2(@swc/core@1.7.22)(@types/node@22.5.1)(typescript@5.3.3):
|
||||
dependencies:
|
||||
'@cspotcode/source-map-support': 0.8.1
|
||||
'@tsconfig/node10': 1.0.9
|
||||
@@ -20426,7 +20426,7 @@ snapshots:
|
||||
'@swc/core': 1.7.22(@swc/helpers@0.5.5)
|
||||
optional: true
|
||||
|
||||
ts-node@10.9.2(@swc/core@1.7.22(@swc/helpers@0.5.5))(@types/node@22.5.1)(typescript@5.6.2):
|
||||
ts-node@10.9.2(@swc/core@1.7.22)(@types/node@22.5.1)(typescript@5.6.2):
|
||||
dependencies:
|
||||
'@cspotcode/source-map-support': 0.8.1
|
||||
'@tsconfig/node10': 1.0.9
|
||||
|
||||
Reference in New Issue
Block a user