is-deep-subset

Check if an object is deeply contained within another one

Usage no npm install needed!

<script type="module">
  import isDeepSubset from 'https://cdn.skypack.dev/is-deep-subset';
</script>

README

is-deep-subset

Javascript library to check if an object is deeply contained into another

Usage

require it...

var isDeepSubset = require("is-deep-subset")

and then use it...

with strings

isDeepSubset("Some string", "string") === true

isDeepSubset("Some string", "another string") === false

with arrays

isDeepSubset([1, 2, "hello"], [1]) === true

isDeepSubset([1, 2, "hello"], [3, "hello"]) === false

with objects

isDeepSubset({ some: "deep object", you: { have: "here!" } }, { some: "deep object" }) === true
isDeepSubset({ some: "deep object", you: { have: "here!" } }, { you: { have: "here!" } }) === true

checks objects inside objects

isDeepSubset({ some: "deep object", you: { have: "here!" } }, { have: "here!" }) === true
isDeepSubset({ some: "deep object", you: { have: "here!" } }, "here!") === true
isDeepSubset({ some: "deep object", you: { have: "here!" } }, "!") === true

and also checks deeply inside nested arrays

isDeepSubset({ some: ["deep", "object", { you: { have: "here!" } } ] }, ["deep", "object"]) === true
isDeepSubset({ some: ["deep", "object", { you: { have: "here!" } } ] }, [{ you: {} }]) === true

and also substrings inside deep object structure

isDeepSubset({ some: ["deep", "object", { you: { have: "here!" } } ] }, "deep") === true
isDeepSubset({ some: ["deep", "object", { you: { have: "here!" } } ] }, "here") === true
isDeepSubset({ some: ["deep", "object", { you: { have: "here!" } } ] }, "!") === true