[ Mini Kiebo ]
Server: Windows NT DESKTOP-5B8S0D4 6.2 build 9200 (Windows 8 Professional Edition) i586
Path:
D:
/
Backup
/
14082024
/
Data
/
htdocs
/
htdocs
/
pmb2
/
assets
/
tinymce
/
src
/
core
/
src
/
main
/
js
/
util
/
[
Home
]
File: Private.js
/** * Private.js * * Released under LGPL License. * Copyright (c) 1999-2017 Ephox Corp. All rights reserved * * License: http://www.tinymce.com/license * Contributing: http://www.tinymce.com/contributing */ /** * This module lets you create private properties on objects. * * @class tinymce.util.Private * @private */ define( 'tinymce.core.util.Private', [ "tinymce.core.util.Uuid" ], function (Uuid) { var fieldName = Uuid.uuid('private'); var set = function (publicKey, privateKey) { return function (obj, value) { if (!obj[fieldName]) { obj[fieldName] = {}; } obj[fieldName][publicKey] = function (key) { return key === privateKey ? value : null; }; }; }; var getOr = function (publicKey, privateKey) { return function (obj, defaultValue) { var collection = obj[fieldName]; var accessor = collection ? collection[publicKey] : null; return accessor ? accessor(privateKey) : defaultValue; }; }; var create = function () { var publicKey = Uuid.uuid('pu'); var privateKey = Uuid.uuid('pr'); return { getOr: getOr(publicKey, privateKey), set: set(publicKey, privateKey) }; }; return { create: create }; } );