Add dayjs configurator
This commit is contained in:
parent
bb375e62ea
commit
e44fc052f2
5 changed files with 16 additions and 16 deletions
10
src/dayjs.ts
Normal file
10
src/dayjs.ts
Normal file
|
@ -0,0 +1,10 @@
|
||||||
|
import dayjs, {Dayjs} from 'dayjs';
|
||||||
|
import duration, {Duration} from 'dayjs/plugin/duration.js';
|
||||||
|
import customParseFormat from 'dayjs/plugin/customParseFormat.js';
|
||||||
|
|
||||||
|
dayjs.extend(duration);
|
||||||
|
dayjs.extend(customParseFormat);
|
||||||
|
|
||||||
|
export default dayjs;
|
||||||
|
|
||||||
|
export type {Dayjs, Duration};
|
|
@ -1,4 +1,4 @@
|
||||||
import dayjs, { Dayjs } from 'dayjs';
|
import dayjs, { Dayjs } from './dayjs';
|
||||||
import { Duration } from 'dayjs/plugin/duration.js';
|
import { Duration } from 'dayjs/plugin/duration.js';
|
||||||
import Language from './types/Language';
|
import Language from './types/Language';
|
||||||
import { MessageKey, message } from './i18n';
|
import { MessageKey, message } from './i18n';
|
||||||
|
|
|
@ -1,15 +1,12 @@
|
||||||
import chalk from 'chalk';
|
import chalk from 'chalk';
|
||||||
import { Duration } from 'dayjs/plugin/duration';
|
|
||||||
import { parseDuration, parseTimestamp } from './parse';
|
import { parseDuration, parseTimestamp } from './parse';
|
||||||
import * as readline from 'readline/promises';
|
import * as readline from 'readline/promises';
|
||||||
import { formatDuration, formatTime } from './format';
|
import { formatDuration, formatTime } from './format';
|
||||||
import dayjs, { Dayjs } from 'dayjs';
|
import { Dayjs } from 'dayjs';
|
||||||
import { WtcPromptResult } from './types/WtcPromptResult';
|
import { WtcPromptResult } from './types/WtcPromptResult';
|
||||||
import duration from 'dayjs/plugin/duration.js';
|
|
||||||
import WtcConfig from './types/WtcConfig';
|
import WtcConfig from './types/WtcConfig';
|
||||||
import { MessageKey, message } from './i18n';
|
import { MessageKey, message } from './i18n';
|
||||||
|
import dayjs, { Duration } from './dayjs';
|
||||||
dayjs.extend(duration);
|
|
||||||
|
|
||||||
const { error } = console;
|
const { error } = console;
|
||||||
|
|
||||||
|
@ -123,7 +120,7 @@ const input = async (config: WtcConfig): Promise<WtcPromptResult> => {
|
||||||
const logged = parseDuration(loggedAnswer);
|
const logged = parseDuration(loggedAnswer);
|
||||||
const unLogged = worked.subtract(logged);
|
const unLogged = worked.subtract(logged);
|
||||||
const workLeft = workDayDuration.subtract(worked);
|
const workLeft = workDayDuration.subtract(worked);
|
||||||
let workLeftMinutes = workLeft.asMinutes();
|
const workLeftMinutes = workLeft.asMinutes();
|
||||||
let workedOvertime: Duration | undefined;
|
let workedOvertime: Duration | undefined;
|
||||||
|
|
||||||
if (workLeftMinutes < 0) {
|
if (workLeftMinutes < 0) {
|
||||||
|
|
|
@ -3,11 +3,9 @@ import { formatDuration, getHoursRoundedStr } from './format';
|
||||||
import { WtcPromptResult } from './types/WtcPromptResult';
|
import { WtcPromptResult } from './types/WtcPromptResult';
|
||||||
import { MessageKey, message } from './i18n.js';
|
import { MessageKey, message } from './i18n.js';
|
||||||
import WtcConfig from './types/WtcConfig';
|
import WtcConfig from './types/WtcConfig';
|
||||||
import duration from 'dayjs/plugin/duration.js';
|
import dayjs from './dayjs';
|
||||||
import dayjs from 'dayjs';
|
|
||||||
|
|
||||||
const { log } = console;
|
const { log } = console;
|
||||||
dayjs.extend(duration);
|
|
||||||
|
|
||||||
const output = (result: WtcPromptResult, config: WtcConfig) => {
|
const output = (result: WtcPromptResult, config: WtcConfig) => {
|
||||||
const { language, timestampFormat } = config;
|
const { language, timestampFormat } = config;
|
||||||
|
|
|
@ -1,9 +1,4 @@
|
||||||
import dayjs, { Dayjs } from 'dayjs';
|
import dayjs, { Dayjs, Duration } from './dayjs';
|
||||||
import customParseFormat from 'dayjs/plugin/customParseFormat.js';
|
|
||||||
import duration, { Duration } from 'dayjs/plugin/duration.js';
|
|
||||||
|
|
||||||
dayjs.extend(customParseFormat);
|
|
||||||
dayjs.extend(duration);
|
|
||||||
|
|
||||||
export const parseTimestamp = (time: string): Dayjs => (time === 'now' ? dayjs() : dayjs(time, 'HH:mm', true));
|
export const parseTimestamp = (time: string): Dayjs => (time === 'now' ? dayjs() : dayjs(time, 'HH:mm', true));
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue