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