blueflag-record
Advanced tools
Comparing version 0.4.2 to 0.4.4
@@ -43,9 +43,9 @@ "use strict"; | ||
var _Record2 = _interopRequireDefault(require("../Record")); | ||
var _Record4 = _interopRequireDefault(require("../Record")); | ||
var FooRecord = (0, _Record2.default)({ | ||
var FooRecord = (0, _Record4.default)({ | ||
foo: 'bar', | ||
baz: undefined | ||
}); | ||
var DateRecord = (0, _Record2.default)({ | ||
var DateRecord = (0, _Record4.default)({ | ||
start: { | ||
@@ -61,5 +61,6 @@ notSetValue: '2000-01-01', | ||
}); | ||
var DerivedFieldsRecord = (0, _Record2.default)({ | ||
var DerivedFieldsRecord = (0, _Record4.default)({ | ||
name: undefined, | ||
nameLowercase: { | ||
notSetValue: undefined, | ||
get: function get(value, data) { | ||
@@ -70,2 +71,3 @@ return data.name.toLowerCase(); | ||
dateOfBirth: { | ||
notSetValue: undefined, | ||
get: function get(value) { | ||
@@ -79,2 +81,3 @@ return new Date(value); | ||
dateOfBirthRaw: { | ||
notSetValue: undefined, | ||
get: function get(value, data) { | ||
@@ -99,3 +102,3 @@ return data.dateOfBirth; | ||
return ConstructedFieldsRecord; | ||
}((0, _Record2.default)({ | ||
}((0, _Record4.default)({ | ||
foo: undefined, | ||
@@ -137,2 +140,61 @@ bar: undefined | ||
}); | ||
describe('notSetValues', function () { | ||
it('will use the notSetValue key if given a getter/setter object', function () { | ||
var GetterSetter = | ||
/*#__PURE__*/ | ||
function (_Record2) { | ||
(0, _inherits2.default)(GetterSetter, _Record2); | ||
function GetterSetter() { | ||
(0, _classCallCheck2.default)(this, GetterSetter); | ||
return (0, _possibleConstructorReturn2.default)(this, (0, _getPrototypeOf2.default)(GetterSetter).apply(this, arguments)); | ||
} | ||
return GetterSetter; | ||
}((0, _Record4.default)({ | ||
foo: { | ||
notSetValue: 'bar' | ||
} | ||
})); | ||
; | ||
expect(new GetterSetter({}).foo).toBe('bar'); | ||
}); | ||
it('will use the value if no getter/setter object is provided', function () { | ||
var Shorthand = | ||
/*#__PURE__*/ | ||
function (_Record3) { | ||
(0, _inherits2.default)(Shorthand, _Record3); | ||
function Shorthand() { | ||
(0, _classCallCheck2.default)(this, Shorthand); | ||
return (0, _possibleConstructorReturn2.default)(this, (0, _getPrototypeOf2.default)(Shorthand).apply(this, arguments)); | ||
} | ||
return Shorthand; | ||
}((0, _Record4.default)({ | ||
un: undefined, | ||
nul: null, | ||
string: 'foo', | ||
number: 1, | ||
array: ['foo'], | ||
object: { | ||
foo: 'bar' | ||
}, | ||
date: new Date('2001-01-01') | ||
})); | ||
; | ||
var data = new Shorthand({}); | ||
expect(data.un).toBe(undefined); | ||
expect(data.nul).toBe(null); | ||
expect(data.string).toBe('foo'); | ||
expect(data.number).toBe(1); | ||
expect(data.array).toEqual(['foo']); | ||
expect(data.object).toEqual({ | ||
foo: 'bar' | ||
}); | ||
expect(data.date).toEqual(new Date('2001-01-01')); | ||
}); | ||
}); | ||
describe('getters', function () { | ||
@@ -139,0 +201,0 @@ it('supports the has function', function () { |
@@ -20,24 +20,26 @@ "use strict"; | ||
var _delete = _interopRequireDefault(require("unmutable/lib/delete")); | ||
var _delete = _interopRequireDefault(require("unmutable/delete")); | ||
var _reduce = _interopRequireDefault(require("unmutable/lib/reduce")); | ||
var _reduce = _interopRequireDefault(require("unmutable/reduce")); | ||
var _entries = _interopRequireDefault(require("unmutable/lib/entries")); | ||
var _entries = _interopRequireDefault(require("unmutable/entries")); | ||
var _get = _interopRequireDefault(require("unmutable/lib/get")); | ||
var _get = _interopRequireDefault(require("unmutable/get")); | ||
var _getIn = _interopRequireDefault(require("unmutable/lib/getIn")); | ||
var _getIn = _interopRequireDefault(require("unmutable/getIn")); | ||
var _has = _interopRequireDefault(require("unmutable/lib/has")); | ||
var _has = _interopRequireDefault(require("unmutable/has")); | ||
var _map = _interopRequireDefault(require("unmutable/lib/map")); | ||
var _map = _interopRequireDefault(require("unmutable/map")); | ||
var _set = _interopRequireDefault(require("unmutable/lib/set")); | ||
var _set = _interopRequireDefault(require("unmutable/set")); | ||
var _setIn = _interopRequireDefault(require("unmutable/lib/setIn")); | ||
var _setIn = _interopRequireDefault(require("unmutable/setIn")); | ||
var _toObject = _interopRequireDefault(require("unmutable/lib/toObject")); | ||
var _toObject = _interopRequireDefault(require("unmutable/toObject")); | ||
var _pipeWith = _interopRequireDefault(require("unmutable/lib/util/pipeWith")); | ||
var _pipeWith = _interopRequireDefault(require("unmutable/pipeWith")); | ||
var _isKeyed = _interopRequireDefault(require("unmutable/isKeyed")); | ||
var identity = function identity(x) { | ||
@@ -61,7 +63,7 @@ return x; | ||
var notSetValues = (0, _map.default)(function (vv) { | ||
if ((0, _typeof2.default)(vv) !== 'object') { | ||
return vv; | ||
if ((0, _isKeyed.default)(vv) && (0, _has.default)('notSetValue')(vv)) { | ||
return (0, _get.default)('notSetValue')(vv); | ||
} | ||
return (0, _get.default)('notSetValue')(vv); | ||
return vv; | ||
})(config); | ||
@@ -68,0 +70,0 @@ return ( |
{ | ||
"main": "lib/index.js", | ||
"name": "blueflag-record", | ||
"version": "0.4.2", | ||
"version": "0.4.4", | ||
"description": "An Unmutable compatible record", | ||
@@ -41,4 +41,4 @@ "license": "MIT", | ||
"dependencies": { | ||
"unmutable": "^0.39.0" | ||
"unmutable": "^0.46.1" | ||
} | ||
} |
20149
510
+ Added@babel/runtime@7.24.7(transitive)
+ Addedregenerator-runtime@0.14.1(transitive)
+ Addedunmutable@0.46.1(transitive)
- Removedunmutable@0.39.0(transitive)
Updatedunmutable@^0.46.1