This repository was archived by the owner on Feb 26, 2024. It is now read-only.
Description I tried this twice, with goog.provide and goog.module, with similar results:
Actual
Using Provide
goog . provide ( 'lib.my' ) ;
/**
* @param {string } data
*/
lib . my . resemble = function ( data ) { } ;
/** @returns {string } data */
lib . my . resemble . staticOne = function ( data ) { } ;
/**
* @const
* @type {function(string) }
*/
lib . my . resemble . staticTwo = function ( data ) { } ;
Processing that using:
clutz_release.jar ./test.js
produces
declare namespace ಠ_ಠ . clutz . lib . my {
function resemble ( data : string ) : void ;
}
declare module 'goog:lib.my' {
import my = ಠ_ಠ . clutz . lib . my ;
export = my ;
}
Using Module
goog . module ( 'lib.my' ) ;
/**
* @param {string } data
*/
var resemble = function ( data ) { } ;
/** @returns {string } data */
resemble . staticOne = function ( data ) { } ;
/**
* @const
* @type {function(string) }
*/
resemble . staticTwo = function ( data ) { } ;
exports . resemble = resemble ;
Outputs:
declare namespace ಠ_ಠ . clutz . module$exports$lib$my {
function resemble ( data : string ) : void ;
}
declare module 'goog:lib.my' {
import my = ಠ_ಠ . clutz . module$exports$lib$my ;
export = my ;
}
Expected
declare namespace ಠ_ಠ . clutz . module$exports$lib$my {
namespace resemble {
function staticOne ( data : any ) : string ;
function staticTwo ( a : string ) : any ;
}
function resemble ( data : string ) : void ;
}
declare module 'goog:lib.my' {
import my = ಠ_ಠ . clutz . module$exports$lib$my ;
export = my ;
}