| 
						 
							
							
							
						 
					 | 
				
			
			 | 
			 | 
			
				@@ -1,4 +1,4 @@
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				import { vi } from 'vitest';
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				import { vi, describe, it, expect } from 'vitest';
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				import utils from './utils.js';
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				import assignWithDepth from './assignWithDepth.js';
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				import { detectType } from './diagram-api/detectType.js';
 | 
			
		
		
	
	
		
			
				
					
					| 
						
					 | 
				
			
			 | 
			 | 
			
				@@ -10,51 +10,51 @@ addDiagrams();
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				describe('when assignWithDepth: should merge objects within objects', function () {
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				  it('should handle simple, depth:1 types (identity)', function () {
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    let config_0 = { foo: 'bar', bar: 0 };
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    let config_1 = { foo: 'bar', bar: 0 };
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    let result = assignWithDepth(config_0, config_1);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    const config_0 = { foo: 'bar', bar: 0 };
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    const config_1 = { foo: 'bar', bar: 0 };
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    const result = assignWithDepth(config_0, config_1);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    expect(result).toEqual(config_1);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				  });
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				  it('should handle simple, depth:1 types (dst: undefined)', function () {
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    let config_0 = undefined;
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    let config_1 = { foo: 'bar', bar: 0 };
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    let result = assignWithDepth(config_0, config_1);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    const config_0 = undefined;
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    const config_1 = { foo: 'bar', bar: 0 };
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    const result = assignWithDepth(config_0, config_1);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    expect(result).toEqual(config_1);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				  });
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				  it('should handle simple, depth:1 types (src: undefined)', function () {
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    let config_0 = { foo: 'bar', bar: 0 };
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    let config_1 = undefined;
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    let result = assignWithDepth(config_0, config_1);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    const config_0 = { foo: 'bar', bar: 0 };
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    const config_1 = undefined;
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    const result = assignWithDepth(config_0, config_1);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    expect(result).toEqual(config_0);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				  });
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				  it('should handle simple, depth:1 types (merge)', function () {
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    let config_0 = { foo: 'bar', bar: 0 };
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    let config_1 = { foo: 'foo' };
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    let result = assignWithDepth(config_0, config_1);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    const config_0 = { foo: 'bar', bar: 0 };
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    const config_1 = { foo: 'foo' };
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    const result = assignWithDepth(config_0, config_1);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    expect(result).toEqual({ foo: 'foo', bar: 0 });
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				  });
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				  it('should handle depth:2 types (dst: orphan)', function () {
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    let config_0 = { foo: 'bar', bar: { foo: 'bar' } };
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    let config_1 = { foo: 'bar' };
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    let result = assignWithDepth(config_0, config_1);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    const config_0 = { foo: 'bar', bar: { foo: 'bar' } };
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    const config_1 = { foo: 'bar' };
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    const result = assignWithDepth(config_0, config_1);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    expect(result).toEqual(config_0);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				  });
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				  it('should handle depth:2 types (dst: object, src: simple type)', function () {
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    let config_0 = { foo: 'bar', bar: { foo: 'bar' } };
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    let config_1 = { foo: 'foo', bar: 'should NOT clobber' };
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    let result = assignWithDepth(config_0, config_1);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    const config_0 = { foo: 'bar', bar: { foo: 'bar' } };
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    const config_1 = { foo: 'foo', bar: 'should NOT clobber' };
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    const result = assignWithDepth(config_0, config_1);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    expect(result).toEqual({ foo: 'foo', bar: { foo: 'bar' } });
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				  });
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				  it('should handle depth:2 types (src: orphan)', function () {
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    let config_0 = { foo: 'bar' };
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    let config_1 = { foo: 'bar', bar: { foo: 'bar' } };
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    let result = assignWithDepth(config_0, config_1);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    const config_0 = { foo: 'bar' };
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    const config_1 = { foo: 'bar', bar: { foo: 'bar' } };
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    const result = assignWithDepth(config_0, config_1);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    expect(result).toEqual(config_1);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				  });
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				  it('should handle depth:2 types (merge)', function () {
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    let config_0 = { foo: 'bar', bar: { foo: 'bar' }, boofar: 1 };
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    let config_1 = { foo: 'foo', bar: { bar: 0 }, foobar: 'foobar' };
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    let result = assignWithDepth(config_0, config_1);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    const config_0 = { foo: 'bar', bar: { foo: 'bar' }, boofar: 1 };
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    const config_1 = { foo: 'foo', bar: { bar: 0 }, foobar: 'foobar' };
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    const result = assignWithDepth(config_0, config_1);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    expect(result).toEqual({
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				      foo: 'foo',
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				      bar: { foo: 'bar', bar: 0 },
 | 
			
		
		
	
	
		
			
				
					
					| 
						
					 | 
				
			
			 | 
			 | 
			
				@@ -63,17 +63,17 @@ describe('when assignWithDepth: should merge objects within objects', function (
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    });
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				  });
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				  it('should handle depth:3 types (merge with clobber because assignWithDepth::depth == 2)', function () {
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    let config_0 = {
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    const config_0 = {
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				      foo: 'bar',
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				      bar: { foo: 'bar', bar: { foo: { message: 'this', willbe: 'clobbered' } } },
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				      boofar: 1,
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    };
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    let config_1 = {
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    const config_1 = {
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				      foo: 'foo',
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				      bar: { foo: 'foo', bar: { foo: { message: 'clobbered other foo' } } },
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				      foobar: 'foobar',
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    };
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    let result = assignWithDepth(config_0, config_1);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    const result = assignWithDepth(config_0, config_1);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    expect(result).toEqual({
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				      foo: 'foo',
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				      bar: { foo: 'foo', bar: { foo: { message: 'clobbered other foo' } } },
 | 
			
		
		
	
	
		
			
				
					
					| 
						
					 | 
				
			
			 | 
			 | 
			
				@@ -82,7 +82,7 @@ describe('when assignWithDepth: should merge objects within objects', function (
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    });
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				  });
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				  it('should handle depth:3 types (merge with clobber because assignWithDepth::depth == 1)', function () {
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    let config_0 = {
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    const config_0 = {
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				      foo: 'bar',
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				      bar: {
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        foo: 'bar',
 | 
			
		
		
	
	
		
			
				
					
					| 
						
					 | 
				
			
			 | 
			 | 
			
				@@ -90,12 +90,12 @@ describe('when assignWithDepth: should merge objects within objects', function (
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				      },
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				      boofar: 1,
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    };
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    let config_1 = {
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    const config_1 = {
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				      foo: 'foo',
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				      bar: { foo: 'foo', bar: { foo: { message: 'this' } } },
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				      foobar: 'foobar',
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    };
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    let result = assignWithDepth(config_0, config_1, { depth: 1 });
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    const result = assignWithDepth(config_0, config_1, { depth: 1 });
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    expect(result).toEqual({
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				      foo: 'foo',
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				      bar: { foo: 'foo', bar: { foo: { message: 'this' } } },
 | 
			
		
		
	
	
		
			
				
					
					| 
						
					 | 
				
			
			 | 
			 | 
			
				@@ -104,17 +104,17 @@ describe('when assignWithDepth: should merge objects within objects', function (
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    });
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				  });
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				  it('should handle depth:3 types (merge with no clobber because assignWithDepth::depth == 3)', function () {
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    let config_0 = {
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    const config_0 = {
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				      foo: 'bar',
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				      bar: { foo: 'bar', bar: { foo: { message: '', willbe: 'present' } } },
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				      boofar: 1,
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    };
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    let config_1 = {
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    const config_1 = {
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				      foo: 'foo',
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				      bar: { foo: 'foo', bar: { foo: { message: 'this' } } },
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				      foobar: 'foobar',
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    };
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    let result = assignWithDepth(config_0, config_1, { depth: 3 });
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    const result = assignWithDepth(config_0, config_1, { depth: 3 });
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    expect(result).toEqual({
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				      foo: 'foo',
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				      bar: { foo: 'foo', bar: { foo: { message: 'this', willbe: 'present' } } },
 | 
			
		
		
	
	
		
			
				
					
					| 
						
					 | 
				
			
			 | 
			 | 
			
				@@ -125,7 +125,7 @@ describe('when assignWithDepth: should merge objects within objects', function (
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				});
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				describe('when memoizing', function () {
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				  it('should return the same value', function () {
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    const fib = memoize(
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    const fib: (n: number, x: unknown, canary: { flag: boolean }) => number = memoize(
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				      function (n, x, canary) {
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        canary.flag = true;
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        if (n < 2) {
 | 
			
		
		
	
	
		
			
				
					
					| 
						
					 | 
				
			
			 | 
			 | 
			
				@@ -260,7 +260,7 @@ describe('when formatting urls', function () {
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				  it('should handle links', function () {
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    const url = 'https://mermaid-js.github.io/mermaid/#/';
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    let config = { securityLevel: 'loose' };
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    const config = { securityLevel: 'loose' };
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    let result = utils.formatUrl(url, config);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    expect(result).toEqual(url);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				
 | 
			
		
		
	
	
		
			
				
					
					| 
						
					 | 
				
			
			 | 
			 | 
			
				@@ -271,7 +271,7 @@ describe('when formatting urls', function () {
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				  it('should handle anchors', function () {
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    const url = '#interaction';
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    let config = { securityLevel: 'loose' };
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    const config = { securityLevel: 'loose' };
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    let result = utils.formatUrl(url, config);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    expect(result).toEqual(url);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				
 | 
			
		
		
	
	
		
			
				
					
					| 
						
					 | 
				
			
			 | 
			 | 
			
				@@ -282,7 +282,7 @@ describe('when formatting urls', function () {
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				  it('should handle mailto', function () {
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    const url = 'mailto:user@user.user';
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    let config = { securityLevel: 'loose' };
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    const config = { securityLevel: 'loose' };
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    let result = utils.formatUrl(url, config);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    expect(result).toEqual(url);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				
 | 
			
		
		
	
	
		
			
				
					
					| 
						
					 | 
				
			
			 | 
			 | 
			
				@@ -293,7 +293,7 @@ describe('when formatting urls', function () {
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				  it('should handle other protocols', function () {
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    const url = 'notes://do-your-thing/id';
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    let config = { securityLevel: 'loose' };
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    const config = { securityLevel: 'loose' };
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    let result = utils.formatUrl(url, config);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    expect(result).toEqual(url);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				
 | 
			
		
		
	
	
		
			
				
					
					| 
						
					 | 
				
			
			 | 
			 | 
			
				@@ -304,7 +304,7 @@ describe('when formatting urls', function () {
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				  it('should handle scripts', function () {
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    const url = 'javascript:alert("test")';
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    let config = { securityLevel: 'loose' };
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    const config = { securityLevel: 'loose' };
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    let result = utils.formatUrl(url, config);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    expect(result).toEqual(url);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				
 | 
			
		
		
	
	
		
			
				
					
					| 
						
					 | 
				
			
			 | 
			 | 
			
				@@ -425,6 +425,7 @@ describe('when parsing font sizes', function () {
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				  });
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				  it('handles unparseable input', function () {
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    // @ts-expect-error This is testing an invalid case
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    expect(utils.parseFontSize({ fontSize: 14 })).toEqual([undefined, undefined]);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				  });
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				});
 |