{"version":3,"file":"SuccessResult.mjs","names":[],"sources":["../../../src/results/success/SuccessResult.ts"],"sourcesContent":["import type { Resource } from \"../../Resource\";\nimport type { ConnectedResult } from \"../ConnectedResult\";\n\n/**\n * Indicates that some action taken by LDO was a success\n */\nexport abstract class SuccessResult implements ConnectedResult {\n  abstract readonly type: string;\n  readonly isError = false as const;\n}\n\n/**\n * Indicates that a request to a resource was aa success\n */\nexport abstract class ResourceSuccess<\n  ResourceType extends Resource,\n> extends SuccessResult {\n  /**\n   * The URI of the resource\n   */\n  uri: ResourceType[\"uri\"];\n  /**\n   * The resource that was successful\n   */\n  resource: ResourceType;\n\n  constructor(resource: ResourceType) {\n    super();\n    this.uri = resource.uri;\n    this.resource = resource;\n  }\n}\n\n/**\n * A grouping of multiple successes as a result of an action\n */\nexport class AggregateSuccess<\n  SuccessType extends SuccessResult,\n> extends SuccessResult {\n  type = \"aggregateSuccess\" as const;\n\n  /**\n   * An array of all successesses\n   */\n  results: SuccessType[];\n\n  constructor(results: SuccessType[]) {\n    super();\n    this.results = results;\n  }\n}\n"],"mappings":";;;;AAMA,IAAsB,gBAAtB,MAA+D;;AAE7D,OAAS,UAAU;;;;;;AAMrB,IAAsB,kBAAtB,cAEU,cAAc;CAUtB,YAAY,UAAwB;AAClC,SAAO;AACP,OAAK,MAAM,SAAS;AACpB,OAAK,WAAW;;;;;;AAOpB,IAAa,mBAAb,cAEU,cAAc;CAQtB,YAAY,SAAwB;AAClC,SAAO;AART,OAAA,OAAO;AASL,OAAK,UAAU"}