{
  "version": 3,
  "sources": ["../../src/attachable/asAttachableInstance.ts", "../../src/attachable/isAttachableInstance.ts", "../../src/typeChecks.ts", "../../src/Queries/Observe.ts", "../../src/attachable/AttachableInstance.ts", "../../src/Config.ts"],
  "sourcesContent": ["import { AsObjectFactory } from '@xylabs/sdk-js'\n\nimport { isAttachableWitnessInstance } from './isAttachableInstance.ts'\n\nexport const asAttachableWitnessInstance = AsObjectFactory.create(isAttachableWitnessInstance)\n", "import type { ObjectTypeShape, TypeCheck } from '@xylabs/sdk-js'\nimport { IsObjectFactory } from '@xylabs/sdk-js'\nimport { isAttachableModuleInstance } from '@xyo-network/module-model'\n\nimport { isWitnessInstance } from '../typeChecks.ts'\nimport type { AttachableWitnessInstance } from './AttachableInstance.ts'\n\nexport const requiredAttachableWitnessInstanceFunctions: ObjectTypeShape = {}\n\n// we do not use IsInstanceFactory here to prevent a cycle\nconst factory = new IsObjectFactory<AttachableWitnessInstance>()\n\nexport const isAttachableWitnessInstance: TypeCheck<AttachableWitnessInstance> = factory.create(requiredAttachableWitnessInstanceFunctions, [\n  isWitnessInstance,\n  isAttachableModuleInstance,\n])\n", "import type { TypeCheck } from '@xylabs/sdk-js'\nimport { AsObjectFactory } from '@xylabs/sdk-js'\nimport {\n  IsInstanceFactory, isModuleInstance, IsQueryableModuleFactory, WithFactory,\n} from '@xyo-network/module-model'\n\nimport type { WitnessInstance } from './Instance.ts'\nimport type { WitnessModule } from './Module.ts'\nimport { WitnessObserveQuerySchema } from './Queries/index.ts'\n\nexport const isWitnessInstance: TypeCheck<WitnessInstance> = new IsInstanceFactory<WitnessInstance>().create({ observe: 'function' }, [isModuleInstance])\nexport const isWitnessModule: TypeCheck<WitnessModule> = new IsQueryableModuleFactory<WitnessModule>().create([WitnessObserveQuerySchema])\n\nexport const asWitnessModule = AsObjectFactory.create(isWitnessModule)\nexport const asWitnessInstance = AsObjectFactory.create(isWitnessInstance)\n\n/** @deprecated use narrowing instead [ if(is) ] */\n// eslint-disable-next-line @typescript-eslint/no-deprecated\nexport const withWitnessModule = WithFactory.create(isWitnessModule)\n\n/** @deprecated use narrowing instead [ if(is) ] */\n// eslint-disable-next-line @typescript-eslint/no-deprecated\nexport const withWitnessInstance = WithFactory.create(isWitnessInstance)\n", "import { asSchema, type Query } from '@xyo-network/sdk-protocol-js'\n\nexport const WitnessObserveQuerySchema = asSchema('network.xyo.query.witness.observe', true)\nexport type WitnessObserveQuerySchema = typeof WitnessObserveQuerySchema\n\nexport type WitnessObserveQuery = Query<{\n  payloads?: string[]\n  schema: WitnessObserveQuerySchema\n}>\n", "import type { TypeCheck } from '@xylabs/sdk-js'\nimport { IsObjectFactory } from '@xylabs/sdk-js'\nimport type { AttachableModuleInstance } from '@xyo-network/module-model'\nimport type { Payload } from '@xyo-network/sdk-protocol-js'\n\nimport type { WitnessModuleEventData } from '../EventData.ts'\nimport type { WitnessInstance } from '../Instance.ts'\nimport type { WitnessParams } from '../Params.ts'\n\nexport interface AttachableWitnessInstance<\n  TParams extends WitnessParams = WitnessParams,\n  TIn extends Payload = Payload,\n  TOut extends Payload = Payload,\n  TEventData extends WitnessModuleEventData = WitnessModuleEventData,\n> extends WitnessInstance<TParams, TIn, TOut, TEventData>,\n  AttachableModuleInstance<TParams, TEventData> {}\n\nexport type AttachableWitnessInstanceTypeCheck<T extends AttachableWitnessInstance = AttachableWitnessInstance> = TypeCheck<T>\n\nexport class IsAttachableWitnessInstanceFactory<T extends AttachableWitnessInstance = AttachableWitnessInstance> extends IsObjectFactory<T> {}\n", "import type { EmptyObject, WithAdditional } from '@xylabs/sdk-js'\nimport type { ModuleConfig } from '@xyo-network/module-model'\nimport type {\n  Payload,\n  Schema,\n} from '@xyo-network/sdk-protocol-js'\nimport { asSchema } from '@xyo-network/sdk-protocol-js'\n\nexport const WitnessConfigSchema = asSchema('network.xyo.witness.config', true)\nexport type WitnessConfigSchema = typeof WitnessConfigSchema\n\nexport type WitnessConfig<TConfig extends EmptyObject | Payload | void = void, TSchema extends Schema | void = void> = ModuleConfig<\n  WithAdditional<\n    {\n      schema: TConfig extends Payload ? TConfig['schema'] : WitnessConfigSchema\n    },\n    TConfig\n  >,\n  TSchema\n>\n"],
  "mappings": ";AAAA,SAAS,mBAAAA,wBAAuB;;;ACChC,SAAS,uBAAuB;AAChC,SAAS,kCAAkC;;;ACD3C,SAAS,uBAAuB;AAChC;AAAA,EACE;AAAA,EAAmB;AAAA,EAAkB;AAAA,EAA0B;AAAA,OAC1D;;;ACJP,SAAS,gBAA4B;AAE9B,IAAM,4BAA4B,SAAS,qCAAqC,IAAI;;;ADQpF,IAAM,oBAAgD,IAAI,kBAAmC,EAAE,OAAO,EAAE,SAAS,WAAW,GAAG,CAAC,gBAAgB,CAAC;AACjJ,IAAM,kBAA4C,IAAI,yBAAwC,EAAE,OAAO,CAAC,yBAAyB,CAAC;AAElI,IAAM,kBAAkB,gBAAgB,OAAO,eAAe;AAC9D,IAAM,oBAAoB,gBAAgB,OAAO,iBAAiB;AAIlE,IAAM,oBAAoB,YAAY,OAAO,eAAe;AAI5D,IAAM,sBAAsB,YAAY,OAAO,iBAAiB;;;ADfhE,IAAM,6CAA8D,CAAC;AAG5E,IAAM,UAAU,IAAI,gBAA2C;AAExD,IAAM,8BAAoE,QAAQ,OAAO,4CAA4C;AAAA,EAC1I;AAAA,EACA;AACF,CAAC;;;ADXM,IAAM,8BAA8BC,iBAAgB,OAAO,2BAA2B;;;AIH7F,SAAS,mBAAAC,wBAAuB;AAkBzB,IAAM,qCAAN,cAAkHA,iBAAmB;AAAC;;;ACb7I,SAAS,YAAAC,iBAAgB;AAElB,IAAM,sBAAsBA,UAAS,8BAA8B,IAAI;",
  "names": ["AsObjectFactory", "AsObjectFactory", "IsObjectFactory", "asSchema"]
}
