@akala/core
Version:
45 lines • 2.94 kB
JavaScript
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
return c > 3 && r && Object.defineProperty(target, key, r), r;
};
var __metadata = (this && this.__metadata) || function (k, v) {
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
};
// eslint-disable-next-line @typescript-eslint/no-var-requires
import { Polymorph } from '../polymorph.js';
import assert from 'assert';
import { it } from 'node:test';
class Test {
static transition(selector, rollback, duration, callback) {
if (typeof selector != 'undefined')
assert.strictEqual(typeof (selector), 'string');
if (typeof rollback != 'undefined')
assert.strictEqual(typeof (rollback), 'boolean');
if (typeof duration != 'undefined')
assert.strictEqual(typeof (duration), 'number');
if (typeof callback != 'undefined')
assert.strictEqual(typeof (callback), 'function');
return { selector, rollback, duration, callback };
}
}
__decorate([
Polymorph('string', 'boolean', 'number', 'function'),
__metadata("design:type", Function),
__metadata("design:paramtypes", [Object, Object, Object, Function]),
__metadata("design:returntype", void 0)
], Test, "transition", null);
// eslint-disable-next-line @typescript-eslint/no-empty-function
function noop() { }
it('polymorph should work', () => {
assert.deepEqual(Test.transition(noop), { selector: undefined, rollback: undefined, duration: undefined, callback: noop });
assert.deepEqual(Test.transition(1, noop), { selector: undefined, rollback: undefined, duration: 1, callback: noop });
assert.deepEqual(Test.transition(false, 1, noop), { selector: undefined, rollback: false, duration: 1, callback: noop });
assert.deepEqual(Test.transition(false, noop), { selector: undefined, duration: undefined, rollback: false, callback: noop });
assert.deepEqual(Test.transition('pwic', noop), { selector: 'pwic', rollback: undefined, duration: undefined, callback: noop });
assert.deepEqual(Test.transition('pwic', 1, noop), { selector: 'pwic', rollback: undefined, duration: 1, callback: noop });
assert.deepEqual(Test.transition('pwic', false, noop), { selector: 'pwic', duration: undefined, rollback: false, callback: noop });
assert.deepEqual(Test.transition('pwic', false, 1, noop), { selector: 'pwic', rollback: false, duration: 1, callback: noop });
});
//# sourceMappingURL=polymorph.js.map