{"version":3,"file":"index.umd.cjs","sources":["../src/server/types.ts","../src/client/applyMessage.ts","../src/client/isTFwsMessage.ts","../src/server/createMessageSet.ts","../src/server/createMessageUpdate.ts"],"sourcesContent":["import type { JSONStructure, TMutation } from '@traced-fabric/core';\n\nexport enum ETFwsDataType {\n  set = 'set',\n  update = 'update',\n}\n\nexport type TTFStateName = string;\n\nexport type TTFwsMessageSet = {\n  type: '@traced-fabric/ws';\n  dataType: ETFwsDataType.set;\n  value: JSONStructure;\n  stateName: TTFStateName;\n};\n\nexport type TTFwsMessageUpdate = {\n  type: '@traced-fabric/ws';\n  dataType: ETFwsDataType.update;\n  trace: TMutation[];\n  stateName: TTFStateName;\n};\n\nexport type TTFwsMessage = TTFwsMessageSet | TTFwsMessageUpdate;\n","import { applyTrace, type JSONStructure } from '@traced-fabric/core';\nimport { ETFwsDataType, type TTFwsMessage } from '../server/types';\n\nexport type TTFStateMap = {\n  [key: string]: JSONStructure;\n};\n\nexport function applyTFwsMessage(\n  data: TTFwsMessage,\n  stateMap: TTFStateMap,\n): void {\n  if (data.dataType === ETFwsDataType.set) {\n    stateMap[data.stateName] = data.value;\n    return;\n  }\n\n  applyTrace(stateMap[data.stateName], data.trace);\n}\n","export function isTFwsMessage(message: unknown): boolean {\n  return typeof message === 'object'\n    && message !== null\n    && 'type' in message\n    && message.type === '@traced-fabric/ws';\n}\n","import type { JSONStructure, TTracedFabric } from '@traced-fabric/core';\nimport { ETFwsDataType, type TTFStateName, type TTFwsMessageSet } from './types';\n\nexport function createTFwsMessageSet<T extends JSONStructure>(\n  value: TTracedFabric<T>['value'],\n  stateName: TTFStateName,\n): TTFwsMessageSet {\n  return {\n    type: '@traced-fabric/ws',\n    dataType: ETFwsDataType.set,\n    value,\n    stateName,\n  };\n}\n","import type { TMutation } from '@traced-fabric/core';\nimport { ETFwsDataType, type TTFStateName, type TTFwsMessageUpdate } from './types';\n\nexport function createTFwsMessageUpdate(\n  trace: TMutation[],\n  stateName: TTFStateName,\n): TTFwsMessageUpdate {\n  return {\n    type: '@traced-fabric/ws',\n    dataType: ETFwsDataType.update,\n    trace,\n    stateName,\n  };\n}\n"],"names":["ETFwsDataType","applyTrace"],"mappings":";;;;AAEY,MAAA,kCAAAA,mBAAL;AACLA,mBAAA,KAAM,IAAA;AACNA,mBAAA,QAAS,IAAA;AAFCA,WAAAA;AAAAA,EAAA,GAAA,iBAAA,CAAA,CAAA;ACKI,WAAA,iBACd,MACA,UACM;AACF,QAAA,KAAK,aAAa,cAAc,KAAK;AAC9B,eAAA,KAAK,SAAS,IAAI,KAAK;AAChC;AAAA,IACF;AAEAC,SAAA,WAAW,SAAS,KAAK,SAAS,GAAG,KAAK,KAAK;AAAA,EACjD;ACjBO,WAAS,cAAc,SAA2B;AAChD,WAAA,OAAO,YAAY,YACrB,YAAY,QACZ,UAAU,WACV,QAAQ,SAAS;AAAA,EACxB;ACFgB,WAAA,qBACd,OACA,WACiB;AACV,WAAA;AAAA,MACL,MAAM;AAAA,MACN,UAAU,cAAc;AAAA,MACxB;AAAA,MACA;AAAA,IAAA;AAAA,EAEJ;ACVgB,WAAA,wBACd,OACA,WACoB;AACb,WAAA;AAAA,MACL,MAAM;AAAA,MACN,UAAU,cAAc;AAAA,MACxB;AAAA,MACA;AAAA,IAAA;AAAA,EAEJ;;;;;;;;"}