diff --git a/package.json b/package.json index e0b8a5d..b35f2e5 100644 --- a/package.json +++ b/package.json @@ -15,7 +15,8 @@ "deploy": "npm version patch && git push && git push --tags && npm publish", "deploy-feat": "npm version minor && git push && git push --tags && npm publish", "coverage": "nyc report --reporter=text-lcov | coveralls", - "lint": "eslint src/" + "lint": "eslint src/", + "debug": "node --inspect-brk ./node_modules/.bin/mocha --forbid-only tests/*.test.js" }, "author": "Rajasegar Chandran", "bugs": "https://github.com/rajasegar/ember-gen-uml/issues", diff --git a/src/transform-typescript.js b/src/transform-typescript.js index fc38ebb..69755a3 100644 --- a/src/transform-typescript.js +++ b/src/transform-typescript.js @@ -1,11 +1,13 @@ const ts = require('typescript'); -const KIND_PROPERTY_DECLARATION = 155; -const KIND_METHOD_DECLARATION = 157; +const KIND_PROPERTY_DECLARATION = 158; +const KIND_METHOD_DECLARATION = 160; + +const filterKinds = [KIND_PROPERTY_DECLARATION, KIND_METHOD_DECLARATION]; const kindMap = { - '124': 'Boolean', - '139': 'String', + '127': 'Boolean', + '142': 'String', }; function transform(fileName, code, componentName) { @@ -44,8 +46,8 @@ class ${componentName} { if (_extends === 'Component') { node.members .filter( - prop => - prop.kind === KIND_PROPERTY_DECLARATION || prop.kind === KIND_METHOD_DECLARATION + prop => filterKinds.includes(prop.kind) + //prop.kind === KIND_PROPERTY_DECLARATION || prop.kind === KIND_METHOD_DECLARATION ) .forEach(prop => { //console.log(prop.name.text); diff --git a/tests/transform-typescript.test.js b/tests/transform-typescript.test.js index d521f99..ee14782 100644 --- a/tests/transform-typescript.test.js +++ b/tests/transform-typescript.test.js @@ -1,10 +1,8 @@ -const assert = require("assert"); -const transform = require("../src/transform-typescript"); - -describe("transform typescript test: ", function() { - - it("should generate transform public property properly", function() { +const assert = require('assert'); +const transform = require('../src/transform-typescript'); +describe('transform typescript test: ', function() { + it('should generate transform public property properly', function() { const input = ` export default class MyClass extends Component{ prop1: boolean = true; @@ -20,13 +18,12 @@ class MyClass { @enduml`; - const uml = transform("my-class.ts", input, "MyClass"); + const uml = transform('my-class.ts', input, 'MyClass'); - assert.strictEqual(uml,output); + assert.strictEqual(uml, output); }); - it("should generate multiple properties properly", function() { - + it('should generate multiple properties properly', function() { const input = ` export default class MyClass extends Component{ prop1: boolean = true; @@ -44,15 +41,12 @@ class MyClass { @enduml`; - const uml = transform("my-class.ts", input, "MyClass"); + const uml = transform('my-class.ts', input, 'MyClass'); - assert.strictEqual(uml,output); + assert.strictEqual(uml, output); }); - - - it("should generate public method properly", function() { - + it('should generate public method properly', function() { const input = ` export default class MyClass extends Component{ method1() { @@ -69,14 +63,12 @@ class MyClass { @enduml`; - const uml = transform("my-class.ts", input, "MyClass"); + const uml = transform('my-class.ts', input, 'MyClass'); - assert.strictEqual(uml,output); + assert.strictEqual(uml, output); }); - -it("should generate transform service properties properly", function() { - + it('should generate transform service properties properly', function() { const input = ` export default class MyClass extends Component{ @service i18n!: I18N; @@ -96,11 +88,8 @@ class MyClass { @enduml`; - const uml = transform("my-class.ts", input, "MyClass"); + const uml = transform('my-class.ts', input, 'MyClass'); - assert.strictEqual(uml,output); + assert.strictEqual(uml, output); }); - - - });