@oada/oadaify
Version:
Make OADA data nicer to work with in JS/TS
53 lines • 1.51 kB
JavaScript
;
/**
* Tests for proper behavior of OADA keys
*
* @packageDocumentation
*/
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
const ava_1 = __importDefault(require("ava"));
const ts_expect_1 = require("ts-expect");
const __1 = require("../");
ava_1.default('should allow accessing OADA keys via symbol', (t) => {
const input = {
_id: 'resources/123',
};
const output = __1.oadaify(input);
t.is(output[__1._id], input._id);
});
ava_1.default('OADA keys should not appear in loop', (t) => {
const input = {
_id: 'resources/1223',
_rev: 2,
_meta: {},
foo: 'bar',
foo2: 'baz',
};
const output = __1.oadaify(input);
ts_expect_1.expectType(output);
const o = {};
for (const key in output) {
// TODO: Why doesn't TS realize key it keyof output??
const k = key;
ts_expect_1.expectType(k);
o[k] = output[k];
}
t.deepEqual(o, { foo: 'bar', foo2: 'baz' });
});
ava_1.default('OADA keys should not appear in output type', (t) => {
const input = {
_id: 'resources/1223',
_rev: 2,
_meta: {},
foo: 'bar',
foo2: 'baz',
};
const output = __1.oadaify(input);
// @ts-expect-error
ts_expect_1.expectType(output);
t.pass();
});
//# sourceMappingURL=oadaKeys.spec.js.map