@gsretail.com/gui-core
Version:
A skeleton to create your own React component library using Rollup, TypeScript, Sass and Storybook
2 lines (1 loc) • 1.79 kB
JavaScript
const n=(n,t,e)=>{const o=n.date(t);return null===t?"":n.isValid(o)?n.formatByString(o,e):""};function t(n,t,e,o){if(n)return n;const r=o.formatByString(o.date("2019-01-01T09:00:00.000"),t).replace(e,"_");return r===o.formatByString(o.date("2019-11-21T22:30:00.000"),t).replace(e,"_")?r:("production"!==process.env.NODE_ENV&&console.warn(["Mask does not support numbers with variable length such as 'M'.","Either use numbers with fix length or disable mask feature with 'disableMaskedInput' prop","Falling down to uncontrolled no-mask input."].join("\n")),"")}function e(n,t,e,o){if(!n)return!1;const r=o.formatByString(o.date("2019-01-01T09:00:00.000"),t).replace(e,"_"),s=o.formatByString(o.date("2019-11-21T22:30:00.000"),t).replace(e,"_"),a=s===r&&n===s;return a||"luxon"===o.lib||"production"===process.env.NODE_ENV||(t.includes("MMM")?console.warn(["Mask does not support literals such as 'MMM'.","Either use numbers with fix length or disable mask feature with 'disableMaskedInput' prop","Falling down to uncontrolled no-mask input."].join("\n")):s&&s!==r?console.warn(["Mask does not support numbers with variable length such as 'M'.","Either use numbers with fix length or disable mask feature with 'disableMaskedInput' prop","Falling down to uncontrolled no-mask input."].join("\n")):n&&console.warn([`The mask "${n}" you passed is not valid for the format used ${t}.`,"Falling down to uncontrolled no-mask input."].join("\n"))),a}const o=(n,t)=>e=>{let o=0;return e.split("").map(((r,s)=>{if(t.lastIndex=0,o>n.length-1)return"";const a=n[o],i=n[o+1],l=t.test(r)?r:"",u="_"===a?l:a+l;o+=u.length;return s===e.length-1&&i&&"_"!==i?u?u+i:"":u})).join("")};export{e as checkMaskIsValidForCurrentFormat,n as getDisplayDate,t as getMaskFromCurrentFormat,o as maskedDateFormatter};