define(['dart_sdk'], function(dart_sdk) { 'use strict'; const core = dart_sdk.core; const dart = dart_sdk.dart; const dartx = dart_sdk.dartx; const _root = Object.create(null); const async_helper = Object.create(_root); let VoidTovoid = () => (VoidTovoid = dart.constFn(dart.fnTypeFuzzy(dart.void, [])))(); let VoidTodynamic = () => (VoidTodynamic = dart.constFn(dart.fnTypeFuzzy(dart.dynamic, [])))(); let StringToException = () => (StringToException = dart.constFn(dart.fnType(core.Exception, [core.String])))(); let FnTovoid = () => (FnTovoid = dart.constFn(dart.fnType(dart.void, [VoidTovoid()])))(); let VoidTovoid$ = () => (VoidTovoid$ = dart.constFn(dart.fnType(dart.void, [])))(); let dynamicTovoid = () => (dynamicTovoid = dart.constFn(dart.fnType(dart.void, [dart.dynamic])))(); let FnTovoid$ = () => (FnTovoid$ = dart.constFn(dart.fnType(dart.void, [VoidTodynamic()])))(); dart.defineLazy(async_helper, { get _initialized() { return false; }, set _initialized(_) {} }); async_helper._Action0 = dart.typedef('_Action0', () => dart.fnTypeFuzzy(dart.void, [])); dart.defineLazy(async_helper, { get _onAsyncEnd() { return null; }, set _onAsyncEnd(_) {}, get _asyncLevel() { return 0; }, set _asyncLevel(_) {} }); async_helper._buildException = function(msg) { return core.Exception.new(dart.str`Fatal: ${msg}. This is most likely a bug in your test.`); }; dart.fn(async_helper._buildException, StringToException()); async_helper.asyncTestInitialize = function(callback) { async_helper._asyncLevel = 0; async_helper._initialized = false; async_helper._onAsyncEnd = callback; }; dart.fn(async_helper.asyncTestInitialize, FnTovoid()); dart.copyProperties(async_helper, { get asyncTestStarted() { return async_helper._initialized; } }); async_helper.asyncStart = function() { if (dart.test(async_helper._initialized) && async_helper._asyncLevel === 0) { dart.throw(async_helper._buildException('asyncStart() was called even though we are done ' + 'with testing.')); } if (!dart.test(async_helper._initialized)) { if (async_helper._onAsyncEnd == null) { dart.throw(async_helper._buildException('asyncStart() was called before asyncTestInitialize()')); } core.print('unittest-suite-wait-for-done'); async_helper._initialized = true; } async_helper._asyncLevel = dart.notNull(async_helper._asyncLevel) + 1; }; dart.fn(async_helper.asyncStart, VoidTovoid$()); async_helper.asyncEnd = function() { if (dart.notNull(async_helper._asyncLevel) <= 0) { if (!dart.test(async_helper._initialized)) { dart.throw(async_helper._buildException('asyncEnd() was called before asyncStart().')); } else { dart.throw(async_helper._buildException('asyncEnd() was called more often than ' + 'asyncStart().')); } } async_helper._asyncLevel = dart.notNull(async_helper._asyncLevel) - 1; if (async_helper._asyncLevel === 0) { let callback = async_helper._onAsyncEnd; async_helper._onAsyncEnd = null; callback(); core.print('unittest-suite-success'); } }; dart.fn(async_helper.asyncEnd, VoidTovoid$()); async_helper.asyncSuccess = function(_) { return async_helper.asyncEnd(); }; dart.fn(async_helper.asyncSuccess, dynamicTovoid()); async_helper.asyncTest = function(f) { async_helper.asyncStart(); dart.dsend(f(), 'then', async_helper.asyncSuccess); }; dart.fn(async_helper.asyncTest, FnTovoid$()); dart.trackLibraries("async_helper", { "async_helper.dart": async_helper }, null); // Exports: return { async_helper: async_helper }; });