MutationObserver implementation for convenience
npm install @squarespace/darwinSquarespace Darwin
------------------------------
Passthrough implementation of MutationObserver designed to make it easier to use, handling DOM querying, browser compatibility, and other stuff like that for you.
NOTICE: This code is licensed to you pursuant to Squarespace’s Developer Terms of Use. See license section below.
```sh``
npm install @squarespace/darwin;
``js
import Darwin from '@squarespace/darwin';
const instance = new Darwin({
callback: () => {
console.log('Mutation observed!');
},
targets: [
'.my-mutating-node'
]
});
``
If you prefer to handle transpiling and polyfilling on your own, you can import ES6 from Darwin:
`js`
import darwin from '@squarespace/darwin/src';
Alternately, Darwin specifies a module property in package.json that points to the uncompiled src/index.js, so you may be able to simply import @squarespace/darwin if you're using one of the following bundlers:
* Webpack 2
* Rollup
- Config object
* config.callback Array - Callback function to run when mutations occur
* config.targets Boolean` - Selectors of targets to observe