{"version":3,"file":"xxmachina-components-services-transformer.mjs","sources":["../../../../../packages/@xxmachina/components/src/lib/services/transformer/transformer.service.ts","../../../../../packages/@xxmachina/components/src/lib/services/transformer/xxmachina-components-services-transformer.ts"],"sourcesContent":["import { inject, Injectable } from '@angular/core';\nimport { Spec, Transformer } from '@xxmachina/common/domain/models';\nimport { QuickJsService } from '@xxmachina/common/infra/external/quick-js';\nimport { isEqual } from 'lodash-es';\nimport { diff } from 'jest-diff'\n\n@Injectable({providedIn: 'root'})\nexport class TransformerService {\n  readonly quickJs = inject(QuickJsService);\n\n  async runTest(transformer: Transformer, spec: Spec): Promise<{isEqual: boolean, diff: string}> {\n    const output = await this.quickJs.apply(transformer.script, 'transformer', [spec.input]) as object;\n    return {isEqual: isEqual(spec.output, output), diff: diff(output, spec.output) ?? ''};\n  }\n\n  async runTests(transformer: Transformer, specs: Spec[]): Promise<{isEqual: boolean, diff: string}[]> {\n    return Promise.all(specs.map(spec => this.runTest(transformer, spec)));\n  }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;MAOa,kBAAkB,CAAA;AACpB,IAAA,OAAO,GAAG,MAAM,CAAC,cAAc,CAAC;AAEzC,IAAA,MAAM,OAAO,CAAC,WAAwB,EAAE,IAAU,EAAA;QAChD,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,WAAW,CAAC,MAAM,EAAE,aAAa,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,CAAW;QAClG,OAAO,EAAC,OAAO,EAAE,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,EAAC;IACvF;AAEA,IAAA,MAAM,QAAQ,CAAC,WAAwB,EAAE,KAAa,EAAA;QACpD,OAAO,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,IAAI,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC,CAAC;IACxE;uGAVW,kBAAkB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA;AAAlB,IAAA,OAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,kBAAkB,cADN,MAAM,EAAA,CAAA;;2FAClB,kBAAkB,EAAA,UAAA,EAAA,CAAA;kBAD9B,UAAU;mBAAC,EAAC,UAAU,EAAE,MAAM,EAAC;;;ACNhC;;AAEG;;;;"}