{
  "version": 3,
  "sources": ["../../src/modules/witness-model/attachable/asAttachableInstance.ts", "../../src/modules/witness-model/attachable/isAttachableInstance.ts", "../../src/modules/witness-model/typeChecks.ts", "../../src/modules/witness-model/Queries/Observe.ts", "../../src/modules/witness-model/attachable/AttachableInstance.ts", "../../src/modules/witness-model/Config.ts"],
  "sourcesContent": ["import { AsObjectFactory } from '@ariestools/sdk'\n\nimport { isAttachableWitnessInstance } from './isAttachableInstance.ts'\n\nexport const asAttachableWitnessInstance = AsObjectFactory.create(isAttachableWitnessInstance)\n", "import type { ObjectTypeShape, TypeCheck } from '@ariestools/sdk'\nimport { IsObjectFactory } from '@ariestools/sdk'\n\nimport { isAttachableModuleInstance } from '#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 '@ariestools/sdk'\nimport { AsObjectFactory } from '@ariestools/sdk'\n\nimport {\n  IsInstanceFactory, isModuleInstance, IsQueryableModuleFactory, WithFactory,\n} from '#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 {\n  zodAsFactory, zodIsFactory, zodToFactory,\n} from '@ariestools/sdk'\nimport {\n  asSchema, PayloadZodOfSchema, QueryFieldsZod,\n} from '@xyo-network/sdk-protocol'\nimport * as z from 'zod/mini'\n\nexport const WitnessObserveQuerySchema: 'network.xyo.query.witness.observe' & {\n  readonly __schema: true\n} = asSchema('network.xyo.query.witness.observe', true)\nexport type WitnessObserveQuerySchema = typeof WitnessObserveQuerySchema\n\nexport const WitnessObserveQueryZod: z.ZodMiniObject<\n  & { schema: z.ZodMiniLiteral<WitnessObserveQuerySchema> }\n  & (typeof QueryFieldsZod)['shape']\n  & { payloads: z.ZodMiniOptional<z.ZodMiniArray<z.ZodMiniString<string>>> },\n  z.core.$strip\n> = z.extend(PayloadZodOfSchema(WitnessObserveQuerySchema), {\n  ...QueryFieldsZod.shape,\n  payloads: z.optional(z.array(z.string())),\n})\n\nexport type WitnessObserveQuery = z.infer<typeof WitnessObserveQueryZod>\n\nexport const isWitnessObserveQuery: ReturnType<typeof zodIsFactory<WitnessObserveQuery>> = zodIsFactory(WitnessObserveQueryZod)\nexport const asWitnessObserveQuery: ReturnType<typeof zodAsFactory<WitnessObserveQuery>> = zodAsFactory(WitnessObserveQueryZod, 'asWitnessObserveQuery')\nexport const toWitnessObserveQuery: ReturnType<typeof zodToFactory<WitnessObserveQuery>> = zodToFactory(WitnessObserveQueryZod, 'toWitnessObserveQuery')\n", "import type { TypeCheck } from '@ariestools/sdk'\nimport { IsObjectFactory } from '@ariestools/sdk'\nimport type { Payload } from '@xyo-network/sdk-protocol'\n\nimport type { AttachableModuleInstance } from '#module-model'\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 '@ariestools/sdk'\nimport {\n  zodAsFactory, zodIsFactory, zodToFactory,\n} from '@ariestools/sdk'\nimport type {\n  Payload,\n  Schema,\n} from '@xyo-network/sdk-protocol'\nimport { asSchema } from '@xyo-network/sdk-protocol'\nimport * as z from 'zod/mini'\n\nimport type { ModuleConfig } from '#module-model'\nimport { ModuleConfigZod } from '#module-model'\n\nexport const WitnessConfigSchema: 'network.xyo.witness.config' & {\n  readonly __schema: true\n} = asSchema('network.xyo.witness.config', true)\nexport type WitnessConfigSchema = typeof WitnessConfigSchema\n\nexport const WitnessConfigZod: z.ZodMiniObject<\n  Omit<(typeof ModuleConfigZod)['shape'], 'schema'> & { schema: z.ZodMiniLiteral<WitnessConfigSchema> },\n  z.core.$strip\n> = z.extend(ModuleConfigZod, { schema: z.literal(WitnessConfigSchema) })\n\nexport type WitnessConfigBase = z.infer<typeof WitnessConfigZod>\n\nexport const isWitnessConfig: ReturnType<typeof zodIsFactory<WitnessConfigBase>> = zodIsFactory(WitnessConfigZod)\nexport const asWitnessConfig: ReturnType<typeof zodAsFactory<WitnessConfigBase>> = zodAsFactory(WitnessConfigZod, 'asWitnessConfig')\nexport const toWitnessConfig: ReturnType<typeof zodToFactory<WitnessConfigBase>> = zodToFactory(WitnessConfigZod, 'toWitnessConfig')\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;AAEhC,SAAS,kCAAkC;;;ACF3C,SAAS,uBAAuB;AAEhC;AAAA,EACE;AAAA,EAAmB;AAAA,EAAkB;AAAA,EAA0B;AAAA,OAC1D;;;ACLP;AAAA,EACE;AAAA,EAAc;AAAA,EAAc;AAAA,OACvB;AACP;AAAA,EACE;AAAA,EAAU;AAAA,EAAoB;AAAA,OACzB;AACP,YAAY,OAAO;AAEZ,IAAM,4BAET,SAAS,qCAAqC,IAAI;AAG/C,IAAM,yBAKP,SAAO,mBAAmB,yBAAyB,GAAG;AAAA,EAC1D,GAAG,eAAe;AAAA,EAClB,UAAY,WAAW,QAAQ,SAAO,CAAC,CAAC;AAC1C,CAAC;AAIM,IAAM,wBAA8E,aAAa,sBAAsB;AACvH,IAAM,wBAA8E,aAAa,wBAAwB,uBAAuB;AAChJ,IAAM,wBAA8E,aAAa,wBAAwB,uBAAuB;;;ADhBhJ,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;;;ADZM,IAAM,8BAA8BC,iBAAgB,OAAO,2BAA2B;;;AIH7F,SAAS,mBAAAC,wBAAuB;AAmBzB,IAAM,qCAAN,cAAkHA,iBAAmB;AAAC;;;ACnB7I;AAAA,EACE,gBAAAC;AAAA,EAAc,gBAAAC;AAAA,EAAc,gBAAAC;AAAA,OACvB;AAKP,SAAS,YAAAC,iBAAgB;AACzB,YAAYC,QAAO;AAGnB,SAAS,uBAAuB;AAEzB,IAAM,sBAETD,UAAS,8BAA8B,IAAI;AAGxC,IAAM,mBAGP,UAAO,iBAAiB,EAAE,QAAU,WAAQ,mBAAmB,EAAE,CAAC;AAIjE,IAAM,kBAAsEF,cAAa,gBAAgB;AACzG,IAAM,kBAAsED,cAAa,kBAAkB,iBAAiB;AAC5H,IAAM,kBAAsEE,cAAa,kBAAkB,iBAAiB;",
  "names": ["AsObjectFactory", "AsObjectFactory", "IsObjectFactory", "zodAsFactory", "zodIsFactory", "zodToFactory", "asSchema", "z"]
}
