New Case Study:See how Anthropic automated 95% of dependency reviews with Socket.Learn More
Socket
Sign inDemoInstall
Socket

@govuk-frederic/object-table

Package Overview
Dependencies
Maintainers
4
Versions
8
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@govuk-frederic/object-table - npm Package Compare versions

Comparing version 0.0.5 to 0.0.6

src/__snapshots__/test.js.snap

40

es/index.js

@@ -15,4 +15,2 @@ function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }

* ```jsx
* import { objectHasValueForKeys, keysFromFields, rowsFromObject } from '@govuk-frederic/utils';
*
* const fields = [

@@ -32,4 +30,2 @@ * { key: 'one', heading: 'One' },

* ```jsx
* import { objectHasValueForKeys, keysFromFields, rowsFromObject } from '@govuk-frederic/utils';
*
* const fields = [

@@ -49,4 +45,2 @@ * { key: 'one', heading: 'One' },

* ```jsx
* import { objectHasValueForKeys, keysFromFields, rowsFromObject } from '@govuk-frederic/utils';
*
* const fields = [

@@ -65,10 +59,6 @@ * { key: 'one', heading: 'One' },

var title = _ref.title,
_ref$fields = _ref.fields,
fields = _ref$fields === void 0 ? [] : _ref$fields,
_ref$object = _ref.object,
object = _ref$object === void 0 ? {} : _ref$object,
_ref$hideWithNoValues = _ref.hideWithNoValues,
hideWithNoValues = _ref$hideWithNoValues === void 0 ? false : _ref$hideWithNoValues,
_ref$skipEmptyValues = _ref.skipEmptyValues,
skipEmptyValues = _ref$skipEmptyValues === void 0 ? true : _ref$skipEmptyValues,
fields = _ref.fields,
object = _ref.object,
hideWithNoValues = _ref.hideWithNoValues,
skipEmptyValues = _ref.skipEmptyValues,
defaultTransform = _ref.defaultTransform,

@@ -81,3 +71,3 @@ props = _objectWithoutProperties(_ref, ["title", "fields", "object", "hideWithNoValues", "skipEmptyValues", "defaultTransform"]);

if (rows.rows.length) {
return React.createElement(Fragment, null, title ? title : null, React.createElement(Table, _extends({
return React.createElement(Fragment, null, title, React.createElement(Table, _extends({
rows: rows.rows,

@@ -94,16 +84,10 @@ names: rows.names,

ObjectTable.propTypes = process.env.NODE_ENV !== "production" ? {
fields: PropTypes.arrayOf(PropTypes.shape({
key: PropTypes.string.isRequired,
heading: PropTypes.string.isRequired,
transform: PropTypes.func
})),
object: PropTypes.object,
hideWithNoValues: PropTypes.bool,
skipEmptyValues: PropTypes.bool,
skipMissingKeys: PropTypes.bool,
defaultTransform: PropTypes.func,
title: PropTypes.node
} : {};
ObjectTable.defaultProps = {
fields: [],
object: {},
hideWithNoValues: false,
skipEmptyValues: false,
title: null
};
export default ObjectTable;
//# sourceMappingURL=index.js.map
import React from 'react';
import { mount } from 'enzyme';
import Component from '.';
import { mount, shallow } from 'enzyme';
import ObjectTable from '.';
var fields = [{
key: 'one',
heading: 'One'
}, {
key: 'two',
heading: 'Two',
transform: function transform() {
return 'two';
}
}];
var object = {
one: 'test',
two: 'test'
};
describe('ObjectTable', function () {
var fields = [{
key: 'one',
heading: 'One'
}, {
key: 'two',
heading: 'Two',
transform: function transform() {
return 'two';
}
}];
var object = {
one: 'test',
two: 'test'
};
var title = 'Heading';
var wrapper;
it('renders with defaults', function () {
wrapper = mount(React.createElement(Component, null));
it('renders without crashing', function () {
var wrapper = shallow(React.createElement(ObjectTable, null));
expect(wrapper.exists()).toBe(true);
});
it('renders a table of data based on params', function () {
wrapper = mount(React.createElement(Component, {
fields: fields,
object: object
}));
var table = wrapper.find('Table');
var rows = table.prop('rows');
expect(rows).toEqual([['One', 'test'], ['Two', 'two']]);
describe('renders table data', function () {
it('renders expected table data cells', function () {
var wrapper = mount(React.createElement(ObjectTable, {
fields: fields,
object: object
}));
expect(wrapper.find('Table').prop('rows')).toEqual([['One', 'test'], ['Two', 'two']]);
});
it('omits rows in table for null values', function () {
var fieldsWithTransform = [{
key: 'one',
heading: 'one'
}, {
key: 'two',
heading: 'two',
transform: function transform() {
return null;
}
}, {
key: 'three',
heading: 'three'
}];
var objectWithNull = {
one: 'test',
two: 'test',
three: null
};
var wrapper = mount(React.createElement(ObjectTable, {
fields: fieldsWithTransform,
object: objectWithNull,
skipEmptyValues: true
}));
expect(wrapper.find('tr').length).toBe(1);
});
it('renders nothing when rows have no values and hideWithNoValues is true', function () {
var objectWithNoValues = {};
var wrapper = mount(React.createElement(ObjectTable, {
fields: fields,
object: objectWithNoValues,
hideWithNoValues: true
}));
expect(wrapper.html()).toBe(null);
});
});
it('optionally renders a heading for a table', function () {
fields = [{
key: 'one',
heading: 'One'
}, {
key: 'two',
heading: 'Two',
transform: function transform() {
return 'two';
}
}];
object = {
one: 'test',
two: 'test'
};
wrapper = mount(React.createElement(Component, {
fields: fields,
object: object,
title: title
}));
expect(wrapper.contains('Heading')).toBe(true);
describe('responds as expected to additional props', function () {
it('optionally renders a heading for a table', function () {
var wrapper = shallow(React.createElement(ObjectTable, {
fields: fields,
object: object,
title: "Heading"
}));
expect(wrapper.contains('Heading')).toBe(true);
});
});
it('omits rows in table for null values', function () {
fields = [{
key: 'one',
heading: 'one'
}, {
key: 'two',
heading: 'two',
transform: function transform() {
return null;
}
}, {
key: 'three',
heading: 'three'
}];
object = {
one: 'test',
two: 'test',
three: null
};
wrapper = mount(React.createElement(Component, {
it('matches snapshot', function () {
var wrapper = mount(React.createElement(ObjectTable, {
fields: fields,
object: object
}));
var rows = wrapper.find('tr');
expect(rows.length).toBe(1);
expect(wrapper).toMatchSnapshot();
});
it('renders nothing when rows have no values and hideWithNoValues is true', function () {
fields = [{
key: 'one',
heading: 'one'
}, {
key: 'two',
heading: 'two',
transform: function transform() {
return null;
}
}, {
key: 'three',
heading: 'three'
}];
object = {};
wrapper = mount(React.createElement(Component, {
fields: fields,
object: object,
hideWithNoValues: true
}));
expect(wrapper.html()).toBe(null);
});
});
//# sourceMappingURL=test.js.map

@@ -28,4 +28,2 @@ "use strict";

* ```jsx
* import { objectHasValueForKeys, keysFromFields, rowsFromObject } from '@govuk-frederic/utils';
*
* const fields = [

@@ -45,4 +43,2 @@ * { key: 'one', heading: 'One' },

* ```jsx
* import { objectHasValueForKeys, keysFromFields, rowsFromObject } from '@govuk-frederic/utils';
*
* const fields = [

@@ -62,4 +58,2 @@ * { key: 'one', heading: 'One' },

* ```jsx
* import { objectHasValueForKeys, keysFromFields, rowsFromObject } from '@govuk-frederic/utils';
*
* const fields = [

@@ -77,10 +71,6 @@ * { key: 'one', heading: 'One' },

var title = _ref.title,
_ref$fields = _ref.fields,
fields = _ref$fields === void 0 ? [] : _ref$fields,
_ref$object = _ref.object,
object = _ref$object === void 0 ? {} : _ref$object,
_ref$hideWithNoValues = _ref.hideWithNoValues,
hideWithNoValues = _ref$hideWithNoValues === void 0 ? false : _ref$hideWithNoValues,
_ref$skipEmptyValues = _ref.skipEmptyValues,
skipEmptyValues = _ref$skipEmptyValues === void 0 ? true : _ref$skipEmptyValues,
fields = _ref.fields,
object = _ref.object,
hideWithNoValues = _ref.hideWithNoValues,
skipEmptyValues = _ref.skipEmptyValues,
defaultTransform = _ref.defaultTransform,

@@ -93,3 +83,3 @@ props = _objectWithoutProperties(_ref, ["title", "fields", "object", "hideWithNoValues", "skipEmptyValues", "defaultTransform"]);

if (rows.rows.length) {
return _react.default.createElement(_react.Fragment, null, title ? title : null, _react.default.createElement(_govukFrederic.Table, _extends({
return _react.default.createElement(_react.Fragment, null, title, _react.default.createElement(_govukFrederic.Table, _extends({
rows: rows.rows,

@@ -106,15 +96,9 @@ names: rows.names,

ObjectTable.propTypes = process.env.NODE_ENV !== "production" ? {
fields: _propTypes.default.arrayOf(_propTypes.default.shape({
key: _propTypes.default.string.isRequired,
heading: _propTypes.default.string.isRequired,
transform: _propTypes.default.func
})),
object: _propTypes.default.object,
hideWithNoValues: _propTypes.default.bool,
skipEmptyValues: _propTypes.default.bool,
skipMissingKeys: _propTypes.default.bool,
defaultTransform: _propTypes.default.func,
title: _propTypes.default.node
} : {};
ObjectTable.defaultProps = {
fields: [],
object: {},
hideWithNoValues: false,
skipEmptyValues: false,
title: null
};
var _default = ObjectTable;

@@ -121,0 +105,0 @@ exports.default = _default;

@@ -11,103 +11,83 @@ "use strict";

var fields = [{
key: 'one',
heading: 'One'
}, {
key: 'two',
heading: 'Two',
transform: function transform() {
return 'two';
}
}];
var object = {
one: 'test',
two: 'test'
};
describe('ObjectTable', function () {
var fields = [{
key: 'one',
heading: 'One'
}, {
key: 'two',
heading: 'Two',
transform: function transform() {
return 'two';
}
}];
var object = {
one: 'test',
two: 'test'
};
var title = 'Heading';
var wrapper;
it('renders with defaults', function () {
wrapper = (0, _enzyme.mount)(_react.default.createElement(_.default, null));
it('renders without crashing', function () {
var wrapper = (0, _enzyme.shallow)(_react.default.createElement(_.default, null));
expect(wrapper.exists()).toBe(true);
});
it('renders a table of data based on params', function () {
wrapper = (0, _enzyme.mount)(_react.default.createElement(_.default, {
fields: fields,
object: object
}));
var table = wrapper.find('Table');
var rows = table.prop('rows');
expect(rows).toEqual([['One', 'test'], ['Two', 'two']]);
describe('renders table data', function () {
it('renders expected table data cells', function () {
var wrapper = (0, _enzyme.mount)(_react.default.createElement(_.default, {
fields: fields,
object: object
}));
expect(wrapper.find('Table').prop('rows')).toEqual([['One', 'test'], ['Two', 'two']]);
});
it('omits rows in table for null values', function () {
var fieldsWithTransform = [{
key: 'one',
heading: 'one'
}, {
key: 'two',
heading: 'two',
transform: function transform() {
return null;
}
}, {
key: 'three',
heading: 'three'
}];
var objectWithNull = {
one: 'test',
two: 'test',
three: null
};
var wrapper = (0, _enzyme.mount)(_react.default.createElement(_.default, {
fields: fieldsWithTransform,
object: objectWithNull,
skipEmptyValues: true
}));
expect(wrapper.find('tr').length).toBe(1);
});
it('renders nothing when rows have no values and hideWithNoValues is true', function () {
var objectWithNoValues = {};
var wrapper = (0, _enzyme.mount)(_react.default.createElement(_.default, {
fields: fields,
object: objectWithNoValues,
hideWithNoValues: true
}));
expect(wrapper.html()).toBe(null);
});
});
it('optionally renders a heading for a table', function () {
fields = [{
key: 'one',
heading: 'One'
}, {
key: 'two',
heading: 'Two',
transform: function transform() {
return 'two';
}
}];
object = {
one: 'test',
two: 'test'
};
wrapper = (0, _enzyme.mount)(_react.default.createElement(_.default, {
fields: fields,
object: object,
title: title
}));
expect(wrapper.contains('Heading')).toBe(true);
describe('responds as expected to additional props', function () {
it('optionally renders a heading for a table', function () {
var wrapper = (0, _enzyme.shallow)(_react.default.createElement(_.default, {
fields: fields,
object: object,
title: "Heading"
}));
expect(wrapper.contains('Heading')).toBe(true);
});
});
it('omits rows in table for null values', function () {
fields = [{
key: 'one',
heading: 'one'
}, {
key: 'two',
heading: 'two',
transform: function transform() {
return null;
}
}, {
key: 'three',
heading: 'three'
}];
object = {
one: 'test',
two: 'test',
three: null
};
wrapper = (0, _enzyme.mount)(_react.default.createElement(_.default, {
it('matches snapshot', function () {
var wrapper = (0, _enzyme.mount)(_react.default.createElement(_.default, {
fields: fields,
object: object
}));
var rows = wrapper.find('tr');
expect(rows.length).toBe(1);
expect(wrapper).toMatchSnapshot();
});
it('renders nothing when rows have no values and hideWithNoValues is true', function () {
fields = [{
key: 'one',
heading: 'one'
}, {
key: 'two',
heading: 'two',
transform: function transform() {
return null;
}
}, {
key: 'three',
heading: 'three'
}];
object = {};
wrapper = (0, _enzyme.mount)(_react.default.createElement(_.default, {
fields: fields,
object: object,
hideWithNoValues: true
}));
expect(wrapper.html()).toBe(null);
});
});
//# sourceMappingURL=test.js.map
{
"name": "@govuk-frederic/object-table",
"version": "0.0.5",
"version": "0.0.6",
"dependencies": {
"@govuk-frederic/table": "^0.0.5",
"@govuk-frederic/utils": "^0.0.4"
"@govuk-frederic/table": "^0.0.6",
"@govuk-frederic/utils": "^0.0.6"
},

@@ -8,0 +8,0 @@ "devDependencies": {

@@ -59,6 +59,5 @@ ObjectTable

`object` | | ```{}``` | object |
`skipEmptyValues` | | ```true``` | bool |
`skipMissingKeys` | | `````` | bool |
`title` | | `````` | node |
`skipEmptyValues` | | ```false``` | bool |
`title` | | ```null``` | node |
import React from 'react';
import { mount } from 'enzyme';
import { mount, shallow } from 'enzyme';
import Component from '.';
import ObjectTable from '.';
const fields = [
{ key: 'one', heading: 'One' },
{ key: 'two', heading: 'Two', transform: () => 'two' },
];
const object = { one: 'test', two: 'test' };
describe('ObjectTable', () => {
let fields = [
{ key: 'one', heading: 'One' },
{ key: 'two', heading: 'Two', transform: () => 'two' },
];
let object = { one: 'test', two: 'test' };
const title = 'Heading';
let wrapper;
it('renders with defaults', () => {
wrapper = mount(<Component />);
it('renders without crashing', () => {
const wrapper = shallow(<ObjectTable />);
expect(wrapper.exists()).toBe(true);
});
describe('renders table data', () => {
it('renders expected table data cells', () => {
const wrapper = mount(<ObjectTable fields={fields} object={object} />);
expect(wrapper.find('Table').prop('rows')).toEqual([['One', 'test'], ['Two', 'two']]);
});
it('renders a table of data based on params', () => {
wrapper = mount(<Component fields={fields} object={object} />);
const table = wrapper.find('Table');
const rows = table.prop('rows');
it('omits rows in table for null values', () => {
const fieldsWithTransform = [
{ key: 'one', heading: 'one' },
{ key: 'two', heading: 'two', transform: () => null },
{ key: 'three', heading: 'three'},
];
const objectWithNull = { one: 'test', two: 'test', three: null };
const wrapper = mount(<ObjectTable fields={fieldsWithTransform} object={objectWithNull} skipEmptyValues />);
expect(wrapper.find('tr').length).toBe(1);
});
expect(rows).toEqual([['One', 'test'], ['Two', 'two']]);
it('renders nothing when rows have no values and hideWithNoValues is true', () => {
const objectWithNoValues = {};
const wrapper = mount(<ObjectTable fields={fields} object={objectWithNoValues} hideWithNoValues />);
expect(wrapper.html()).toBe(null);
});
});
it('optionally renders a heading for a table', () => {
fields = [
{ key: 'one', heading: 'One' },
{ key: 'two', heading: 'Two', transform: () => 'two' },
];
object = { one: 'test', two: 'test' };
wrapper = mount(<Component fields={fields} object={object} title={title} />);
expect(wrapper.contains('Heading')).toBe(true);
describe('responds as expected to additional props', () => {
it('optionally renders a heading for a table', () => {
const wrapper = shallow(<ObjectTable fields={fields} object={object} title="Heading" />);
expect(wrapper.contains('Heading')).toBe(true);
});
});
it('omits rows in table for null values', () => {
fields = [
{ key: 'one', heading: 'one' },
{ key: 'two', heading: 'two', transform: () => null },
{ key: 'three', heading: 'three'},
];
object = { one: 'test', two: 'test', three: null };
wrapper = mount(<Component fields={fields} object={object} skipEmptyValues />);
const rows = wrapper.find('tr');
expect(rows.length).toBe(1);
it('matches snapshot', () => {
const wrapper = mount(<ObjectTable fields={fields} object={object} />);
expect(wrapper).toMatchSnapshot();
});
it('renders nothing when rows have no values and hideWithNoValues is true', () => {
fields = [
{ key: 'one', heading: 'one' },
{ key: 'two', heading: 'two', transform: () => null },
{ key: 'three', heading: 'three'},
];
object = {};
wrapper = mount(<Component fields={fields} object={object} hideWithNoValues />);
expect(wrapper.html()).toBe(null);
});
});

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc