@toreda/strong-types
Version:
Better TypeScript code in fewer lines.
1 lines • 2.67 kB
Source Map (JSON)
{"version":3,"sources":["../src/rule/have.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAEH,OAAO,EAAC,WAAW,EAAkB,MAAM,iBAAiB,CAAC;AAC7D,OAAO,EAAC,OAAO,EAAc,MAAM,aAAa,CAAC;AACjD,OAAO,EAAC,YAAY,EAAmB,MAAM,mBAAmB,CAAC;AAEjE,OAAO,EAAC,IAAI,EAAC,MAAM,SAAS,CAAC;AAC7B,OAAO,EAAC,UAAU,EAAC,MAAM,UAAU,CAAC;AACpC,OAAO,EAAC,QAAQ,EAAC,MAAM,QAAQ,CAAC;AAEhC;;GAEG;AACH,qBAAa,QAAQ;IACpB,SAAgB,IAAI,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC;IACxC,SAAgB,SAAS,EAAE,YAAY,CAAC,QAAQ,CAAC,CAAC;IAClD,SAAgB,MAAM,EAAE,UAAU,CAAC;IACnC,SAAgB,QAAQ,EAAE,WAAW,CAAC,QAAQ,CAAC,CAAC;gBAEpC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ;CAMtC","file":"have.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 {HasProperty, hasPropertyMake} from '../has/property';\nimport {HasText, hasTextMake} from '../has/text';\nimport {HasTextTimes, hasTextTimesMake} from '../has/text/times';\n\nimport {Rule} from '../rule';\nimport {RuleLength} from './length';\nimport {RuleMods} from './mods';\n\n/**\n * @category Rules\n */\nexport class RuleHave {\n\tpublic readonly text: HasText<RuleHave>;\n\tpublic readonly textTimes: HasTextTimes<RuleHave>;\n\tpublic readonly length: RuleLength;\n\tpublic readonly property: HasProperty<RuleHave>;\n\n\tconstructor(rule: Rule, mods: RuleMods) {\n\t\tthis.length = new RuleLength(rule, mods);\n\t\tthis.property = hasPropertyMake<RuleHave>(this, rule, mods);\n\t\tthis.text = hasTextMake<RuleHave>(this, rule, mods);\n\t\tthis.textTimes = hasTextTimesMake<RuleHave>(this, rule, mods);\n\t}\n}\n"]}