{"version":3,"sources":["../../src/structs/Weight.ts"],"sourcesContent":["import { UnitOfWeight } from '../enums/UnitOfWeight';\nimport { Struct, required } from '@thisisagile/easy';\n\nexport class Weight extends Struct {\n  @required() readonly value = this.state.value as number;\n  readonly uow = UnitOfWeight.byId<UnitOfWeight>(this.state.uow, UnitOfWeight.G);\n\n  /**\n    @deprecated use inGrams getter instead\n   */\n  sizeInG(): number {\n    return this.inGrams;\n  }\n\n  get inGrams(): number {\n    return this.value * this.uow.gMultiplier;\n  }\n\n  gte(w: Weight): boolean {\n    return this.inGrams >= w.inGrams;\n  }\n  lte(w: Weight): boolean {\n    return this.inGrams <= w.inGrams;\n  }\n\n  between(lower: Weight, upper = weight(Number.MAX_VALUE, this.uow)) {\n    return this.gte(lower) && this.lte(upper);\n  }\n  sum(add: Weight): Weight {\n    return weight((this.inGrams + add.inGrams) / this.uow.gMultiplier, this.uow);\n  }\n}\n\nexport const weight = (value: number, uow?: UnitOfWeight): Weight => new Weight({ value, uow });\n"],"mappings":";;;;;;;;AACA,SAAS,QAAQ,gBAAgB;AAE1B,IAAM,SAAN,cAAqB,OAAO;AAAA,EACZ,QAAQ,KAAK,MAAM;AAAA,EAC/B,MAAM,aAAa,KAAmB,KAAK,MAAM,KAAK,aAAa,CAAC;AAAA;AAAA;AAAA;AAAA,EAK7E,UAAkB;AAChB,WAAO,KAAK;AAAA,EACd;AAAA,EAEA,IAAI,UAAkB;AACpB,WAAO,KAAK,QAAQ,KAAK,IAAI;AAAA,EAC/B;AAAA,EAEA,IAAI,GAAoB;AACtB,WAAO,KAAK,WAAW,EAAE;AAAA,EAC3B;AAAA,EACA,IAAI,GAAoB;AACtB,WAAO,KAAK,WAAW,EAAE;AAAA,EAC3B;AAAA,EAEA,QAAQ,OAAe,QAAQ,OAAO,OAAO,WAAW,KAAK,GAAG,GAAG;AACjE,WAAO,KAAK,IAAI,KAAK,KAAK,KAAK,IAAI,KAAK;AAAA,EAC1C;AAAA,EACA,IAAI,KAAqB;AACvB,WAAO,QAAQ,KAAK,UAAU,IAAI,WAAW,KAAK,IAAI,aAAa,KAAK,GAAG;AAAA,EAC7E;AACF;AA3BuB;AAAA,EAApB,SAAS;AAAA,GADC,OACU;AA6BhB,IAAM,SAAS,CAAC,OAAe,QAA+B,IAAI,OAAO,EAAE,OAAO,IAAI,CAAC;","names":[]}