@iotize/ionic
Version:
Iotize specific building blocks on top of @ionic/angular.
1 lines • 13.3 kB
Source Map (JSON)
{"version":3,"file":"iotize-ionic-testing.mjs","sources":["../../../../projects/iotize-ionic/testing/src/lib/testing-scanner.ts","../../../../projects/iotize-ionic/testing/src/lib/ble-scanner-testing.service.ts","../../../../projects/iotize-ionic/testing/src/lib/protocol-factory-testing.service.ts","../../../../projects/iotize-ionic/testing/src/lib/iotize-ionic-testing.module.ts","../../../../projects/iotize-ionic/testing/src/lib/wifi-scanner-testing.service.ts","../../../../projects/iotize-ionic/testing/src/lib/util.ts","../../../../projects/iotize-ionic/testing/src/iotize-ionic-testing.ts"],"sourcesContent":["import { sleep } from '@iotize/common/utility';\nimport { DeviceScanner, DeviceScannerOptions } from '@iotize/tap/scanner/api';\nimport { BehaviorSubject, Subject } from 'rxjs';\n\nexport class TestingScanner<T> implements DeviceScanner<T> {\n scanning: BehaviorSubject<boolean> = new BehaviorSubject<boolean>(false);\n\n private _results$ = new Subject<T[]>();\n private _results: T[] = [];\n\n get isScanning(): boolean {\n return this.scanning.value;\n }\n\n get results() {\n return this._results$.asObservable();\n }\n\n async start(option?: DeviceScannerOptions): Promise<any> {\n this.clearResults();\n await sleep(100);\n if (!this.isScanning) {\n this.scanning.next(true);\n }\n }\n\n async stop(): Promise<any> {\n await sleep(100);\n this.scanning.next(false);\n }\n\n addResult(result: T) {\n this._results.push(result);\n this._results$.next(this._results);\n }\n\n private clearResults() {\n this._results = [];\n this._results$.next(this._results);\n }\n}\n","import { DiscoveredDeviceType } from '@iotize/ionic';\nimport { TestingScanner } from './testing-scanner';\nimport { Injectable } from '@angular/core';\n\ntype BLEItemType = DiscoveredDeviceType;\n\n@Injectable()\nexport class BLEScannerTestingService extends TestingScanner<BLEItemType> {}\n","import { ComProtocol } from '@iotize/tap/protocol/api';\nimport { ProtocolFactoryService, ProtocolMeta } from '@iotize/ionic';\nimport { Injectable } from '@angular/core';\n\n@Injectable()\nexport class ProtocolFactoryTestingService implements ProtocolFactoryService {\n constructor() {}\n\n public create(meta: ProtocolMeta): ComProtocol | Promise<ComProtocol> {\n throw new Error(`Unsupported protocol type \"${meta.type}\"`);\n }\n\n public isValid(meta: ProtocolMeta): boolean {\n return false;\n }\n}\n","import { CommonModule, DOCUMENT } from '@angular/common';\nimport { ModuleWithProviders, NgModule, NgZone, Provider } from '@angular/core';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\nimport { RouterTestingModule } from '@angular/router/testing';\nimport { NFC } from '@awesome-cordova-plugins/nfc/ngx';\nimport { Platform } from '@ionic/angular';\nimport {\n ExecuteTapActionServiceInterface,\n LibCommonModule,\n ProtocolFactoryService,\n TAP_BLE_SCANNER,\n TAP_CONNECTION_OPTIONS_PROVIDER,\n TAP_EXECUTE_TAP_ACTION_SERVICE,\n TAP_INFO_RESOLVER_CONFIG,\n TAP_NETWORK_SCANNER,\n TAP_WIFI_SCANNER,\n TapAdministrationService,\n TapConnectionOptions,\n TaskManagerUiModule,\n} from '@iotize/ionic';\nimport { defaultInfoResolverConfig } from '@iotize/ionic/config';\nimport { DeviceScanner, DeviceScannerOptions } from '@iotize/tap/scanner/api';\nimport { never, of } from 'rxjs';\nimport { BLEScannerTestingService } from './ble-scanner-testing.service';\n\nimport { ProtocolFactoryTestingService as ProtocolFactoryTestingServiceClass } from './protocol-factory-testing.service';\nclass ScannerNotAvailable implements DeviceScanner<any> {\n scanning = of(false);\n isScanning = false;\n results = never();\n\n constructor(public message: string) {}\n\n start(option?: DeviceScannerOptions) {\n return Promise.reject(this.message);\n }\n\n stop() {\n return Promise.reject(this.message);\n }\n}\n\nexport const ProtocolFactoryTestingServiceProvider = {\n provide: ProtocolFactoryService,\n useClass: ProtocolFactoryTestingServiceClass,\n};\n\nexport function scannerNotAvailableFactory(name: string) {\n const factory = () => {\n const scanner = new ScannerNotAvailable(\n `${name} scanner is not available for this test`\n );\n return scanner;\n };\n return factory;\n}\n\nclass ExecuteTapActionTestingService\n implements ExecuteTapActionServiceInterface\n{\n async executeTapAction<T>(callable: () => Promise<T>): Promise<T> {\n return await callable();\n }\n}\n\n@NgModule({\n declarations: [],\n providers: [\n BLEScannerTestingService,\n ProtocolFactoryTestingServiceProvider,\n {\n provide: TAP_INFO_RESOLVER_CONFIG,\n useValue: defaultInfoResolverConfig,\n },\n NFC,\n {\n provide: TAP_CONNECTION_OPTIONS_PROVIDER,\n useValue: <TapConnectionOptions>{\n encryption: undefined,\n nfcPairing: false,\n refreshSessionState: true,\n switchProtocol: false,\n },\n },\n {\n provide: TAP_WIFI_SCANNER,\n useFactory: scannerNotAvailableFactory('Wi-Fi'),\n },\n {\n provide: TAP_BLE_SCANNER,\n useClass: BLEScannerTestingService,\n },\n {\n provide: TAP_NETWORK_SCANNER,\n useFactory: scannerNotAvailableFactory('Network'),\n },\n {\n provide: TAP_EXECUTE_TAP_ACTION_SERVICE,\n useClass: ExecuteTapActionTestingService,\n },\n TapAdministrationService,\n ],\n imports: [],\n exports: [\n CommonModule,\n ReactiveFormsModule,\n FormsModule,\n RouterTestingModule,\n TaskManagerUiModule,\n LibCommonModule,\n ],\n})\nexport class IotizeIonicTestingModule {\n static forRoot(options?: {\n platform: string;\n }): ModuleWithProviders<IotizeIonicTestingModule> {\n // const providers: Provider[] = [];\n const overwritesProvides: Provider[] = [];\n if (options?.platform) {\n overwritesProvides.push({\n provide: Platform,\n useFactory: (doc: any, ngZone: NgZone) => {\n return new TestingPlatform(doc, ngZone, options?.platform);\n },\n deps: [DOCUMENT, NgZone],\n });\n }\n\n return {\n ngModule: IotizeIonicTestingModule,\n providers: [\n // ...providers,\n ...overwritesProvides,\n ],\n };\n }\n}\n\nclass TestingPlatform extends Platform {\n constructor(doc: any, zone: NgZone, public platformName: string) {\n super(doc, zone);\n }\n\n is(platformName: string): boolean {\n return platformName === this.platformName;\n }\n}\n","import { TestingScanner } from './testing-scanner';\n\ntype BLEItemType = any;\n\nexport class WifiScannerTestingService extends TestingScanner<BLEItemType> {}\n","import { EncoderDecoder } from '@iotize/common/converter/api';\nimport { AbstractVariable } from '@iotize/tap/data';\n\nexport async function sleep(ms: number) {\n return new Promise<number>((resolve) =>\n setTimeout((value) => resolve(value), ms)\n );\n}\n\nexport class VariableInteractionTesting extends AbstractVariable<number> {\n private _rawValue: Uint8Array = Uint8Array.from([0]);\n\n get id() {\n return this.options?.identifier || 'Unamed variable';\n }\n\n converter!: EncoderDecoder<number, Uint8Array>;\n\n constructor(public options?: { identifier?: string }) {\n super();\n }\n\n async readRawInner(): Promise<Uint8Array> {\n return this._rawValue;\n }\n\n async writeRaw(value: Uint8Array): Promise<void> {\n this._rawValue = value;\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":["sleep","ProtocolFactoryTestingServiceClass"],"mappings":"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"}