UNPKG

@toreda/strong-types

Version:

Better TypeScript code in fewer lines.

1 lines 3.36 kB
{"version":3,"sources":["../src/css/font.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAGH,OAAO,KAAK,EAAC,YAAY,EAAC,MAAM,mBAAmB,CAAC;AAEpD,OAAO,KAAK,EAAC,MAAM,EAAC,MAAM,WAAW,CAAC;AACtC,OAAO,EAAC,SAAS,EAAC,MAAM,QAAQ,CAAC;AAIjC;;GAEG;AACH,qBAAa,OAAQ,SAAQ,SAAS;IACrC,SAAgB,KAAK,EAAE,YAAY,CAAC;IACpC,SAAgB,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC;IACvC,SAAgB,UAAU,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC;IAC3C,SAAgB,IAAI,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC;IACrC,SAAgB,OAAO,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC;IACxC,SAAgB,OAAO,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC;IACxC,SAAgB,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC;;IAgBhC,KAAK,IAAI,IAAI;CASpB","file":"font.d.ts","sourcesContent":["/**\n *\tMIT License\n *\n *\tCopyright (c) 2019 - 2021 Toreda, Inc.\n *\n *\tPermission is hereby granted, free of charge, to any person obtaining a copy\n *\tof this software and associated documentation files (the \"Software\"), to deal\n *\tin the Software without restriction, including without limitation the rights\n *\tto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n *\tcopies of the Software, and to permit persons to whom the Software is\n *\tfurnished to do so, subject to the following conditions:\n\n * \tThe above copyright notice and this permission notice shall be included in all\n * \tcopies or substantial portions of the Software.\n *\n * \tTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n *\tIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n *\tFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * \tAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n *\tLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n *\tOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n * \tSOFTWARE.\n *\n */\n\nimport {Defaults} from '../defaults';\nimport type {HexColorCode} from '../hex/color/code';\nimport {Rules} from '../rules';\nimport type {Strong} from '../strong';\nimport {StrongMap} from '../map';\nimport {hexColorCodeMake} from '../hex/color/code/make';\nimport {strongMake} from '../strong/make';\n\n/**\n * @category CSS\n */\nexport class CSSFont extends StrongMap {\n\tpublic readonly color: HexColorCode;\n\tpublic readonly family: Strong<string>;\n\tpublic readonly lineHeight: Strong<string>;\n\tpublic readonly size: Strong<string>;\n\tpublic readonly stretch: Strong<string>;\n\tpublic readonly variant: Strong<string>;\n\tpublic readonly weight: Strong<string>;\n\n\tconstructor() {\n\t\tsuper();\n\n\t\tconst colorRules: Rules<string> = new Rules();\n\t\tcolorRules.add().must.match.pattern.hexColor();\n\t\tthis.color = hexColorCodeMake(Defaults.CSS.Font.Color);\n\t\tthis.family = strongMake<string>(Defaults.CSS.Font.Family);\n\t\tthis.lineHeight = strongMake<string>(Defaults.CSS.Font.LineHeight);\n\t\tthis.size = strongMake<string>(Defaults.CSS.Font.Size);\n\t\tthis.stretch = strongMake<string>(Defaults.CSS.Font.Stretch);\n\t\tthis.variant = strongMake<string>(Defaults.CSS.Font.Variant);\n\t\tthis.weight = strongMake<string>(Defaults.CSS.Font.Weight);\n\t}\n\n\tpublic reset(): void {\n\t\tthis.color.reset();\n\t\tthis.family.reset();\n\t\tthis.lineHeight.reset();\n\t\tthis.size.reset();\n\t\tthis.stretch.reset();\n\t\tthis.variant.reset();\n\t\tthis.weight.reset();\n\t}\n}\n"]}