tldraw/packages/file-format/api-report.md
alex 0375b5d86d
Stricter ID types (#1439)
We noticed that when inferring the type of a shape from its ID, it was
getting inferred as `any` which was hiding some issues. This diff
switches `BaseRecord`'s automatic ID to an explicit one, which lets us
pass in our correct `TLShapeId` definition and still have it play nicely
with other places.

### Change Type

- [x] `patch` — Bug Fix

### Release Notes

[internal only, covered by #1432 changelog]

---------

Co-authored-by: Steve Ruiz <steveruizok@gmail.com>
2023-05-24 11:25:41 +00:00

2.2 KiB

API Report File for "@tldraw/file-format"

Do not edit this file. It is a report generated by API Extractor.


import { App } from '@tldraw/editor';
import { MigrationFailureReason } from '@tldraw/tlstore';
import { Result } from '@tldraw/utils';
import { SerializedSchema } from '@tldraw/tlstore';
import { TldrawEditorConfig } from '@tldraw/editor';
import { TLInstanceId } from '@tldraw/editor';
import { TLStore } from '@tldraw/editor';
import { TLTranslationKey } from '@tldraw/ui';
import { TLUserId } from '@tldraw/editor';
import { ToastsContextType } from '@tldraw/ui';
import { UnknownRecord } from '@tldraw/tlstore';

// @public (undocumented)
export function isV1File(data: any): boolean;

// @internal (undocumented)
export function parseAndLoadDocument(app: App, document: string, msg: (id: TLTranslationKey) => string, addToast: ToastsContextType['addToast'], onV1FileLoad?: () => void, forceDarkMode?: boolean): Promise<void>;

// @public (undocumented)
export function parseTldrawJsonFile({ config, json, userId, instanceId, }: {
    config: TldrawEditorConfig;
    json: string;
    userId: TLUserId;
    instanceId: TLInstanceId;
}): Result<TLStore, TldrawFileParseError>;

// @public (undocumented)
export function serializeTldrawJson(store: TLStore): Promise<string>;

// @public (undocumented)
export function serializeTldrawJsonBlob(store: TLStore): Promise<Blob>;

// @public (undocumented)
export const TLDRAW_FILE_EXTENSION: ".tldr";

// @public (undocumented)
export const TLDRAW_FILE_MIMETYPE: "application/vnd.tldraw+json";

// @public (undocumented)
export interface TldrawFile {
    // (undocumented)
    records: UnknownRecord[];
    // (undocumented)
    schema: SerializedSchema;
    // (undocumented)
    tldrawFileFormatVersion: number;
}

// @public (undocumented)
export type TldrawFileParseError = {
    type: 'fileFormatVersionTooNew';
    version: number;
} | {
    type: 'invalidRecords';
    cause: unknown;
} | {
    type: 'migrationFailed';
    reason: MigrationFailureReason;
} | {
    type: 'notATldrawFile';
    cause: unknown;
} | {
    type: 'v1File';
    data: any;
};

// (No @packageDocumentation comment for this package)