@encodable/registry
Advanced tools
Comparing version 0.3.0 to 0.4.0
@@ -6,2 +6,13 @@ # Change Log | ||
# [0.4.0](https://github.com/apache-superset/encodable/compare/@encodable/registry@0.3.0...@encodable/registry@0.4.0) (2020-08-13) | ||
### Features | ||
* **registry:** add size and isEmpty function ([#52](https://github.com/apache-superset/encodable/issues/52)) ([3216160](https://github.com/apache-superset/encodable/commit/3216160c45776ebed6345ef0aae12b91c06c4b1e)) | ||
# [0.3.0](https://github.com/apache-superset/encodable/compare/@encodable/registry@0.2.0...@encodable/registry@0.3.0) (2020-08-03) | ||
@@ -8,0 +19,0 @@ |
@@ -1,36 +0,5 @@ | ||
"use strict"; | ||
exports.__esModule = true; | ||
var _exportNames = { | ||
Registry: true, | ||
SyncRegistry: true, | ||
OverwritePolicy: true, | ||
makeSingleton: true | ||
}; | ||
exports.makeSingleton = exports.OverwritePolicy = exports.SyncRegistry = exports.Registry = void 0; | ||
var _Registry = _interopRequireDefault(require("./models/Registry")); | ||
exports.Registry = _Registry.default; | ||
var _SyncRegistry = _interopRequireDefault(require("./models/SyncRegistry")); | ||
exports.SyncRegistry = _SyncRegistry.default; | ||
var _OverwritePolicy = _interopRequireDefault(require("./models/OverwritePolicy")); | ||
exports.OverwritePolicy = _OverwritePolicy.default; | ||
var _makeSingleton = _interopRequireDefault(require("./utils/makeSingleton")); | ||
exports.makeSingleton = _makeSingleton.default; | ||
var _types = require("./types"); | ||
Object.keys(_types).forEach(function (key) { | ||
if (key === "default" || key === "__esModule") return; | ||
if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return; | ||
exports[key] = _types[key]; | ||
}); | ||
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } | ||
export { default as Registry } from './models/Registry'; | ||
export { default as SyncRegistry } from './models/SyncRegistry'; | ||
export { default as OverwritePolicy } from './models/OverwritePolicy'; | ||
export { default as makeSingleton } from './utils/makeSingleton'; | ||
export * from './types'; |
@@ -1,10 +0,2 @@ | ||
"use strict"; | ||
exports.__esModule = true; | ||
exports.default = createRegistryStore; | ||
var _OverwritePolicy = _interopRequireDefault(require("./OverwritePolicy")); | ||
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } | ||
import OverwritePolicy from './OverwritePolicy'; | ||
/** | ||
@@ -14,3 +6,4 @@ * Create a registry store from the given config | ||
*/ | ||
function createRegistryStore({ | ||
export default function createRegistryStore({ | ||
globalId, | ||
@@ -21,3 +14,3 @@ name, | ||
setFirstItemAsDefault = false, | ||
overwritePolicy = _OverwritePolicy.default.ALLOW | ||
overwritePolicy = OverwritePolicy.ALLOW | ||
}) { | ||
@@ -24,0 +17,0 @@ return { |
@@ -1,5 +0,1 @@ | ||
"use strict"; | ||
exports.__esModule = true; | ||
exports.default = void 0; | ||
const OverwritePolicy = { | ||
@@ -10,3 +6,2 @@ ALLOW: 'ALLOW', | ||
}; | ||
var _default = OverwritePolicy; | ||
exports.default = _default; | ||
export default OverwritePolicy; |
@@ -1,16 +0,7 @@ | ||
"use strict"; | ||
function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } | ||
exports.__esModule = true; | ||
exports.default = void 0; | ||
var _globalBox = require("global-box"); | ||
var _OverwritePolicy = _interopRequireDefault(require("./OverwritePolicy")); | ||
var _createRegistryStore = _interopRequireDefault(require("./createRegistryStore")); | ||
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } | ||
/* eslint no-console: 0 */ | ||
import { globalBox } from 'global-box'; | ||
import OverwritePolicy from './OverwritePolicy'; | ||
import createRegistryStore from './createRegistryStore'; | ||
/** | ||
@@ -27,10 +18,11 @@ * Registry class | ||
*/ | ||
class Registry { | ||
export default class Registry { | ||
constructor(config = {}) { | ||
this.store = void 0; | ||
_defineProperty(this, "store", void 0); | ||
if (typeof config.globalId === 'undefined') { | ||
this.store = (0, _createRegistryStore.default)(config); | ||
this.store = createRegistryStore(config); | ||
} else { | ||
this.store = (0, _globalBox.globalBox)().getOrCreate(config.globalId, () => (0, _createRegistryStore.default)(config)); | ||
this.store = globalBox().getOrCreate(config.globalId, () => createRegistryStore(config)); | ||
} | ||
@@ -72,5 +64,5 @@ } | ||
if (willOverwrite) { | ||
if (this.store.overwritePolicy === _OverwritePolicy.default.WARN) { | ||
if (this.store.overwritePolicy === OverwritePolicy.WARN) { | ||
console.warn("Item with key \"" + key + "\" already exists. You are assigning a new value."); | ||
} else if (this.store.overwritePolicy === _OverwritePolicy.default.PROHIBIT) { | ||
} else if (this.store.overwritePolicy === OverwritePolicy.PROHIBIT) { | ||
throw new Error("Item with key \"" + key + "\" already exists. Cannot overwrite."); | ||
@@ -106,5 +98,5 @@ } | ||
if (willOverwrite) { | ||
if (this.store.overwritePolicy === _OverwritePolicy.default.WARN) { | ||
if (this.store.overwritePolicy === OverwritePolicy.WARN) { | ||
console.warn("Item with key \"" + key + "\" already exists. You are assigning a new value."); | ||
} else if (this.store.overwritePolicy === _OverwritePolicy.default.PROHIBIT) { | ||
} else if (this.store.overwritePolicy === OverwritePolicy.PROHIBIT) { | ||
throw new Error("Item with key \"" + key + "\" already exists. Cannot overwrite."); | ||
@@ -289,5 +281,19 @@ } | ||
} | ||
/** | ||
* Get number of items in the registry | ||
*/ | ||
} | ||
exports.default = Registry; | ||
size() { | ||
return this.keys().length; | ||
} | ||
/** | ||
* Returns true if there is no item in the registry | ||
*/ | ||
isEmpty() { | ||
return this.size() === 0; | ||
} | ||
} |
@@ -1,15 +0,6 @@ | ||
"use strict"; | ||
exports.__esModule = true; | ||
exports.default = void 0; | ||
var _Registry = _interopRequireDefault(require("./Registry")); | ||
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } | ||
import Registry from './Registry'; | ||
/** | ||
* Synchronous registry | ||
*/ | ||
class SyncRegistry extends _Registry.default {} | ||
exports.default = SyncRegistry; | ||
export default class SyncRegistry extends Registry {} |
@@ -1,6 +0,1 @@ | ||
"use strict"; | ||
exports.__esModule = true; | ||
exports.default = makeSingleton; | ||
/** | ||
@@ -10,3 +5,3 @@ * Helper function for creating a singleton | ||
*/ | ||
function makeSingleton(create) { | ||
export default function makeSingleton(create) { | ||
let singleton; | ||
@@ -13,0 +8,0 @@ return function getInstance() { |
@@ -111,3 +111,11 @@ import { RegistryStore, RegistryConfig } from '../types'; | ||
remove(key: string): this; | ||
/** | ||
* Get number of items in the registry | ||
*/ | ||
size(): number; | ||
/** | ||
* Returns true if there is no item in the registry | ||
*/ | ||
isEmpty(): boolean; | ||
} | ||
//# sourceMappingURL=Registry.d.ts.map |
@@ -14,3 +14,3 @@ "use strict"; | ||
/* eslint no-console: 0 */ | ||
function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } | ||
@@ -30,3 +30,3 @@ /** | ||
constructor(config = {}) { | ||
this.store = void 0; | ||
_defineProperty(this, "store", void 0); | ||
@@ -288,5 +288,21 @@ if (typeof config.globalId === 'undefined') { | ||
} | ||
/** | ||
* Get number of items in the registry | ||
*/ | ||
size() { | ||
return this.keys().length; | ||
} | ||
/** | ||
* Returns true if there is no item in the registry | ||
*/ | ||
isEmpty() { | ||
return this.size() === 0; | ||
} | ||
} | ||
exports.default = Registry; |
{ | ||
"name": "@encodable/registry", | ||
"version": "0.3.0", | ||
"version": "0.4.0", | ||
"description": "Reusable registry models", | ||
@@ -36,3 +36,3 @@ "sideEffects": false, | ||
}, | ||
"gitHead": "5a8a0ccfc183b8d5e58dafe2352a6190f2d76c39" | ||
"gitHead": "2123b8cd1b8647d9a0c8a69e068027b65a4a7f2a" | ||
} |
Sorry, the diff of this file is not supported yet
44296
817