UNPKG

@akala/core

Version:
45 lines 2.94 kB
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