{"version":3,"file":"SolidReadSuccess.mjs","names":[],"sources":["../../../../src/requester/results/success/SolidReadSuccess.ts"],"sourcesContent":["import type { ConnectedResult } from \"@ldo/connected\";\nimport { ReadSuccess, type Resource } from \"@ldo/connected\";\nimport type { SolidLeaf } from \"../../../resources/SolidLeaf\";\nimport type { SolidContainer } from \"../../../resources/SolidContainer\";\n\n/**\n * Indicates that the read request was successful and that the resource\n * retrieved was a binary resource.\n */\nexport class BinaryReadSuccess extends ReadSuccess<SolidLeaf> {\n  type = \"binaryReadSuccess\" as const;\n  /**\n   * The raw data for the binary resource\n   */\n  blob: Blob;\n  /**\n   * The mime type of the binary resource\n   */\n  mimeType: string;\n\n  constructor(\n    resource: SolidLeaf,\n    recalledFromMemory: boolean,\n    blob: Blob,\n    mimeType: string,\n  ) {\n    super(resource, recalledFromMemory);\n    this.blob = blob;\n    this.mimeType = mimeType;\n  }\n}\n\n/**\n * Indicates that the read request was successful and that the resource\n * retrieved was a data (RDF) resource.\n */\nexport class DataReadSuccess extends ReadSuccess<SolidLeaf> {\n  type = \"dataReadSuccess\" as const;\n}\n\n/**\n * Indicates that the read request was successful and that the resource\n * retrieved was a container resource.\n */\nexport class ContainerReadSuccess extends ReadSuccess<SolidContainer> {\n  type = \"containerReadSuccess\" as const;\n  /**\n   * True if this container is a root container\n   */\n  isRootContainer: boolean;\n\n  constructor(\n    resource: SolidContainer,\n    recalledFromMemory: boolean,\n    isRootContainer: boolean,\n  ) {\n    super(resource, recalledFromMemory);\n    this.isRootContainer = isRootContainer;\n  }\n}\n\n/**\n * A helper function that checks to see if a result is a ReadSuccess result\n *\n * @param result - the result to check\n * @returns true if the result is a ReadSuccessResult result\n */\nexport function isReadSuccess<ResourceType extends Resource>(\n  result: ConnectedResult,\n): result is ReadSuccess<ResourceType> {\n  return (\n    result.type === \"binaryReadSuccess\" ||\n    result.type === \"dataReadSuccess\" ||\n    result.type === \"absentReadSuccess\" ||\n    result.type === \"containerReadSuccess\"\n  );\n}\n"],"mappings":";;;;;;AASA,IAAa,oBAAb,cAAuC,YAAuB;CAW5D,YACE,UACA,oBACA,MACA,UACA;AACA,QAAM,UAAU,mBAAmB;AAhBrC,OAAA,OAAO;AAiBL,OAAK,OAAO;AACZ,OAAK,WAAW;;;;;;;AAQpB,IAAa,kBAAb,cAAqC,YAAuB;;;AAC1D,OAAA,OAAO;;;;;;;AAOT,IAAa,uBAAb,cAA0C,YAA4B;CAOpE,YACE,UACA,oBACA,iBACA;AACA,QAAM,UAAU,mBAAmB;AAXrC,OAAA,OAAO;AAYL,OAAK,kBAAkB;;;;;;;;;AAU3B,SAAgB,cACd,QACqC;AACrC,QACE,OAAO,SAAS,uBAChB,OAAO,SAAS,qBAChB,OAAO,SAAS,uBAChB,OAAO,SAAS"}