Skip to content
Snippets Groups Projects
Verified Commit 3d2f0f5c authored by Volker Schukai's avatar Volker Schukai :alien:
Browse files

fix: symbols must be identical across realms.

parent 5c57209d
No related branches found
No related tags found
No related merge requests found
......@@ -15,7 +15,7 @@ export {Storage, storageObjectSymbol}
* @private
* @type {symbol}
*/
const storageObjectSymbol = Symbol('storageObject');
const storageObjectSymbol = Symbol.for ('@schukai/monster/data/datasource/storage/@@storageObject')
/**
* The class represents a record.
......
......@@ -221,7 +221,7 @@ const ATTRIBUTE_ERRORMESSAGE = ATTRIBUTE_PREFIX + 'error';
* @license AGPLv3
* @since 1.24.0
*/
const objectUpdaterLinkSymbol = Symbol('monsterUpdater');
const objectUpdaterLinkSymbol = Symbol.for('@schukai/monster/dom/@@object-updater-link');
/**
* @memberOf Monster.DOM
......
......@@ -27,26 +27,27 @@ import {
import {findDocumentTemplate, Template} from "./template.mjs";
import {Updater} from "./updater.mjs";
import {instanceSymbol} from '../constants.mjs';
export {CustomElement, initMethodSymbol, assembleMethodSymbol, attributeObserverSymbol, registerCustomElement, assignUpdaterToElement, getSlottedElements}
/**
* @memberOf Monster.DOM
* @type {symbol}
*/
const initMethodSymbol = Symbol('initMethodSymbol');
const initMethodSymbol = Symbol.for('@schukai/monster/dom/@@initMethodSymbol');
/**
* @memberOf Monster.DOM
* @type {symbol}
*/
const assembleMethodSymbol = Symbol('assembleMethodSymbol');
const assembleMethodSymbol = Symbol.for('@schukai/monster/dom/@@assembleMethodSymbol');
/**
* this symbol holds the attribute observer callbacks. The key is the attribute name.
* @memberOf Monster.DOM
* @type {symbol}
*/
const attributeObserverSymbol = Symbol('attributeObserver');
const attributeObserverSymbol = Symbol.for('@schukai/monster/dom/@@attributeObserver');
/**
......
......@@ -12,7 +12,6 @@ import {Pipe} from "../data/pipe.mjs";
import {BaseWithOptions} from "../types/basewithoptions.mjs";
import {isObject, isString} from "../types/is.mjs";
import {validateArray, validateString} from "../types/validate.mjs";
import {getMonsterVersion} from "../types/version.mjs";
export {Formatter}
......
......@@ -10,6 +10,7 @@ import {isPrimitive} from "./is.mjs";
import {NodeList} from './nodelist.mjs';
import {validateInstance} from './validate.mjs';
import {instanceSymbol} from '../constants.mjs';
export {Node}
/**
......
......@@ -133,7 +133,7 @@ describe('DOM', function () {
try {
expect(document.getElementsByTagName('monster-testclass2').length).is.equal(1);
expect(document.getElementsByTagName('monster-testclass2').item(0).shadowRoot.innerHTML).is.equal('<h1></h1><article><p>test</p><div id="container"></div></article>');
expect(document.getElementById('test1')).contain.html('<monster-testclass2 data-monster-objectlink="Symbol(monsterUpdater)"></monster-testclass2>');
expect(document.getElementById('test1')).contain.html('<monster-testclass2 data-monster-objectlink="Symbol(@schukai/monster/dom/@@object-updater-link)"></monster-testclass2>');
return done();
} catch (e) {
done(e);
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment