{"version":3,"file":"time.mjs","sources":["../../src/time.ts"],"sourcesContent":["/**\n * @ Author: Hanrea\n * @ version: 2023-03-06 13:14:21\n * @ copyright: Vecmat (c) - <hi(at)vecmat.com>\n */\nimport moment from \"moment\";\nimport lodash from \"lodash\";\n\n/**\n *\n *\n * @param {string} f\n * @returns {*}\n */\nconst dateFn = function (f: string) {\n    // let Week = ['日', '一', '二', '三', '四', '五', '六'];\n    f = f.replace(/yyyy/, \"YYYY\");\n    f = f.replace(/yy/, \"YY\");\n    if (f.search(/^YY+.mm/) > -1) f = f.replace(/mm/, \"MM\");\n\n    f = f.replace(/mi|MI/, \"mm\");\n    // f = f.replace(/w|W/g, Week[d.getDay()]);\n    f = f.replace(/dd/, \"DD\");\n    return f;\n};\n\n/**\n * Date time stamp and formatting\n *\n * @export\n * @param {(number | string | undefined)} date\n * @param {string} [format] defaults  'YYYY-MM-DD hh:mi:ss.SSS'\n * @param {number} [offset] defaults  8\n * @returns {(number | string)}\n */\nexport function dateTime(date?: number | string | undefined, format?: string, offset = 8): number | string {\n    if (format === undefined) {\n        // datetime() => now timestamp\n        if (lodash.isString(date)) {\n            // datetime('2017-01-01') => timestamp\n            return Math.floor(new Date(date).getTime() / 1000);\n        } else {\n            return Math.floor(Date.now() / 1000);\n        }\n    } else {\n        if (format) format = dateFn(format);\n        else format = \"YYYY-MM-DD HH:mm:ss.SSS\";\n\n        if (date && lodash.isNumber(date)) {\n            if (date < 10000000000)\n                return moment\n                    .unix(date as number)\n                    .utcOffset(offset)\n                    .format(format);\n            else return moment(date).utcOffset(offset).format(format);\n        }\n        if (date && lodash.isString(date))\n            return moment(new Date(Date.parse(date as string)))\n                .utcOffset(offset)\n                .format(format);\n\n        return moment().utcOffset(offset).format(format);\n    }\n}\n"],"names":[],"mappings":";;;AAAA;;;;AAIG;AAIH;;;;;AAKG;AACH,MAAM,MAAM,GAAG,UAAU,CAAS,EAAA;;IAE9B,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC9B,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IAC1B,IAAI,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;QAAE,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IAExD,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;;IAE7B,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;AAC1B,IAAA,OAAO,CAAC,CAAC;AACb,CAAC,CAAC;AAEF;;;;;;;;AAQG;AACG,SAAU,QAAQ,CAAC,IAAkC,EAAE,MAAe,EAAE,MAAM,GAAG,CAAC,EAAA;AACpF,IAAA,IAAI,MAAM,KAAK,SAAS,EAAE;;AAEtB,QAAA,IAAI,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE;;AAEvB,YAAA,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC,CAAC;SACtD;aAAM;YACH,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC;SACxC;KACJ;SAAM;AACH,QAAA,IAAI,MAAM;AAAE,YAAA,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC;;YAC/B,MAAM,GAAG,yBAAyB,CAAC;QAExC,IAAI,IAAI,IAAI,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE;YAC/B,IAAI,IAAI,GAAG,WAAW;AAClB,gBAAA,OAAO,MAAM;qBACR,IAAI,CAAC,IAAc,CAAC;qBACpB,SAAS,CAAC,MAAM,CAAC;qBACjB,MAAM,CAAC,MAAM,CAAC,CAAC;;AACnB,gBAAA,OAAO,MAAM,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;SAC7D;AACD,QAAA,IAAI,IAAI,IAAI,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC;AAC7B,YAAA,OAAO,MAAM,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,IAAc,CAAC,CAAC,CAAC;iBAC9C,SAAS,CAAC,MAAM,CAAC;iBACjB,MAAM,CAAC,MAAM,CAAC,CAAC;AAExB,QAAA,OAAO,MAAM,EAAE,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;KACpD;AACL;;;;"}