After compiling Typescript to javascript, in code before imported function adds module name with suffix "_1"

246 Views Asked by At

I am trying to rewrite some js/d3.js code in ts/amd. But i have a problem with importing of libraries. That is structure of my .ts file:

/// <reference path="d3.d.ts"/>;
/// <reference path="queue.d.ts"/>;
import * as d3 from "d3"; 
import {queue} from "./queue";

export class Glob{

    ...

    queue().defer(d3.json, "world-110m.json")
           .defer(d3.tsv, "world-110m-country-names.tsv")
           .await(this.draw);    

    ...

}

But when that code compiles, i have additional mudule queue_1 before function statement:

define(["require", "exports", "d3", "./queue"], function (require, exports, d3, queue_1) {
"use strict";

    ...

    Glob.prototype.init = function (class_name) {
        ...
        queue_1.queue()
               .defer(d3.json, "world-110m.json")
               .defer(d3.tsv, "world-110m-country-names.tsv")
               .await(this.draw);
         ...
    }

    ...

}

And if I am using it, it gives me error: queue_1.queue is not a function. But if I deleting queue directly in generated .js file, and leave just queue_1(), it is works fine!

So, I need to import just a function. How to do that?

0

There are 0 best solutions below