2024-01-15 12:33:15 +00:00
{
2024-03-12 13:36:24 +00:00
"metadata" : {
"toolPackage" : "@microsoft/api-extractor" ,
"toolVersion" : "7.41.0" ,
"schemaVersion" : 1011 ,
"oldestForwardsCompatibleVersion" : 1001 ,
"tsdocConfig" : {
"$schema" : "https://developer.microsoft.com/json-schemas/tsdoc/v0/tsdoc.schema.json" ,
"noStandardTags" : true ,
"tagDefinitions" : [
{
"tagName" : "@alpha" ,
"syntaxKind" : "modifier"
} ,
{
"tagName" : "@beta" ,
"syntaxKind" : "modifier"
} ,
{
"tagName" : "@defaultValue" ,
"syntaxKind" : "block"
} ,
{
"tagName" : "@decorator" ,
"syntaxKind" : "block" ,
"allowMultiple" : true
} ,
{
"tagName" : "@deprecated" ,
"syntaxKind" : "block"
} ,
{
"tagName" : "@eventProperty" ,
"syntaxKind" : "modifier"
} ,
{
"tagName" : "@example" ,
"syntaxKind" : "block" ,
"allowMultiple" : true
} ,
{
"tagName" : "@experimental" ,
"syntaxKind" : "modifier"
} ,
{
"tagName" : "@inheritDoc" ,
"syntaxKind" : "inline"
} ,
{
"tagName" : "@internal" ,
"syntaxKind" : "modifier"
} ,
{
"tagName" : "@label" ,
"syntaxKind" : "inline"
} ,
{
"tagName" : "@link" ,
"syntaxKind" : "inline" ,
"allowMultiple" : true
} ,
{
"tagName" : "@override" ,
"syntaxKind" : "modifier"
} ,
{
"tagName" : "@packageDocumentation" ,
"syntaxKind" : "modifier"
} ,
{
"tagName" : "@param" ,
"syntaxKind" : "block" ,
"allowMultiple" : true
} ,
{
"tagName" : "@privateRemarks" ,
"syntaxKind" : "block"
} ,
{
"tagName" : "@public" ,
"syntaxKind" : "modifier"
} ,
{
"tagName" : "@readonly" ,
"syntaxKind" : "modifier"
} ,
{
"tagName" : "@remarks" ,
"syntaxKind" : "block"
} ,
{
"tagName" : "@returns" ,
"syntaxKind" : "block"
} ,
{
"tagName" : "@sealed" ,
"syntaxKind" : "modifier"
} ,
{
"tagName" : "@see" ,
"syntaxKind" : "block"
} ,
{
"tagName" : "@throws" ,
"syntaxKind" : "block" ,
"allowMultiple" : true
} ,
{
"tagName" : "@typeParam" ,
"syntaxKind" : "block" ,
"allowMultiple" : true
} ,
{
"tagName" : "@virtual" ,
"syntaxKind" : "modifier"
} ,
{
"tagName" : "@betaDocumentation" ,
"syntaxKind" : "modifier"
} ,
{
"tagName" : "@internalRemarks" ,
"syntaxKind" : "block"
} ,
{
"tagName" : "@preapproved" ,
"syntaxKind" : "modifier"
}
] ,
"supportForTags" : {
"@alpha" : true ,
"@beta" : true ,
"@defaultValue" : true ,
"@decorator" : true ,
"@deprecated" : true ,
"@eventProperty" : true ,
"@example" : true ,
"@experimental" : true ,
"@inheritDoc" : true ,
"@internal" : true ,
"@label" : true ,
"@link" : true ,
"@override" : true ,
"@packageDocumentation" : true ,
"@param" : true ,
"@privateRemarks" : true ,
"@public" : true ,
"@readonly" : true ,
"@remarks" : true ,
"@returns" : true ,
"@sealed" : true ,
"@see" : true ,
"@throws" : true ,
"@typeParam" : true ,
"@virtual" : true ,
"@betaDocumentation" : true ,
"@internalRemarks" : true ,
"@preapproved" : true
} ,
"reportUnsupportedHtmlElements" : false
}
} ,
"kind" : "Package" ,
"canonicalReference" : "@tldraw/store!" ,
"docComment" : "" ,
"name" : "@tldraw/store" ,
"preserveMemberOrder" : false ,
"members" : [
{
"kind" : "EntryPoint" ,
"canonicalReference" : "@tldraw/store!" ,
"name" : "" ,
"preserveMemberOrder" : false ,
"members" : [
{
"kind" : "TypeAlias" ,
"canonicalReference" : "@tldraw/store!AllRecords:type" ,
"docComment" : "/**\n * Get the type of all records in a record store.\n *\n * @public\n */\n" ,
"excerptTokens" : [
{
"kind" : "Content" ,
"text" : "export type AllRecords<T extends "
} ,
{
"kind" : "Reference" ,
"text" : "Store" ,
"canonicalReference" : "@tldraw/store!Store:class"
} ,
{
"kind" : "Content" ,
"text" : "<any>"
} ,
{
"kind" : "Content" ,
"text" : "> = "
} ,
{
"kind" : "Reference" ,
"text" : "ExtractR" ,
"canonicalReference" : "@tldraw/store!~ExtractR:type"
} ,
{
"kind" : "Content" ,
"text" : "<"
} ,
{
"kind" : "Reference" ,
"text" : "ExtractRecordType" ,
"canonicalReference" : "@tldraw/store!~ExtractRecordType:type"
} ,
{
"kind" : "Content" ,
"text" : "<T>>"
} ,
{
"kind" : "Content" ,
"text" : ";"
}
] ,
"fileUrlPath" : "packages/store/src/lib/type-utils.ts" ,
"releaseTag" : "Public" ,
"name" : "AllRecords" ,
"typeParameters" : [
{
"typeParameterName" : "T" ,
"constraintTokenRange" : {
"startIndex" : 1 ,
"endIndex" : 3
} ,
"defaultTypeTokenRange" : {
"startIndex" : 0 ,
"endIndex" : 0
}
}
] ,
"typeTokenRange" : {
"startIndex" : 4 ,
"endIndex" : 8
}
} ,
{
"kind" : "Function" ,
"canonicalReference" : "@tldraw/store!assertIdType:function(1)" ,
"docComment" : "/**\n * Assert whether an id correspond to a record type.\n *\n * @param id - The id to check.\n *\n * @param type - The type of the record.\n *\n * @example\n * ```ts\n * assertIdType(myId, \"shape\")\n * ```\n *\n * @public\n */\n" ,
"excerptTokens" : [
{
"kind" : "Content" ,
"text" : "export declare function assertIdType<R extends "
} ,
{
"kind" : "Reference" ,
"text" : "UnknownRecord" ,
"canonicalReference" : "@tldraw/store!UnknownRecord:type"
} ,
{
"kind" : "Content" ,
"text" : ">(id: "
} ,
{
"kind" : "Content" ,
"text" : "string | undefined"
} ,
{
"kind" : "Content" ,
"text" : ", type: "
} ,
{
"kind" : "Reference" ,
"text" : "RecordType" ,
"canonicalReference" : "@tldraw/store!RecordType:class"
} ,
{
"kind" : "Content" ,
"text" : "<R, any>"
} ,
{
"kind" : "Content" ,
"text" : "): "
} ,
{
"kind" : "Content" ,
"text" : "asserts "
} ,
{
"kind" : "Reference" ,
"text" : "id" ,
"canonicalReference" : "@tldraw/store!~id"
} ,
{
"kind" : "Content" ,
"text" : " is "
} ,
{
"kind" : "Reference" ,
"text" : "IdOf" ,
"canonicalReference" : "@tldraw/store!IdOf:type"
} ,
{
"kind" : "Content" ,
"text" : "<R>"
} ,
{
"kind" : "Content" ,
"text" : ";"
}
] ,
"fileUrlPath" : "packages/store/src/lib/RecordType.ts" ,
"returnTypeTokenRange" : {
"startIndex" : 8 ,
"endIndex" : 13
} ,
"releaseTag" : "Public" ,
"overloadIndex" : 1 ,
"parameters" : [
{
"parameterName" : "id" ,
"parameterTypeTokenRange" : {
"startIndex" : 3 ,
"endIndex" : 4
} ,
"isOptional" : false
} ,
{
"parameterName" : "type" ,
"parameterTypeTokenRange" : {
"startIndex" : 5 ,
"endIndex" : 7
} ,
"isOptional" : false
}
] ,
"typeParameters" : [
{
"typeParameterName" : "R" ,
"constraintTokenRange" : {
"startIndex" : 1 ,
"endIndex" : 2
} ,
"defaultTypeTokenRange" : {
"startIndex" : 0 ,
"endIndex" : 0
}
}
] ,
"name" : "assertIdType"
} ,
{
"kind" : "Interface" ,
"canonicalReference" : "@tldraw/store!BaseRecord:interface" ,
"docComment" : "/**\n * The base record that all records must extend.\n *\n * @public\n */\n" ,
"excerptTokens" : [
{
"kind" : "Content" ,
"text" : "export interface BaseRecord<TypeName extends "
} ,
{
"kind" : "Content" ,
"text" : "string"
} ,
{
"kind" : "Content" ,
"text" : ", Id extends "
} ,
{
"kind" : "Reference" ,
"text" : "RecordId" ,
"canonicalReference" : "@tldraw/store!RecordId:type"
} ,
{
"kind" : "Content" ,
"text" : "<"
} ,
{
"kind" : "Reference" ,
"text" : "UnknownRecord" ,
"canonicalReference" : "@tldraw/store!UnknownRecord:type"
} ,
{
"kind" : "Content" ,
"text" : ">"
} ,
{
"kind" : "Content" ,
"text" : "> "
}
] ,
"fileUrlPath" : "packages/store/src/lib/BaseRecord.ts" ,
"releaseTag" : "Public" ,
"typeParameters" : [
{
"typeParameterName" : "TypeName" ,
"constraintTokenRange" : {
"startIndex" : 1 ,
"endIndex" : 2
} ,
"defaultTypeTokenRange" : {
"startIndex" : 0 ,
"endIndex" : 0
}
} ,
{
"typeParameterName" : "Id" ,
"constraintTokenRange" : {
"startIndex" : 3 ,
"endIndex" : 7
} ,
"defaultTypeTokenRange" : {
"startIndex" : 0 ,
"endIndex" : 0
}
}
] ,
"name" : "BaseRecord" ,
"preserveMemberOrder" : false ,
"members" : [
{
"kind" : "PropertySignature" ,
"canonicalReference" : "@tldraw/store!BaseRecord#id:member" ,
"docComment" : "" ,
"excerptTokens" : [
{
"kind" : "Content" ,
"text" : "readonly id: "
} ,
{
"kind" : "Content" ,
"text" : "Id"
} ,
{
"kind" : "Content" ,
"text" : ";"
}
] ,
"isReadonly" : true ,
"isOptional" : false ,
"releaseTag" : "Public" ,
"name" : "id" ,
"propertyTypeTokenRange" : {
"startIndex" : 1 ,
"endIndex" : 2
}
} ,
{
"kind" : "PropertySignature" ,
"canonicalReference" : "@tldraw/store!BaseRecord#typeName:member" ,
"docComment" : "" ,
"excerptTokens" : [
{
"kind" : "Content" ,
"text" : "readonly typeName: "
} ,
{
"kind" : "Content" ,
"text" : "TypeName"
} ,
{
"kind" : "Content" ,
"text" : ";"
}
] ,
"isReadonly" : true ,
"isOptional" : false ,
"releaseTag" : "Public" ,
"name" : "typeName" ,
"propertyTypeTokenRange" : {
"startIndex" : 1 ,
"endIndex" : 2
}
}
] ,
"extendsTokenRanges" : [ ]
} ,
{
"kind" : "TypeAlias" ,
"canonicalReference" : "@tldraw/store!CollectionDiff:type" ,
"docComment" : "/**\n * A diff describing the changes to a collection.\n *\n * @public\n */\n" ,
"excerptTokens" : [
{
"kind" : "Content" ,
"text" : "export type CollectionDiff<T> = "
} ,
{
"kind" : "Content" ,
"text" : "{\n added?: "
} ,
{
"kind" : "Reference" ,
"text" : "Set" ,
"canonicalReference" : "!Set:interface"
} ,
{
"kind" : "Content" ,
"text" : "<T>;\n removed?: "
} ,
{
"kind" : "Reference" ,
"text" : "Set" ,
"canonicalReference" : "!Set:interface"
} ,
{
"kind" : "Content" ,
"text" : "<T>;\n}"
} ,
{
"kind" : "Content" ,
"text" : ";"
}
] ,
"fileUrlPath" : "packages/store/src/lib/Store.ts" ,
"releaseTag" : "Public" ,
"name" : "CollectionDiff" ,
"typeParameters" : [
{
"typeParameterName" : "T" ,
"constraintTokenRange" : {
"startIndex" : 0 ,
"endIndex" : 0
} ,
"defaultTypeTokenRange" : {
"startIndex" : 0 ,
"endIndex" : 0
}
}
] ,
"typeTokenRange" : {
"startIndex" : 1 ,
"endIndex" : 6
}
} ,
{
"kind" : "Function" ,
"canonicalReference" : "@tldraw/store!compareRecordVersions:function(1)" ,
"docComment" : "/**\n * @public\n */\n" ,
"excerptTokens" : [
{
"kind" : "Content" ,
"text" : "export declare function compareRecordVersions(a: "
} ,
{
"kind" : "Reference" ,
"text" : "RecordVersion" ,
"canonicalReference" : "@tldraw/store!RecordVersion:type"
} ,
{
"kind" : "Content" ,
"text" : ", b: "
} ,
{
"kind" : "Reference" ,
"text" : "RecordVersion" ,
"canonicalReference" : "@tldraw/store!RecordVersion:type"
} ,
{
"kind" : "Content" ,
"text" : "): "
} ,
{
"kind" : "Content" ,
"text" : "-1 | 0 | 1"
} ,
{
"kind" : "Content" ,
"text" : ";"
}
] ,
"fileUrlPath" : "packages/store/src/lib/migrate.ts" ,
"returnTypeTokenRange" : {
"startIndex" : 5 ,
"endIndex" : 6
} ,
"releaseTag" : "Public" ,
"overloadIndex" : 1 ,
"parameters" : [
{
"parameterName" : "a" ,
"parameterTypeTokenRange" : {
"startIndex" : 1 ,
"endIndex" : 2
} ,
"isOptional" : false
} ,
{
"parameterName" : "b" ,
"parameterTypeTokenRange" : {
"startIndex" : 3 ,
"endIndex" : 4
} ,
"isOptional" : false
}
] ,
"name" : "compareRecordVersions"
} ,
{
"kind" : "Function" ,
"canonicalReference" : "@tldraw/store!compareSchemas:function(1)" ,
"docComment" : "/**\n * @public\n */\n" ,
"excerptTokens" : [
{
"kind" : "Content" ,
"text" : "compareSchemas: (a: "
} ,
{
"kind" : "Reference" ,
"text" : "SerializedSchema" ,
"canonicalReference" : "@tldraw/store!SerializedSchema:interface"
} ,
{
"kind" : "Content" ,
"text" : ", b: "
} ,
{
"kind" : "Reference" ,
"text" : "SerializedSchema" ,
"canonicalReference" : "@tldraw/store!SerializedSchema:interface"
} ,
{
"kind" : "Content" ,
"text" : ") => "
} ,
{
"kind" : "Content" ,
"text" : "-1 | 0 | 1"
}
] ,
"fileUrlPath" : "packages/store/src/lib/compareSchemas.ts" ,
"returnTypeTokenRange" : {
"startIndex" : 5 ,
"endIndex" : 6
} ,
"releaseTag" : "Public" ,
"overloadIndex" : 1 ,
"parameters" : [
{
"parameterName" : "a" ,
"parameterTypeTokenRange" : {
"startIndex" : 1 ,
"endIndex" : 2
} ,
"isOptional" : false
} ,
{
"parameterName" : "b" ,
"parameterTypeTokenRange" : {
"startIndex" : 3 ,
"endIndex" : 4
} ,
"isOptional" : false
}
] ,
"name" : "compareSchemas"
} ,
{
"kind" : "TypeAlias" ,
"canonicalReference" : "@tldraw/store!ComputedCache:type" ,
"docComment" : "/**\n * A record store is a collection of records of different types.\n *\n * @public\n */\n" ,
"excerptTokens" : [
{
"kind" : "Content" ,
"text" : "export type ComputedCache<Data, R extends "
} ,
{
"kind" : "Reference" ,
"text" : "UnknownRecord" ,
"canonicalReference" : "@tldraw/store!UnknownRecord:type"
} ,
{
"kind" : "Content" ,
"text" : "> = "
} ,
{
"kind" : "Content" ,
"text" : "{\n get(id: "
} ,
{
"kind" : "Reference" ,
"text" : "IdOf" ,
"canonicalReference" : "@tldraw/store!IdOf:type"
} ,
{
"kind" : "Content" ,
"text" : "<R>): Data | undefined;\n}"
} ,
{
"kind" : "Content" ,
"text" : ";"
}
] ,
"fileUrlPath" : "packages/store/src/lib/Store.ts" ,
"releaseTag" : "Public" ,
"name" : "ComputedCache" ,
"typeParameters" : [
{
"typeParameterName" : "Data" ,
"constraintTokenRange" : {
"startIndex" : 0 ,
"endIndex" : 0
} ,
"defaultTypeTokenRange" : {
"startIndex" : 0 ,
"endIndex" : 0
}
} ,
{
"typeParameterName" : "R" ,
"constraintTokenRange" : {
"startIndex" : 1 ,
"endIndex" : 2
} ,
"defaultTypeTokenRange" : {
"startIndex" : 0 ,
"endIndex" : 0
}
}
] ,
"typeTokenRange" : {
"startIndex" : 3 ,
"endIndex" : 6
}
} ,
{
"kind" : "Function" ,
"canonicalReference" : "@tldraw/store!createRecordType:function(1)" ,
"docComment" : "/**\n * Create a record type.\n *\n * @param typeName - The name of the type to create.\n *\n * @example\n * ```ts\n * const Book = createRecordType<Book>('book')\n * ```\n *\n * @public\n */\n" ,
"excerptTokens" : [
{
"kind" : "Content" ,
"text" : "export declare function createRecordType<R extends "
} ,
{
"kind" : "Reference" ,
"text" : "UnknownRecord" ,
"canonicalReference" : "@tldraw/store!UnknownRecord:type"
} ,
{
"kind" : "Content" ,
"text" : ">(typeName: "
} ,
{
"kind" : "Content" ,
"text" : "R['typeName']"
} ,
{
"kind" : "Content" ,
"text" : ", config: "
} ,
{
"kind" : "Content" ,
"text" : "{\n migrations?: "
} ,
{
"kind" : "Reference" ,
"text" : "Migrations" ,
"canonicalReference" : "@tldraw/store!Migrations:interface"
} ,
{
"kind" : "Content" ,
"text" : ";\n validator?: "
} ,
{
"kind" : "Reference" ,
"text" : "StoreValidator" ,
"canonicalReference" : "@tldraw/store!StoreValidator:type"
} ,
{
"kind" : "Content" ,
"text" : "<R>;\n scope: "
} ,
{
"kind" : "Reference" ,
"text" : "RecordScope" ,
"canonicalReference" : "@tldraw/store!~RecordScope:type"
} ,
{
"kind" : "Content" ,
"text" : ";\n}"
} ,
{
"kind" : "Content" ,
"text" : "): "
} ,
{
"kind" : "Reference" ,
"text" : "RecordType" ,
"canonicalReference" : "@tldraw/store!RecordType:class"
} ,
{
"kind" : "Content" ,
"text" : "<R, keyof "
} ,
{
"kind" : "Reference" ,
"text" : "Omit" ,
"canonicalReference" : "!Omit:type"
} ,
{
"kind" : "Content" ,
"text" : "<R, 'id' | 'typeName'>>"
} ,
{
"kind" : "Content" ,
"text" : ";"
}
] ,
"fileUrlPath" : "packages/store/src/lib/RecordType.ts" ,
"returnTypeTokenRange" : {
"startIndex" : 13 ,
"endIndex" : 17
} ,
"releaseTag" : "Public" ,
"overloadIndex" : 1 ,
"parameters" : [
{
"parameterName" : "typeName" ,
"parameterTypeTokenRange" : {
"startIndex" : 3 ,
"endIndex" : 4
} ,
"isOptional" : false
} ,
{
"parameterName" : "config" ,
"parameterTypeTokenRange" : {
"startIndex" : 5 ,
"endIndex" : 12
} ,
"isOptional" : false
}
] ,
"typeParameters" : [
{
"typeParameterName" : "R" ,
"constraintTokenRange" : {
"startIndex" : 1 ,
"endIndex" : 2
} ,
"defaultTypeTokenRange" : {
"startIndex" : 0 ,
"endIndex" : 0
}
}
] ,
"name" : "createRecordType"
} ,
{
"kind" : "Function" ,
"canonicalReference" : "@tldraw/store!defineMigrations:function(1)" ,
"docComment" : "/**\n * @public\n */\n" ,
"excerptTokens" : [
{
"kind" : "Content" ,
"text" : "export declare function defineMigrations<FirstVersion extends "
} ,
{
"kind" : "Reference" ,
"text" : "EMPTY_SYMBOL" ,
"canonicalReference" : "@tldraw/store!~EMPTY_SYMBOL:type"
} ,
{
"kind" : "Content" ,
"text" : " | number"
} ,
{
"kind" : "Content" ,
"text" : " = "
} ,
{
"kind" : "Reference" ,
"text" : "EMPTY_SYMBOL" ,
"canonicalReference" : "@tldraw/store!~EMPTY_SYMBOL:type"
} ,
{
"kind" : "Content" ,
"text" : ", CurrentVersion extends "
} ,
{
"kind" : "Reference" ,
"text" : "EMPTY_SYMBOL" ,
"canonicalReference" : "@tldraw/store!~EMPTY_SYMBOL:type"
} ,
{
"kind" : "Content" ,
"text" : " | "
} ,
{
"kind" : "Reference" ,
"text" : "Exclude" ,
"canonicalReference" : "!Exclude:type"
} ,
{
"kind" : "Content" ,
"text" : "<number, 0>"
} ,
{
"kind" : "Content" ,
"text" : " = "
} ,
{
"kind" : "Reference" ,
"text" : "EMPTY_SYMBOL" ,
"canonicalReference" : "@tldraw/store!~EMPTY_SYMBOL:type"
} ,
{
"kind" : "Content" ,
"text" : ">(opts: "
} ,
{
"kind" : "Content" ,
"text" : "{\n firstVersion?: CurrentVersion extends number ? FirstVersion : never;\n currentVersion?: CurrentVersion;\n migrators?: CurrentVersion extends number ? FirstVersion extends number ? CurrentVersion extends FirstVersion ? {\n [version in "
} ,
{
"kind" : "Reference" ,
"text" : "Exclude" ,
"canonicalReference" : "!Exclude:type"
} ,
{
"kind" : "Content" ,
"text" : "<"
} ,
{
"kind" : "Reference" ,
"text" : "Range" ,
"canonicalReference" : "@tldraw/store!~Range_2:type"
} ,
{
"kind" : "Content" ,
"text" : "<1, CurrentVersion>, 0>]: "
} ,
{
"kind" : "Reference" ,
"text" : "Migration" ,
"canonicalReference" : "@tldraw/store!Migration:type"
} ,
{
"kind" : "Content" ,
"text" : ";\n } : {\n [version in "
} ,
{
"kind" : "Reference" ,
"text" : "Exclude" ,
"canonicalReference" : "!Exclude:type"
} ,
{
"kind" : "Content" ,
"text" : "<"
} ,
{
"kind" : "Reference" ,
"text" : "Range" ,
"canonicalReference" : "@tldraw/store!~Range_2:type"
} ,
{
"kind" : "Content" ,
"text" : "<FirstVersion, CurrentVersion>, FirstVersion>]: "
} ,
{
"kind" : "Reference" ,
"text" : "Migration" ,
"canonicalReference" : "@tldraw/store!Migration:type"
} ,
{
"kind" : "Content" ,
"text" : ";\n } : {\n [version in "
} ,
{
"kind" : "Reference" ,
"text" : "Exclude" ,
"canonicalReference" : "!Exclude:type"
} ,
{
"kind" : "Content" ,
"text" : "<"
} ,
{
"kind" : "Reference" ,
"text" : "Range" ,
"canonicalReference" : "@tldraw/store!~Range_2:type"
} ,
{
"kind" : "Content" ,
"text" : "<1, CurrentVersion>, 0>]: "
} ,
{
"kind" : "Reference" ,
"text" : "Migration" ,
"canonicalReference" : "@tldraw/store!Migration:type"
} ,
{
"kind" : "Content" ,
"text" : ";\n } : never;\n subTypeKey?: string;\n subTypeMigrations?: "
} ,
{
"kind" : "Reference" ,
"text" : "Record" ,
"canonicalReference" : "!Record:type"
} ,
{
"kind" : "Content" ,
"text" : "<string, "
} ,
{
"kind" : "Reference" ,
"text" : "BaseMigrationsInfo" ,
"canonicalReference" : "@tldraw/store!~BaseMigrationsInfo:interface"
} ,
{
"kind" : "Content" ,
"text" : ">;\n}"
} ,
{
"kind" : "Content" ,
"text" : "): "
} ,
{
"kind" : "Reference" ,
"text" : "Migrations" ,
"canonicalReference" : "@tldraw/store!Migrations:interface"
} ,
{
"kind" : "Content" ,
"text" : ";"
}
] ,
"fileUrlPath" : "packages/store/src/lib/migrate.ts" ,
"returnTypeTokenRange" : {
"startIndex" : 37 ,
"endIndex" : 38
} ,
"releaseTag" : "Public" ,
"overloadIndex" : 1 ,
"parameters" : [
{
"parameterName" : "opts" ,
"parameterTypeTokenRange" : {
"startIndex" : 13 ,
"endIndex" : 36
} ,
"isOptional" : false
}
] ,
"typeParameters" : [
{
"typeParameterName" : "FirstVersion" ,
"constraintTokenRange" : {
"startIndex" : 1 ,
"endIndex" : 3
} ,
"defaultTypeTokenRange" : {
"startIndex" : 4 ,
"endIndex" : 5
}
} ,
{
"typeParameterName" : "CurrentVersion" ,
"constraintTokenRange" : {
"startIndex" : 6 ,
"endIndex" : 10
} ,
"defaultTypeTokenRange" : {
"startIndex" : 11 ,
"endIndex" : 12
}
}
] ,
"name" : "defineMigrations"
} ,
{
"kind" : "Function" ,
"canonicalReference" : "@tldraw/store!devFreeze:function(1)" ,
"docComment" : "/**\n * Freeze an object when in development mode. Copied from https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/freeze\n *\n * @param object - The object to freeze.\n *\n * @returns The frozen object when in development mode, or else the object when in other modes.\n *\n * @example\n * ```ts\n * const frozen = devFreeze({ a: 1 })\n * ```\n *\n * @public\n */\n" ,
"excerptTokens" : [
{
"kind" : "Content" ,
"text" : "export declare function devFreeze<T>(object: "
} ,
{
"kind" : "Content" ,
"text" : "T"
} ,
{
"kind" : "Content" ,
"text" : "): "
} ,
{
"kind" : "Content" ,
"text" : "T"
} ,
{
"kind" : "Content" ,
"text" : ";"
}
] ,
"fileUrlPath" : "packages/store/src/lib/devFreeze.ts" ,
"returnTypeTokenRange" : {
"startIndex" : 3 ,
"endIndex" : 4
} ,
"releaseTag" : "Public" ,
"overloadIndex" : 1 ,
"parameters" : [
{
"parameterName" : "object" ,
"parameterTypeTokenRange" : {
"startIndex" : 1 ,
"endIndex" : 2
} ,
"isOptional" : false
}
] ,
"typeParameters" : [
{
"typeParameterName" : "T" ,
"constraintTokenRange" : {
"startIndex" : 0 ,
"endIndex" : 0
} ,
"defaultTypeTokenRange" : {
"startIndex" : 0 ,
"endIndex" : 0
}
}
] ,
"name" : "devFreeze"
} ,
{
"kind" : "Function" ,
"canonicalReference" : "@tldraw/store!getRecordVersion:function(1)" ,
"docComment" : "/**\n * @public\n */\n" ,
"excerptTokens" : [
{
"kind" : "Content" ,
"text" : "export declare function getRecordVersion(record: "
} ,
{
"kind" : "Reference" ,
"text" : "UnknownRecord" ,
"canonicalReference" : "@tldraw/store!UnknownRecord:type"
} ,
{
"kind" : "Content" ,
"text" : ", serializedSchema: "
} ,
{
"kind" : "Reference" ,
"text" : "SerializedSchema" ,
"canonicalReference" : "@tldraw/store!SerializedSchema:interface"
} ,
{
"kind" : "Content" ,
"text" : "): "
} ,
{
"kind" : "Reference" ,
"text" : "RecordVersion" ,
"canonicalReference" : "@tldraw/store!RecordVersion:type"
} ,
{
"kind" : "Content" ,
"text" : ";"
}
] ,
"fileUrlPath" : "packages/store/src/lib/migrate.ts" ,
"returnTypeTokenRange" : {
"startIndex" : 5 ,
"endIndex" : 6
} ,
"releaseTag" : "Public" ,
"overloadIndex" : 1 ,
"parameters" : [
{
"parameterName" : "record" ,
"parameterTypeTokenRange" : {
"startIndex" : 1 ,
"endIndex" : 2
} ,
"isOptional" : false
} ,
{
"parameterName" : "serializedSchema" ,
"parameterTypeTokenRange" : {
"startIndex" : 3 ,
"endIndex" : 4
} ,
"isOptional" : false
}
] ,
"name" : "getRecordVersion"
} ,
{
"kind" : "TypeAlias" ,
"canonicalReference" : "@tldraw/store!HistoryEntry:type" ,
"docComment" : "/**\n * An entry containing changes that originated either by user actions or remote changes.\n *\n * @public\n */\n" ,
"excerptTokens" : [
{
"kind" : "Content" ,
"text" : "export type HistoryEntry<R extends "
} ,
{
"kind" : "Reference" ,
"text" : "UnknownRecord" ,
"canonicalReference" : "@tldraw/store!UnknownRecord:type"
} ,
{
"kind" : "Content" ,
"text" : " = "
} ,
{
"kind" : "Reference" ,
"text" : "UnknownRecord" ,
"canonicalReference" : "@tldraw/store!UnknownRecord:type"
} ,
{
"kind" : "Content" ,
"text" : "> = "
} ,
{
"kind" : "Content" ,
"text" : "{\n changes: "
} ,
{
"kind" : "Reference" ,
"text" : "RecordsDiff" ,
"canonicalReference" : "@tldraw/store!RecordsDiff:type"
} ,
{
"kind" : "Content" ,
"text" : "<R>;\n source: "
} ,
{
"kind" : "Reference" ,
"text" : "ChangeSource" ,
"canonicalReference" : "@tldraw/store!~ChangeSource:type"
} ,
{
"kind" : "Content" ,
"text" : ";\n}"
} ,
{
"kind" : "Content" ,
"text" : ";"
}
] ,
"fileUrlPath" : "packages/store/src/lib/Store.ts" ,
"releaseTag" : "Public" ,
"name" : "HistoryEntry" ,
"typeParameters" : [
{
"typeParameterName" : "R" ,
"constraintTokenRange" : {
"startIndex" : 1 ,
"endIndex" : 2
} ,
"defaultTypeTokenRange" : {
"startIndex" : 3 ,
"endIndex" : 4
}
}
] ,
"typeTokenRange" : {
"startIndex" : 5 ,
"endIndex" : 10
}
} ,
{
"kind" : "TypeAlias" ,
"canonicalReference" : "@tldraw/store!IdOf:type" ,
"docComment" : "/**\n * @public\n */\n" ,
"excerptTokens" : [
{
"kind" : "Content" ,
"text" : "export type IdOf<R extends "
} ,
{
"kind" : "Reference" ,
"text" : "UnknownRecord" ,
"canonicalReference" : "@tldraw/store!UnknownRecord:type"
} ,
{
"kind" : "Content" ,
"text" : "> = "
} ,
{
"kind" : "Content" ,
"text" : "R['id']"
} ,
{
"kind" : "Content" ,
"text" : ";"
}
] ,
"fileUrlPath" : "packages/store/src/lib/BaseRecord.ts" ,
"releaseTag" : "Public" ,
"name" : "IdOf" ,
"typeParameters" : [
{
"typeParameterName" : "R" ,
"constraintTokenRange" : {
"startIndex" : 1 ,
"endIndex" : 2
} ,
"defaultTypeTokenRange" : {
"startIndex" : 0 ,
"endIndex" : 0
}
}
] ,
"typeTokenRange" : {
"startIndex" : 3 ,
"endIndex" : 4
}
} ,
{
"kind" : "Function" ,
"canonicalReference" : "@tldraw/store!migrate:function(1)" ,
"docComment" : "/**\n * @public\n */\n" ,
"excerptTokens" : [
{
"kind" : "Content" ,
"text" : "export declare function migrate<T>({ value, migrations, fromVersion, toVersion, }: "
} ,
{
"kind" : "Content" ,
"text" : "{\n value: unknown;\n migrations: "
} ,
{
"kind" : "Reference" ,
"text" : "Migrations" ,
"canonicalReference" : "@tldraw/store!Migrations:interface"
} ,
{
"kind" : "Content" ,
"text" : ";\n fromVersion: number;\n toVersion: number;\n}"
} ,
{
"kind" : "Content" ,
"text" : "): "
} ,
{
"kind" : "Reference" ,
"text" : "MigrationResult" ,
"canonicalReference" : "@tldraw/store!MigrationResult:type"
} ,
{
"kind" : "Content" ,
"text" : "<T>"
} ,
{
"kind" : "Content" ,
"text" : ";"
}
] ,
"fileUrlPath" : "packages/store/src/lib/migrate.ts" ,
"returnTypeTokenRange" : {
"startIndex" : 5 ,
"endIndex" : 7
} ,
"releaseTag" : "Public" ,
"overloadIndex" : 1 ,
"parameters" : [
{
"parameterName" : "{ value, migrations, fromVersion, toVersion, }" ,
"parameterTypeTokenRange" : {
"startIndex" : 1 ,
"endIndex" : 4
} ,
"isOptional" : false
}
] ,
"typeParameters" : [
{
"typeParameterName" : "T" ,
"constraintTokenRange" : {
"startIndex" : 0 ,
"endIndex" : 0
} ,
"defaultTypeTokenRange" : {
"startIndex" : 0 ,
"endIndex" : 0
}
}
] ,
"name" : "migrate"
} ,
{
"kind" : "Function" ,
"canonicalReference" : "@tldraw/store!migrateRecord:function(1)" ,
"docComment" : "/**\n * @public\n */\n" ,
"excerptTokens" : [
{
"kind" : "Content" ,
"text" : "export declare function migrateRecord<R extends "
} ,
{
"kind" : "Reference" ,
"text" : "UnknownRecord" ,
"canonicalReference" : "@tldraw/store!UnknownRecord:type"
} ,
{
"kind" : "Content" ,
"text" : ">({ record, migrations, fromVersion, toVersion, }: "
} ,
{
"kind" : "Content" ,
"text" : "{\n record: unknown;\n migrations: "
} ,
{
"kind" : "Reference" ,
"text" : "Migrations" ,
"canonicalReference" : "@tldraw/store!Migrations:interface"
} ,
{
"kind" : "Content" ,
"text" : ";\n fromVersion: number;\n toVersion: number;\n}"
} ,
{
"kind" : "Content" ,
"text" : "): "
} ,
{
"kind" : "Reference" ,
"text" : "MigrationResult" ,
"canonicalReference" : "@tldraw/store!MigrationResult:type"
} ,
{
"kind" : "Content" ,
"text" : "<R>"
} ,
{
"kind" : "Content" ,
"text" : ";"
}
] ,
"fileUrlPath" : "packages/store/src/lib/migrate.ts" ,
"returnTypeTokenRange" : {
"startIndex" : 7 ,
"endIndex" : 9
} ,
"releaseTag" : "Public" ,
"overloadIndex" : 1 ,
"parameters" : [
{
"parameterName" : "{ record, migrations, fromVersion, toVersion, }" ,
"parameterTypeTokenRange" : {
"startIndex" : 3 ,
"endIndex" : 6
} ,
"isOptional" : false
}
] ,
"typeParameters" : [
{
"typeParameterName" : "R" ,
"constraintTokenRange" : {
"startIndex" : 1 ,
"endIndex" : 2
} ,
"defaultTypeTokenRange" : {
"startIndex" : 0 ,
"endIndex" : 0
}
}
] ,
"name" : "migrateRecord"
} ,
{
"kind" : "TypeAlias" ,
"canonicalReference" : "@tldraw/store!Migration:type" ,
"docComment" : "/**\n * @public\n */\n" ,
"excerptTokens" : [
{
"kind" : "Content" ,
"text" : "export type Migration<Before = "
} ,
{
"kind" : "Content" ,
"text" : "any"
} ,
{
"kind" : "Content" ,
"text" : ", After = "
} ,
{
"kind" : "Content" ,
"text" : "any"
} ,
{
"kind" : "Content" ,
"text" : "> = "
} ,
{
"kind" : "Content" ,
"text" : "{\n up: (oldState: Before) => After;\n down: (newState: After) => Before;\n}"
} ,
{
"kind" : "Content" ,
"text" : ";"
}
] ,
"fileUrlPath" : "packages/store/src/lib/migrate.ts" ,
"releaseTag" : "Public" ,
"name" : "Migration" ,
"typeParameters" : [
{
"typeParameterName" : "Before" ,
"constraintTokenRange" : {
"startIndex" : 0 ,
"endIndex" : 0
} ,
"defaultTypeTokenRange" : {
"startIndex" : 1 ,
"endIndex" : 2
}
} ,
{
"typeParameterName" : "After" ,
"constraintTokenRange" : {
"startIndex" : 0 ,
"endIndex" : 0
} ,
"defaultTypeTokenRange" : {
"startIndex" : 3 ,
"endIndex" : 4
}
}
] ,
"typeTokenRange" : {
"startIndex" : 5 ,
"endIndex" : 6
}
} ,
{
"kind" : "Enum" ,
"canonicalReference" : "@tldraw/store!MigrationFailureReason:enum" ,
"docComment" : "/**\n * @public\n */\n" ,
"excerptTokens" : [
{
"kind" : "Content" ,
"text" : "export declare enum MigrationFailureReason "
}
] ,
"fileUrlPath" : "packages/store/src/lib/migrate.ts" ,
"releaseTag" : "Public" ,
"name" : "MigrationFailureReason" ,
"preserveMemberOrder" : false ,
"members" : [
{
"kind" : "EnumMember" ,
"canonicalReference" : "@tldraw/store!MigrationFailureReason.IncompatibleSubtype:member" ,
"docComment" : "" ,
"excerptTokens" : [
{
"kind" : "Content" ,
"text" : "IncompatibleSubtype = "
} ,
{
"kind" : "Content" ,
"text" : "\"incompatible-subtype\""
}
] ,
"initializerTokenRange" : {
"startIndex" : 1 ,
"endIndex" : 2
} ,
"releaseTag" : "Public" ,
"name" : "IncompatibleSubtype"
} ,
{
"kind" : "EnumMember" ,
"canonicalReference" : "@tldraw/store!MigrationFailureReason.MigrationError:member" ,
"docComment" : "" ,
"excerptTokens" : [
{
"kind" : "Content" ,
"text" : "MigrationError = "
} ,
{
"kind" : "Content" ,
"text" : "\"migration-error\""
}
] ,
"initializerTokenRange" : {
"startIndex" : 1 ,
"endIndex" : 2
} ,
"releaseTag" : "Public" ,
"name" : "MigrationError"
} ,
{
"kind" : "EnumMember" ,
"canonicalReference" : "@tldraw/store!MigrationFailureReason.TargetVersionTooNew:member" ,
"docComment" : "" ,
"excerptTokens" : [
{
"kind" : "Content" ,
"text" : "TargetVersionTooNew = "
} ,
{
"kind" : "Content" ,
"text" : "\"target-version-too-new\""
}
] ,
"initializerTokenRange" : {
"startIndex" : 1 ,
"endIndex" : 2
} ,
"releaseTag" : "Public" ,
"name" : "TargetVersionTooNew"
} ,
{
"kind" : "EnumMember" ,
"canonicalReference" : "@tldraw/store!MigrationFailureReason.TargetVersionTooOld:member" ,
"docComment" : "" ,
"excerptTokens" : [
{
"kind" : "Content" ,
"text" : "TargetVersionTooOld = "
} ,
{
"kind" : "Content" ,
"text" : "\"target-version-too-old\""
}
] ,
"initializerTokenRange" : {
"startIndex" : 1 ,
"endIndex" : 2
} ,
"releaseTag" : "Public" ,
"name" : "TargetVersionTooOld"
} ,
{
"kind" : "EnumMember" ,
"canonicalReference" : "@tldraw/store!MigrationFailureReason.UnknownType:member" ,
"docComment" : "" ,
"excerptTokens" : [
{
"kind" : "Content" ,
"text" : "UnknownType = "
} ,
{
"kind" : "Content" ,
"text" : "\"unknown-type\""
}
] ,
"initializerTokenRange" : {
"startIndex" : 1 ,
"endIndex" : 2
} ,
"releaseTag" : "Public" ,
"name" : "UnknownType"
} ,
{
"kind" : "EnumMember" ,
"canonicalReference" : "@tldraw/store!MigrationFailureReason.UnrecognizedSubtype:member" ,
"docComment" : "" ,
"excerptTokens" : [
{
"kind" : "Content" ,
"text" : "UnrecognizedSubtype = "
} ,
{
"kind" : "Content" ,
"text" : "\"unrecognized-subtype\""
}
] ,
"initializerTokenRange" : {
"startIndex" : 1 ,
"endIndex" : 2
} ,
"releaseTag" : "Public" ,
"name" : "UnrecognizedSubtype"
}
]
} ,
{
"kind" : "TypeAlias" ,
"canonicalReference" : "@tldraw/store!MigrationResult:type" ,
"docComment" : "/**\n * @public\n */\n" ,
"excerptTokens" : [
{
"kind" : "Content" ,
"text" : "export type MigrationResult<T> = "
} ,
{
"kind" : "Content" ,
"text" : "{\n type: 'error';\n reason: "
} ,
{
"kind" : "Reference" ,
"text" : "MigrationFailureReason" ,
"canonicalReference" : "@tldraw/store!MigrationFailureReason:enum"
} ,
{
"kind" : "Content" ,
"text" : ";\n} | {\n type: 'success';\n value: T;\n}"
} ,
{
"kind" : "Content" ,
"text" : ";"
}
] ,
"fileUrlPath" : "packages/store/src/lib/migrate.ts" ,
"releaseTag" : "Public" ,
"name" : "MigrationResult" ,
"typeParameters" : [
{
"typeParameterName" : "T" ,
"constraintTokenRange" : {
"startIndex" : 0 ,
"endIndex" : 0
} ,
"defaultTypeTokenRange" : {
"startIndex" : 0 ,
"endIndex" : 0
}
}
] ,
"typeTokenRange" : {
"startIndex" : 1 ,
"endIndex" : 4
}
} ,
{
"kind" : "Interface" ,
"canonicalReference" : "@tldraw/store!Migrations:interface" ,
"docComment" : "/**\n * @public\n */\n" ,
"excerptTokens" : [
{
"kind" : "Content" ,
"text" : "export interface Migrations extends "
} ,
{
"kind" : "Reference" ,
"text" : "BaseMigrationsInfo" ,
"canonicalReference" : "@tldraw/store!~BaseMigrationsInfo:interface"
} ,
{
"kind" : "Content" ,
"text" : " "
}
] ,
"fileUrlPath" : "packages/store/src/lib/migrate.ts" ,
"releaseTag" : "Public" ,
"name" : "Migrations" ,
"preserveMemberOrder" : false ,
"members" : [
{
"kind" : "PropertySignature" ,
"canonicalReference" : "@tldraw/store!Migrations#subTypeKey:member" ,
"docComment" : "" ,
"excerptTokens" : [
{
"kind" : "Content" ,
"text" : "subTypeKey?: "
} ,
{
"kind" : "Content" ,
"text" : "string"
} ,
{
"kind" : "Content" ,
"text" : ";"
}
] ,
"isReadonly" : false ,
"isOptional" : true ,
"releaseTag" : "Public" ,
"name" : "subTypeKey" ,
"propertyTypeTokenRange" : {
"startIndex" : 1 ,
"endIndex" : 2
}
} ,
{
"kind" : "PropertySignature" ,
"canonicalReference" : "@tldraw/store!Migrations#subTypeMigrations:member" ,
"docComment" : "" ,
"excerptTokens" : [
{
"kind" : "Content" ,
"text" : "subTypeMigrations?: "
} ,
{
"kind" : "Reference" ,
"text" : "Record" ,
"canonicalReference" : "!Record:type"
} ,
{
"kind" : "Content" ,
"text" : "<string, "
} ,
{
"kind" : "Reference" ,
"text" : "BaseMigrationsInfo" ,
"canonicalReference" : "@tldraw/store!~BaseMigrationsInfo:interface"
} ,
{
"kind" : "Content" ,
"text" : ">"
} ,
{
"kind" : "Content" ,
"text" : ";"
}
] ,
"isReadonly" : false ,
"isOptional" : true ,
"releaseTag" : "Public" ,
"name" : "subTypeMigrations" ,
"propertyTypeTokenRange" : {
"startIndex" : 1 ,
"endIndex" : 5
}
}
] ,
"extendsTokenRanges" : [
{
"startIndex" : 1 ,
"endIndex" : 2
}
]
} ,
{
"kind" : "TypeAlias" ,
"canonicalReference" : "@tldraw/store!RecordId:type" ,
"docComment" : "/**\n * @public\n */\n" ,
"excerptTokens" : [
{
"kind" : "Content" ,
"text" : "export type RecordId<R extends "
} ,
{
"kind" : "Reference" ,
"text" : "UnknownRecord" ,
"canonicalReference" : "@tldraw/store!UnknownRecord:type"
} ,
{
"kind" : "Content" ,
"text" : "> = "
} ,
{
"kind" : "Content" ,
"text" : "string & {\n __type__: R;\n}"
} ,
{
"kind" : "Content" ,
"text" : ";"
}
] ,
"fileUrlPath" : "packages/store/src/lib/BaseRecord.ts" ,
"releaseTag" : "Public" ,
"name" : "RecordId" ,
"typeParameters" : [
{
"typeParameterName" : "R" ,
"constraintTokenRange" : {
"startIndex" : 1 ,
"endIndex" : 2
} ,
"defaultTypeTokenRange" : {
"startIndex" : 0 ,
"endIndex" : 0
}
}
] ,
"typeTokenRange" : {
"startIndex" : 3 ,
"endIndex" : 4
}
} ,
{
"kind" : "TypeAlias" ,
"canonicalReference" : "@tldraw/store!RecordsDiff:type" ,
"docComment" : "/**\n * A diff describing the changes to a record.\n *\n * @public\n */\n" ,
"excerptTokens" : [
{
"kind" : "Content" ,
"text" : "export type RecordsDiff<R extends "
} ,
{
"kind" : "Reference" ,
"text" : "UnknownRecord" ,
"canonicalReference" : "@tldraw/store!UnknownRecord:type"
} ,
{
"kind" : "Content" ,
"text" : "> = "
} ,
{
"kind" : "Content" ,
"text" : "{\n added: "
} ,
{
"kind" : "Reference" ,
"text" : "Record" ,
"canonicalReference" : "!Record:type"
} ,
{
"kind" : "Content" ,
"text" : "<"
} ,
{
"kind" : "Reference" ,
"text" : "IdOf" ,
"canonicalReference" : "@tldraw/store!IdOf:type"
} ,
{
"kind" : "Content" ,
"text" : "<R>, R>;\n updated: "
} ,
{
"kind" : "Reference" ,
"text" : "Record" ,
"canonicalReference" : "!Record:type"
} ,
{
"kind" : "Content" ,
"text" : "<"
} ,
{
"kind" : "Reference" ,
"text" : "IdOf" ,
"canonicalReference" : "@tldraw/store!IdOf:type"
} ,
{
"kind" : "Content" ,
"text" : "<R>, [from: R, to: R]>;\n removed: "
} ,
{
"kind" : "Reference" ,
"text" : "Record" ,
"canonicalReference" : "!Record:type"
} ,
{
"kind" : "Content" ,
"text" : "<"
} ,
{
"kind" : "Reference" ,
"text" : "IdOf" ,
"canonicalReference" : "@tldraw/store!IdOf:type"
} ,
{
"kind" : "Content" ,
"text" : "<R>, R>;\n}"
} ,
{
"kind" : "Content" ,
"text" : ";"
}
] ,
"fileUrlPath" : "packages/store/src/lib/Store.ts" ,
"releaseTag" : "Public" ,
"name" : "RecordsDiff" ,
"typeParameters" : [
{
"typeParameterName" : "R" ,
"constraintTokenRange" : {
"startIndex" : 1 ,
"endIndex" : 2
} ,
"defaultTypeTokenRange" : {
"startIndex" : 0 ,
"endIndex" : 0
}
}
] ,
"typeTokenRange" : {
"startIndex" : 3 ,
"endIndex" : 16
}
} ,
{
"kind" : "Class" ,
"canonicalReference" : "@tldraw/store!RecordType:class" ,
"docComment" : "/**\n * A record type is a type that can be stored in a record store. It is created with `createRecordType`.\n *\n * @public\n */\n" ,
"excerptTokens" : [
{
"kind" : "Content" ,
"text" : "export declare class RecordType<R extends "
} ,
{
"kind" : "Reference" ,
"text" : "UnknownRecord" ,
"canonicalReference" : "@tldraw/store!UnknownRecord:type"
} ,
{
"kind" : "Content" ,
"text" : ", RequiredProperties extends "
} ,
{
"kind" : "Content" ,
"text" : "keyof "
} ,
{
"kind" : "Reference" ,
"text" : "Omit" ,
"canonicalReference" : "!Omit:type"
} ,
{
"kind" : "Content" ,
"text" : "<R, 'id' | 'typeName'>"
} ,
{
"kind" : "Content" ,
"text" : "> "
}
] ,
"fileUrlPath" : "packages/store/src/lib/RecordType.ts" ,
"releaseTag" : "Public" ,
"typeParameters" : [
{
"typeParameterName" : "R" ,
"constraintTokenRange" : {
"startIndex" : 1 ,
"endIndex" : 2
} ,
"defaultTypeTokenRange" : {
"startIndex" : 0 ,
"endIndex" : 0
}
} ,
{
"typeParameterName" : "RequiredProperties" ,
"constraintTokenRange" : {
"startIndex" : 3 ,
"endIndex" : 6
} ,
"defaultTypeTokenRange" : {
"startIndex" : 0 ,
"endIndex" : 0
}
}
] ,
"isAbstract" : false ,
"name" : "RecordType" ,
"preserveMemberOrder" : false ,
"members" : [
{
"kind" : "Constructor" ,
"canonicalReference" : "@tldraw/store!RecordType:constructor(1)" ,
"docComment" : "/**\n * Constructs a new instance of the `RecordType` class\n */\n" ,
"excerptTokens" : [
{
"kind" : "Content" ,
"text" : "constructor(\n typeName: "
} ,
{
"kind" : "Content" ,
"text" : "R['typeName']"
} ,
{
"kind" : "Content" ,
"text" : ", config: "
} ,
{
"kind" : "Content" ,
"text" : "{\n readonly createDefaultProperties: () => "
} ,
{
"kind" : "Reference" ,
"text" : "Exclude" ,
"canonicalReference" : "!Exclude:type"
} ,
{
"kind" : "Content" ,
"text" : "<"
} ,
{
"kind" : "Reference" ,
"text" : "OmitMeta" ,
"canonicalReference" : "@tldraw/store!~OmitMeta:type"
} ,
{
"kind" : "Content" ,
"text" : "<R>, RequiredProperties>;\n readonly migrations: "
} ,
{
"kind" : "Reference" ,
"text" : "Migrations" ,
"canonicalReference" : "@tldraw/store!Migrations:interface"
} ,
{
"kind" : "Content" ,
"text" : ";\n readonly validator?: "
} ,
{
"kind" : "Reference" ,
"text" : "StoreValidator" ,
"canonicalReference" : "@tldraw/store!StoreValidator:type"
} ,
{
"kind" : "Content" ,
"text" : "<R>;\n readonly scope?: "
} ,
{
"kind" : "Reference" ,
"text" : "RecordScope" ,
"canonicalReference" : "@tldraw/store!~RecordScope:type"
} ,
{
"kind" : "Content" ,
"text" : ";\n }"
} ,
{
"kind" : "Content" ,
"text" : ");"
}
] ,
"releaseTag" : "Public" ,
"isProtected" : false ,
"overloadIndex" : 1 ,
"parameters" : [
{
"parameterName" : "typeName" ,
"parameterTypeTokenRange" : {
"startIndex" : 1 ,
"endIndex" : 2
} ,
"isOptional" : false
} ,
{
"parameterName" : "config" ,
"parameterTypeTokenRange" : {
"startIndex" : 3 ,
"endIndex" : 14
} ,
"isOptional" : false
}
]
} ,
{
"kind" : "Method" ,
"canonicalReference" : "@tldraw/store!RecordType#clone:member(1)" ,
"docComment" : "/**\n * Clone a record of this type.\n *\n * @param record - The record to clone.\n *\n * @returns The cloned record.\n *\n * @public\n */\n" ,
"excerptTokens" : [
{
"kind" : "Content" ,
"text" : "clone(record: "
} ,
{
"kind" : "Content" ,
"text" : "R"
} ,
{
"kind" : "Content" ,
"text" : "): "
} ,
{
"kind" : "Content" ,
"text" : "R"
} ,
{
"kind" : "Content" ,
"text" : ";"
}
] ,
"isStatic" : false ,
"returnTypeTokenRange" : {
"startIndex" : 3 ,
"endIndex" : 4
} ,
"releaseTag" : "Public" ,
"isProtected" : false ,
"overloadIndex" : 1 ,
"parameters" : [
{
"parameterName" : "record" ,
"parameterTypeTokenRange" : {
"startIndex" : 1 ,
"endIndex" : 2
} ,
"isOptional" : false
}
] ,
"isOptional" : false ,
"isAbstract" : false ,
"name" : "clone"
} ,
{
"kind" : "Method" ,
"canonicalReference" : "@tldraw/store!RecordType#create:member(1)" ,
"docComment" : "/**\n * Create a new record of this type.\n *\n * @param properties - The properties of the record.\n *\n * @returns The new record.\n */\n" ,
"excerptTokens" : [
{
"kind" : "Content" ,
"text" : "create(properties: "
} ,
{
"kind" : "Reference" ,
"text" : "Pick" ,
"canonicalReference" : "!Pick:type"
} ,
{
"kind" : "Content" ,
"text" : "<R, RequiredProperties> & "
} ,
{
"kind" : "Reference" ,
"text" : "Omit" ,
"canonicalReference" : "!Omit:type"
} ,
{
"kind" : "Content" ,
"text" : "<"
} ,
{
"kind" : "Reference" ,
"text" : "Partial" ,
"canonicalReference" : "!Partial:type"
} ,
{
"kind" : "Content" ,
"text" : "<R>, RequiredProperties>"
} ,
{
"kind" : "Content" ,
"text" : "): "
} ,
{
"kind" : "Content" ,
"text" : "R"
} ,
{
"kind" : "Content" ,
"text" : ";"
}
] ,
"isStatic" : false ,
"returnTypeTokenRange" : {
"startIndex" : 8 ,
"endIndex" : 9
} ,
"releaseTag" : "Public" ,
"isProtected" : false ,
"overloadIndex" : 1 ,
"parameters" : [
{
"parameterName" : "properties" ,
"parameterTypeTokenRange" : {
"startIndex" : 1 ,
"endIndex" : 7
} ,
"isOptional" : false
}
] ,
"isOptional" : false ,
"isAbstract" : false ,
"name" : "create"
} ,
{
"kind" : "Method" ,
"canonicalReference" : "@tldraw/store!RecordType#createCustomId:member(1)" ,
"docComment" : "/**\n * Create a new ID for this record type based on the given ID.\n *\n * @deprecated\n *\n * - Use `createId` instead.\n *\n * @param id - The ID to base the new ID on.\n *\n * @returns The new ID.\n *\n * @example\n * ```ts\n * const id = recordType.createCustomId('myId')\n * ```\n *\n */\n" ,
"excerptTokens" : [
{
"kind" : "Content" ,
"text" : "createCustomId(id: "
} ,
{
"kind" : "Content" ,
"text" : "string"
} ,
{
"kind" : "Content" ,
"text" : "): "
} ,
{
"kind" : "Reference" ,
"text" : "IdOf" ,
"canonicalReference" : "@tldraw/store!IdOf:type"
} ,
{
"kind" : "Content" ,
"text" : "<R>"
} ,
{
"kind" : "Content" ,
"text" : ";"
}
] ,
"isStatic" : false ,
"returnTypeTokenRange" : {
"startIndex" : 3 ,
"endIndex" : 5
} ,
"releaseTag" : "Public" ,
"isProtected" : false ,
"overloadIndex" : 1 ,
"parameters" : [
{
"parameterName" : "id" ,
"parameterTypeTokenRange" : {
"startIndex" : 1 ,
"endIndex" : 2
} ,
"isOptional" : false
}
] ,
"isOptional" : false ,
"isAbstract" : false ,
"name" : "createCustomId"
} ,
{
"kind" : "Property" ,
"canonicalReference" : "@tldraw/store!RecordType#createDefaultProperties:member" ,
"docComment" : "" ,
"excerptTokens" : [
{
"kind" : "Content" ,
"text" : "readonly createDefaultProperties: "
} ,
{
"kind" : "Content" ,
"text" : "() => "
} ,
{
"kind" : "Reference" ,
"text" : "Exclude" ,
"canonicalReference" : "!Exclude:type"
} ,
{
"kind" : "Content" ,
"text" : "<"
} ,
{
"kind" : "Reference" ,
"text" : "OmitMeta" ,
"canonicalReference" : "@tldraw/store!~OmitMeta:type"
} ,
{
"kind" : "Content" ,
"text" : "<R>, RequiredProperties>"
} ,
{
"kind" : "Content" ,
"text" : ";"
}
] ,
"isReadonly" : true ,
"isOptional" : false ,
"releaseTag" : "Public" ,
"name" : "createDefaultProperties" ,
"propertyTypeTokenRange" : {
"startIndex" : 1 ,
"endIndex" : 6
} ,
"isStatic" : false ,
"isProtected" : false ,
"isAbstract" : false
} ,
{
"kind" : "Method" ,
"canonicalReference" : "@tldraw/store!RecordType#createId:member(1)" ,
"docComment" : "/**\n * Create a new ID for this record type.\n *\n * @returns The new ID.\n *\n * @example\n * ```ts\n * const id = recordType.createId()\n * ```\n *\n * @public\n */\n" ,
"excerptTokens" : [
{
"kind" : "Content" ,
"text" : "createId(customUniquePart?: "
} ,
{
"kind" : "Content" ,
"text" : "string"
} ,
{
"kind" : "Content" ,
"text" : "): "
} ,
{
"kind" : "Reference" ,
"text" : "IdOf" ,
"canonicalReference" : "@tldraw/store!IdOf:type"
} ,
{
"kind" : "Content" ,
"text" : "<R>"
} ,
{
"kind" : "Content" ,
"text" : ";"
}
] ,
"isStatic" : false ,
"returnTypeTokenRange" : {
"startIndex" : 3 ,
"endIndex" : 5
} ,
"releaseTag" : "Public" ,
"isProtected" : false ,
"overloadIndex" : 1 ,
"parameters" : [
{
"parameterName" : "customUniquePart" ,
"parameterTypeTokenRange" : {
"startIndex" : 1 ,
"endIndex" : 2
} ,
"isOptional" : true
}
] ,
"isOptional" : false ,
"isAbstract" : false ,
"name" : "createId"
} ,
{
"kind" : "Method" ,
"canonicalReference" : "@tldraw/store!RecordType#isId:member(1)" ,
"docComment" : "/**\n * Check whether an id is an id of this type.\n *\n * @param id - The id to check.\n *\n * @returns Whether the id is an id of this type.\n *\n * @example\n * ```ts\n * const result = recordType.isIn('someId')\n * ```\n *\n */\n" ,
"excerptTokens" : [
{
"kind" : "Content" ,
"text" : "isId(id?: "
} ,
{
"kind" : "Content" ,
"text" : "string"
} ,
{
"kind" : "Content" ,
"text" : "): "
} ,
{
"kind" : "Reference" ,
"text" : "id" ,
"canonicalReference" : "@tldraw/store!~id"
} ,
{
"kind" : "Content" ,
"text" : " is "
} ,
{
"kind" : "Reference" ,
"text" : "IdOf" ,
"canonicalReference" : "@tldraw/store!IdOf:type"
} ,
{
"kind" : "Content" ,
"text" : "<R>"
} ,
{
"kind" : "Content" ,
"text" : ";"
}
] ,
"isStatic" : false ,
"returnTypeTokenRange" : {
"startIndex" : 3 ,
"endIndex" : 7
} ,
"releaseTag" : "Public" ,
"isProtected" : false ,
"overloadIndex" : 1 ,
"parameters" : [
{
"parameterName" : "id" ,
"parameterTypeTokenRange" : {
"startIndex" : 1 ,
"endIndex" : 2
} ,
"isOptional" : true
}
] ,
"isOptional" : false ,
"isAbstract" : false ,
"name" : "isId"
} ,
{
"kind" : "Property" ,
"canonicalReference" : "@tldraw/store!RecordType#isInstance:member" ,
"docComment" : "/**\n * Check whether a record is an instance of this record type.\n *\n * @param record - The record to check.\n *\n * @returns Whether the record is an instance of this record type.\n *\n * @example\n * ```ts\n * const result = recordType.isInstance(someRecord)\n * ```\n *\n */\n" ,
"excerptTokens" : [
{
"kind" : "Content" ,
"text" : "isInstance: "
} ,
{
"kind" : "Content" ,
"text" : "(record?: "
} ,
{
"kind" : "Reference" ,
"text" : "UnknownRecord" ,
"canonicalReference" : "@tldraw/store!UnknownRecord:type"
} ,
{
"kind" : "Content" ,
"text" : ") => "
} ,
{
"kind" : "Reference" ,
"text" : "record" ,
"canonicalReference" : "@tldraw/store!~record"
} ,
{
"kind" : "Content" ,
"text" : " is R"
} ,
{
"kind" : "Content" ,
"text" : ";"
}
] ,
"isReadonly" : false ,
"isOptional" : false ,
"releaseTag" : "Public" ,
"name" : "isInstance" ,
"propertyTypeTokenRange" : {
"startIndex" : 1 ,
"endIndex" : 6
} ,
"isStatic" : false ,
"isProtected" : false ,
"isAbstract" : false
} ,
{
"kind" : "Property" ,
"canonicalReference" : "@tldraw/store!RecordType#migrations:member" ,
"docComment" : "" ,
"excerptTokens" : [
{
"kind" : "Content" ,
"text" : "readonly migrations: "
} ,
{
"kind" : "Reference" ,
"text" : "Migrations" ,
"canonicalReference" : "@tldraw/store!Migrations:interface"
} ,
{
"kind" : "Content" ,
"text" : ";"
}
] ,
"isReadonly" : true ,
"isOptional" : false ,
"releaseTag" : "Public" ,
"name" : "migrations" ,
"propertyTypeTokenRange" : {
"startIndex" : 1 ,
"endIndex" : 2
} ,
"isStatic" : false ,
"isProtected" : false ,
"isAbstract" : false
} ,
{
"kind" : "Method" ,
"canonicalReference" : "@tldraw/store!RecordType#parseId:member(1)" ,
"docComment" : "/**\n * Takes an id like `user:123` and returns the part after the colon `123`\n *\n * @param id - The id\n *\n * @returns \n */\n" ,
"excerptTokens" : [
{
"kind" : "Content" ,
"text" : "parseId(id: "
} ,
{
"kind" : "Reference" ,
"text" : "IdOf" ,
"canonicalReference" : "@tldraw/store!IdOf:type"
} ,
{
"kind" : "Content" ,
"text" : "<R>"
} ,
{
"kind" : "Content" ,
"text" : "): "
} ,
{
"kind" : "Content" ,
"text" : "string"
} ,
{
"kind" : "Content" ,
"text" : ";"
}
] ,
"isStatic" : false ,
"returnTypeTokenRange" : {
"startIndex" : 4 ,
"endIndex" : 5
} ,
"releaseTag" : "Public" ,
"isProtected" : false ,
"overloadIndex" : 1 ,
"parameters" : [
{
"parameterName" : "id" ,
"parameterTypeTokenRange" : {
"startIndex" : 1 ,
"endIndex" : 3
} ,
"isOptional" : false
}
] ,
"isOptional" : false ,
"isAbstract" : false ,
"name" : "parseId"
} ,
{
"kind" : "Property" ,
"canonicalReference" : "@tldraw/store!RecordType#scope:member" ,
"docComment" : "" ,
"excerptTokens" : [
{
"kind" : "Content" ,
"text" : "readonly scope: "
} ,
{
"kind" : "Reference" ,
"text" : "RecordScope" ,
"canonicalReference" : "@tldraw/store!~RecordScope:type"
} ,
{
"kind" : "Content" ,
"text" : ";"
}
] ,
"isReadonly" : true ,
"isOptional" : false ,
"releaseTag" : "Public" ,
"name" : "scope" ,
"propertyTypeTokenRange" : {
"startIndex" : 1 ,
"endIndex" : 2
} ,
"isStatic" : false ,
"isProtected" : false ,
"isAbstract" : false
} ,
{
"kind" : "Property" ,
"canonicalReference" : "@tldraw/store!RecordType#typeName:member" ,
"docComment" : "/**\n * The unique type associated with this record.\n *\n * @public @readonly\n */\n" ,
"excerptTokens" : [
{
"kind" : "Content" ,
"text" : "readonly typeName: "
} ,
{
"kind" : "Content" ,
"text" : "R['typeName']"
} ,
{
"kind" : "Content" ,
"text" : ";"
}
] ,
"isReadonly" : true ,
"isOptional" : false ,
"releaseTag" : "Public" ,
"name" : "typeName" ,
"propertyTypeTokenRange" : {
"startIndex" : 1 ,
"endIndex" : 2
} ,
"isStatic" : false ,
"isProtected" : false ,
"isAbstract" : false
} ,
{
"kind" : "Method" ,
"canonicalReference" : "@tldraw/store!RecordType#validate:member(1)" ,
"docComment" : "/**\n * Check that the passed in record passes the validations for this type. Returns its input correctly typed if it does, but throws an error otherwise.\n */\n" ,
"excerptTokens" : [
{
"kind" : "Content" ,
"text" : "validate(record: "
} ,
{
"kind" : "Content" ,
"text" : "unknown"
} ,
{
"kind" : "Content" ,
"text" : ", recordBefore?: "
} ,
{
"kind" : "Content" ,
"text" : "R"
} ,
{
"kind" : "Content" ,
"text" : "): "
} ,
{
"kind" : "Content" ,
"text" : "R"
} ,
{
"kind" : "Content" ,
"text" : ";"
}
] ,
"isStatic" : false ,
"returnTypeTokenRange" : {
"startIndex" : 5 ,
"endIndex" : 6
} ,
"releaseTag" : "Public" ,
"isProtected" : false ,
"overloadIndex" : 1 ,
"parameters" : [
{
"parameterName" : "record" ,
"parameterTypeTokenRange" : {
"startIndex" : 1 ,
"endIndex" : 2
} ,
"isOptional" : false
} ,
{
"parameterName" : "recordBefore" ,
"parameterTypeTokenRange" : {
"startIndex" : 3 ,
"endIndex" : 4
} ,
"isOptional" : true
}
] ,
"isOptional" : false ,
"isAbstract" : false ,
"name" : "validate"
} ,
{
"kind" : "Property" ,
"canonicalReference" : "@tldraw/store!RecordType#validator:member" ,
"docComment" : "" ,
"excerptTokens" : [
{
"kind" : "Content" ,
"text" : "readonly validator: "
} ,
{
"kind" : "Reference" ,
"text" : "StoreValidator" ,
"canonicalReference" : "@tldraw/store!StoreValidator:type"
} ,
{
"kind" : "Content" ,
"text" : "<R>"
} ,
{
"kind" : "Content" ,
"text" : ";"
}
] ,
"isReadonly" : true ,
"isOptional" : false ,
"releaseTag" : "Public" ,
"name" : "validator" ,
"propertyTypeTokenRange" : {
"startIndex" : 1 ,
"endIndex" : 3
} ,
"isStatic" : false ,
"isProtected" : false ,
"isAbstract" : false
} ,
{
"kind" : "Method" ,
"canonicalReference" : "@tldraw/store!RecordType#withDefaultProperties:member(1)" ,
"docComment" : "/**\n * Create a new RecordType that has the same type name as this RecordType and includes the given default properties.\n *\n * @param fn - A function that returns the default properties of the new RecordType.\n *\n * @returns The new RecordType.\n *\n * @example\n * ```ts\n * const authorType = createRecordType('author', () => ({ living: true }))\n * const deadAuthorType = authorType.withDefaultProperties({ living: false })\n * ```\n *\n */\n" ,
"excerptTokens" : [
{
"kind" : "Content" ,
"text" : "withDefaultProperties<DefaultProps extends "
} ,
{
"kind" : "Reference" ,
"text" : "Omit" ,
"canonicalReference" : "!Omit:type"
} ,
{
"kind" : "Content" ,
"text" : "<"
} ,
{
"kind" : "Reference" ,
"text" : "Partial" ,
"canonicalReference" : "!Partial:type"
} ,
{
"kind" : "Content" ,
"text" : "<R>, 'id' | 'typeName'>"
} ,
{
"kind" : "Content" ,
"text" : ">(createDefaultProperties: "
} ,
{
"kind" : "Content" ,
"text" : "() => DefaultProps"
} ,
{
"kind" : "Content" ,
"text" : "): "
} ,
{
"kind" : "Reference" ,
"text" : "RecordType" ,
"canonicalReference" : "@tldraw/store!RecordType:class"
} ,
{
"kind" : "Content" ,
"text" : "<R, "
} ,
{
"kind" : "Reference" ,
"text" : "Exclude" ,
"canonicalReference" : "!Exclude:type"
} ,
{
"kind" : "Content" ,
"text" : "<RequiredProperties, keyof DefaultProps>>"
} ,
{
"kind" : "Content" ,
"text" : ";"
}
] ,
"typeParameters" : [
{
"typeParameterName" : "DefaultProps" ,
"constraintTokenRange" : {
"startIndex" : 1 ,
"endIndex" : 5
} ,
"defaultTypeTokenRange" : {
"startIndex" : 0 ,
"endIndex" : 0
}
}
] ,
"isStatic" : false ,
"returnTypeTokenRange" : {
"startIndex" : 8 ,
"endIndex" : 12
} ,
"releaseTag" : "Public" ,
"isProtected" : false ,
"overloadIndex" : 1 ,
"parameters" : [
{
"parameterName" : "createDefaultProperties" ,
"parameterTypeTokenRange" : {
"startIndex" : 6 ,
"endIndex" : 7
} ,
"isOptional" : false
}
] ,
"isOptional" : false ,
"isAbstract" : false ,
"name" : "withDefaultProperties"
}
] ,
"implementsTokenRanges" : [ ]
} ,
{
"kind" : "TypeAlias" ,
"canonicalReference" : "@tldraw/store!RecordVersion:type" ,
"docComment" : "/**\n * @public\n */\n" ,
"excerptTokens" : [
{
"kind" : "Content" ,
"text" : "export type RecordVersion = "
} ,
{
"kind" : "Content" ,
"text" : "{\n rootVersion: number;\n subTypeVersion?: number;\n}"
} ,
{
"kind" : "Content" ,
"text" : ";"
}
] ,
"fileUrlPath" : "packages/store/src/lib/migrate.ts" ,
"releaseTag" : "Public" ,
"name" : "RecordVersion" ,
"typeTokenRange" : {
"startIndex" : 1 ,
"endIndex" : 2
}
} ,
{
"kind" : "Function" ,
"canonicalReference" : "@tldraw/store!reverseRecordsDiff:function(1)" ,
"docComment" : "/**\n * @public\n */\n" ,
"excerptTokens" : [
{
"kind" : "Content" ,
"text" : "export declare function reverseRecordsDiff(diff: "
} ,
{
"kind" : "Reference" ,
"text" : "RecordsDiff" ,
"canonicalReference" : "@tldraw/store!RecordsDiff:type"
} ,
{
"kind" : "Content" ,
"text" : "<any>"
} ,
{
"kind" : "Content" ,
"text" : "): "
} ,
{
"kind" : "Reference" ,
"text" : "RecordsDiff" ,
"canonicalReference" : "@tldraw/store!RecordsDiff:type"
} ,
{
"kind" : "Content" ,
"text" : "<any>"
} ,
{
"kind" : "Content" ,
"text" : ";"
}
] ,
"fileUrlPath" : "packages/store/src/lib/Store.ts" ,
"returnTypeTokenRange" : {
"startIndex" : 4 ,
"endIndex" : 6
} ,
"releaseTag" : "Public" ,
"overloadIndex" : 1 ,
"parameters" : [
{
"parameterName" : "diff" ,
"parameterTypeTokenRange" : {
"startIndex" : 1 ,
"endIndex" : 3
} ,
"isOptional" : false
}
] ,
"name" : "reverseRecordsDiff"
} ,
{
"kind" : "Interface" ,
"canonicalReference" : "@tldraw/store!SerializedSchema:interface" ,
"docComment" : "/**\n * @public\n */\n" ,
"excerptTokens" : [
{
"kind" : "Content" ,
"text" : "export interface SerializedSchema "
}
] ,
"fileUrlPath" : "packages/store/src/lib/StoreSchema.ts" ,
"releaseTag" : "Public" ,
"name" : "SerializedSchema" ,
"preserveMemberOrder" : false ,
"members" : [
{
"kind" : "PropertySignature" ,
"canonicalReference" : "@tldraw/store!SerializedSchema#recordVersions:member" ,
"docComment" : "/**\n * Record versions are the versions for each record type. e.g. adding a new field to a record\n */\n" ,
"excerptTokens" : [
{
"kind" : "Content" ,
"text" : "recordVersions: "
} ,
{
"kind" : "Reference" ,
"text" : "Record" ,
"canonicalReference" : "!Record:type"
} ,
{
"kind" : "Content" ,
"text" : "<string, {\n version: number;\n subTypeVersions: "
} ,
{
"kind" : "Reference" ,
"text" : "Record" ,
"canonicalReference" : "!Record:type"
} ,
{
"kind" : "Content" ,
"text" : "<string, number>;\n subTypeKey: string;\n } | {\n version: number;\n }>"
} ,
{
"kind" : "Content" ,
"text" : ";"
}
] ,
"isReadonly" : false ,
"isOptional" : false ,
"releaseTag" : "Public" ,
"name" : "recordVersions" ,
"propertyTypeTokenRange" : {
"startIndex" : 1 ,
"endIndex" : 5
}
} ,
{
"kind" : "PropertySignature" ,
"canonicalReference" : "@tldraw/store!SerializedSchema#schemaVersion:member" ,
"docComment" : "/**\n * Schema version is the version for this type you're looking at right now\n */\n" ,
"excerptTokens" : [
{
"kind" : "Content" ,
"text" : "schemaVersion: "
} ,
{
"kind" : "Content" ,
"text" : "number"
} ,
{
"kind" : "Content" ,
"text" : ";"
}
] ,
"isReadonly" : false ,
"isOptional" : false ,
"releaseTag" : "Public" ,
"name" : "schemaVersion" ,
"propertyTypeTokenRange" : {
"startIndex" : 1 ,
"endIndex" : 2
}
} ,
{
"kind" : "PropertySignature" ,
"canonicalReference" : "@tldraw/store!SerializedSchema#storeVersion:member" ,
"docComment" : "/**\n * Store version is the version for the structure of the store. e.g. higher level structure like removing or renaming a record type.\n */\n" ,
"excerptTokens" : [
{
"kind" : "Content" ,
"text" : "storeVersion: "
} ,
{
"kind" : "Content" ,
"text" : "number"
} ,
{
"kind" : "Content" ,
"text" : ";"
}
] ,
"isReadonly" : false ,
"isOptional" : false ,
"releaseTag" : "Public" ,
"name" : "storeVersion" ,
"propertyTypeTokenRange" : {
"startIndex" : 1 ,
"endIndex" : 2
}
}
] ,
"extendsTokenRanges" : [ ]
} ,
{
"kind" : "TypeAlias" ,
"canonicalReference" : "@tldraw/store!SerializedStore:type" ,
"docComment" : "/**\n * A serialized snapshot of the record store's values.\n *\n * @public\n */\n" ,
"excerptTokens" : [
{
"kind" : "Content" ,
"text" : "export type SerializedStore<R extends "
} ,
{
"kind" : "Reference" ,
"text" : "UnknownRecord" ,
"canonicalReference" : "@tldraw/store!UnknownRecord:type"
} ,
{
"kind" : "Content" ,
"text" : "> = "
} ,
{
"kind" : "Reference" ,
"text" : "Record" ,
"canonicalReference" : "!Record:type"
} ,
{
"kind" : "Content" ,
"text" : "<"
} ,
{
"kind" : "Reference" ,
"text" : "IdOf" ,
"canonicalReference" : "@tldraw/store!IdOf:type"
} ,
{
"kind" : "Content" ,
"text" : "<R>, R>"
} ,
{
"kind" : "Content" ,
"text" : ";"
}
] ,
"fileUrlPath" : "packages/store/src/lib/Store.ts" ,
"releaseTag" : "Public" ,
"name" : "SerializedStore" ,
"typeParameters" : [
{
"typeParameterName" : "R" ,
"constraintTokenRange" : {
"startIndex" : 1 ,
"endIndex" : 2
} ,
"defaultTypeTokenRange" : {
"startIndex" : 0 ,
"endIndex" : 0
}
}
] ,
"typeTokenRange" : {
"startIndex" : 3 ,
"endIndex" : 7
}
} ,
{
"kind" : "Function" ,
"canonicalReference" : "@tldraw/store!squashRecordDiffs:function(1)" ,
"docComment" : "/**\n * Squash a collection of diffs into a single diff.\n *\n * @param diffs - An array of diffs to squash.\n *\n * @returns A single diff that represents the squashed diffs.\n *\n * @public\n */\n" ,
"excerptTokens" : [
{
"kind" : "Content" ,
"text" : "export declare function squashRecordDiffs<T extends "
} ,
{
"kind" : "Reference" ,
"text" : "UnknownRecord" ,
"canonicalReference" : "@tldraw/store!UnknownRecord:type"
} ,
{
"kind" : "Content" ,
"text" : ">(diffs: "
} ,
{
"kind" : "Reference" ,
"text" : "RecordsDiff" ,
"canonicalReference" : "@tldraw/store!RecordsDiff:type"
} ,
{
"kind" : "Content" ,
"text" : "<T>[]"
} ,
{
"kind" : "Content" ,
"text" : "): "
} ,
{
"kind" : "Reference" ,
"text" : "RecordsDiff" ,
"canonicalReference" : "@tldraw/store!RecordsDiff:type"
} ,
{
"kind" : "Content" ,
"text" : "<T>"
} ,
{
"kind" : "Content" ,
"text" : ";"
}
] ,
"fileUrlPath" : "packages/store/src/lib/Store.ts" ,
"returnTypeTokenRange" : {
"startIndex" : 6 ,
"endIndex" : 8
} ,
"releaseTag" : "Public" ,
"overloadIndex" : 1 ,
"parameters" : [
{
"parameterName" : "diffs" ,
"parameterTypeTokenRange" : {
"startIndex" : 3 ,
"endIndex" : 5
} ,
"isOptional" : false
}
] ,
"typeParameters" : [
{
"typeParameterName" : "T" ,
"constraintTokenRange" : {
"startIndex" : 1 ,
"endIndex" : 2
} ,
"defaultTypeTokenRange" : {
"startIndex" : 0 ,
"endIndex" : 0
}
}
] ,
"name" : "squashRecordDiffs"
} ,
{
"kind" : "Class" ,
"canonicalReference" : "@tldraw/store!Store:class" ,
"docComment" : "/**\n * A store of records.\n *\n * @public\n */\n" ,
"excerptTokens" : [
{
"kind" : "Content" ,
"text" : "export declare class Store<R extends "
} ,
{
"kind" : "Reference" ,
"text" : "UnknownRecord" ,
"canonicalReference" : "@tldraw/store!UnknownRecord:type"
} ,
{
"kind" : "Content" ,
"text" : " = "
} ,
{
"kind" : "Reference" ,
"text" : "UnknownRecord" ,
"canonicalReference" : "@tldraw/store!UnknownRecord:type"
} ,
{
"kind" : "Content" ,
"text" : ", Props = "
} ,
{
"kind" : "Content" ,
"text" : "unknown"
} ,
{
"kind" : "Content" ,
"text" : "> "
}
] ,
"fileUrlPath" : "packages/store/src/lib/Store.ts" ,
"releaseTag" : "Public" ,
"typeParameters" : [
{
"typeParameterName" : "R" ,
"constraintTokenRange" : {
"startIndex" : 1 ,
"endIndex" : 2
} ,
"defaultTypeTokenRange" : {
"startIndex" : 3 ,
"endIndex" : 4
}
} ,
{
"typeParameterName" : "Props" ,
"constraintTokenRange" : {
"startIndex" : 0 ,
"endIndex" : 0
} ,
"defaultTypeTokenRange" : {
"startIndex" : 5 ,
"endIndex" : 6
}
}
] ,
"isAbstract" : false ,
"name" : "Store" ,
"preserveMemberOrder" : false ,
"members" : [
{
"kind" : "Method" ,
"canonicalReference" : "@tldraw/store!Store#_flushHistory:member(1)" ,
"docComment" : "" ,
"excerptTokens" : [
{
"kind" : "Content" ,
"text" : "_flushHistory(): "
} ,
{
"kind" : "Content" ,
"text" : "void"
} ,
{
"kind" : "Content" ,
"text" : ";"
}
] ,
"isStatic" : false ,
"returnTypeTokenRange" : {
"startIndex" : 1 ,
"endIndex" : 2
} ,
"releaseTag" : "Public" ,
"isProtected" : false ,
"overloadIndex" : 1 ,
"parameters" : [ ] ,
"isOptional" : false ,
"isAbstract" : false ,
"name" : "_flushHistory"
} ,
{
"kind" : "Constructor" ,
"canonicalReference" : "@tldraw/store!Store:constructor(1)" ,
"docComment" : "/**\n * Constructs a new instance of the `Store` class\n */\n" ,
"excerptTokens" : [
{
"kind" : "Content" ,
"text" : "constructor(config: "
} ,
{
"kind" : "Content" ,
"text" : "{\n initialData?: "
} ,
{
"kind" : "Reference" ,
"text" : "SerializedStore" ,
"canonicalReference" : "@tldraw/store!SerializedStore:type"
} ,
{
"kind" : "Content" ,
"text" : "<R>;\n schema: "
} ,
{
"kind" : "Reference" ,
"text" : "StoreSchema" ,
"canonicalReference" : "@tldraw/store!StoreSchema:class"
} ,
{
"kind" : "Content" ,
"text" : "<R, Props>;\n props: Props;\n }"
} ,
{
"kind" : "Content" ,
"text" : ");"
}
] ,
"releaseTag" : "Public" ,
"isProtected" : false ,
"overloadIndex" : 1 ,
"parameters" : [
{
"parameterName" : "config" ,
"parameterTypeTokenRange" : {
"startIndex" : 1 ,
"endIndex" : 6
} ,
"isOptional" : false
}
]
} ,
{
"kind" : "Property" ,
"canonicalReference" : "@tldraw/store!Store#allRecords:member" ,
"docComment" : "/**\n * Get an array of all values in the store.\n *\n * @returns An array of all values in the store.\n *\n * @public\n */\n" ,
"excerptTokens" : [
{
"kind" : "Content" ,
"text" : "allRecords: "
} ,
{
"kind" : "Content" ,
"text" : "() => R[]"
} ,
{
"kind" : "Content" ,
"text" : ";"
}
] ,
"isReadonly" : false ,
"isOptional" : false ,
"releaseTag" : "Public" ,
"name" : "allRecords" ,
"propertyTypeTokenRange" : {
"startIndex" : 1 ,
"endIndex" : 2
} ,
"isStatic" : false ,
"isProtected" : false ,
"isAbstract" : false
} ,
{
"kind" : "Method" ,
"canonicalReference" : "@tldraw/store!Store#applyDiff:member(1)" ,
"docComment" : "" ,
"excerptTokens" : [
{
"kind" : "Content" ,
"text" : "applyDiff(diff: "
} ,
{
"kind" : "Reference" ,
"text" : "RecordsDiff" ,
"canonicalReference" : "@tldraw/store!RecordsDiff:type"
} ,
{
"kind" : "Content" ,
"text" : "<R>"
} ,
{
"kind" : "Content" ,
"text" : ", runCallbacks?: "
} ,
{
"kind" : "Content" ,
"text" : "boolean"
} ,
{
"kind" : "Content" ,
"text" : "): "
} ,
{
"kind" : "Content" ,
"text" : "void"
} ,
{
"kind" : "Content" ,
"text" : ";"
}
] ,
"isStatic" : false ,
"returnTypeTokenRange" : {
"startIndex" : 6 ,
"endIndex" : 7
} ,
"releaseTag" : "Public" ,
"isProtected" : false ,
"overloadIndex" : 1 ,
"parameters" : [
{
"parameterName" : "diff" ,
"parameterTypeTokenRange" : {
"startIndex" : 1 ,
"endIndex" : 3
} ,
"isOptional" : false
} ,
{
"parameterName" : "runCallbacks" ,
"parameterTypeTokenRange" : {
"startIndex" : 4 ,
"endIndex" : 5
} ,
"isOptional" : true
}
] ,
"isOptional" : false ,
"isAbstract" : false ,
"name" : "applyDiff"
} ,
{
"kind" : "Property" ,
"canonicalReference" : "@tldraw/store!Store#clear:member" ,
"docComment" : "/**\n * Removes all records from the store.\n *\n * @public\n */\n" ,
"excerptTokens" : [
{
"kind" : "Content" ,
"text" : "clear: "
} ,
{
"kind" : "Content" ,
"text" : "() => void"
} ,
{
"kind" : "Content" ,
"text" : ";"
}
] ,
"isReadonly" : false ,
"isOptional" : false ,
"releaseTag" : "Public" ,
"name" : "clear" ,
"propertyTypeTokenRange" : {
"startIndex" : 1 ,
"endIndex" : 2
} ,
"isStatic" : false ,
"isProtected" : false ,
"isAbstract" : false
} ,
{
"kind" : "Property" ,
"canonicalReference" : "@tldraw/store!Store#createComputedCache:member" ,
"docComment" : "/**\n * Create a computed cache.\n *\n * @param name - The name of the derivation cache.\n *\n * @param derive - A function used to derive the value of the cache.\n *\n * @public\n */\n" ,
"excerptTokens" : [
{
"kind" : "Content" ,
"text" : "createComputedCache: "
} ,
{
"kind" : "Content" ,
"text" : "<T, V extends R = R>(name: string, derive: (record: V) => T | undefined, isEqual?: ((a: V, b: V) => boolean) | undefined) => "
} ,
{
"kind" : "Reference" ,
"text" : "ComputedCache" ,
"canonicalReference" : "@tldraw/store!ComputedCache:type"
} ,
{
"kind" : "Content" ,
"text" : "<T, V>"
} ,
{
"kind" : "Content" ,
"text" : ";"
}
] ,
"isReadonly" : false ,
"isOptional" : false ,
"releaseTag" : "Public" ,
"name" : "createComputedCache" ,
"propertyTypeTokenRange" : {
"startIndex" : 1 ,
"endIndex" : 4
} ,
"isStatic" : false ,
"isProtected" : false ,
"isAbstract" : false
} ,
{
"kind" : "Property" ,
"canonicalReference" : "@tldraw/store!Store#createSelectedComputedCache:member" ,
"docComment" : "/**\n * Create a computed cache from a selector\n *\n * @param name - The name of the derivation cache.\n *\n * @param selector - A function that returns a subset of the original shape\n *\n * @param derive - A function used to derive the value of the cache.\n *\n * @public\n */\n" ,
"excerptTokens" : [
{
"kind" : "Content" ,
"text" : "createSelectedComputedCache: "
} ,
{
"kind" : "Content" ,
"text" : "<T, J, V extends R = R>(name: string, selector: (record: V) => T | undefined, derive: (input: T) => J | undefined) => "
} ,
{
"kind" : "Reference" ,
"text" : "ComputedCache" ,
"canonicalReference" : "@tldraw/store!ComputedCache:type"
} ,
{
"kind" : "Content" ,
"text" : "<J, V>"
} ,
{
"kind" : "Content" ,
"text" : ";"
}
] ,
"isReadonly" : false ,
"isOptional" : false ,
"releaseTag" : "Public" ,
"name" : "createSelectedComputedCache" ,
"propertyTypeTokenRange" : {
"startIndex" : 1 ,
"endIndex" : 4
} ,
"isStatic" : false ,
"isProtected" : false ,
"isAbstract" : false
} ,
{
"kind" : "Method" ,
"canonicalReference" : "@tldraw/store!Store#extractingChanges:member(1)" ,
"docComment" : "" ,
"excerptTokens" : [
{
"kind" : "Content" ,
"text" : "extractingChanges(fn: "
} ,
{
"kind" : "Content" ,
"text" : "() => void"
} ,
{
"kind" : "Content" ,
"text" : "): "
} ,
{
"kind" : "Reference" ,
"text" : "RecordsDiff" ,
"canonicalReference" : "@tldraw/store!RecordsDiff:type"
} ,
{
"kind" : "Content" ,
"text" : "<R>"
} ,
{
"kind" : "Content" ,
"text" : ";"
}
] ,
"isStatic" : false ,
"returnTypeTokenRange" : {
"startIndex" : 3 ,
"endIndex" : 5
} ,
"releaseTag" : "Public" ,
"isProtected" : false ,
"overloadIndex" : 1 ,
"parameters" : [
{
"parameterName" : "fn" ,
"parameterTypeTokenRange" : {
"startIndex" : 1 ,
"endIndex" : 2
} ,
"isOptional" : false
}
] ,
"isOptional" : false ,
"isAbstract" : false ,
"name" : "extractingChanges"
} ,
{
"kind" : "Method" ,
"canonicalReference" : "@tldraw/store!Store#filterChangesByScope:member(1)" ,
"docComment" : "/**\n * Filters out non-document changes from a diff. Returns null if there are no changes left.\n *\n * @param change - the records diff\n *\n * @returns \n */\n" ,
"excerptTokens" : [
{
"kind" : "Content" ,
"text" : "filterChangesByScope(change: "
} ,
{
"kind" : "Reference" ,
"text" : "RecordsDiff" ,
"canonicalReference" : "@tldraw/store!RecordsDiff:type"
} ,
{
"kind" : "Content" ,
"text" : "<R>"
} ,
{
"kind" : "Content" ,
"text" : ", scope: "
} ,
{
"kind" : "Reference" ,
"text" : "RecordScope" ,
"canonicalReference" : "@tldraw/store!~RecordScope:type"
} ,
{
"kind" : "Content" ,
"text" : "): "
} ,
{
"kind" : "Content" ,
"text" : "{\n added: { [K in "
} ,
{
"kind" : "Reference" ,
"text" : "IdOf" ,
"canonicalReference" : "@tldraw/store!IdOf:type"
} ,
{
"kind" : "Content" ,
"text" : "<R>]: R; };\n updated: { [K_1 in "
} ,
{
"kind" : "Reference" ,
"text" : "IdOf" ,
"canonicalReference" : "@tldraw/store!IdOf:type"
} ,
{
"kind" : "Content" ,
"text" : "<R>]: [from: R, to: R]; };\n removed: { [K in "
} ,
{
"kind" : "Reference" ,
"text" : "IdOf" ,
"canonicalReference" : "@tldraw/store!IdOf:type"
} ,
{
"kind" : "Content" ,
"text" : "<R>]: R; };\n } | null"
} ,
{
"kind" : "Content" ,
"text" : ";"
}
] ,
"isStatic" : false ,
"returnTypeTokenRange" : {
"startIndex" : 6 ,
"endIndex" : 13
} ,
"releaseTag" : "Public" ,
"isProtected" : false ,
"overloadIndex" : 1 ,
"parameters" : [
{
"parameterName" : "change" ,
"parameterTypeTokenRange" : {
"startIndex" : 1 ,
"endIndex" : 3
} ,
"isOptional" : false
} ,
{
"parameterName" : "scope" ,
"parameterTypeTokenRange" : {
"startIndex" : 4 ,
"endIndex" : 5
} ,
"isOptional" : false
}
] ,
"isOptional" : false ,
"isAbstract" : false ,
"name" : "filterChangesByScope"
} ,
{
"kind" : "Property" ,
"canonicalReference" : "@tldraw/store!Store#get:member" ,
"docComment" : "/**\n * Get the value of a store record by its id.\n *\n * @param id - The id of the record to get.\n *\n * @public\n */\n" ,
"excerptTokens" : [
{
"kind" : "Content" ,
"text" : "get: "
} ,
{
"kind" : "Content" ,
"text" : "<K extends "
} ,
{
"kind" : "Reference" ,
"text" : "IdOf" ,
"canonicalReference" : "@tldraw/store!IdOf:type"
} ,
{
"kind" : "Content" ,
"text" : "<R>>(id: K) => "
} ,
{
"kind" : "Reference" ,
"text" : "RecFromId" ,
"canonicalReference" : "@tldraw/store!~RecFromId:type"
} ,
{
"kind" : "Content" ,
"text" : "<K> | undefined"
} ,
{
"kind" : "Content" ,
"text" : ";"
}
] ,
"isReadonly" : false ,
"isOptional" : false ,
"releaseTag" : "Public" ,
"name" : "get" ,
"propertyTypeTokenRange" : {
"startIndex" : 1 ,
"endIndex" : 6
} ,
"isStatic" : false ,
"isProtected" : false ,
"isAbstract" : false
} ,
{
"kind" : "Property" ,
"canonicalReference" : "@tldraw/store!Store#getRecordType:member" ,
"docComment" : "" ,
"excerptTokens" : [
{
"kind" : "Content" ,
"text" : "getRecordType: "
} ,
{
"kind" : "Content" ,
"text" : "<T extends R>(record: R) => T"
} ,
{
"kind" : "Content" ,
"text" : ";"
}
] ,
"isReadonly" : false ,
"isOptional" : false ,
"releaseTag" : "Public" ,
"name" : "getRecordType" ,
"propertyTypeTokenRange" : {
"startIndex" : 1 ,
"endIndex" : 2
} ,
"isStatic" : false ,
"isProtected" : false ,
"isAbstract" : false
} ,
{
"kind" : "Method" ,
"canonicalReference" : "@tldraw/store!Store#getSnapshot:member(1)" ,
"docComment" : "/**\n * Get a serialized snapshot of the store and its schema.\n * ```ts\n * const snapshot = store.getSnapshot()\n * store.loadSnapshot(snapshot)\n * ```\n *\n * @param scope - The scope of records to serialize. Defaults to 'document'.\n *\n * @public\n */\n" ,
"excerptTokens" : [
{
"kind" : "Content" ,
"text" : "getSnapshot(scope?: "
} ,
{
"kind" : "Content" ,
"text" : "'all' | "
} ,
{
"kind" : "Reference" ,
"text" : "RecordScope" ,
"canonicalReference" : "@tldraw/store!~RecordScope:type"
} ,
{
"kind" : "Content" ,
"text" : "): "
} ,
{
"kind" : "Reference" ,
"text" : "StoreSnapshot" ,
"canonicalReference" : "@tldraw/store!StoreSnapshot:type"
} ,
{
"kind" : "Content" ,
"text" : "<R>"
} ,
{
"kind" : "Content" ,
"text" : ";"
}
] ,
"isStatic" : false ,
"returnTypeTokenRange" : {
"startIndex" : 4 ,
"endIndex" : 6
} ,
"releaseTag" : "Public" ,
"isProtected" : false ,
"overloadIndex" : 1 ,
"parameters" : [
{
"parameterName" : "scope" ,
"parameterTypeTokenRange" : {
"startIndex" : 1 ,
"endIndex" : 3
} ,
"isOptional" : true
}
] ,
"isOptional" : false ,
"isAbstract" : false ,
"name" : "getSnapshot"
} ,
{
"kind" : "Property" ,
"canonicalReference" : "@tldraw/store!Store#has:member" ,
"docComment" : "/**\n * Get whether the record store has a id.\n *\n * @param id - The id of the record to check.\n *\n * @public\n */\n" ,
"excerptTokens" : [
{
"kind" : "Content" ,
"text" : "has: "
} ,
{
"kind" : "Content" ,
"text" : "<K extends "
} ,
{
"kind" : "Reference" ,
"text" : "IdOf" ,
"canonicalReference" : "@tldraw/store!IdOf:type"
} ,
{
"kind" : "Content" ,
"text" : "<R>>(id: K) => boolean"
} ,
{
"kind" : "Content" ,
"text" : ";"
}
] ,
"isReadonly" : false ,
"isOptional" : false ,
"releaseTag" : "Public" ,
"name" : "has" ,
"propertyTypeTokenRange" : {
"startIndex" : 1 ,
"endIndex" : 4
} ,
"isStatic" : false ,
"isProtected" : false ,
"isAbstract" : false
} ,
{
"kind" : "Property" ,
"canonicalReference" : "@tldraw/store!Store#history:member" ,
"docComment" : "/**\n * An atom containing the store's history.\n *\n * @public @readonly\n */\n" ,
"excerptTokens" : [
{
"kind" : "Content" ,
"text" : "readonly history: "
} ,
{
"kind" : "Reference" ,
"text" : "Atom" ,
"canonicalReference" : "@tldraw/state!Atom:interface"
} ,
{
"kind" : "Content" ,
"text" : "<number, "
} ,
{
"kind" : "Reference" ,
"text" : "RecordsDiff" ,
"canonicalReference" : "@tldraw/store!RecordsDiff:type"
} ,
{
"kind" : "Content" ,
"text" : "<R>>"
} ,
{
"kind" : "Content" ,
"text" : ";"
}
] ,
"isReadonly" : true ,
"isOptional" : false ,
"releaseTag" : "Public" ,
"name" : "history" ,
"propertyTypeTokenRange" : {
"startIndex" : 1 ,
"endIndex" : 5
} ,
"isStatic" : false ,
"isProtected" : false ,
"isAbstract" : false
} ,
{
"kind" : "Property" ,
"canonicalReference" : "@tldraw/store!Store#id:member" ,
"docComment" : "/**\n * The random id of the store.\n */\n" ,
"excerptTokens" : [
{
"kind" : "Content" ,
"text" : "readonly id: "
} ,
{
"kind" : "Content" ,
"text" : "string"
} ,
{
"kind" : "Content" ,
"text" : ";"
}
] ,
"isReadonly" : true ,
"isOptional" : false ,
"releaseTag" : "Public" ,
"name" : "id" ,
"propertyTypeTokenRange" : {
"startIndex" : 1 ,
"endIndex" : 2
} ,
"isStatic" : false ,
"isProtected" : false ,
"isAbstract" : false
} ,
{
"kind" : "Property" ,
"canonicalReference" : "@tldraw/store!Store#listen:member" ,
"docComment" : "/**\n * Add a new listener to the store.\n *\n * @param onHistory - The listener to call when the store updates.\n *\n * @param filters - Filters to apply to the listener.\n *\n * @returns A function to remove the listener.\n */\n" ,
"excerptTokens" : [
{
"kind" : "Content" ,
"text" : "listen: "
} ,
{
"kind" : "Content" ,
"text" : "(onHistory: "
} ,
{
"kind" : "Reference" ,
"text" : "StoreListener" ,
"canonicalReference" : "@tldraw/store!StoreListener:type"
} ,
{
"kind" : "Content" ,
"text" : "<R>, filters?: "
} ,
{
"kind" : "Reference" ,
"text" : "Partial" ,
"canonicalReference" : "!Partial:type"
} ,
{
"kind" : "Content" ,
"text" : "<"
} ,
{
"kind" : "Reference" ,
"text" : "StoreListenerFilters" ,
"canonicalReference" : "@tldraw/store!~StoreListenerFilters:type"
} ,
{
"kind" : "Content" ,
"text" : ">) => () => void"
} ,
{
"kind" : "Content" ,
"text" : ";"
}
] ,
"isReadonly" : false ,
"isOptional" : false ,
"releaseTag" : "Public" ,
"name" : "listen" ,
"propertyTypeTokenRange" : {
"startIndex" : 1 ,
"endIndex" : 8
} ,
"isStatic" : false ,
"isProtected" : false ,
"isAbstract" : false
} ,
{
"kind" : "Method" ,
"canonicalReference" : "@tldraw/store!Store#loadSnapshot:member(1)" ,
"docComment" : "/**\n * Load a serialized snapshot.\n * ```ts\n * const snapshot = store.getSnapshot()\n * store.loadSnapshot(snapshot)\n * ```\n *\n * @param snapshot - The snapshot to load.\n *\n * @public\n */\n" ,
"excerptTokens" : [
{
"kind" : "Content" ,
"text" : "loadSnapshot(snapshot: "
} ,
{
"kind" : "Reference" ,
"text" : "StoreSnapshot" ,
"canonicalReference" : "@tldraw/store!StoreSnapshot:type"
} ,
{
"kind" : "Content" ,
"text" : "<R>"
} ,
{
"kind" : "Content" ,
"text" : "): "
} ,
{
"kind" : "Content" ,
"text" : "void"
} ,
{
"kind" : "Content" ,
"text" : ";"
}
] ,
"isStatic" : false ,
"returnTypeTokenRange" : {
"startIndex" : 4 ,
"endIndex" : 5
} ,
"releaseTag" : "Public" ,
"isProtected" : false ,
"overloadIndex" : 1 ,
"parameters" : [
{
"parameterName" : "snapshot" ,
"parameterTypeTokenRange" : {
"startIndex" : 1 ,
"endIndex" : 3
} ,
"isOptional" : false
}
] ,
"isOptional" : false ,
"isAbstract" : false ,
"name" : "loadSnapshot"
} ,
{
"kind" : "Property" ,
"canonicalReference" : "@tldraw/store!Store#mergeRemoteChanges:member" ,
"docComment" : "/**\n * Merge changes from a remote source without triggering listeners.\n *\n * @param fn - A function that merges the external changes.\n *\n * @public\n */\n" ,
"excerptTokens" : [
{
"kind" : "Content" ,
"text" : "mergeRemoteChanges: "
} ,
{
"kind" : "Content" ,
"text" : "(fn: () => void) => void"
} ,
{
"kind" : "Content" ,
"text" : ";"
}
] ,
"isReadonly" : false ,
"isOptional" : false ,
"releaseTag" : "Public" ,
"name" : "mergeRemoteChanges" ,
"propertyTypeTokenRange" : {
"startIndex" : 1 ,
"endIndex" : 2
} ,
"isStatic" : false ,
"isProtected" : false ,
"isAbstract" : false
} ,
{
"kind" : "Method" ,
"canonicalReference" : "@tldraw/store!Store#migrateSnapshot:member(1)" ,
"docComment" : "/**\n * Migrate a serialized snapshot of the store and its schema.\n * ```ts\n * const snapshot = store.getSnapshot()\n * store.migrateSnapshot(snapshot)\n * ```\n *\n * @param snapshot - The snapshot to load.\n *\n * @public\n */\n" ,
"excerptTokens" : [
{
"kind" : "Content" ,
"text" : "migrateSnapshot(snapshot: "
} ,
{
"kind" : "Reference" ,
"text" : "StoreSnapshot" ,
"canonicalReference" : "@tldraw/store!StoreSnapshot:type"
} ,
{
"kind" : "Content" ,
"text" : "<R>"
} ,
{
"kind" : "Content" ,
"text" : "): "
} ,
{
"kind" : "Reference" ,
"text" : "StoreSnapshot" ,
"canonicalReference" : "@tldraw/store!StoreSnapshot:type"
} ,
{
"kind" : "Content" ,
"text" : "<R>"
} ,
{
"kind" : "Content" ,
"text" : ";"
}
] ,
"isStatic" : false ,
"returnTypeTokenRange" : {
"startIndex" : 4 ,
"endIndex" : 6
} ,
"releaseTag" : "Public" ,
"isProtected" : false ,
"overloadIndex" : 1 ,
"parameters" : [
{
"parameterName" : "snapshot" ,
"parameterTypeTokenRange" : {
"startIndex" : 1 ,
"endIndex" : 3
} ,
"isOptional" : false
}
] ,
"isOptional" : false ,
"isAbstract" : false ,
"name" : "migrateSnapshot"
} ,
{
"kind" : "Property" ,
"canonicalReference" : "@tldraw/store!Store#onAfterChange:member" ,
"docComment" : "/**\n * A callback fired after each record's change.\n *\n * @param prev - The previous value, if any.\n *\n * @param next - The next value.\n */\n" ,
"excerptTokens" : [
{
"kind" : "Content" ,
"text" : "onAfterChange?: "
} ,
{
"kind" : "Content" ,
"text" : "(prev: R, next: R, source: 'remote' | 'user') => void"
} ,
{
"kind" : "Content" ,
"text" : ";"
}
] ,
"isReadonly" : false ,
"isOptional" : true ,
"releaseTag" : "Public" ,
"name" : "onAfterChange" ,
"propertyTypeTokenRange" : {
"startIndex" : 1 ,
"endIndex" : 2
} ,
"isStatic" : false ,
"isProtected" : false ,
"isAbstract" : false
} ,
{
"kind" : "Property" ,
"canonicalReference" : "@tldraw/store!Store#onAfterCreate:member" ,
"docComment" : "/**\n * A callback fired after a record is created. Use this to perform related updates to other records in the store.\n *\n * @param record - The record to be created\n */\n" ,
"excerptTokens" : [
{
"kind" : "Content" ,
"text" : "onAfterCreate?: "
} ,
{
"kind" : "Content" ,
"text" : "(record: R, source: 'remote' | 'user') => void"
} ,
{
"kind" : "Content" ,
"text" : ";"
}
] ,
"isReadonly" : false ,
"isOptional" : true ,
"releaseTag" : "Public" ,
"name" : "onAfterCreate" ,
"propertyTypeTokenRange" : {
"startIndex" : 1 ,
"endIndex" : 2
} ,
"isStatic" : false ,
"isProtected" : false ,
"isAbstract" : false
} ,
{
"kind" : "Property" ,
"canonicalReference" : "@tldraw/store!Store#onAfterDelete:member" ,
"docComment" : "/**\n * A callback fired after a record is deleted.\n *\n * @param prev - The record that will be deleted.\n */\n" ,
"excerptTokens" : [
{
"kind" : "Content" ,
"text" : "onAfterDelete?: "
} ,
{
"kind" : "Content" ,
"text" : "(prev: R, source: 'remote' | 'user') => void"
} ,
{
"kind" : "Content" ,
"text" : ";"
}
] ,
"isReadonly" : false ,
"isOptional" : true ,
"releaseTag" : "Public" ,
"name" : "onAfterDelete" ,
"propertyTypeTokenRange" : {
"startIndex" : 1 ,
"endIndex" : 2
} ,
"isStatic" : false ,
"isProtected" : false ,
"isAbstract" : false
} ,
{
"kind" : "Property" ,
"canonicalReference" : "@tldraw/store!Store#onBeforeChange:member" ,
"docComment" : "/**\n * A callback before after each record's change.\n *\n * @param prev - The previous value, if any.\n *\n * @param next - The next value.\n */\n" ,
"excerptTokens" : [
{
"kind" : "Content" ,
"text" : "onBeforeChange?: "
} ,
{
"kind" : "Content" ,
"text" : "(prev: R, next: R, source: 'remote' | 'user') => R"
} ,
{
"kind" : "Content" ,
"text" : ";"
}
] ,
"isReadonly" : false ,
"isOptional" : true ,
"releaseTag" : "Public" ,
"name" : "onBeforeChange" ,
"propertyTypeTokenRange" : {
"startIndex" : 1 ,
"endIndex" : 2
} ,
"isStatic" : false ,
"isProtected" : false ,
"isAbstract" : false
} ,
{
"kind" : "Property" ,
"canonicalReference" : "@tldraw/store!Store#onBeforeCreate:member" ,
"docComment" : "/**\n * A callback fired after each record's change.\n *\n * @param prev - The previous value, if any.\n *\n * @param next - The next value.\n */\n" ,
"excerptTokens" : [
{
"kind" : "Content" ,
"text" : "onBeforeCreate?: "
} ,
{
"kind" : "Content" ,
"text" : "(next: R, source: 'remote' | 'user') => R"
} ,
{
"kind" : "Content" ,
"text" : ";"
}
] ,
"isReadonly" : false ,
"isOptional" : true ,
"releaseTag" : "Public" ,
"name" : "onBeforeCreate" ,
"propertyTypeTokenRange" : {
"startIndex" : 1 ,
"endIndex" : 2
} ,
"isStatic" : false ,
"isProtected" : false ,
"isAbstract" : false
} ,
{
"kind" : "Property" ,
"canonicalReference" : "@tldraw/store!Store#onBeforeDelete:member" ,
"docComment" : "/**\n * A callback fired before a record is deleted.\n *\n * @param prev - The record that will be deleted.\n */\n" ,
"excerptTokens" : [
{
"kind" : "Content" ,
"text" : "onBeforeDelete?: "
} ,
{
"kind" : "Content" ,
"text" : "(prev: R, source: 'remote' | 'user') => false | void"
} ,
{
"kind" : "Content" ,
"text" : ";"
}
] ,
"isReadonly" : false ,
"isOptional" : true ,
"releaseTag" : "Public" ,
"name" : "onBeforeDelete" ,
"propertyTypeTokenRange" : {
"startIndex" : 1 ,
"endIndex" : 2
} ,
"isStatic" : false ,
"isProtected" : false ,
"isAbstract" : false
} ,
{
"kind" : "Property" ,
"canonicalReference" : "@tldraw/store!Store#props:member" ,
"docComment" : "" ,
"excerptTokens" : [
{
"kind" : "Content" ,
"text" : "readonly props: "
} ,
{
"kind" : "Content" ,
"text" : "Props"
} ,
{
"kind" : "Content" ,
"text" : ";"
}
] ,
"isReadonly" : true ,
"isOptional" : false ,
"releaseTag" : "Public" ,
"name" : "props" ,
"propertyTypeTokenRange" : {
"startIndex" : 1 ,
"endIndex" : 2
} ,
"isStatic" : false ,
"isProtected" : false ,
"isAbstract" : false
} ,
{
"kind" : "Property" ,
"canonicalReference" : "@tldraw/store!Store#put:member" ,
"docComment" : "/**\n * Add some records to the store. It's an error if they already exist.\n *\n * @param records - The records to add.\n *\n * @public\n */\n" ,
"excerptTokens" : [
{
"kind" : "Content" ,
"text" : "put: "
} ,
{
"kind" : "Content" ,
"text" : "(records: R[], phaseOverride?: 'initialize') => void"
} ,
{
"kind" : "Content" ,
"text" : ";"
}
] ,
"isReadonly" : false ,
"isOptional" : false ,
"releaseTag" : "Public" ,
"name" : "put" ,
"propertyTypeTokenRange" : {
"startIndex" : 1 ,
"endIndex" : 2
} ,
"isStatic" : false ,
"isProtected" : false ,
"isAbstract" : false
} ,
{
"kind" : "Property" ,
"canonicalReference" : "@tldraw/store!Store#query:member" ,
"docComment" : "/**\n * A StoreQueries instance for this store.\n *\n * @public @readonly\n */\n" ,
"excerptTokens" : [
{
"kind" : "Content" ,
"text" : "readonly query: "
} ,
{
"kind" : "Reference" ,
"text" : "StoreQueries" ,
"canonicalReference" : "@tldraw/store!~StoreQueries:class"
} ,
{
"kind" : "Content" ,
"text" : "<R>"
} ,
{
"kind" : "Content" ,
"text" : ";"
}
] ,
"isReadonly" : true ,
"isOptional" : false ,
"releaseTag" : "Public" ,
"name" : "query" ,
"propertyTypeTokenRange" : {
"startIndex" : 1 ,
"endIndex" : 3
} ,
"isStatic" : false ,
"isProtected" : false ,
"isAbstract" : false
} ,
{
"kind" : "Property" ,
"canonicalReference" : "@tldraw/store!Store#remove:member" ,
"docComment" : "/**\n * Remove some records from the store via their ids.\n *\n * @param ids - The ids of the records to remove.\n *\n * @public\n */\n" ,
"excerptTokens" : [
{
"kind" : "Content" ,
"text" : "remove: "
} ,
{
"kind" : "Content" ,
"text" : "(ids: "
} ,
{
"kind" : "Reference" ,
"text" : "IdOf" ,
"canonicalReference" : "@tldraw/store!IdOf:type"
} ,
{
"kind" : "Content" ,
"text" : "<R>[]) => void"
} ,
{
"kind" : "Content" ,
"text" : ";"
}
] ,
"isReadonly" : false ,
"isOptional" : false ,
"releaseTag" : "Public" ,
"name" : "remove" ,
"propertyTypeTokenRange" : {
"startIndex" : 1 ,
"endIndex" : 4
} ,
"isStatic" : false ,
"isProtected" : false ,
"isAbstract" : false
} ,
{
"kind" : "Property" ,
"canonicalReference" : "@tldraw/store!Store#schema:member" ,
"docComment" : "" ,
"excerptTokens" : [
{
"kind" : "Content" ,
"text" : "readonly schema: "
} ,
{
"kind" : "Reference" ,
"text" : "StoreSchema" ,
"canonicalReference" : "@tldraw/store!StoreSchema:class"
} ,
{
"kind" : "Content" ,
"text" : "<R, Props>"
} ,
{
"kind" : "Content" ,
"text" : ";"
}
] ,
"isReadonly" : true ,
"isOptional" : false ,
"releaseTag" : "Public" ,
"name" : "schema" ,
"propertyTypeTokenRange" : {
"startIndex" : 1 ,
"endIndex" : 3
} ,
"isStatic" : false ,
"isProtected" : false ,
"isAbstract" : false
} ,
{
"kind" : "Property" ,
"canonicalReference" : "@tldraw/store!Store#scopedTypes:member" ,
"docComment" : "" ,
"excerptTokens" : [
{
"kind" : "Content" ,
"text" : "readonly scopedTypes: "
} ,
{
"kind" : "Content" ,
"text" : "{\n readonly [K in "
} ,
{
"kind" : "Reference" ,
"text" : "RecordScope" ,
"canonicalReference" : "@tldraw/store!~RecordScope:type"
} ,
{
"kind" : "Content" ,
"text" : "]: "
} ,
{
"kind" : "Reference" ,
"text" : "ReadonlySet" ,
"canonicalReference" : "!ReadonlySet:interface"
} ,
{
"kind" : "Content" ,
"text" : "<R['typeName']>;\n }"
} ,
{
"kind" : "Content" ,
"text" : ";"
}
] ,
"isReadonly" : true ,
"isOptional" : false ,
"releaseTag" : "Public" ,
"name" : "scopedTypes" ,
"propertyTypeTokenRange" : {
"startIndex" : 1 ,
"endIndex" : 6
} ,
"isStatic" : false ,
"isProtected" : false ,
"isAbstract" : false
} ,
{
"kind" : "Property" ,
"canonicalReference" : "@tldraw/store!Store#serialize:member" ,
"docComment" : "/**\n * Creates a JSON payload from the record store.\n *\n * @param scope - The scope of records to serialize. Defaults to 'document'.\n *\n * @returns The record store snapshot as a JSON payload.\n */\n" ,
"excerptTokens" : [
{
"kind" : "Content" ,
"text" : "serialize: "
} ,
{
"kind" : "Content" ,
"text" : "(scope?: 'all' | "
} ,
{
"kind" : "Reference" ,
"text" : "RecordScope" ,
"canonicalReference" : "@tldraw/store!~RecordScope:type"
} ,
{
"kind" : "Content" ,
"text" : ") => "
} ,
{
"kind" : "Reference" ,
"text" : "SerializedStore" ,
"canonicalReference" : "@tldraw/store!SerializedStore:type"
} ,
{
"kind" : "Content" ,
"text" : "<R>"
} ,
{
"kind" : "Content" ,
"text" : ";"
}
] ,
"isReadonly" : false ,
"isOptional" : false ,
"releaseTag" : "Public" ,
"name" : "serialize" ,
"propertyTypeTokenRange" : {
"startIndex" : 1 ,
"endIndex" : 6
} ,
"isStatic" : false ,
"isProtected" : false ,
"isAbstract" : false
} ,
{
"kind" : "Property" ,
"canonicalReference" : "@tldraw/store!Store#unsafeGetWithoutCapture:member" ,
"docComment" : "/**\n * Get the value of a store record by its id without updating its epoch.\n *\n * @param id - The id of the record to get.\n *\n * @public\n */\n" ,
"excerptTokens" : [
{
"kind" : "Content" ,
"text" : "unsafeGetWithoutCapture: "
} ,
{
"kind" : "Content" ,
"text" : "<K extends "
} ,
{
"kind" : "Reference" ,
"text" : "IdOf" ,
"canonicalReference" : "@tldraw/store!IdOf:type"
} ,
{
"kind" : "Content" ,
"text" : "<R>>(id: K) => "
} ,
{
"kind" : "Reference" ,
"text" : "RecFromId" ,
"canonicalReference" : "@tldraw/store!~RecFromId:type"
} ,
{
"kind" : "Content" ,
"text" : "<K> | undefined"
} ,
{
"kind" : "Content" ,
"text" : ";"
}
] ,
"isReadonly" : false ,
"isOptional" : false ,
"releaseTag" : "Public" ,
"name" : "unsafeGetWithoutCapture" ,
"propertyTypeTokenRange" : {
"startIndex" : 1 ,
"endIndex" : 6
} ,
"isStatic" : false ,
"isProtected" : false ,
"isAbstract" : false
} ,
{
"kind" : "Property" ,
"canonicalReference" : "@tldraw/store!Store#update:member" ,
"docComment" : "/**\n * Update a record. To update multiple records at once, use the `update` method of the `TypedStore` class.\n *\n * @param id - The id of the record to update.\n *\n * @param updater - A function that updates the record.\n */\n" ,
"excerptTokens" : [
{
"kind" : "Content" ,
"text" : "update: "
} ,
{
"kind" : "Content" ,
"text" : "<K extends "
} ,
{
"kind" : "Reference" ,
"text" : "IdOf" ,
"canonicalReference" : "@tldraw/store!IdOf:type"
} ,
{
"kind" : "Content" ,
"text" : "<R>>(id: K, updater: (record: "
} ,
{
"kind" : "Reference" ,
"text" : "RecFromId" ,
"canonicalReference" : "@tldraw/store!~RecFromId:type"
} ,
{
"kind" : "Content" ,
"text" : "<K>) => "
} ,
{
"kind" : "Reference" ,
"text" : "RecFromId" ,
"canonicalReference" : "@tldraw/store!~RecFromId:type"
} ,
{
"kind" : "Content" ,
"text" : "<K>) => void"
} ,
{
"kind" : "Content" ,
"text" : ";"
}
] ,
"isReadonly" : false ,
"isOptional" : false ,
"releaseTag" : "Public" ,
"name" : "update" ,
"propertyTypeTokenRange" : {
"startIndex" : 1 ,
"endIndex" : 8
} ,
"isStatic" : false ,
"isProtected" : false ,
"isAbstract" : false
} ,
{
"kind" : "Method" ,
"canonicalReference" : "@tldraw/store!Store#validate:member(1)" ,
"docComment" : "" ,
"excerptTokens" : [
{
"kind" : "Content" ,
"text" : "validate(phase: "
} ,
{
"kind" : "Content" ,
"text" : "'createRecord' | 'initialize' | 'tests' | 'updateRecord'"
} ,
{
"kind" : "Content" ,
"text" : "): "
} ,
{
"kind" : "Content" ,
"text" : "void"
} ,
{
"kind" : "Content" ,
"text" : ";"
}
] ,
"isStatic" : false ,
"returnTypeTokenRange" : {
"startIndex" : 3 ,
"endIndex" : 4
} ,
"releaseTag" : "Public" ,
"isProtected" : false ,
"overloadIndex" : 1 ,
"parameters" : [
{
"parameterName" : "phase" ,
"parameterTypeTokenRange" : {
"startIndex" : 1 ,
"endIndex" : 2
} ,
"isOptional" : false
}
] ,
"isOptional" : false ,
"isAbstract" : false ,
"name" : "validate"
}
] ,
"implementsTokenRanges" : [ ]
} ,
{
"kind" : "TypeAlias" ,
"canonicalReference" : "@tldraw/store!StoreError:type" ,
"docComment" : "/**\n * @public\n */\n" ,
"excerptTokens" : [
{
"kind" : "Content" ,
"text" : "export type StoreError = "
} ,
{
"kind" : "Content" ,
"text" : "{\n error: "
} ,
{
"kind" : "Reference" ,
"text" : "Error" ,
"canonicalReference" : "!Error:interface"
} ,
{
"kind" : "Content" ,
"text" : ";\n phase: 'createRecord' | 'initialize' | 'tests' | 'updateRecord';\n recordBefore?: unknown;\n recordAfter: unknown;\n isExistingValidationIssue: boolean;\n}"
} ,
{
"kind" : "Content" ,
"text" : ";"
}
] ,
"fileUrlPath" : "packages/store/src/lib/Store.ts" ,
"releaseTag" : "Public" ,
"name" : "StoreError" ,
"typeTokenRange" : {
"startIndex" : 1 ,
"endIndex" : 4
}
} ,
{
"kind" : "TypeAlias" ,
"canonicalReference" : "@tldraw/store!StoreListener:type" ,
"docComment" : "/**\n * A function that will be called when the history changes.\n *\n * @public\n */\n" ,
"excerptTokens" : [
{
"kind" : "Content" ,
"text" : "export type StoreListener<R extends "
} ,
{
"kind" : "Reference" ,
"text" : "UnknownRecord" ,
"canonicalReference" : "@tldraw/store!UnknownRecord:type"
} ,
{
"kind" : "Content" ,
"text" : "> = "
} ,
{
"kind" : "Content" ,
"text" : "(entry: "
} ,
{
"kind" : "Reference" ,
"text" : "HistoryEntry" ,
"canonicalReference" : "@tldraw/store!HistoryEntry:type"
} ,
{
"kind" : "Content" ,
"text" : "<R>) => void"
} ,
{
"kind" : "Content" ,
"text" : ";"
}
] ,
"fileUrlPath" : "packages/store/src/lib/Store.ts" ,
"releaseTag" : "Public" ,
"name" : "StoreListener" ,
"typeParameters" : [
{
"typeParameterName" : "R" ,
"constraintTokenRange" : {
"startIndex" : 1 ,
"endIndex" : 2
} ,
"defaultTypeTokenRange" : {
"startIndex" : 0 ,
"endIndex" : 0
}
}
] ,
"typeTokenRange" : {
"startIndex" : 3 ,
"endIndex" : 6
}
} ,
{
"kind" : "Class" ,
"canonicalReference" : "@tldraw/store!StoreSchema:class" ,
"docComment" : "/**\n * @public\n */\n" ,
"excerptTokens" : [
{
"kind" : "Content" ,
"text" : "export declare class StoreSchema<R extends "
} ,
{
"kind" : "Reference" ,
"text" : "UnknownRecord" ,
"canonicalReference" : "@tldraw/store!UnknownRecord:type"
} ,
{
"kind" : "Content" ,
"text" : ", P = "
} ,
{
"kind" : "Content" ,
"text" : "unknown"
} ,
{
"kind" : "Content" ,
"text" : "> "
}
] ,
"fileUrlPath" : "packages/store/src/lib/StoreSchema.ts" ,
"releaseTag" : "Public" ,
"typeParameters" : [
{
"typeParameterName" : "R" ,
"constraintTokenRange" : {
"startIndex" : 1 ,
"endIndex" : 2
} ,
"defaultTypeTokenRange" : {
"startIndex" : 0 ,
"endIndex" : 0
}
} ,
{
"typeParameterName" : "P" ,
"constraintTokenRange" : {
"startIndex" : 0 ,
"endIndex" : 0
} ,
"defaultTypeTokenRange" : {
"startIndex" : 3 ,
"endIndex" : 4
}
}
] ,
"isAbstract" : false ,
"name" : "StoreSchema" ,
"preserveMemberOrder" : false ,
"members" : [
{
"kind" : "Method" ,
"canonicalReference" : "@tldraw/store!StoreSchema.create:member(1)" ,
"docComment" : "" ,
"excerptTokens" : [
{
"kind" : "Content" ,
"text" : "static create<R extends "
} ,
{
"kind" : "Reference" ,
"text" : "UnknownRecord" ,
"canonicalReference" : "@tldraw/store!UnknownRecord:type"
} ,
{
"kind" : "Content" ,
"text" : ", P = "
} ,
{
"kind" : "Content" ,
"text" : "unknown"
} ,
{
"kind" : "Content" ,
"text" : ">(types: "
} ,
{
"kind" : "Content" ,
"text" : "{\n [TypeName in R['typeName']]: {\n createId: any;\n };\n }"
} ,
{
"kind" : "Content" ,
"text" : ", options?: "
} ,
{
"kind" : "Reference" ,
"text" : "StoreSchemaOptions" ,
"canonicalReference" : "@tldraw/store!StoreSchemaOptions:type"
} ,
{
"kind" : "Content" ,
"text" : "<R, P>"
} ,
{
"kind" : "Content" ,
"text" : "): "
} ,
{
"kind" : "Reference" ,
"text" : "StoreSchema" ,
"canonicalReference" : "@tldraw/store!StoreSchema:class"
} ,
{
"kind" : "Content" ,
"text" : "<R, P>"
} ,
{
"kind" : "Content" ,
"text" : ";"
}
] ,
"typeParameters" : [
{
"typeParameterName" : "R" ,
"constraintTokenRange" : {
"startIndex" : 1 ,
"endIndex" : 2
} ,
"defaultTypeTokenRange" : {
"startIndex" : 0 ,
"endIndex" : 0
}
} ,
{
"typeParameterName" : "P" ,
"constraintTokenRange" : {
"startIndex" : 0 ,
"endIndex" : 0
} ,
"defaultTypeTokenRange" : {
"startIndex" : 3 ,
"endIndex" : 4
}
}
] ,
"isStatic" : true ,
"returnTypeTokenRange" : {
"startIndex" : 10 ,
"endIndex" : 12
} ,
"releaseTag" : "Public" ,
"isProtected" : false ,
"overloadIndex" : 1 ,
"parameters" : [
{
"parameterName" : "types" ,
"parameterTypeTokenRange" : {
"startIndex" : 5 ,
"endIndex" : 6
} ,
"isOptional" : false
} ,
{
"parameterName" : "options" ,
"parameterTypeTokenRange" : {
"startIndex" : 7 ,
"endIndex" : 9
} ,
"isOptional" : true
}
] ,
"isOptional" : false ,
"isAbstract" : false ,
"name" : "create"
} ,
{
"kind" : "Property" ,
"canonicalReference" : "@tldraw/store!StoreSchema#currentStoreVersion:member" ,
"docComment" : "" ,
"excerptTokens" : [
{
"kind" : "Content" ,
"text" : "get currentStoreVersion(): "
} ,
{
"kind" : "Content" ,
"text" : "number"
} ,
{
"kind" : "Content" ,
"text" : ";"
}
] ,
"isReadonly" : true ,
"isOptional" : false ,
"releaseTag" : "Public" ,
"name" : "currentStoreVersion" ,
"propertyTypeTokenRange" : {
"startIndex" : 1 ,
"endIndex" : 2
} ,
"isStatic" : false ,
"isProtected" : false ,
"isAbstract" : false
} ,
{
"kind" : "Method" ,
"canonicalReference" : "@tldraw/store!StoreSchema#migratePersistedRecord:member(1)" ,
"docComment" : "" ,
"excerptTokens" : [
{
"kind" : "Content" ,
"text" : "migratePersistedRecord(record: "
} ,
{
"kind" : "Content" ,
"text" : "R"
} ,
{
"kind" : "Content" ,
"text" : ", persistedSchema: "
} ,
{
"kind" : "Reference" ,
"text" : "SerializedSchema" ,
"canonicalReference" : "@tldraw/store!SerializedSchema:interface"
} ,
{
"kind" : "Content" ,
"text" : ", direction?: "
} ,
{
"kind" : "Content" ,
"text" : "'down' | 'up'"
} ,
{
"kind" : "Content" ,
"text" : "): "
} ,
{
"kind" : "Reference" ,
"text" : "MigrationResult" ,
"canonicalReference" : "@tldraw/store!MigrationResult:type"
} ,
{
"kind" : "Content" ,
"text" : "<R>"
} ,
{
"kind" : "Content" ,
"text" : ";"
}
] ,
"isStatic" : false ,
"returnTypeTokenRange" : {
"startIndex" : 7 ,
"endIndex" : 9
} ,
"releaseTag" : "Public" ,
"isProtected" : false ,
"overloadIndex" : 1 ,
"parameters" : [
{
"parameterName" : "record" ,
"parameterTypeTokenRange" : {
"startIndex" : 1 ,
"endIndex" : 2
} ,
"isOptional" : false
} ,
{
"parameterName" : "persistedSchema" ,
"parameterTypeTokenRange" : {
"startIndex" : 3 ,
"endIndex" : 4
} ,
"isOptional" : false
} ,
{
"parameterName" : "direction" ,
"parameterTypeTokenRange" : {
"startIndex" : 5 ,
"endIndex" : 6
} ,
"isOptional" : true
}
] ,
"isOptional" : false ,
"isAbstract" : false ,
"name" : "migratePersistedRecord"
} ,
{
"kind" : "Method" ,
"canonicalReference" : "@tldraw/store!StoreSchema#migrateStoreSnapshot:member(1)" ,
"docComment" : "" ,
"excerptTokens" : [
{
"kind" : "Content" ,
"text" : "migrateStoreSnapshot(snapshot: "
} ,
{
"kind" : "Reference" ,
"text" : "StoreSnapshot" ,
"canonicalReference" : "@tldraw/store!StoreSnapshot:type"
} ,
{
"kind" : "Content" ,
"text" : "<R>"
} ,
{
"kind" : "Content" ,
"text" : "): "
} ,
{
"kind" : "Reference" ,
"text" : "MigrationResult" ,
"canonicalReference" : "@tldraw/store!MigrationResult:type"
} ,
{
"kind" : "Content" ,
"text" : "<"
} ,
{
"kind" : "Reference" ,
"text" : "SerializedStore" ,
"canonicalReference" : "@tldraw/store!SerializedStore:type"
} ,
{
"kind" : "Content" ,
"text" : "<R>>"
} ,
{
"kind" : "Content" ,
"text" : ";"
}
] ,
"isStatic" : false ,
"returnTypeTokenRange" : {
"startIndex" : 4 ,
"endIndex" : 8
} ,
"releaseTag" : "Public" ,
"isProtected" : false ,
"overloadIndex" : 1 ,
"parameters" : [
{
"parameterName" : "snapshot" ,
"parameterTypeTokenRange" : {
"startIndex" : 1 ,
"endIndex" : 3
} ,
"isOptional" : false
}
] ,
"isOptional" : false ,
"isAbstract" : false ,
"name" : "migrateStoreSnapshot"
} ,
{
"kind" : "Method" ,
"canonicalReference" : "@tldraw/store!StoreSchema#serialize:member(1)" ,
"docComment" : "" ,
"excerptTokens" : [
{
"kind" : "Content" ,
"text" : "serialize(): "
} ,
{
"kind" : "Reference" ,
"text" : "SerializedSchema" ,
"canonicalReference" : "@tldraw/store!SerializedSchema:interface"
} ,
{
"kind" : "Content" ,
"text" : ";"
}
] ,
"isStatic" : false ,
"returnTypeTokenRange" : {
"startIndex" : 1 ,
"endIndex" : 2
} ,
"releaseTag" : "Public" ,
"isProtected" : false ,
"overloadIndex" : 1 ,
"parameters" : [ ] ,
"isOptional" : false ,
"isAbstract" : false ,
"name" : "serialize"
} ,
{
"kind" : "Method" ,
"canonicalReference" : "@tldraw/store!StoreSchema#serializeEarliestVersion:member(1)" ,
"docComment" : "" ,
"excerptTokens" : [
{
"kind" : "Content" ,
"text" : "serializeEarliestVersion(): "
} ,
{
"kind" : "Reference" ,
"text" : "SerializedSchema" ,
"canonicalReference" : "@tldraw/store!SerializedSchema:interface"
} ,
{
"kind" : "Content" ,
"text" : ";"
}
] ,
"isStatic" : false ,
"returnTypeTokenRange" : {
"startIndex" : 1 ,
"endIndex" : 2
} ,
"releaseTag" : "Public" ,
"isProtected" : false ,
"overloadIndex" : 1 ,
"parameters" : [ ] ,
"isOptional" : false ,
"isAbstract" : false ,
"name" : "serializeEarliestVersion"
} ,
{
"kind" : "Property" ,
"canonicalReference" : "@tldraw/store!StoreSchema#types:member" ,
"docComment" : "" ,
"excerptTokens" : [
{
"kind" : "Content" ,
"text" : "readonly types: "
} ,
{
"kind" : "Content" ,
"text" : "{\n [Record in R as Record['typeName']]: "
} ,
{
"kind" : "Reference" ,
"text" : "RecordType" ,
"canonicalReference" : "@tldraw/store!RecordType:class"
} ,
{
"kind" : "Content" ,
"text" : "<R, any>;\n }"
} ,
{
"kind" : "Content" ,
"text" : ";"
}
] ,
"isReadonly" : true ,
"isOptional" : false ,
"releaseTag" : "Public" ,
"name" : "types" ,
"propertyTypeTokenRange" : {
"startIndex" : 1 ,
"endIndex" : 4
} ,
"isStatic" : false ,
"isProtected" : false ,
"isAbstract" : false
} ,
{
"kind" : "Method" ,
"canonicalReference" : "@tldraw/store!StoreSchema#validateRecord:member(1)" ,
"docComment" : "" ,
"excerptTokens" : [
{
"kind" : "Content" ,
"text" : "validateRecord(store: "
} ,
{
"kind" : "Reference" ,
"text" : "Store" ,
"canonicalReference" : "@tldraw/store!Store:class"
} ,
{
"kind" : "Content" ,
"text" : "<R>"
} ,
{
"kind" : "Content" ,
"text" : ", record: "
} ,
{
"kind" : "Content" ,
"text" : "R"
} ,
{
"kind" : "Content" ,
"text" : ", phase: "
} ,
{
"kind" : "Content" ,
"text" : "'createRecord' | 'initialize' | 'tests' | 'updateRecord'"
} ,
{
"kind" : "Content" ,
"text" : ", recordBefore: "
} ,
{
"kind" : "Content" ,
"text" : "null | R"
} ,
{
"kind" : "Content" ,
"text" : "): "
} ,
{
"kind" : "Content" ,
"text" : "R"
} ,
{
"kind" : "Content" ,
"text" : ";"
}
] ,
"isStatic" : false ,
"returnTypeTokenRange" : {
"startIndex" : 10 ,
"endIndex" : 11
} ,
"releaseTag" : "Public" ,
"isProtected" : false ,
"overloadIndex" : 1 ,
"parameters" : [
{
"parameterName" : "store" ,
"parameterTypeTokenRange" : {
"startIndex" : 1 ,
"endIndex" : 3
} ,
"isOptional" : false
} ,
{
"parameterName" : "record" ,
"parameterTypeTokenRange" : {
"startIndex" : 4 ,
"endIndex" : 5
} ,
"isOptional" : false
} ,
{
"parameterName" : "phase" ,
"parameterTypeTokenRange" : {
"startIndex" : 6 ,
"endIndex" : 7
} ,
"isOptional" : false
} ,
{
"parameterName" : "recordBefore" ,
"parameterTypeTokenRange" : {
"startIndex" : 8 ,
"endIndex" : 9
} ,
"isOptional" : false
}
] ,
"isOptional" : false ,
"isAbstract" : false ,
"name" : "validateRecord"
}
] ,
"implementsTokenRanges" : [ ]
} ,
{
"kind" : "TypeAlias" ,
"canonicalReference" : "@tldraw/store!StoreSchemaOptions:type" ,
"docComment" : "/**\n * @public\n */\n" ,
"excerptTokens" : [
{
"kind" : "Content" ,
"text" : "export type StoreSchemaOptions<R extends "
} ,
{
"kind" : "Reference" ,
"text" : "UnknownRecord" ,
"canonicalReference" : "@tldraw/store!UnknownRecord:type"
} ,
{
"kind" : "Content" ,
"text" : ", P> = "
} ,
{
"kind" : "Content" ,
"text" : "{\n snapshotMigrations?: "
} ,
{
"kind" : "Reference" ,
"text" : "Migrations" ,
"canonicalReference" : "@tldraw/store!Migrations:interface"
} ,
{
"kind" : "Content" ,
"text" : ";\n onValidationFailure?: (data: {\n error: unknown;\n store: "
} ,
{
"kind" : "Reference" ,
"text" : "Store" ,
"canonicalReference" : "@tldraw/store!Store:class"
} ,
{
"kind" : "Content" ,
"text" : "<R>;\n record: R;\n phase: 'createRecord' | 'initialize' | 'tests' | 'updateRecord';\n recordBefore: null | R;\n }) => R;\n createIntegrityChecker?: (store: "
} ,
{
"kind" : "Reference" ,
"text" : "Store" ,
"canonicalReference" : "@tldraw/store!Store:class"
} ,
{
"kind" : "Content" ,
"text" : "<R, P>) => void;\n}"
} ,
{
"kind" : "Content" ,
"text" : ";"
}
] ,
"fileUrlPath" : "packages/store/src/lib/StoreSchema.ts" ,
"releaseTag" : "Public" ,
"name" : "StoreSchemaOptions" ,
"typeParameters" : [
{
"typeParameterName" : "R" ,
"constraintTokenRange" : {
"startIndex" : 1 ,
"endIndex" : 2
} ,
"defaultTypeTokenRange" : {
"startIndex" : 0 ,
"endIndex" : 0
}
} ,
{
"typeParameterName" : "P" ,
"constraintTokenRange" : {
"startIndex" : 0 ,
"endIndex" : 0
} ,
"defaultTypeTokenRange" : {
"startIndex" : 0 ,
"endIndex" : 0
}
}
] ,
"typeTokenRange" : {
"startIndex" : 3 ,
"endIndex" : 10
}
} ,
{
"kind" : "TypeAlias" ,
"canonicalReference" : "@tldraw/store!StoreSnapshot:type" ,
"docComment" : "/**\n * @public\n */\n" ,
"excerptTokens" : [
{
"kind" : "Content" ,
"text" : "export type StoreSnapshot<R extends "
} ,
{
"kind" : "Reference" ,
"text" : "UnknownRecord" ,
"canonicalReference" : "@tldraw/store!UnknownRecord:type"
} ,
{
"kind" : "Content" ,
"text" : "> = "
} ,
{
"kind" : "Content" ,
"text" : "{\n store: "
} ,
{
"kind" : "Reference" ,
"text" : "SerializedStore" ,
"canonicalReference" : "@tldraw/store!SerializedStore:type"
} ,
{
"kind" : "Content" ,
"text" : "<R>;\n schema: "
} ,
{
"kind" : "Reference" ,
"text" : "SerializedSchema" ,
"canonicalReference" : "@tldraw/store!SerializedSchema:interface"
} ,
{
"kind" : "Content" ,
"text" : ";\n}"
} ,
{
"kind" : "Content" ,
"text" : ";"
}
] ,
"fileUrlPath" : "packages/store/src/lib/Store.ts" ,
"releaseTag" : "Public" ,
"name" : "StoreSnapshot" ,
"typeParameters" : [
{
"typeParameterName" : "R" ,
"constraintTokenRange" : {
"startIndex" : 1 ,
"endIndex" : 2
} ,
"defaultTypeTokenRange" : {
"startIndex" : 0 ,
"endIndex" : 0
}
}
] ,
"typeTokenRange" : {
"startIndex" : 3 ,
"endIndex" : 8
}
} ,
{
"kind" : "TypeAlias" ,
"canonicalReference" : "@tldraw/store!StoreValidator:type" ,
"docComment" : "/**\n * @public\n */\n" ,
"excerptTokens" : [
{
"kind" : "Content" ,
"text" : "export type StoreValidator<R extends "
} ,
{
"kind" : "Reference" ,
"text" : "UnknownRecord" ,
"canonicalReference" : "@tldraw/store!UnknownRecord:type"
} ,
{
"kind" : "Content" ,
"text" : "> = "
} ,
{
"kind" : "Content" ,
"text" : "{\n validate: (record: unknown) => R;\n validateUsingKnownGoodVersion?: (knownGoodVersion: R, record: unknown) => R;\n}"
} ,
{
"kind" : "Content" ,
"text" : ";"
}
] ,
"fileUrlPath" : "packages/store/src/lib/Store.ts" ,
"releaseTag" : "Public" ,
"name" : "StoreValidator" ,
"typeParameters" : [
{
"typeParameterName" : "R" ,
"constraintTokenRange" : {
"startIndex" : 1 ,
"endIndex" : 2
} ,
"defaultTypeTokenRange" : {
"startIndex" : 0 ,
"endIndex" : 0
}
}
] ,
"typeTokenRange" : {
"startIndex" : 3 ,
"endIndex" : 4
}
} ,
{
"kind" : "TypeAlias" ,
"canonicalReference" : "@tldraw/store!StoreValidators:type" ,
"docComment" : "/**\n * @public\n */\n" ,
"excerptTokens" : [
{
"kind" : "Content" ,
"text" : "export type StoreValidators<R extends "
} ,
{
"kind" : "Reference" ,
"text" : "UnknownRecord" ,
"canonicalReference" : "@tldraw/store!UnknownRecord:type"
} ,
{
"kind" : "Content" ,
"text" : "> = "
} ,
{
"kind" : "Content" ,
"text" : "{\n [K in R['typeName']]: "
} ,
{
"kind" : "Reference" ,
"text" : "StoreValidator" ,
"canonicalReference" : "@tldraw/store!StoreValidator:type"
} ,
{
"kind" : "Content" ,
"text" : "<"
} ,
{
"kind" : "Reference" ,
"text" : "Extract" ,
"canonicalReference" : "!Extract:type"
} ,
{
"kind" : "Content" ,
"text" : "<R, {\n typeName: K;\n }>>;\n}"
} ,
{
"kind" : "Content" ,
"text" : ";"
}
] ,
"fileUrlPath" : "packages/store/src/lib/Store.ts" ,
"releaseTag" : "Public" ,
"name" : "StoreValidators" ,
"typeParameters" : [
{
"typeParameterName" : "R" ,
"constraintTokenRange" : {
"startIndex" : 1 ,
"endIndex" : 2
} ,
"defaultTypeTokenRange" : {
"startIndex" : 0 ,
"endIndex" : 0
}
}
] ,
"typeTokenRange" : {
"startIndex" : 3 ,
"endIndex" : 8
}
} ,
{
"kind" : "TypeAlias" ,
"canonicalReference" : "@tldraw/store!UnknownRecord:type" ,
"docComment" : "/**\n * @public\n */\n" ,
"excerptTokens" : [
{
"kind" : "Content" ,
"text" : "export type UnknownRecord = "
} ,
{
"kind" : "Reference" ,
"text" : "BaseRecord" ,
"canonicalReference" : "@tldraw/store!BaseRecord:interface"
} ,
{
"kind" : "Content" ,
"text" : "<string, "
} ,
{
"kind" : "Reference" ,
"text" : "RecordId" ,
"canonicalReference" : "@tldraw/store!RecordId:type"
} ,
{
"kind" : "Content" ,
"text" : "<"
} ,
{
"kind" : "Reference" ,
"text" : "UnknownRecord" ,
"canonicalReference" : "@tldraw/store!UnknownRecord:type"
} ,
{
"kind" : "Content" ,
"text" : ">>"
} ,
{
"kind" : "Content" ,
"text" : ";"
}
] ,
"fileUrlPath" : "packages/store/src/lib/BaseRecord.ts" ,
"releaseTag" : "Public" ,
"name" : "UnknownRecord" ,
"typeTokenRange" : {
"startIndex" : 1 ,
"endIndex" : 7
}
}
]
}
]
2024-01-15 12:33:15 +00:00
}