{"version":3,"file":"Brand.mjs","sources":["../../../src/util/Brand.ts"],"sourcesContent":["export const brandSymbol = Symbol('brand');\n/**\n * Create an object of a specific type Brand\n * string branded type.\n *\n * @param brand: The string to Brand onto a simple object\n * @returns A branded empty object\n *\n * @example\n * brand('example') => {[brandSymbol]: 'example'}\n *\n * Which I might use like this:\n * const myType = {content: \"default content\", ...brand<'example'>}\n */\nexport function brand(brand) {\n    return {\n        [brandSymbol]: brand,\n    };\n}\n/**\n *\n * @param branded: Branded object\n * @returns The string brand value\n */\nexport function getBrand(branded) {\n    return branded[brandSymbol];\n}\n"],"names":[],"mappings":"AAAY,MAAC,WAAW,GAAG,MAAM,CAAC,OAAO;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,SAAS,KAAK,CAAC,KAAK,EAAE;AAC7B,IAAI,OAAO;AACX,QAAQ,CAAC,WAAW,GAAG,KAAK;AAC5B,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACO,SAAS,QAAQ,CAAC,OAAO,EAAE;AAClC,IAAI,OAAO,OAAO,CAAC,WAAW,CAAC;AAC/B;;;;"}