小编ttq*_*750的帖子

Luxon DateTime:添加扩展类型

基于https://github.com/moment/luxon/issues/260。我想将扩展添加到DateTime中,如下所示:

import { DateTime } from 'luxon';

function fromUnix(tsp?: number): DateTime {
  return DateTime.fromMillis(tsp * 1000);
}

function toUnix(): number {
  const seconds = (this as DateTime).toSeconds();
  return parseInt(String(seconds));
}

if (!DateTime.prototype.fromUnix) {
  DateTime.prototype.fromUnix = fromUnix;
}

if (!DateTime.prototype.toUnix) {
  DateTime.prototype.toUnix = toUnix;
}
Run Code Online (Sandbox Code Playgroud)

但我不知道如何为上述方法添加类型定义以让打字稿检查它。

我已经尝试过以下操作

declare module 'luxon/src/datetime' {
  interface DateTime {
    fromUnix(tsp?: number): DateTime;
    toUnix():  number;
  }
}
Run Code Online (Sandbox Code Playgroud)

但它会抛出一个错误,例如'DateTime' only refers to a type, but is being used as a value here.当我使用 …

javascript typescript luxon

3
推荐指数
1
解决办法
1536
查看次数

标签 统计

javascript ×1

luxon ×1

typescript ×1