{
  "version": 3,
  "sources": ["../src/RoomData.ts"],
  "sourcesContent": ["import { type IRoomCache, logger } from '@colyseus/core';\nimport { Redis, type Cluster } from 'ioredis';\n\nexport class RoomData implements IRoomCache {\n  public clients: number = 0;\n  public locked: boolean = false;\n  public private: boolean = false;\n  public maxClients: number = Infinity;\n  public metadata: any;\n  public name: string;\n  public publicAddress: string;\n  public processId: string;\n  public roomId: string;\n  public createdAt: Date;\n  public unlisted: boolean = false;\n\n  #client: Redis | Cluster;\n\n  constructor(\n    initialValues: any,\n    client: Redis | Cluster\n  ) {\n    this.#client = client;\n\n    this.createdAt = (initialValues && initialValues.createdAt)\n      ? new Date(initialValues.createdAt)\n      : new Date();\n\n    for (const field in initialValues) {\n      if (initialValues.hasOwnProperty(field)) {\n        this[field] = initialValues[field];\n      }\n    }\n  }\n\n  public toJSON() {\n    return {\n      clients: this.clients,\n      createdAt: this.createdAt,\n      maxClients: this.maxClients,\n      metadata: this.metadata,\n      name: this.name,\n      publicAddress: this.publicAddress,\n      processId: this.processId,\n      roomId: this.roomId,\n    };\n  }\n}\n"],
  "mappings": ";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,kBAAwC;AACxC,qBAAoC;AAE7B,IAAM,WAAN,MAAqC;AAAA,EAe1C,YACE,eACA,QACA;AAjBF,SAAO,UAAkB;AACzB,SAAO,SAAkB;AACzB,SAAO,UAAmB;AAC1B,SAAO,aAAqB;AAO5B,SAAO,WAAoB;AAQzB,SAAK,UAAU;AAEf,SAAK,YAAa,iBAAiB,cAAc,YAC7C,IAAI,KAAK,cAAc,SAAS,IAChC,oBAAI,KAAK;AAEb,eAAW,SAAS,eAAe;AACjC,UAAI,cAAc,eAAe,KAAK,GAAG;AACvC,aAAK,KAAK,IAAI,cAAc,KAAK;AAAA,MACnC;AAAA,IACF;AAAA,EACF;AAAA,EAjBA;AAAA,EAmBO,SAAS;AACd,WAAO;AAAA,MACL,SAAS,KAAK;AAAA,MACd,WAAW,KAAK;AAAA,MAChB,YAAY,KAAK;AAAA,MACjB,UAAU,KAAK;AAAA,MACf,MAAM,KAAK;AAAA,MACX,eAAe,KAAK;AAAA,MACpB,WAAW,KAAK;AAAA,MAChB,QAAQ,KAAK;AAAA,IACf;AAAA,EACF;AACF;",
  "names": []
}
