{"version":3,"file":"ConnectedLdoBuilder.mjs","names":[],"sources":["../src/ConnectedLdoBuilder.ts"],"sourcesContent":["import type { LdoBase, ShapeType } from \"@ldo/ldo\";\nimport { LdoBuilder } from \"@ldo/ldo\";\nimport type { IConnectedLdoBuilder } from \"./types/IConnectedLdoBuilder\";\nimport type { JsonldDatasetProxyBuilder } from \"@ldo/jsonld-dataset-proxy\";\nimport type { SubjectNode } from \"@ldo/rdf-utils\";\nimport type { LQInput } from \"./types/ILinkQuery\";\nimport { ResourceLinkQuery } from \"./linkTraversal/ResourceLinkQuery\";\nimport type { ConnectedPlugin } from \"./types/ConnectedPlugin\";\nimport type { IConnectedLdoDataset } from \"./types/IConnectedLdoDataset\";\n\nexport class ConnectedLdoBuilder<\n    Type extends LdoBase,\n    Plugins extends ConnectedPlugin[],\n  >\n  extends LdoBuilder<Type>\n  implements IConnectedLdoBuilder<Type, Plugins>\n{\n  protected parentDataset: IConnectedLdoDataset<Plugins>;\n\n  constructor(\n    parentDataset: IConnectedLdoDataset<Plugins>,\n    jsonldDatasetProxyBuilder: JsonldDatasetProxyBuilder,\n    shapeType: ShapeType<Type>,\n  ) {\n    super(jsonldDatasetProxyBuilder, shapeType);\n    this.parentDataset = parentDataset;\n  }\n\n  startLinkQuery<Input extends LQInput<Type>>(\n    startingResource: Plugins[number][\"types\"][\"resource\"],\n    startingSubject: SubjectNode | string,\n    linkQueryInput: Input,\n  ): ResourceLinkQuery<Type, Input, Plugins> {\n    return new ResourceLinkQuery(\n      this.parentDataset,\n      this.shapeType,\n      this,\n      startingResource,\n      startingSubject,\n      linkQueryInput,\n    );\n  }\n}\n"],"mappings":";;;AAUA,IAAa,sBAAb,cAIU,WAEV;CAGE,YACE,eACA,2BACA,WACA;AACA,QAAM,2BAA2B,UAAU;AAC3C,OAAK,gBAAgB;;CAGvB,eACE,kBACA,iBACA,gBACyC;AACzC,SAAO,IAAI,kBACT,KAAK,eACL,KAAK,WACL,MACA,kBACA,iBACA,eACD"}