Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(867)

Unified Diff: web/inc/logdog-stream/logdog.ts

Issue 2570963003: Revert of Rewrite LogDog log viewer app. (Closed)
Patch Set: Created 4 years ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « web/inc/logdog-stream-view/viewer.ts ('k') | web/inc/logdog-stream/logdog-error.html » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: web/inc/logdog-stream/logdog.ts
diff --git a/web/inc/logdog-stream/logdog.ts b/web/inc/logdog-stream/logdog.ts
deleted file mode 100644
index d79dcb683518bdf4c87578cc3d43b40d0c146d0a..0000000000000000000000000000000000000000
--- a/web/inc/logdog-stream/logdog.ts
+++ /dev/null
@@ -1,169 +0,0 @@
-/*
- Copyright 2016 The LUCI Authors. All rights reserved.
- Use of this source code is governed under the Apache License, Version 2.0
- that can be found in the LICENSE file.
-*/
-
-export module LogDog {
- /** Locally-typed LogStreamDescriptor class. */
- export interface LogStreamDescriptor {
- readonly timestamp: Date;
- }
-
- export function makeLogStreamDescriptor(desc: any): LogStreamDescriptor {
- desc.timestamp = new Date(desc.timestamp);
- return desc;
- }
-
- export interface LogStreamState {
- created: Date;
- terminalIndex: number;
- archive: {
-
- };
- }
-
- export function makeLogStreamState(state: any): LogStreamState {
- state.created = new Date(state.created);
- state.terminalIndex = int64(state.terminalIndex);
- return state;
- }
-
- /** Locally-typed LogEntry class. */
- export type LogEntry = {
- prefixIndex: number;
- streamIndex: number;
- timeOffset: number;
-
- desc: LogStreamDescriptor | null;
- timestamp: Date | null;
-
- text?: {
- lines?: {
- value?: string;
- delimiter?: string;
- }[];
- };
- }
-
- export function makeLogEntry(le: any, desc: LogStreamDescriptor): LogEntry {
- le.timeOffset = durationProtoToMillis(le.timeOffset);
- le.prefixIndex = int64(le.prefixIndex);
- le.streamIndex = int64(le.streamIndex);
-
- if (desc) {
- le.desc = desc;
- le.timestamp = addMillisecondsToDate(desc.timestamp, le.timeOffset);
- }
- return le;
- }
-
- /** A log stream project/path qualifier. */
- export class Stream {
- constructor(readonly project: string, readonly path: string) {}
-
- fullName(): string {
- return this.project + "/" + this.path;
- }
-
- get prefix(): string {
- let sepIdx = this.path.indexOf("/+");
- if (sepIdx > 0) {
- return this.path.substring(0, sepIdx);
- }
- return this.path;
- }
-
- get name(): string {
- const sep = "/+/";
- let sepIdx = this.path.indexOf(sep);
- if (sepIdx < 0) {
- return "";
- }
- return this.path.substring(sepIdx + sep.length);
- }
-
- samePrefixAs(other: Stream): boolean {
- return (
- (this.project === other.project) &&
- (this.prefix === other.prefix));
- }
-
- static splitProject(v: string): Stream {
- let parts = Stream.split(v, 2);
- if (parts.length === 1) {
- return new Stream(v, "");
- }
- return new Stream(parts[0], parts[1]);
- }
-
- static split = function(v: string, count: number): string[] {
- let parts = v.split("/");
- if (!count) {
- return parts;
- }
- let result = parts.splice(0, count-1);
- if (parts.length) {
- result.push(parts.join("/"));
- }
- return result;
- };
-
- static cmp(a: Stream, b: Stream): number {
- if (a.project < b.project) {
- return -1;
- }
- if (a.project > b.project) {
- return 1;
- }
- return (a.path < b.path) ? -1 : ((a.path > b.path) ? 1 : 0);
- };
- }
-
- /**
- * Converts a string int64 into a Javascript number.
- *
- * Note that Javascript cannot hold a value larger than 2^53-1. If log streams
- * ever approach this length, we will need to rework this value as an integer-
- * string with helper functions.
- */
- function int64(s: string): number {
- if (!s) {
- return 0;
- }
-
- let value = parseInt(s, 10);
- if (isNaN(value)) {
- throw new Error("Value is not a number: " + s);
- }
- return value;
- }
-
- /**
- * Adds a specified duration protobuf to the supplied Date.
- *
- * Duration protos are expressed as a string referencing a floating point
- * number of seconds followed by the letter "s":
- * - "1337s"
- * - "3.141592s"
- */
- function durationProtoToMillis(value: string): number {
- if ((!value) || value.charAt(value.length - 1) !== "s") {
- throw new Error("Seconds string does not end in 's': " + value);
- }
- return (parseFloat(value) * 1000.0);
- }
-
- /**
- * Returns a new Date object whose value is the initial date object with the
- * specified number of milliseconds added to it.
- *
- * @param d {Date} The base Date object.
- * @param ms {Number} The number of milliseconds to add.
- */
- function addMillisecondsToDate(d: Date, ms: number) {
- d = new Date(d);
- d.setMilliseconds(d.getMilliseconds() + ms);
- return d;
- }
-}
« no previous file with comments | « web/inc/logdog-stream-view/viewer.ts ('k') | web/inc/logdog-stream/logdog-error.html » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698