{"_id":"@abcnews/mount-utils","_rev":"12-607e6a47bf4344aaeddf6704985ad216","name":"@abcnews/mount-utils","dist-tags":{"latest":"3.0.1"},"versions":{"1.0.0":{"name":"@abcnews/mount-utils","version":"1.0.0","author":{"name":"Australian Broadcasting Corporation"},"license":"MIT","_id":"@abcnews/mount-utils@1.0.0","maintainers":[{"name":"phocks","email":"phocks@gmail.com"},{"name":"drzax","email":"simon@elvery.net"},{"name":"colingourlay","email":"colin@colin-gourlay.com"},{"name":"blakebutcher","email":"blake.butcher@abc.net.au"},{"name":"louisstow","email":"louisstow@gmail.com"}],"contributors":[{"name":"Colin Gourlay","email":"Gourlay.Colin@abc.net.au"}],"homepage":"https://github.com/abcnews/mount-utils#readme","bugs":{"url":"https://github.com/abcnews/mount-utils/issues"},"dist":{"shasum":"bcf8840486c5820f7cae98323915bbe277e2aa29","tarball":"https://registry.npmjs.org/@abcnews/mount-utils/-/mount-utils-1.0.0.tgz","fileCount":11,"integrity":"sha512-04kmA26fPUEanO8BQLmeq25lG6ld/FBE9G+FwZyKF2pK8nRPmZ6Eo3LHrA6tGYmFJMUFgxWgDW9FTmS2sHS4VQ==","signatures":[{"sig":"MEUCIHJ/1tVxyVPfW6fwQ58fipdGmgFngputHa+OL5M7RVpqAiEA0qTk/QdJd0ybV1OlJ2wODowuMLWFJ8PT2NvVKqJnTUE=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":36407,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfF809CRA9TVsSAnZWagAAh3EP/RbEcqMOCBhRgGaVoGPY\nTk9F9Ktb5r0NqdI0118PCpUp8Cov0NYumx1/UGTnRC6ZJ0SAw2jDJrQLIpWv\nGq/wBXW1flI9J220S6wpXFtwAAmn9gWQ9t7CXqub0++7G+6bhqqn0eSHHacC\npcYpHyNLOv64zDPdfygVLk7RWwWSAZjCydJR+ievdS5EpN+atUxzSTJm/zXL\n7L5xw0lER0rPfVcM831fhAQVP+qOVaq5n9Stg5SspHUfeCfnVoAeIK3sji4X\nfcu8H7iOFvfWl60Zl+m3eQyp7hbfqKMNmIeHvFu8XC33ww7NNEaxMQ4Wxps1\n6f3uK9Bee+MGD9Q1cNjeP7ynb8dPQ5h2zmG8fq+rMmnV91CVyVa5g0+13tKV\ny/3YhdL7x/honsSvTw/pYZelXJ/c18oOyLNYvBs1cxulsXHcBDRJVbFyy23w\nSb00yhm0ezndgsvlknfDwT3o2WtqWbnB0K4WOFt+yGAYSbfjvoQSfvkO8Gin\nIPBVFkuWptxDhCupE7rN9dtlKpQwzUDj5lPjcw9OqvrCaoyPTAILHCyLyUM9\nP1Nq4XyNRIPD54m3a98kfg3g19TI+LLdi1E75DNKqlt7zb/MtSZMKOD1bflp\nxKklZ2fXAZTX8bSzjHsxbYgvzWXlpxQX1/0IlDCFFQnnRePsD/7AwLzHz8gH\nA6Tq\r\n=ARdp\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.js","husky":{"hooks":{"pre-commit":"tsdx lint src"}},"types":"dist/index.d.ts","module":"dist/mount-utils.esm.js","gitHead":"d88d52eb82a950e40406c7c2e20ec22b5b4aa69e","scripts":{"lint":"tsdx lint src","build":"tsdx build","start":"tsdx watch","release":"np","prepublishOnly":"npm run build"},"_npmUser":{"name":"colingourlay","email":"colin@colin-gourlay.com"},"prettier":{"semi":true,"printWidth":80,"singleQuote":true,"trailingComma":"es5"},"repository":{"url":"git+https://github.com/abcnews/mount-utils.git","type":"git"},"_npmVersion":"6.14.5","description":"Utilities for working with mount points","directories":{},"_nodeVersion":"12.13.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"np":"^6.2.3","tsdx":"^0.13.2","husky":"^3.0.9","tslib":"^1.10.0","rollup":"^2.12.0","typescript":"^3.6.4","@babel/core":"^7.9.0","@types/jest":"^24.0.21","@types/text-encoding":"0.0.35"},"_npmOperationalInternal":{"tmp":"tmp/mount-utils_1.0.0_1595395389083_0.07533175285103533","host":"s3://npm-registry-packages"}},"2.0.0":{"name":"@abcnews/mount-utils","version":"2.0.0","author":{"name":"Australian Broadcasting Corporation"},"license":"MIT","_id":"@abcnews/mount-utils@2.0.0","maintainers":[{"name":"blakebutcher","email":"blake.butcher@abc.net.au"},{"name":"colingourlay","email":"colin@colin-gourlay.com"},{"name":"drzax","email":"simon@elvery.net"},{"name":"louisstow","email":"louisstow@gmail.com"},{"name":"phocks","email":"phocks@gmail.com"}],"contributors":[{"name":"Colin Gourlay","email":"Gourlay.Colin@abc.net.au"}],"homepage":"https://github.com/abcnews/mount-utils#readme","bugs":{"url":"https://github.com/abcnews/mount-utils/issues"},"dist":{"shasum":"b5d188b32c6bb5bf92deb5f2cdefad409923166e","tarball":"https://registry.npmjs.org/@abcnews/mount-utils/-/mount-utils-2.0.0.tgz","fileCount":12,"integrity":"sha512-oxN80eYE+RKURbseUzv5nDzRWuR2O+Vv0pfi9cEwztSUTpPIhCwKxRZc5IH4sulZKRQY+8pVZ3MMTT6Plw9jxw==","signatures":[{"sig":"MEUCIAHfoy+n89tVi3vPmZmZZql008Qg7l4n5A9DTdLgtVx+AiEA+/YEKbsGZpRUeWkBPhMQNprWlEo2QCifRf0LxlUTkao=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":53686,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfMNTdCRA9TVsSAnZWagAAaIIP/2UXy1DtH3gb0xFSiXQs\npIdQeCau2Z+OyT41YTElWhjUb1qXE9+KqGWz5L/hnYSxXFqOB2C6miKewYF8\n0METCPfm+BR+WKUh/YCH5P2IlgOYWV5UBTR3LUzSXahs4hXujicP0KJ8Jkho\nlBmvgUE72CSE9W95fzC82LbCb7rM7FCB3yIDExORPCcmMsXdEnANm+pOi4Ni\nJngSdHprvNd9Miw4UGxIZkkMiyWPAHk7eXr01R+oCZhE8+Oj3VWNiwwTYMRD\nenFk4rc48lEl35drzr+eqfOrvS4gdyH12dx3f79mQ8X9w4ExwT5bZ55rAawP\n9A1akFgQ6NweuxUtO7cjVqrZBkivl/Fm8ZbQ/Eppw8MZk8MzPOocoDGmHiy5\nCO/5roNMem6ZoPH7P3gbDFRQd6cP7d+/xzwRnf6ohs1CJ5AHWCppgqb5XEgg\nUMhjZY4RIjlz2P+25hG73fbycOH9G0tePvQWYt0pvsiMTeYExQYwws+ddtFD\nbc7Le5MQ+5HQYKBzzL6MVIP7UeEFJtULVJ/tizQIQlejDhjOcj6xy76Ei2KQ\n0bmpowChOpvi97onH2f/ueoHtY5b80F2O2gHCIBiIFbyYu+gNyWmTuTBvtGs\nD5UzqGtth/ZOZUd5ukkwb91IyZeW1d9k+q2m/dkZOI50w4UPqy4sWaEMdhkt\niRli\r\n=oMb9\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.js","husky":{"hooks":{"pre-commit":"tsdx lint src"}},"types":"dist/index.d.ts","module":"dist/mount-utils.esm.js","gitHead":"9fa6d54373f696568769d2512288a1c7cf2bffdb","scripts":{"lint":"tsdx lint src","test":"tsdx test","build":"tsdx build","start":"tsdx watch","release":"np","test:watch":"tsdx test --watch","test:coverage":"tsdx test --coverage","prepublishOnly":"npm run build"},"_npmUser":{"name":"drzax","email":"simon@elvery.net"},"prettier":{"semi":true,"printWidth":80,"singleQuote":true,"trailingComma":"es5"},"repository":{"url":"git+https://github.com/abcnews/mount-utils.git","type":"git"},"_npmVersion":"6.14.7","description":"Utilities for working with mount points","directories":{},"_nodeVersion":"12.14.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"np":"^6.2.3","tsdx":"^0.13.2","husky":"^3.0.9","tslib":"^1.10.0","rollup":"^2.12.0","typescript":"^3.6.4","@babel/core":"^7.9.0","@types/jest":"^24.0.21","@types/text-encoding":"0.0.35"},"_npmOperationalInternal":{"tmp":"tmp/mount-utils_2.0.0_1597035740986_0.7107336766397268","host":"s3://npm-registry-packages"}},"3.0.0":{"name":"@abcnews/mount-utils","version":"3.0.0","author":{"name":"Australian Broadcasting Corporation"},"license":"MIT","_id":"@abcnews/mount-utils@3.0.0","maintainers":[{"name":"jtfell","email":"hi@jtfell.com"},{"name":"phocks","email":"phocks@gmail.com"},{"name":"andrewkesper","email":"andy@andrewkesper.com"},{"name":"drzax","email":"simon@elvery.net"}],"contributors":[{"name":"Colin Gourlay","email":"Gourlay.Colin@abc.net.au"},{"name":"Simon Elvery","email":"Elvery.Simon@abc.net.au"}],"homepage":"https://github.com/abcnews/mount-utils#readme","bugs":{"url":"https://github.com/abcnews/mount-utils/issues"},"dist":{"shasum":"58d9f3ac4f6c7b5a2e3f237119d18308d59cb45d","tarball":"https://registry.npmjs.org/@abcnews/mount-utils/-/mount-utils-3.0.0.tgz","fileCount":10,"integrity":"sha512-jE9edpjfOrbkBOpPWu+gI8WU9flZRDCQ/xcnF1LpornwmeYghyiYeE4zFKEkgjUPCp6sdbvLSi0DOlW0C6f6mg==","signatures":[{"sig":"MEUCIACb4OtV2Waxo7Zid7ryEcmLjF4mGZz9THzEOYSd9og1AiEA5xXgcM1Yxz5OF6z926QuLVnfsjAnoCCnDPCTqxTNc58=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":31805},"main":"dist/index.js","module":"dist/index.mjs","engines":{"node":">=18"},"gitHead":"625a1be8b6ac59c101123b6bc1415485f38a9e79","scripts":{"lint":"eslint src","size":"size-limit","test":"jest","build":"tsup src/index.ts --dts --sourcemap --format esm,cjs","start":"tsup src/index.ts --dts --sourcemap --format esm,cjs --watch","prepare":"husky install","release":"np","prepublishOnly":"npm run build"},"typings":"dist/index.d.ts","_npmUser":{"name":"drzax","email":"simon@elvery.net"},"prettier":{"semi":true,"printWidth":80,"singleQuote":true,"trailingComma":"es5"},"repository":{"url":"git+https://github.com/abcnews/mount-utils.git","type":"git"},"size-limit":[{"path":"dist/index.mjs","limit":"1 KB"},{"path":"dist/index.js","limit":"1 KB"}],"_npmVersion":"9.6.7","description":"Utilities for working with mount points","directories":{},"_nodeVersion":"20.3.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"np":"^8.0.4","jest":"^29.6.1","tsup":"^7.1.0","husky":"^8.0.3","tslib":"^2.6.0","eslint":"^8.45.0","ts-jest":"^29.1.1","size-limit":"^8.2.6","typescript":"^5.1.6","@babel/core":"^7.9.0","@types/jest":"^29.5.3","@types/text-encoding":"0.0.35","jest-environment-jsdom":"^29.6.1","@size-limit/preset-small-lib":"^8.2.6","@typescript-eslint/eslint-plugin":"^6.0.0"},"_npmOperationalInternal":{"tmp":"tmp/mount-utils_3.0.0_1689571374303_0.014226955145835163","host":"s3://npm-registry-packages"}},"3.0.1":{"name":"@abcnews/mount-utils","version":"3.0.1","description":"Utilities for working with mount points","license":"MIT","author":{"name":"Australian Broadcasting Corporation"},"contributors":[{"name":"Colin Gourlay","email":"Gourlay.Colin@abc.net.au"},{"name":"Simon Elvery","email":"Elvery.Simon@abc.net.au"}],"repository":{"type":"git","url":"git+https://github.com/abcnews/mount-utils.git"},"bugs":{"url":"https://github.com/abcnews/mount-utils/issues"},"main":"dist/index.js","module":"dist/index.mjs","typings":"dist/index.d.ts","engines":{"node":">=18"},"scripts":{"start":"tsup src/index.ts --dts --sourcemap --format esm,cjs --watch","build":"tsup src/index.ts --dts --sourcemap --format esm,cjs","test":"jest","lint":"eslint src","size":"size-limit","release":"np","prepare":"husky install","prepublishOnly":"npm run build"},"size-limit":[{"path":"dist/index.mjs","limit":"1 KB"},{"path":"dist/index.js","limit":"1 KB"}],"prettier":{"printWidth":80,"semi":true,"singleQuote":true,"trailingComma":"es5"},"publishConfig":{"access":"public"},"devDependencies":{"@babel/core":"^7.9.0","@size-limit/preset-small-lib":"^8.2.6","@types/jest":"^29.5.3","@types/text-encoding":"0.0.35","@typescript-eslint/eslint-plugin":"^6.0.0","eslint":"^8.45.0","husky":"^8.0.3","jest":"^29.6.1","jest-environment-jsdom":"^29.6.1","np":"^11.0.2","size-limit":"^8.2.6","ts-jest":"^29.1.1","tslib":"^2.6.0","tsup":"^7.1.0","typescript":"^5.1.6"},"gitHead":"38dbc04fbab434d7a0ab4ee6136cebe441492463","_id":"@abcnews/mount-utils@3.0.1","homepage":"https://github.com/abcnews/mount-utils#readme","_nodeVersion":"25.2.1","_npmVersion":"11.6.2","dist":{"integrity":"sha512-+c4mJigNlCKHPkpD4oFb4f5bOU+1PLAITUD5hEBRsGWnvuugD3MX49p5mnPmd5wqj4/vBB34NFCEnSeh4HLgoQ==","shasum":"8c76cc337e62778dd091df469caf91dfd829aa50","tarball":"https://registry.npmjs.org/@abcnews/mount-utils/-/mount-utils-3.0.1.tgz","fileCount":10,"unpackedSize":31823,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIQDK//eZ506ks+tpQ0Ddw7Vk1ncDn0LZgHgHCPGwAKAL8gIgPkltuu83DJmbSQ0wirADyUrduB84o1U2sY6LBp3dJQ0="}]},"_npmUser":{"name":"ashkyd","email":"ash@kyd.com.au"},"directories":{},"maintainers":[{"name":"drzax","email":"simon@elvery.net"},{"name":"andrewkesper","email":"andy@andrewkesper.com"},{"name":"phocks","email":"phocks@gmail.com"},{"name":"jtfell","email":"hi@jtfell.com"},{"name":"ashkyd","email":"ash@kyd.com.au"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/mount-utils_3.0.1_1774926912348_0.7205753881709733"},"_hasShrinkwrap":false}},"time":{"created":"2020-07-22T05:23:08.955Z","modified":"2026-03-31T03:15:12.620Z","1.0.0":"2020-07-22T05:23:09.181Z","2.0.0":"2020-08-10T05:02:21.145Z","3.0.0":"2023-07-17T05:22:54.452Z","3.0.1":"2026-03-31T03:15:12.472Z"},"bugs":{"url":"https://github.com/abcnews/mount-utils/issues"},"author":{"name":"Australian Broadcasting Corporation"},"license":"MIT","homepage":"https://github.com/abcnews/mount-utils#readme","repository":{"type":"git","url":"git+https://github.com/abcnews/mount-utils.git"},"description":"Utilities for working with mount points","contributors":[{"name":"Colin Gourlay","email":"Gourlay.Colin@abc.net.au"},{"name":"Simon Elvery","email":"Elvery.Simon@abc.net.au"}],"maintainers":[{"name":"drzax","email":"simon@elvery.net"},{"name":"andrewkesper","email":"andy@andrewkesper.com"},{"name":"phocks","email":"phocks@gmail.com"},{"name":"jtfell","email":"hi@jtfell.com"},{"name":"ashkyd","email":"ash@kyd.com.au"}],"readme":"# @abcnews/mount-utils\n\nUtilities for working with mount points.\n\n## Usage\n\n```sh\nnpm i @abcnews/mount-utils\n```\n\n```html\n<body>\n  <div id=\"abc\" data-mount />\n  <a id=\"abc123\" />\n  <a name=\"def\" />\n  <a id=\"ghi\" href=\"https://www.abc.net.au/news/\">\n    A link that is also a #ghi deep link\n  </a>\n  <p>Not a mount</p>\n</body>\n```\n\n```js\nimport {\n  isMount,\n  getMountValue,\n  selectMounts\n} from '@abcnews/mount-utils';\n\nselectMounts();\n// > [<div id=\"abc\" data-mount>, <div id=\"abc123\" data-mount>, <div id=\"def\" data-mount>]\n\nselectMounts('abc', {exact: true})\n// > [<div id=\"abc\" data-mount>]\n\nselectMounts('abc')\n// > [<div id=\"abc\" data-mount>, <div id=\"abc123\" data-mount>]\n\n[...document.body.children].filter(isMount).map(getMountValue);\n// > ['abc', 'abc123, 'def']\n```\n\n## History\n\nCore Media allows the creation of [deep links](https://en.wikipedia.org/wiki/URI_fragment) in Article documents' rich text by writing a line containing only a `#` character followed by one or more alphanumeric characters:\n\n> I'm a paragraph before the deep link.\n>\n> #example\n>\n> I'm a paragraph after the deep link.\n\nIn Phase 1 / Phase 2 applications, deep links are rendered as `<a>` elements with their `name` attribute set to the deep link's value, e.g: `<a name=\"example\" />`. Our original strategy with mount points was to select these elements with something like: `` (value) => document.querySelector(`a[name^=\"${value}\"]`) ``, replace them with block elements (usually `<div>`s), then append interactive content to them.\n\nWhen Presentation Layer was originally introduced, the News Web team had recognised that `<a name=\"example\" />` is invalid HTML5, as deep links should be defined by the `id` attribute. Because of this, PL applications debuted with the HTML5-spec-pleasing form: `<a id=\"example\" />`.\n\nThis made things slightly more complicated, because although we could simply extend our selectors to `` `a[name^=\"${value}\"],a[id^=\"${value}\"]` `` and cover both variants, we'd have to update many older interactives/libraries to support the new pattern if we wanted them to have a chance of running atop PL. It would also be more dangerous to replace these elements with `<div>`s to mount interactives to, because PL's React DOM tree could be re-written at any point, reverting our modifications (or worse: introducing page-crashing bugs).\n\nAn effort to support mount points as a first-class citizen in PL began in early 2020, and has resulted in changes in how PL renders deep links on the News Web application, making them safer for our use. They are now `<div>` elements that are guaranteed to not revert any DOM structure appended to them. They now look like this: `<div id=\"example\" data-mount />`.\n\nOf course, this complicates our mount point selection further, which is the main thing this library tries to address (by hiding the implementation details behind an API), but it'll give us more power and consistency, going forward.\n\n## API\n\n### `selectMounts(selector?: string, options?: SelectMountsOptions): Mount[]`\n\nReturns an array of mount nodes that match the selector and may have been transformed as per the supplied options.\n\n```ts\ntype SelectMountsOptions{\n  exact?: boolean; // default false\n  includeOwnUsed?: boolean; // default false\n  markAsUsed?: boolean; // default true\n}\n```\n\nAny mount points that have been marked as used by another instance of this library will always be excluded from the results.\n\nThe examples below assume that they're run in isolation. In reality, unless the `markAsUsed` option is `false` and/or the `includeOwnUsed` option is `true`, the same mounts would not be returned on a subsequent call.\n\n```html\n<body>\n  <div id=\"abc\" />\n  <div id=\"abcdef\" />\n  <div id=\"ghi\" data-mount />\n  <div id=\"abc123\" data-mount />\n  <div id=\"other\" data-mount data-mount-used=\"some-uuid\" />\n</body>\n```\n\n```js\nimport { selectMounts } from '@abcnews/mount-utils';\n\nselectMounts();\n// > [<div id=\"abc\">, <div id=\"abcdef\">, <div id=\"ghi\">, <div id=\"abc123\">]\n\nselectMounts('abc');\n// > [<div id=\"abc\">, <div id=\"abcdef\">, <div id=\"abc123\">]\n\nselectMounts('abc', { exact: true });\n// > [<div id=\"abc\">]\n```\n\n### `isMount(x: unknown, selector?: string, exact?: boolean): boolean`\n\nReturns whether the argument passed in is a mount point.\n\nWill return `true` for valid mount points even if marked as used, including those marked by another instance of this library.\n\n```html\n<body>\n  <div id=\"abc\" data-mount />\n</body>\n```\n\n```js\nimport { isMount } from '@abcnews/mount-utils';\n\nisMount(123);\n// > false\n\nisMount(document.body);\n// > false\n\nisMount(document.body.firstElementChild);\n// > true\n```\n\nIt first checks that the argument is an `Element`, then checks that it has attributes matching a valid mount point.\n\n#### Use with a selector value\n\nReturns whether the first argument passed in is a mount point _and_ matches a given selector value (as a prefix by default and optionally as an exact match by passing `true` as the third argument).\n\n```html\n<body>\n  <p>Nope</p>\n  <div id=\"abc\" />\n  <div id=\"abc123\" />\n  <div id=\"abc456\" data-mount />\n  <div id=\"def\" data-mount />\n</body>\n```\n\n```js\n[...document.body.children].map((el) => isMount(el));\n// > [false, true, true, true, true]\n\n[...document.body.children].map((el) => isMount(el, 'abc'));\n// > [false, true, true, true, false]\n\n[...document.body.children].map((el) => isMount(el, 'abc', true));\n// > [false, true, false, false, false]\n```\n\n### `getMountValue(el: Element, prefix?: string): string`\n\nReturns the value of the applicable attribute on a mount point and optionally trims a supplied prefix.\n\n```html\n<body>\n  <div id=\"abc\" />\n  <div id=\"abcdef\" />\n  <div id=\"ghi\" data-mount />\n  <div id=\"abc123\" data-mount />\n</body>\n```\n\n```js\nimport { getMountValue } from '@abcnews/mount-utils';\n\n[...document.body.children].map((el) => getMountValue(el));\n// > ['abc', 'abcdef, 'ghi', 'abc123']\n\n[...document.body.children].map((el) => getMountValue(el, 'abc'));\n// > ['', 'def, 'ghi', '123']\n```\n\n### `useMount(mount: Mount)`\n\nMark a mount as used. This should be used sparingly since `selectMounts` will do this automatically by default.\n\nA mount is considered used if it has a `data-mount-used=\"<some uuid>\"` attribute set. The UUID is unique to the instance of this library.\n\n```html\n<body>\n  <div id=\"abc\" data-mount />\n</body>\n```\n\n```js\nconst els = selectMounts('abc', { markAsUsed: false });\n// > [<div id=\"abc\" data-mount>]\n\nuseMount(els[0]);\n// > <div id=\"abc\" data-mount data-mount-used=\"<uuid>\">\n```\n\n### `isUsed(mount: Mount)`\n\nCheck if a mount point has been marked as used.\n\n```html\n<body>\n  <div id=\"abc\" data-mount />\n</body>\n```\n\n```js\nselectMounts('abc').map((mnt) => isUsed(mnt));\n// > [true]\n\nselectMounts('abc', { markAsUsed: false }).map((mnt) => isUsed(mnt));\n// > [false]\n```\n\n## Authors\n\n- Colin Gourlay ([Gourlay.Colin@abc.net.au](mailto:Gourlay.Colin@abc.net.au))\n- Simon Elvery ([Elvery.Simon@abc.net.au](mailto:Elvery.Simon@abc.net.au))\n","readmeFilename":"README.md"}