From e38f1a3469e11b56a65ad21fd6ff55badb80d77b Mon Sep 17 00:00:00 2001 From: Ali Ijaz Sheikh Date: Tue, 9 Apr 2019 22:30:53 -0700 Subject: [PATCH 1/2] fix(types): improve types for LogEntry Fixes: https://github.com/googleapis/nodejs-logging/issues/442 --- package.json | 1 + src/entry.ts | 19 ++++++++++++------- 2 files changed, 13 insertions(+), 7 deletions(-) diff --git a/package.json b/package.json index 4dd0dc20..cbeedfe2 100644 --- a/package.json +++ b/package.json @@ -115,6 +115,7 @@ "prettier": "^1.15.1", "proxyquire": "^2.1.0", "sinon": "^7.2.5", + "type-fest": "^0.3.1", "typescript": "~3.4.0", "uuid": "^3.3.2" } diff --git a/src/entry.ts b/src/entry.ts index 7dc535c8..f6c2ff02 100644 --- a/src/entry.ts +++ b/src/entry.ts @@ -15,6 +15,7 @@ */ import {Service} from '@google-cloud/common-grpc'; +import {Merge} from 'type-fest'; // tslint:disable-next-line variable-name const EventId = require('eventid'); import * as extend from 'extend'; @@ -23,13 +24,17 @@ import {google} from '../proto/logging'; const eventId = new EventId(); -export type LogEntry = google.logging.v2.ILogEntry; -export type Timestamp = google.protobuf.IDuration; +export type Timestamp = google.protobuf.ITimestamp|Date; +export type LogSeverity = google.logging.type.LogSeverity|string; +export type LogEntry = Merge; // tslint:disable-next-line no-any export type Data = any; export interface EntryJson { - timestamp: Timestamp|Date; + timestamp: Timestamp; insertId: number; jsonPayload?: google.protobuf.IStruct; textPayload?: string; @@ -174,10 +179,10 @@ class Entry { data = (Service as any).structToObj_(data); } const serializedEntry = new Entry(entry, data); - if (serializedEntry.metadata.timestamp) { - let ms = Number(serializedEntry.metadata.timestamp.seconds) * 1000; - ms += Number(serializedEntry.metadata.timestamp.nanos) / 1e6; - serializedEntry.metadata.timestamp = new Date(ms) as Timestamp; + if (entry.timestamp) { + let ms = Number(entry.timestamp.seconds) * 1000; + ms += Number(entry.timestamp.nanos) / 1e6; + serializedEntry.metadata.timestamp = new Date(ms); } return serializedEntry; } From ee07b4990b6617da1d9d8fbb4f9d70608f1b88d7 Mon Sep 17 00:00:00 2001 From: Ali Ijaz Sheikh Date: Wed, 10 Apr 2019 10:19:30 -0700 Subject: [PATCH 2/2] type-fest needs to be a dep not devDep --- package.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/package.json b/package.json index cbeedfe2..de85fb84 100644 --- a/package.json +++ b/package.json @@ -72,7 +72,8 @@ "pumpify": "^1.5.1", "snakecase-keys": "^2.0.0", "stream-events": "^1.0.4", - "through2": "^3.0.0" + "through2": "^3.0.0", + "type-fest": "^0.3.1" }, "devDependencies": { "@google-cloud/bigquery": "^3.0.0", @@ -115,7 +116,6 @@ "prettier": "^1.15.1", "proxyquire": "^2.1.0", "sinon": "^7.2.5", - "type-fest": "^0.3.1", "typescript": "~3.4.0", "uuid": "^3.3.2" }