{"version":3,"file":"apteco-ngth.mjs","sources":["../../../projects/ngth/src/lib/ng-test-helper.ts","../../../projects/ngth/src/lib/component-fixture-wrapper.ts","../../../projects/ngth/src/public-api.ts","../../../projects/ngth/src/apteco-ngth.ts"],"sourcesContent":["import {\n  ComponentFixture,\n  getTestBed,\n  TestBed,\n  TestModuleMetadata,\n} from '@angular/core/testing';\n\nconst resetProviders = (moduleDef?: TestModuleMetadata) => {\n  if (!moduleDef) {\n    return;\n  }\n  if (!moduleDef.providers) {\n    return;\n  }\n\n  moduleDef.providers.forEach((provider) => {\n    if (!provider || !provider.useValue) {\n      return;\n    }\n    const instance = provider.useValue;\n    if (instance && instance.resetProvider) {\n      instance.resetProvider();\n    }\n    Object.keys(instance).forEach((property) => {\n      if (\n        instance[property] &&\n        instance[property].calls &&\n        instance[property].calls.reset\n      ) {\n        instance[property].calls.reset();\n      }\n    });\n  });\n};\n\nconst cleanUpStyles = () => {\n  const head: HTMLHeadElement = document.getElementsByTagName('head')[0];\n  const styles:\n    | HTMLCollectionOf<HTMLStyleElement>\n    | [] = head.getElementsByTagName('style');\n  for (let i = 0; i < styles.length; i++) {\n    head.removeChild(styles[i]);\n  }\n};\n\nexport const configureSuite = (configure?: () => void) => {\n  const testBed: TestBed = getTestBed();\n  const originalResetTestModule = TestBed.resetTestingModule;\n  const originalConfigureTestingModule = TestBed.configureTestingModule;\n  let moduleMetadata: TestModuleMetadata | undefined;\n\n  beforeAll(() => {\n    TestBed.resetTestingModule();\n    TestBed.resetTestingModule = () => TestBed;\n    TestBed.configureTestingModule = (moduleDef: TestModuleMetadata) => {\n      moduleMetadata = moduleDef;\n      return originalConfigureTestingModule(moduleMetadata);\n    };\n  });\n\n  if (configure) {\n    beforeAll((done: DoneFn) =>\n      (async () => {\n        configure();\n        await TestBed.compileComponents();\n      })()\n        .then(done)\n        .catch(done.fail)\n    );\n  }\n\n  afterEach(() => {\n    testBed['_activeFixtures'].forEach((fixture: ComponentFixture<any>) => {\n      fixture.destroy();\n    });\n    testBed['_instantiated'] = false;\n    testBed['_testModuleRef'] = null;\n    resetProviders(moduleMetadata);\n  });\n\n  afterAll(() => {\n    cleanUpStyles();\n    TestBed.resetTestingModule = originalResetTestModule;\n    TestBed.resetTestingModule();\n    TestBed.configureTestingModule = originalConfigureTestingModule;\n  });\n};\n","import { ComponentFixture, TestBed, waitForAsync } from '@angular/core/testing';\nimport { DebugElement, Type } from '@angular/core';\n\nexport class ComponentFixtureWrapper<T> {\n  constructor(public fixture: ComponentFixture<T>) {}\n\n  public get component(): T {\n    return this.fixture.componentInstance;\n  }\n\n  public get debugElement(): DebugElement {\n    return this.fixture.debugElement;\n  }\n\n  public get element(): HTMLElement {\n    return this.debugElement.nativeElement;\n  }\n\n  public detectChanges() {\n    this.fixture.detectChanges();\n  }\n}\n\nexport const createComponent = <T>(component: Type<T>) => {\n  return new ComponentFixtureWrapper<T>(TestBed.createComponent<T>(component));\n};\n\nexport const createStableComponent = async <T>(component: Type<T>) => {\n  const fixtureWrapper = createComponent(component);\n  fixtureWrapper.detectChanges();\n  await fixtureWrapper.fixture.whenStable();\n  fixtureWrapper.detectChanges();\n  return fixtureWrapper;\n};\n","/*\n * Public API Surface of ngth\n */\nexport * from './lib/ng-test-helper';\nexport * from './lib/component-fixture-wrapper';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":";;;AAOA,MAAM,cAAc,GAAG,CAAC,SAA8B,KAAI;IACxD,IAAI,CAAC,SAAS,EAAE;QACd,OAAO;AACR,KAAA;AACD,IAAA,IAAI,CAAC,SAAS,CAAC,SAAS,EAAE;QACxB,OAAO;AACR,KAAA;IAED,SAAS,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,QAAQ,KAAI;AACvC,QAAA,IAAI,CAAC,QAAQ,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE;YACnC,OAAO;AACR,SAAA;AACD,QAAA,MAAM,QAAQ,GAAG,QAAQ,CAAC,QAAQ,CAAC;AACnC,QAAA,IAAI,QAAQ,IAAI,QAAQ,CAAC,aAAa,EAAE;YACtC,QAAQ,CAAC,aAAa,EAAE,CAAC;AAC1B,SAAA;QACD,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,CAAC,QAAQ,KAAI;YACzC,IACE,QAAQ,CAAC,QAAQ,CAAC;AAClB,gBAAA,QAAQ,CAAC,QAAQ,CAAC,CAAC,KAAK;AACxB,gBAAA,QAAQ,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,KAAK,EAC9B;gBACA,QAAQ,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;AAClC,aAAA;AACH,SAAC,CAAC,CAAC;AACL,KAAC,CAAC,CAAC;AACL,CAAC,CAAC;AAEF,MAAM,aAAa,GAAG,MAAK;IACzB,MAAM,IAAI,GAAoB,QAAQ,CAAC,oBAAoB,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;IACvE,MAAM,MAAM,GAEH,IAAI,CAAC,oBAAoB,CAAC,OAAO,CAAC,CAAC;AAC5C,IAAA,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;QACtC,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;AAC7B,KAAA;AACH,CAAC,CAAC;AAEW,MAAA,cAAc,GAAG,CAAC,SAAsB,KAAI;AACvD,IAAA,MAAM,OAAO,GAAY,UAAU,EAAE,CAAC;AACtC,IAAA,MAAM,uBAAuB,GAAG,OAAO,CAAC,kBAAkB,CAAC;AAC3D,IAAA,MAAM,8BAA8B,GAAG,OAAO,CAAC,sBAAsB,CAAC;AACtE,IAAA,IAAI,cAA8C,CAAC;IAEnD,SAAS,CAAC,MAAK;QACb,OAAO,CAAC,kBAAkB,EAAE,CAAC;AAC7B,QAAA,OAAO,CAAC,kBAAkB,GAAG,MAAM,OAAO,CAAC;AAC3C,QAAA,OAAO,CAAC,sBAAsB,GAAG,CAAC,SAA6B,KAAI;YACjE,cAAc,GAAG,SAAS,CAAC;AAC3B,YAAA,OAAO,8BAA8B,CAAC,cAAc,CAAC,CAAC;AACxD,SAAC,CAAC;AACJ,KAAC,CAAC,CAAC;AAEH,IAAA,IAAI,SAAS,EAAE;QACb,SAAS,CAAC,CAAC,IAAY,KACrB,CAAC,MAAW,SAAA,CAAA,KAAA,CAAA,EAAA,KAAA,CAAA,EAAA,KAAA,CAAA,EAAA,aAAA;AACV,YAAA,SAAS,EAAE,CAAC;AACZ,YAAA,MAAM,OAAO,CAAC,iBAAiB,EAAE,CAAC;SACnC,CAAA,GAAG;aACD,IAAI,CAAC,IAAI,CAAC;AACV,aAAA,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CACpB,CAAC;AACH,KAAA;IAED,SAAS,CAAC,MAAK;QACb,OAAO,CAAC,iBAAiB,CAAC,CAAC,OAAO,CAAC,CAAC,OAA8B,KAAI;YACpE,OAAO,CAAC,OAAO,EAAE,CAAC;AACpB,SAAC,CAAC,CAAC;AACH,QAAA,OAAO,CAAC,eAAe,CAAC,GAAG,KAAK,CAAC;AACjC,QAAA,OAAO,CAAC,gBAAgB,CAAC,GAAG,IAAI,CAAC;QACjC,cAAc,CAAC,cAAc,CAAC,CAAC;AACjC,KAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,MAAK;AACZ,QAAA,aAAa,EAAE,CAAC;AAChB,QAAA,OAAO,CAAC,kBAAkB,GAAG,uBAAuB,CAAC;QACrD,OAAO,CAAC,kBAAkB,EAAE,CAAC;AAC7B,QAAA,OAAO,CAAC,sBAAsB,GAAG,8BAA8B,CAAC;AAClE,KAAC,CAAC,CAAC;AACL;;MCnFa,uBAAuB,CAAA;AAClC,IAAA,WAAA,CAAmB,OAA4B,EAAA;AAA5B,QAAA,IAAO,CAAA,OAAA,GAAP,OAAO,CAAqB;KAAI;AAEnD,IAAA,IAAW,SAAS,GAAA;AAClB,QAAA,OAAO,IAAI,CAAC,OAAO,CAAC,iBAAiB,CAAC;KACvC;AAED,IAAA,IAAW,YAAY,GAAA;AACrB,QAAA,OAAO,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC;KAClC;AAED,IAAA,IAAW,OAAO,GAAA;AAChB,QAAA,OAAO,IAAI,CAAC,YAAY,CAAC,aAAa,CAAC;KACxC;IAEM,aAAa,GAAA;AAClB,QAAA,IAAI,CAAC,OAAO,CAAC,aAAa,EAAE,CAAC;KAC9B;AACF,CAAA;AAEY,MAAA,eAAe,GAAG,CAAI,SAAkB,KAAI;IACvD,OAAO,IAAI,uBAAuB,CAAI,OAAO,CAAC,eAAe,CAAI,SAAS,CAAC,CAAC,CAAC;AAC/E,EAAE;AAEW,MAAA,qBAAqB,GAAG,CAAU,SAAkB,KAAI,SAAA,CAAA,KAAA,CAAA,EAAA,KAAA,CAAA,EAAA,KAAA,CAAA,EAAA,aAAA;AACnE,IAAA,MAAM,cAAc,GAAG,eAAe,CAAC,SAAS,CAAC,CAAC;IAClD,cAAc,CAAC,aAAa,EAAE,CAAC;AAC/B,IAAA,MAAM,cAAc,CAAC,OAAO,CAAC,UAAU,EAAE,CAAC;IAC1C,cAAc,CAAC,aAAa,EAAE,CAAC;AAC/B,IAAA,OAAO,cAAc,CAAC;AACxB,CAAC;;ACjCD;;AAEG;;ACFH;;AAEG;;;;"}