summaryrefslogtreecommitdiff
path: root/cli/js/ops/fs/truncate.ts
blob: 861e843f8661e2e7b127636c2e89ac18f4f0d4ea (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
// Copyright 2018-2020 the Deno authors. All rights reserved. MIT license.
import { sendSync, sendAsync } from "../dispatch_json.ts";

function coerceLen(len?: number): number {
  if (!len) {
    return 0;
  }

  if (len < 0) {
    return 0;
  }

  return len;
}

export function truncateSync(path: string, len?: number): void {
  sendSync("op_truncate", { path, len: coerceLen(len) });
}

export async function truncate(path: string, len?: number): Promise<void> {
  await sendAsync("op_truncate", { path, len: coerceLen(len) });
}