// GENERATED CODE - DO NOT MODIFY BY HAND declare var $app: c.Handler;type _TygojaDict = { [key:string | number | symbol]: any; } type _TygojaAny = any /** * package a docs * lorem ipsum dolor... */ namespace a { interface Empty { [key:string]: any; } /** * unexported interface */ interface interfaceA { [key:string]: any; /** * some comment */ /** * some comment above the function */ Method0(): void Method1(): string // inline comment /** * multi * line * comment */ Method2(argA: string, argB: string): [T, number] Method3(argA: number, ...argB: string[]): [T, Array] } /** * multi * line * comment */ interface InterfaceB { [key:string]: any; /** * "replace" Method0 from interfaceA */ Method0(): void CustomMethod(): time.Time } interface unexported { Field1: string } /** * structA comment */ interface structA { Field1: string // after /** * multi * line * comment * with union type */ Field2: string|Array } interface structA { /** * method comment */ Method1(arg1: number): void } interface structA { Method2(arg1: number, ...arg2: string[]): void } /** * structB comment */ type _sqJYikd = unexported&structA interface StructB extends _sqJYikd { Field3: T } /** * structC with multiple mixed generic types */ interface StructC { Field4: A Field5: B Field6: C } interface StructC { /** * StructC.Method4 comment */ Method4(arg1: A): [B, C] } /** * type comment */ interface SliceAlias extends Array{} // after /** * multi * line * comment */ interface Handler {(): [T, number] } // after } /** * package b */ namespace b { interface Func1 { /** * single comment */ (): void } interface Func2 { /** * multi * line * comment */ (arg1: number): T } interface Func3 { /** * function with multiple generic types */ (arg1: A, arg2: B, arg3: number): [A, C] } interface Func4 { /** * function that returns a function */ (arg1: number): () => number } interface Func5 { /** * function with ommited argument types */ (arg0: string, arg1: number, arg2: number): void } interface Func6 { /** * function with reserved argument name and variadic type */ (_arg00: string, ...optional: string[]): void } interface Func7 { /** * function with ommited argument names */ (_arg0: string, _arg1: number, ..._arg2: boolean[]): void } interface Func8 { /** * function with named return values */ (): [number, string] } interface Func9 { /** * function with shortened return values */ (): [string, string] } interface Func10 { /** * function with named and shortened return values */ (): [number, string, string] } } namespace c { /** * func type comment */ interface Handler {(): string } // after /** * Example: * * ``` * Some * code * sample * ``` */ interface Example2 { Title: string Json: Raw Bytes: string|Array // should be union } interface Example2 { DemoEx2(): time.Time } interface Example2 { /** * Pointer as argument vs return type */ DemoEx3(arg: Example1): (Example1) } interface Example2 { /** * ommited types */ DemoEx4(n1: string, n2: string, n3: string): void } interface Example2 { /** * ommited names */ DemoEx5(_arg0: string, _arg1: number): void } interface Example2 { /** * named return values */ DemoEx6(): [number, string] } interface Example2 { /** * shortened return values */ DemoEx7(): [string, string] } interface Example2 { /** * named and shortened return values */ DemoEx8(): [number, string, string] } } /** * Package time provides functionality for measuring and displaying time. * * The calendrical calculations always assume a Gregorian calendar, with * no leap seconds. * * # Monotonic Clocks * * Operating systems provide both a “wall clock,” which is subject to * changes for clock synchronization, and a “monotonic clock,” which is * not. The general rule is that the wall clock is for telling time and * the monotonic clock is for measuring time. Rather than split the API, * in this package the Time returned by [time.Now] contains both a wall * clock reading and a monotonic clock reading; later time-telling * operations use the wall clock reading, but later time-measuring * operations, specifically comparisons and subtractions, use the * monotonic clock reading. * * For example, this code always computes a positive elapsed time of * approximately 20 milliseconds, even if the wall clock is changed during * the operation being timed: * * ``` * start := time.Now() * ... operation that takes 20 milliseconds ... * t := time.Now() * elapsed := t.Sub(start) * ``` * * Other idioms, such as [time.Since](start), [time.Until](deadline), and * time.Now().Before(deadline), are similarly robust against wall clock * resets. * * The rest of this section gives the precise details of how operations * use monotonic clocks, but understanding those details is not required * to use this package. * * The Time returned by time.Now contains a monotonic clock reading. * If Time t has a monotonic clock reading, t.Add adds the same duration to * both the wall clock and monotonic clock readings to compute the result. * Because t.AddDate(y, m, d), t.Round(d), and t.Truncate(d) are wall time * computations, they always strip any monotonic clock reading from their results. * Because t.In, t.Local, and t.UTC are used for their effect on the interpretation * of the wall time, they also strip any monotonic clock reading from their results. * The canonical way to strip a monotonic clock reading is to use t = t.Round(0). * * If Times t and u both contain monotonic clock readings, the operations * t.After(u), t.Before(u), t.Equal(u), t.Compare(u), and t.Sub(u) are carried out * using the monotonic clock readings alone, ignoring the wall clock * readings. If either t or u contains no monotonic clock reading, these * operations fall back to using the wall clock readings. * * On some systems the monotonic clock will stop if the computer goes to sleep. * On such a system, t.Sub(u) may not accurately reflect the actual * time that passed between t and u. The same applies to other functions and * methods that subtract times, such as [Since], [Until], [Before], [After], * [Add], [Sub], [Equal] and [Compare]. In some cases, you may need to strip * the monotonic clock to get accurate results. * * Because the monotonic clock reading has no meaning outside * the current process, the serialized forms generated by t.GobEncode, * t.MarshalBinary, t.MarshalJSON, and t.MarshalText omit the monotonic * clock reading, and t.Format provides no format for it. Similarly, the * constructors [time.Date], [time.Parse], [time.ParseInLocation], and [time.Unix], * as well as the unmarshalers t.GobDecode, t.UnmarshalBinary. * t.UnmarshalJSON, and t.UnmarshalText always create times with * no monotonic clock reading. * * The monotonic clock reading exists only in [Time] values. It is not * a part of [Duration] values or the Unix times returned by t.Unix and * friends. * * Note that the Go == operator compares not just the time instant but * also the [Location] and the monotonic clock reading. See the * documentation for the Time type for a discussion of equality * testing for Time values. * * For debugging, the result of t.String does include the monotonic * clock reading if present. If t != u because of different monotonic clock readings, * that difference will be visible when printing t.String() and u.String(). * * # Timer Resolution * * [Timer] resolution varies depending on the Go runtime, the operating system * and the underlying hardware. * On Unix, the resolution is ~1ms. * On Windows version 1803 and newer, the resolution is ~0.5ms. * On older Windows versions, the default resolution is ~16ms, but * a higher resolution may be requested using [golang.org/x/sys/windows.TimeBeginPeriod]. */ namespace time { interface Time { /** * String returns the time formatted using the format string * * ``` * "2006-01-02 15:04:05.999999999 -0700 MST" * ``` * * If the time has a monotonic clock reading, the returned string * includes a final field "m=±", where value is the monotonic * clock reading formatted as a decimal number of seconds. * * The returned string is meant for debugging; for a stable serialized * representation, use t.MarshalText, t.MarshalBinary, or t.Format * with an explicit format string. */ String(): string } interface Time { /** * GoString implements [fmt.GoStringer] and formats t to be printed in Go source * code. */ GoString(): string } interface Time { /** * Format returns a textual representation of the time value formatted according * to the layout defined by the argument. See the documentation for the * constant called [Layout] to see how to represent the layout format. * * The executable example for [Time.Format] demonstrates the working * of the layout string in detail and is a good reference. */ Format(layout: string): string } interface Time { /** * AppendFormat is like [Time.Format] but appends the textual * representation to b and returns the extended buffer. */ AppendFormat(b: string|Array, layout: string): string|Array } /** * A Time represents an instant in time with nanosecond precision. * * Programs using times should typically store and pass them as values, * not pointers. That is, time variables and struct fields should be of * type [time.Time], not *time.Time. * * A Time value can be used by multiple goroutines simultaneously except * that the methods [Time.GobDecode], [Time.UnmarshalBinary], [Time.UnmarshalJSON] and * [Time.UnmarshalText] are not concurrency-safe. * * Time instants can be compared using the [Time.Before], [Time.After], and [Time.Equal] methods. * The [Time.Sub] method subtracts two instants, producing a [Duration]. * The [Time.Add] method adds a Time and a Duration, producing a Time. * * The zero value of type Time is January 1, year 1, 00:00:00.000000000 UTC. * As this time is unlikely to come up in practice, the [Time.IsZero] method gives * a simple way of detecting a time that has not been initialized explicitly. * * Each time has an associated [Location]. The methods [Time.Local], [Time.UTC], and Time.In return a * Time with a specific Location. Changing the Location of a Time value with * these methods does not change the actual instant it represents, only the time * zone in which to interpret it. * * Representations of a Time value saved by the [Time.GobEncode], [Time.MarshalBinary], * [Time.MarshalJSON], and [Time.MarshalText] methods store the [Time.Location]'s offset, but not * the location name. They therefore lose information about Daylight Saving Time. * * In addition to the required “wall clock” reading, a Time may contain an optional * reading of the current process's monotonic clock, to provide additional precision * for comparison or subtraction. * See the “Monotonic Clocks” section in the package documentation for details. * * Note that the Go == operator compares not just the time instant but also the * Location and the monotonic clock reading. Therefore, Time values should not * be used as map or database keys without first guaranteeing that the * identical Location has been set for all values, which can be achieved * through use of the UTC or Local method, and that the monotonic clock reading * has been stripped by setting t = t.Round(0). In general, prefer t.Equal(u) * to t == u, since t.Equal uses the most accurate comparison available and * correctly handles the case when only one of its arguments has a monotonic * clock reading. */ interface Time { } interface Time { /** * After reports whether the time instant t is after u. */ After(u: Time): boolean } interface Time { /** * Before reports whether the time instant t is before u. */ Before(u: Time): boolean } interface Time { /** * Compare compares the time instant t with u. If t is before u, it returns -1; * if t is after u, it returns +1; if they're the same, it returns 0. */ Compare(u: Time): number } interface Time { /** * Equal reports whether t and u represent the same time instant. * Two times can be equal even if they are in different locations. * For example, 6:00 +0200 and 4:00 UTC are Equal. * See the documentation on the Time type for the pitfalls of using == with * Time values; most code should use Equal instead. */ Equal(u: Time): boolean } interface Time { /** * IsZero reports whether t represents the zero time instant, * January 1, year 1, 00:00:00 UTC. */ IsZero(): boolean } interface Time { /** * Date returns the year, month, and day in which t occurs. */ Date(): [number, Month, number] } interface Time { /** * Year returns the year in which t occurs. */ Year(): number } interface Time { /** * Month returns the month of the year specified by t. */ Month(): Month } interface Time { /** * Day returns the day of the month specified by t. */ Day(): number } interface Time { /** * Weekday returns the day of the week specified by t. */ Weekday(): Weekday } interface Time { /** * ISOWeek returns the ISO 8601 year and week number in which t occurs. * Week ranges from 1 to 53. Jan 01 to Jan 03 of year n might belong to * week 52 or 53 of year n-1, and Dec 29 to Dec 31 might belong to week 1 * of year n+1. */ ISOWeek(): [number, number] } interface Time { /** * Clock returns the hour, minute, and second within the day specified by t. */ Clock(): [number, number, number] } interface Time { /** * Hour returns the hour within the day specified by t, in the range [0, 23]. */ Hour(): number } interface Time { /** * Minute returns the minute offset within the hour specified by t, in the range [0, 59]. */ Minute(): number } interface Time { /** * Second returns the second offset within the minute specified by t, in the range [0, 59]. */ Second(): number } interface Time { /** * Nanosecond returns the nanosecond offset within the second specified by t, * in the range [0, 999999999]. */ Nanosecond(): number } interface Time { /** * YearDay returns the day of the year specified by t, in the range [1,365] for non-leap years, * and [1,366] in leap years. */ YearDay(): number } interface Time { /** * Add returns the time t+d. */ Add(d: Duration): Time } interface Time { /** * Sub returns the duration t-u. If the result exceeds the maximum (or minimum) * value that can be stored in a [Duration], the maximum (or minimum) duration * will be returned. * To compute t-d for a duration d, use t.Add(-d). */ Sub(u: Time): Duration } interface Time { /** * AddDate returns the time corresponding to adding the * given number of years, months, and days to t. * For example, AddDate(-1, 2, 3) applied to January 1, 2011 * returns March 4, 2010. * * Note that dates are fundamentally coupled to timezones, and calendrical * periods like days don't have fixed durations. AddDate uses the Location of * the Time value to determine these durations. That means that the same * AddDate arguments can produce a different shift in absolute time depending on * the base Time value and its Location. For example, AddDate(0, 0, 1) applied * to 12:00 on March 27 always returns 12:00 on March 28. At some locations and * in some years this is a 24 hour shift. In others it's a 23 hour shift due to * daylight savings time transitions. * * AddDate normalizes its result in the same way that Date does, * so, for example, adding one month to October 31 yields * December 1, the normalized form for November 31. */ AddDate(years: number, months: number, days: number): Time } interface Time { /** * UTC returns t with the location set to UTC. */ UTC(): Time } interface Time { /** * Local returns t with the location set to local time. */ Local(): Time } interface Time { /** * In returns a copy of t representing the same time instant, but * with the copy's location information set to loc for display * purposes. * * In panics if loc is nil. */ In(loc: Location): Time } interface Time { /** * Location returns the time zone information associated with t. */ Location(): (Location) } interface Time { /** * Zone computes the time zone in effect at time t, returning the abbreviated * name of the zone (such as "CET") and its offset in seconds east of UTC. */ Zone(): [string, number] } interface Time { /** * ZoneBounds returns the bounds of the time zone in effect at time t. * The zone begins at start and the next zone begins at end. * If the zone begins at the beginning of time, start will be returned as a zero Time. * If the zone goes on forever, end will be returned as a zero Time. * The Location of the returned times will be the same as t. */ ZoneBounds(): [Time, Time] } interface Time { /** * Unix returns t as a Unix time, the number of seconds elapsed * since January 1, 1970 UTC. The result does not depend on the * location associated with t. * Unix-like operating systems often record time as a 32-bit * count of seconds, but since the method here returns a 64-bit * value it is valid for billions of years into the past or future. */ Unix(): number } interface Time { /** * UnixMilli returns t as a Unix time, the number of milliseconds elapsed since * January 1, 1970 UTC. The result is undefined if the Unix time in * milliseconds cannot be represented by an int64 (a date more than 292 million * years before or after 1970). The result does not depend on the * location associated with t. */ UnixMilli(): number } interface Time { /** * UnixMicro returns t as a Unix time, the number of microseconds elapsed since * January 1, 1970 UTC. The result is undefined if the Unix time in * microseconds cannot be represented by an int64 (a date before year -290307 or * after year 294246). The result does not depend on the location associated * with t. */ UnixMicro(): number } interface Time { /** * UnixNano returns t as a Unix time, the number of nanoseconds elapsed * since January 1, 1970 UTC. The result is undefined if the Unix time * in nanoseconds cannot be represented by an int64 (a date before the year * 1678 or after 2262). Note that this means the result of calling UnixNano * on the zero Time is undefined. The result does not depend on the * location associated with t. */ UnixNano(): number } interface Time { /** * MarshalBinary implements the encoding.BinaryMarshaler interface. */ MarshalBinary(): string|Array } interface Time { /** * UnmarshalBinary implements the encoding.BinaryUnmarshaler interface. */ UnmarshalBinary(data: string|Array): void } interface Time { /** * GobEncode implements the gob.GobEncoder interface. */ GobEncode(): string|Array } interface Time { /** * GobDecode implements the gob.GobDecoder interface. */ GobDecode(data: string|Array): void } interface Time { /** * MarshalJSON implements the [json.Marshaler] interface. * The time is a quoted string in the RFC 3339 format with sub-second precision. * If the timestamp cannot be represented as valid RFC 3339 * (e.g., the year is out of range), then an error is reported. */ MarshalJSON(): string|Array } interface Time { /** * UnmarshalJSON implements the [json.Unmarshaler] interface. * The time must be a quoted string in the RFC 3339 format. */ UnmarshalJSON(data: string|Array): void } interface Time { /** * MarshalText implements the [encoding.TextMarshaler] interface. * The time is formatted in RFC 3339 format with sub-second precision. * If the timestamp cannot be represented as valid RFC 3339 * (e.g., the year is out of range), then an error is reported. */ MarshalText(): string|Array } interface Time { /** * UnmarshalText implements the [encoding.TextUnmarshaler] interface. * The time must be in the RFC 3339 format. */ UnmarshalText(data: string|Array): void } interface Time { /** * IsDST reports whether the time in the configured location is in Daylight Savings Time. */ IsDST(): boolean } interface Time { /** * Truncate returns the result of rounding t down to a multiple of d (since the zero time). * If d <= 0, Truncate returns t stripped of any monotonic clock reading but otherwise unchanged. * * Truncate operates on the time as an absolute duration since the * zero time; it does not operate on the presentation form of the * time. Thus, Truncate(Hour) may return a time with a non-zero * minute, depending on the time's Location. */ Truncate(d: Duration): Time } interface Time { /** * Round returns the result of rounding t to the nearest multiple of d (since the zero time). * The rounding behavior for halfway values is to round up. * If d <= 0, Round returns t stripped of any monotonic clock reading but otherwise unchanged. * * Round operates on the time as an absolute duration since the * zero time; it does not operate on the presentation form of the * time. Thus, Round(Hour) may return a time with a non-zero * minute, depending on the time's Location. */ Round(d: Duration): Time } } namespace c { interface Raw extends Array{} interface Example1 { Name: string } interface Example1 { DemoEx1(): string } } namespace time { /** * A Month specifies a month of the year (January = 1, ...). */ interface Month extends Number{} interface Month { /** * String returns the English name of the month ("January", "February", ...). */ String(): string } /** * A Weekday specifies a day of the week (Sunday = 0, ...). */ interface Weekday extends Number{} interface Weekday { /** * String returns the English name of the day ("Sunday", "Monday", ...). */ String(): string } /** * A Duration represents the elapsed time between two instants * as an int64 nanosecond count. The representation limits the * largest representable duration to approximately 290 years. */ interface Duration extends Number{} interface Duration { /** * String returns a string representing the duration in the form "72h3m0.5s". * Leading zero units are omitted. As a special case, durations less than one * second format use a smaller unit (milli-, micro-, or nanoseconds) to ensure * that the leading digit is non-zero. The zero duration formats as 0s. */ String(): string } interface Duration { /** * Nanoseconds returns the duration as an integer nanosecond count. */ Nanoseconds(): number } interface Duration { /** * Microseconds returns the duration as an integer microsecond count. */ Microseconds(): number } interface Duration { /** * Milliseconds returns the duration as an integer millisecond count. */ Milliseconds(): number } interface Duration { /** * Seconds returns the duration as a floating point number of seconds. */ Seconds(): number } interface Duration { /** * Minutes returns the duration as a floating point number of minutes. */ Minutes(): number } interface Duration { /** * Hours returns the duration as a floating point number of hours. */ Hours(): number } interface Duration { /** * Truncate returns the result of rounding d toward zero to a multiple of m. * If m <= 0, Truncate returns d unchanged. */ Truncate(m: Duration): Duration } interface Duration { /** * Round returns the result of rounding d to the nearest multiple of m. * The rounding behavior for halfway values is to round away from zero. * If the result exceeds the maximum (or minimum) * value that can be stored in a [Duration], * Round returns the maximum (or minimum) duration. * If m <= 0, Round returns d unchanged. */ Round(m: Duration): Duration } interface Duration { /** * Abs returns the absolute value of d. * As a special case, [math.MinInt64] is converted to [math.MaxInt64]. */ Abs(): Duration } /** * A Location maps time instants to the zone in use at that time. * Typically, the Location represents the collection of time offsets * in use in a geographical area. For many Locations the time offset varies * depending on whether daylight savings time is in use at the time instant. * * Location is used to provide a time zone in a printed Time value and for * calculations involving intervals that may cross daylight savings time * boundaries. */ interface Location { } interface Location { /** * String returns a descriptive name for the time zone information, * corresponding to the name argument to [LoadLocation] or [FixedZone]. */ String(): string } }