Skip to content

Commit

Permalink
feat: add jsonbinpack preset (asyncapi#854)
Browse files Browse the repository at this point in the history
  • Loading branch information
jonaslagoni authored and Ferror committed Mar 7, 2023
1 parent 5af9032 commit 0e8dfed
Show file tree
Hide file tree
Showing 4 changed files with 34 additions and 0 deletions.
13 changes: 13 additions & 0 deletions src/utils/DependencyHelper.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@

/**
* Function to make it easier to render JS/TS dependencies based on module system
*
* @param toImport
* @param fromModule
* @param moduleSystem
*/
export function renderJavaScriptDependency(toImport: string, fromModule: string, moduleSystem: 'CJS' | 'ESM'): string {
return moduleSystem === 'CJS'
? `const ${toImport} = require('${fromModule}');`
: `import ${toImport} from '${fromModule}';`;
}
1 change: 1 addition & 0 deletions src/utils/index.ts
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
export * from './guards';
export * from './LoggingInterface';
export * from './Partials';
export * from './DependencyHelper';
6 changes: 6 additions & 0 deletions test/generators/typescript/TypeScriptRenderer.spec.ts
Original file line number Diff line number Diff line change
Expand Up @@ -21,4 +21,10 @@ describe('TypeScriptRenderer', () => {
*/`);
});
});

describe('renderDependency()', () => {
test('Should be able to render dependency', () => {
expect(renderer.renderDependency('someComment', 'someComment2')).toEqual('import someComment from \'someComment2\';');
});
});
});
14 changes: 14 additions & 0 deletions test/utils/DependencyHelper.spec.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
import {renderJavaScriptDependency} from '../../src/utils';

describe('DependencyHelper', () => {
describe('renderJavaScriptDependency', () => {
test('should render accurate CJS dependency', () => {
const renderedDependency = renderJavaScriptDependency('test', 'test2', 'CJS');
expect(renderedDependency).toEqual('const test = require(\'test2\');');
});
test('should render accurate ESM dependency', () => {
const renderedDependency = renderJavaScriptDependency('test', 'test2', 'ESM');
expect(renderedDependency).toEqual('import test from \'test2\';');
});
});
});

0 comments on commit 0e8dfed

Please sign in to comment.