Skema: Shape Purifier

How to purify an object against a shape

by kaelzhang

HTML

<script src="https://unpkg.com/skema/umd/jsfiddle.js"></script>
<script src="https://unpkg.com/skema/umd/skema.min.js"></script>

JavaScript

const {
	shape
} = Skema

// If a shape is marked as `clean:true`, it is a purifier
const CLEAN = true

const User = shape({
	id: Number,
  name: String
}, CLEAN)

const user = User.from({
	id: 1,
  name: 'Steve',
  lastName: 'Jobs' // will be eliminated
})

log('lastName:', user.lastName)
log('has lastName:', 'lastName' in user)