removeExtensionsUsed.js 778 B

1234567891011121314151617181920212223242526
  1. import removeExtensionsRequired from "./removeExtensionsRequired.js";
  2. import defined from "../../Core/defined.js";
  3. /**
  4. * Removes an extension from gltf.extensionsUsed and gltf.extensionsRequired if it is present.
  5. *
  6. * @param {object} gltf A javascript object containing a glTF asset.
  7. * @param {string} extension The extension to remove.
  8. *
  9. * @private
  10. */
  11. function removeExtensionsUsed(gltf, extension) {
  12. const extensionsUsed = gltf.extensionsUsed;
  13. if (defined(extensionsUsed)) {
  14. const index = extensionsUsed.indexOf(extension);
  15. if (index >= 0) {
  16. extensionsUsed.splice(index, 1);
  17. }
  18. removeExtensionsRequired(gltf, extension);
  19. if (extensionsUsed.length === 0) {
  20. delete gltf.extensionsUsed;
  21. }
  22. }
  23. }
  24. export default removeExtensionsUsed;