Skip to content

Commit

Permalink
feat: rename flag moveToComponents -> moveDuplicatesToComponents (#…
Browse files Browse the repository at this point in the history
  • Loading branch information
aeworxet authored Jan 9, 2024
1 parent cadb6e5 commit 51e899d
Show file tree
Hide file tree
Showing 8 changed files with 20 additions and 21 deletions.
3 changes: 1 addition & 2 deletions API.md
Original file line number Diff line number Diff line change
Expand Up @@ -132,7 +132,7 @@ Converts JSON or YAML string object.
| --- | --- | --- |
| [reuseComponents] | <code>Boolean</code> | whether to reuse components from `components` section or not. Defaults to `true`. |
| [removeComponents] | <code>Boolean</code> | whether to remove un-used components from `components` section or not. Defaults to `true`. |
| [moveToComponents] | <code>Boolean</code> | whether to move duplicated components to the `components` section or not. Defaults to `true`. |
| [moveDuplicatesToComponents] | <code>Boolean</code> | whether to move duplicated components to the `components` section or not. Defaults to `true`. |

<a name="Options"></a>

Expand All @@ -144,4 +144,3 @@ Converts JSON or YAML string object.
| --- | --- | --- |
| [rules] | [<code>Rules</code>](#Rules) | the list of rules that specifies which type of optimizations should be applied. |
| [output] | <code>String</code> | specifies which type of output user wants, `'JSON'` or `'YAML'`. Defaults to `'YAML'`; |

4 changes: 2 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -137,7 +137,7 @@ the report value will be:
action: 'remove',
}
],
moveToComponents: [
moveDuplicatesToComponents: [
{
//move will ref the current path to the moved component as well.
path: 'channels.smartylighting/event/{streetlightId}/lighting/measured.parameters.streetlightId',
Expand All @@ -159,7 +159,7 @@ const optimizedDocument = optimizer.getOptimizedDocument({
rules: {
reuseComponents: true,
removeComponents: true,
moveToComponents: true
moveDuplicatesToComponents: true
}
});
/*
Expand Down
2 changes: 1 addition & 1 deletion examples/index.js
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ optimizer.getReport().then((report) => {
rules: {
reuseComponents: true,
removeComponents: true,
moveToComponents: true,
moveDuplicatesToComponents: true,
},
})
//store optimizedDocument as to output.yaml
Expand Down
8 changes: 4 additions & 4 deletions src/Optimizer.ts
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ import {
Reporter,
} from './index.d'
import { Parser } from '@asyncapi/parser'
import { removeComponents, reuseComponents, moveToComponents } from './Reporters'
import { removeComponents, reuseComponents, moveDuplicatesToComponents } from './Reporters'
import YAML from 'js-yaml'
import merge from 'merge-deep'
import * as _ from 'lodash'
Expand Down Expand Up @@ -42,7 +42,7 @@ export class Optimizer {
*/
constructor(private YAMLorJSON: any) {
this.outputObject = toJS(this.YAMLorJSON)
this.reporters = [removeComponents, reuseComponents, moveToComponents]
this.reporters = [removeComponents, reuseComponents, moveDuplicatesToComponents]
}

/**
Expand Down Expand Up @@ -78,7 +78,7 @@ export class Optimizer {
* @typedef {Object} Rules
* @property {Boolean=} reuseComponents - whether to reuse components from `components` section or not. Defaults to `true`.
* @property {Boolean=} removeComponents - whether to remove un-used components from `components` section or not. Defaults to `true`.
* @property {Boolean=} moveToComponents - whether to move duplicated components to the `components` section or not. Defaults to `true`.
* @property {Boolean=} moveDuplicatesToComponents - whether to move duplicated components to the `components` section or not. Defaults to `true`.
*/

/**
Expand All @@ -98,7 +98,7 @@ export class Optimizer {
rules: {
reuseComponents: true,
removeComponents: true,
moveToComponents: true,
moveDuplicatesToComponents: true,
},
output: Output.YAML,
}
Expand Down
2 changes: 1 addition & 1 deletion src/Reporters/index.ts
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
export * from './MoveToComponents'
export * from './moveDuplicatesToComponents'
export * from './RemoveComponents'
export * from './ReuseComponents'
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ import { Action } from '../Optimizer'
import { createReport, isEqual, isInComponents } from '../Utils'
import { OptimizableComponent, OptimizableComponentGroup, ReportElement, Reporter } from 'index.d'
import Debug from 'debug'
const debug = Debug('reporter:moveToComponents')
const debug = Debug('reporter:moveDuplicatesToComponents')
/**
*
* @param optimizableComponentGroup components that you want to analyze for duplicates.
Expand Down Expand Up @@ -58,8 +58,8 @@ const findDuplicateComponents = (
return resultElements
}

export const moveToComponents: Reporter = (optimizableComponentsGroup) => {
return createReport(findDuplicateComponents, optimizableComponentsGroup, 'moveToComponents')
export const moveDuplicatesToComponents: Reporter = (optimizableComponentsGroup) => {
return createReport(findDuplicateComponents, optimizableComponentsGroup, 'moveDuplicatesToComponents')
}

function getOutsideComponents(
Expand Down
4 changes: 2 additions & 2 deletions src/index.d.ts
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ export type OptimizableComponentGroup = {
export interface Report {
reuseComponents?: ReportElement[]
removeComponents?: ReportElement[]
moveToComponents?: ReportElement[]
moveDuplicatesToComponents?: ReportElement[]
}

//In the next major version we can rename this to `Report` and use this format instead.
Expand All @@ -32,7 +32,7 @@ export type Reporter = (optimizeableComponents: OptimizableComponentGroup[]) =>
interface Rules {
reuseComponents?: boolean
removeComponents?: boolean
moveToComponents?: boolean
moveDuplicatesToComponents?: boolean
}
export interface Options {
rules?: Rules
Expand Down
12 changes: 6 additions & 6 deletions test/Reporters/Reporters.spec.ts
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
import { moveToComponents, reuseComponents, removeComponents } from '../../src/Reporters'
import { moveDuplicatesToComponents, reuseComponents, removeComponents } from '../../src/Reporters'
import { inputYAML } from '../fixtures'
import { Parser } from '@asyncapi/parser'
import { getOptimizableComponents } from '../../src/ComponentProvider'
import { OptimizableComponentGroup } from '../../src/index.d'

const MoveToComponentsExpectedResult: any[] = [
const moveDuplicatesToComponentsExpectedResult: any[] = [
{
path: 'channels.withDuplicatedMessage1.messages.duped1',
action: 'move',
Expand Down Expand Up @@ -55,11 +55,11 @@ describe('Optimizers', () => {
const asyncapiDocument = await new Parser().parse(inputYAML, { applyTraits: false })
optimizableComponents = getOptimizableComponents(asyncapiDocument.document!)
})
describe('MoveToComponents', () => {
describe('moveDuplicatesToComponents', () => {
test('should contain the correct optimizations.', () => {
const report = moveToComponents(optimizableComponents)
expect(report.elements).toEqual(MoveToComponentsExpectedResult)
expect(report.type).toEqual('moveToComponents')
const report = moveDuplicatesToComponents(optimizableComponents)
expect(report.elements).toEqual(moveDuplicatesToComponentsExpectedResult)
expect(report.type).toEqual('moveDuplicatesToComponents')
})
})

Expand Down

0 comments on commit 51e899d

Please sign in to comment.