1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162 |
- "use strict";
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
- Object.defineProperty(exports, "__esModule", {
- value: true
- });
- exports.default = void 0;
- exports.pathKey = pathKey;
- var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
- var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
- var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
- // [times, realValue]
- var SPLIT = '%';
- /** Connect key with `SPLIT` */
- function pathKey(keys) {
- return keys.join(SPLIT);
- }
- var Entity = /*#__PURE__*/function () {
- function Entity(instanceId) {
- (0, _classCallCheck2.default)(this, Entity);
- (0, _defineProperty2.default)(this, "instanceId", void 0);
- /** @private Internal cache map. Do not access this directly */
- (0, _defineProperty2.default)(this, "cache", new Map());
- (0, _defineProperty2.default)(this, "extracted", new Set());
- this.instanceId = instanceId;
- }
- (0, _createClass2.default)(Entity, [{
- key: "get",
- value: function get(keys) {
- return this.opGet(pathKey(keys));
- }
- /** A fast get cache with `get` concat. */
- }, {
- key: "opGet",
- value: function opGet(keyPathStr) {
- return this.cache.get(keyPathStr) || null;
- }
- }, {
- key: "update",
- value: function update(keys, valueFn) {
- return this.opUpdate(pathKey(keys), valueFn);
- }
- /** A fast get cache with `get` concat. */
- }, {
- key: "opUpdate",
- value: function opUpdate(keyPathStr, valueFn) {
- var prevValue = this.cache.get(keyPathStr);
- var nextValue = valueFn(prevValue);
- if (nextValue === null) {
- this.cache.delete(keyPathStr);
- } else {
- this.cache.set(keyPathStr, nextValue);
- }
- }
- }]);
- return Entity;
- }();
- var _default = exports.default = Entity;
|