UNPKG

@tko/filter.punches

Version:

TKO filters from knockout punches

8 lines (7 loc) 3.18 kB
{ "version": 3, "sources": ["../src/index.ts"], "sourcesContent": ["\nimport {\n unwrap, toJS\n} from '@tko/observable'\n\nvar sproto = String.prototype\n\nvar filters = {}\n\n// Convert value to uppercase\nfilters.uppercase = function (value) {\n return sproto.toUpperCase.call(unwrap(value))\n}\n\n// Convert value to lowercase\nfilters.lowercase = function (value) {\n return sproto.toLowerCase.call(unwrap(value))\n}\n\n// Return default value if the input value is empty or null\nfilters['default'] = function (value, defaultValue) {\n value = unwrap(value)\n if (typeof value === 'function') {\n return value\n }\n if (typeof value === 'string') {\n return sproto.trim.call(value) === '' ? defaultValue : value\n }\n return value == null || value.length == 0 ? defaultValue : value\n}\n\n// Return the value with the search string replaced with the replacement string\nfilters.replace = function (value, search, replace) {\n return sproto.replace.call(unwrap(value), search, replace)\n}\n\nfilters.fit = function (value, length, replacement, trimWhere) {\n value = unwrap(value)\n if (length && ('' + value).length > length) {\n replacement = '' + (replacement || '...')\n length = length - replacement.length\n value = '' + value\n switch (trimWhere) {\n case 'left':\n return replacement + value.slice(-length)\n case 'middle':\n var leftLen = Math.ceil(length / 2)\n return value.substr(0, leftLen) + replacement + value.slice(leftLen - length)\n default:\n return value.substr(0, length) + replacement\n }\n } else {\n return value\n }\n}\n\n// Convert a model object to JSON\nfilters.json = function (rootObject, space, replacer) {\n // replacer and space are optional\n return JSON.stringify(toJS(rootObject), replacer, space)\n}\n\n// Format a number using the browser's toLocaleString\nfilters.number = function (value) {\n return (+unwrap(value)).toLocaleString()\n}\n\n// Export the filters object for general access\nexport { filters }\n"], "mappings": ";AACA;AAAA;AAAA;AAAA;AAIA,IAAI,SAAS,OAAO;AAEpB,IAAI,UAAU,CAAC;AAGf,QAAQ,YAAY,SAAU,OAAO;AACnC,SAAO,OAAO,YAAY,KAAK,OAAO,KAAK,CAAC;AAC9C;AAGA,QAAQ,YAAY,SAAU,OAAO;AACnC,SAAO,OAAO,YAAY,KAAK,OAAO,KAAK,CAAC;AAC9C;AAGA,QAAQ,aAAa,SAAU,OAAO,cAAc;AAClD,UAAQ,OAAO,KAAK;AACpB,MAAI,OAAO,UAAU,YAAY;AAC/B,WAAO;AAAA,EACT;AACA,MAAI,OAAO,UAAU,UAAU;AAC7B,WAAO,OAAO,KAAK,KAAK,KAAK,MAAM,KAAK,eAAe;AAAA,EACzD;AACA,SAAO,SAAS,QAAQ,MAAM,UAAU,IAAI,eAAe;AAC7D;AAGA,QAAQ,UAAU,SAAU,OAAO,QAAQ,SAAS;AAClD,SAAO,OAAO,QAAQ,KAAK,OAAO,KAAK,GAAG,QAAQ,OAAO;AAC3D;AAEA,QAAQ,MAAM,SAAU,OAAO,QAAQ,aAAa,WAAW;AAC7D,UAAQ,OAAO,KAAK;AACpB,MAAI,UAAW,MAAK,OAAO,SAAS,QAAQ;AAC1C,kBAAc,KAAM,gBAAe;AACnC,aAAS,SAAS,YAAY;AAC9B,YAAQ,KAAK;AACb,YAAQ;AAAA,WACD;AACH,eAAO,cAAc,MAAM,MAAM,CAAC,MAAM;AAAA,WACrC;AACH,YAAI,UAAU,KAAK,KAAK,SAAS,CAAC;AAClC,eAAO,MAAM,OAAO,GAAG,OAAO,IAAI,cAAc,MAAM,MAAM,UAAU,MAAM;AAAA;AAE5E,eAAO,MAAM,OAAO,GAAG,MAAM,IAAI;AAAA;AAAA,EAEvC,OAAO;AACL,WAAO;AAAA,EACT;AACF;AAGA,QAAQ,OAAO,SAAU,YAAY,OAAO,UAAU;AAEpD,SAAO,KAAK,UAAU,KAAK,UAAU,GAAG,UAAU,KAAK;AACzD;AAGA,QAAQ,SAAS,SAAU,OAAO;AAChC,SAAQ,EAAC,OAAO,KAAK,GAAG,eAAe;AACzC;AAGA;", "names": [] }