@pagedip/lib-observer
Advanced tools
Comparing version 2.1.5 to 2.1.6
@@ -0,1 +1,25 @@ | ||
## [2.1.6](https://github.com/pagedip/pagedip-framework/tree/release/102/lib/observer) - Apr 3, 2019 | ||
### Fixes | ||
- Rebuild for TypeScript compilation changes. | ||
### Dependencies | ||
- tslib: none → `^1.9.3` | ||
- npm-run-all: `^4.1.3` → `^4.1.5` | ||
- typescript: `^3.1.3` → `~3.3.4000` | ||
### Commits | ||
[`2e01883d..2c04b76d`](https://github.com/pagedip/pagedip-framework/compare/2e01883d5365d24163001b74dc82986c810f4274..2c04b76d1ecc71949e8c3336a675a85e89d0c6b7) | ||
- [`4b6884dc`](https://github.com/pagedip/pagedip-framework/commit/4b6884dc33c151e5e88b73649ca990573038e876) change ts target to es2018 | ||
- [`db774318`](https://github.com/pagedip/pagedip-framework/commit/db77431850d6e25f95231ff907bd9c3bf1792e02) update deps | ||
- [`25aacf7f`](https://github.com/pagedip/pagedip-framework/commit/25aacf7fcd177eb3b5adef2db4219b346e2d2f0c) rename tsconfig files | ||
- [`7e812b4e`](https://github.com/pagedip/pagedip-framework/commit/7e812b4e2d2225bd22dc347376606626bbbb6766) update deps | ||
- [`39180c05`](https://github.com/pagedip/pagedip-framework/commit/39180c05b78d99844465f9d690fb0b15808de6d9) update deps | ||
- [`d09874d1`](https://github.com/pagedip/pagedip-framework/commit/d09874d126bd3637a6ec7e9339d0fcbb1f39c056) update deps | ||
- [`2163e518`](https://github.com/pagedip/pagedip-framework/commit/2163e518d769ec337a5dc1ddfcea5115f5aa7e80) update deps | ||
- [`f7040ffc`](https://github.com/pagedip/pagedip-framework/commit/f7040ffcc0b86fbd0919984054b73545aa6a51a5) update dev deps | ||
- [`fc3c2b38`](https://github.com/pagedip/pagedip-framework/commit/fc3c2b389e370262db9cdbd52bf05e21ed7e859e) update deps | ||
- [`a0966eb7`](https://github.com/pagedip/pagedip-framework/commit/a0966eb7923fe83bc36201dc252bf26517b198e2) use npm-run-build instead of npm | ||
## [2.1.5](https://github.com/pagedip/pagedip-framework/tree/release/74/lib/observer) - Oct 23, 2018 | ||
@@ -2,0 +26,0 @@ |
"use strict"; | ||
Object.defineProperty(exports, "__esModule", { value: true }); | ||
var Event = /** @class */ (function () { | ||
function Event(target, type, data) { | ||
class Event { | ||
constructor(target, type, data) { | ||
this.bubbles = true; | ||
@@ -14,27 +14,22 @@ this.stopped = false; | ||
} | ||
Event.isEvent = function (o) { | ||
var e = o; | ||
static isEvent(o) { | ||
const e = o; | ||
return e != null && e.__pagedip_observer_event__ === true; | ||
}; | ||
Object.defineProperty(Event.prototype, "__pagedip_observer_event__", { | ||
get: function () { | ||
return true; | ||
}, | ||
enumerable: true, | ||
configurable: true | ||
}); | ||
Event.prototype.stopPropagation = function () { | ||
} | ||
get __pagedip_observer_event__() { | ||
return true; | ||
} | ||
stopPropagation() { | ||
this.bubbles = false; | ||
return this; | ||
}; | ||
Event.prototype.stopImmediatePropagation = function () { | ||
} | ||
stopImmediatePropagation() { | ||
this.stopped = true; | ||
return this; | ||
}; | ||
Event.prototype.preventDefault = function () { | ||
} | ||
preventDefault() { | ||
this.defaultPrevented = true; | ||
return this; | ||
}; | ||
return Event; | ||
}()); | ||
} | ||
} | ||
exports.Event = Event; | ||
@@ -41,0 +36,0 @@ function createEvent(target, type, data) { |
"use strict"; | ||
function __export(m) { | ||
for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p]; | ||
} | ||
Object.defineProperty(exports, "__esModule", { value: true }); | ||
__export(require("./observer")); | ||
__export(require("./event")); | ||
const tslib_1 = require("tslib"); | ||
tslib_1.__exportStar(require("./observer"), exports); | ||
tslib_1.__exportStar(require("./event"), exports); | ||
//# sourceMappingURL=index.js.map |
"use strict"; | ||
var __extends = (this && this.__extends) || (function () { | ||
var extendStatics = function (d, b) { | ||
extendStatics = Object.setPrototypeOf || | ||
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) || | ||
function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; }; | ||
return extendStatics(d, b); | ||
Object.defineProperty(exports, "__esModule", { value: true }); | ||
const event_1 = require("./event"); | ||
const events_1 = require("events"); | ||
class Observer extends events_1.EventEmitter { | ||
constructor(parent) { | ||
super(); | ||
this._observerParent = null; | ||
this._observerListeners = {}; | ||
if (parent) | ||
this.mount(parent); | ||
} | ||
return function (d, b) { | ||
extendStatics(d, b); | ||
function __() { this.constructor = d; } | ||
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); | ||
}; | ||
})(); | ||
var __read = (this && this.__read) || function (o, n) { | ||
var m = typeof Symbol === "function" && o[Symbol.iterator]; | ||
if (!m) return o; | ||
var i = m.call(o), r, ar = [], e; | ||
try { | ||
while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value); | ||
static isObserver(o) { | ||
const e = o; | ||
return e != null && e.__pagedip_observer__ === true; | ||
} | ||
catch (error) { e = { error: error }; } | ||
finally { | ||
try { | ||
if (r && !r.done && (m = i["return"])) m.call(i); | ||
} | ||
finally { if (e) throw e.error; } | ||
get __pagedip_observer__() { | ||
return true; | ||
} | ||
return ar; | ||
}; | ||
var __spread = (this && this.__spread) || function () { | ||
for (var ar = [], i = 0; i < arguments.length; i++) ar = ar.concat(__read(arguments[i])); | ||
return ar; | ||
}; | ||
Object.defineProperty(exports, "__esModule", { value: true }); | ||
var event_1 = require("./event"); | ||
var events_1 = require("events"); | ||
var Observer = /** @class */ (function (_super) { | ||
__extends(Observer, _super); | ||
function Observer(parent) { | ||
var _this = _super.call(this) || this; | ||
_this._observerParent = null; | ||
_this._observerListeners = {}; | ||
if (parent) | ||
_this.mount(parent); | ||
return _this; | ||
get observerParent() { | ||
return this._observerParent; | ||
} | ||
Observer.isObserver = function (o) { | ||
var e = o; | ||
return e != null && e.__pagedip_observer__ === true; | ||
}; | ||
Object.defineProperty(Observer.prototype, "__pagedip_observer__", { | ||
get: function () { | ||
return true; | ||
}, | ||
enumerable: true, | ||
configurable: true | ||
}); | ||
Object.defineProperty(Observer.prototype, "observerParent", { | ||
get: function () { | ||
return this._observerParent; | ||
}, | ||
enumerable: true, | ||
configurable: true | ||
}); | ||
Observer.prototype.getObserverListeners = function (eventType) { | ||
getObserverListeners(eventType) { | ||
return this._observerListeners[eventType] || []; | ||
}; | ||
Observer.prototype.mount = function (parent) { | ||
} | ||
mount(parent) { | ||
if (!Observer.isObserver(parent)) { | ||
@@ -77,4 +34,4 @@ throw new Error("Expecting observer for parent."); | ||
return this; | ||
}; | ||
Observer.prototype.unmount = function () { | ||
} | ||
unmount() { | ||
if (this._observerParent != null) { | ||
@@ -85,7 +42,6 @@ this.emit("unmount", this._observerParent); | ||
return this; | ||
}; | ||
Observer.prototype.observe = function (type, fn) { | ||
var _this = this; | ||
} | ||
observe(type, fn) { | ||
if (typeof type === "object" && type != null) { | ||
Object.keys(type).forEach(function (k) { return _this.observe(k, type[k]); }); | ||
Object.keys(type).forEach((k) => this.observe(k, type[k])); | ||
return this; | ||
@@ -97,3 +53,3 @@ } | ||
if (Array.isArray(fn)) { | ||
fn.forEach(function (f) { return _this.observe(type, f); }); | ||
fn.forEach((f) => this.observe(type, f)); | ||
return this; | ||
@@ -104,11 +60,10 @@ } | ||
} | ||
var listeners = this._observerListeners[type] || []; | ||
const listeners = this._observerListeners[type] || []; | ||
listeners.push(fn); | ||
this._observerListeners[type] = listeners; | ||
return this; | ||
}; | ||
Observer.prototype.unobserve = function (type, fn) { | ||
var _this = this; | ||
} | ||
unobserve(type, fn) { | ||
if (typeof type === "object" && type != null) { | ||
Object.keys(type).forEach(function (k) { return _this.unobserve(k, type[k]); }); | ||
Object.keys(type).forEach((k) => this.unobserve(k, type[k])); | ||
return this; | ||
@@ -120,3 +75,3 @@ } | ||
if (Array.isArray(fn)) { | ||
fn.forEach(function (f) { return _this.unobserve(type, f); }); | ||
fn.forEach((f) => this.unobserve(type, f)); | ||
return this; | ||
@@ -127,5 +82,5 @@ } | ||
} | ||
var listeners = this._observerListeners[type]; | ||
const listeners = this._observerListeners[type]; | ||
if (listeners) { | ||
var index = listeners.indexOf(fn); | ||
const index = listeners.indexOf(fn); | ||
if (index >= 0) | ||
@@ -138,11 +93,7 @@ listeners.splice(index, 1); | ||
return this; | ||
}; | ||
Observer.prototype.createEvent = function (type, data) { | ||
} | ||
createEvent(type, data) { | ||
return event_1.createEvent(this, type, data); | ||
}; | ||
Observer.prototype.fire = function (event) { | ||
var args = []; | ||
for (var _i = 1; _i < arguments.length; _i++) { | ||
args[_i - 1] = arguments[_i]; | ||
} | ||
} | ||
fire(event, ...args) { | ||
if (typeof event === "string") { | ||
@@ -154,21 +105,17 @@ event = this.createEvent(event); | ||
} | ||
return this._fire.apply(this, __spread([event], args)); | ||
}; | ||
Observer.prototype._fire = function (event) { | ||
var args = []; | ||
for (var _i = 1; _i < arguments.length; _i++) { | ||
args[_i - 1] = arguments[_i]; | ||
} | ||
var fireObserver = function (observer) { | ||
return this._fire(event, ...args); | ||
} | ||
_fire(event, ...args) { | ||
const fireObserver = (observer) => { | ||
if (!observer || event.stopped || !event.bubbles) { | ||
return Promise.resolve(); | ||
} | ||
var listeners = observer.getObserverListeners(event.type); | ||
var listener; | ||
var i = 0; | ||
var nextListener = function () { | ||
const listeners = observer.getObserverListeners(event.type); | ||
let listener; | ||
let i = 0; | ||
const nextListener = () => { | ||
// calculate new index dynamically | ||
if (listener) { | ||
// detect if the listener was removed since running | ||
var idx = listeners.indexOf(listener); | ||
const idx = listeners.indexOf(listener); | ||
i = idx >= 0 ? idx + 1 : i; | ||
@@ -181,3 +128,3 @@ } | ||
return Promise.resolve() | ||
.then(function () { return listener.call.apply(listener, __spread([observer, event], args)); }) | ||
.then(() => listener.call(observer, event, ...args)) | ||
.then(nextListener); | ||
@@ -187,12 +134,10 @@ }; | ||
}; | ||
return fireObserver(this).then(function () { | ||
var _a; | ||
return fireObserver(this).then(() => { | ||
if (!event.defaultPrevented && event.defaultListener) { | ||
return (_a = event.defaultListener).call.apply(_a, __spread([null, event], args)); | ||
return event.defaultListener.call(null, event, ...args); | ||
} | ||
}).then(function () { }); | ||
}; | ||
return Observer; | ||
}(events_1.EventEmitter)); | ||
}).then(() => { }); | ||
} | ||
} | ||
exports.Observer = Observer; | ||
//# sourceMappingURL=observer.js.map |
{ | ||
"name": "@pagedip/lib-observer", | ||
"version": "2.1.5", | ||
"version": "2.1.6", | ||
"author": "Tyler Johnson <tyler@beneaththeink.com>", | ||
@@ -14,10 +14,12 @@ "repository": { | ||
"build:full": "npm-run-all clean build", | ||
"build": "tsc", | ||
"prepare": "npm run build" | ||
"build": "tsc -p tsconfig.build.json", | ||
"prepare": "npm-run-all build" | ||
}, | ||
"dependencies": {}, | ||
"dependencies": { | ||
"tslib": "^1.9.3" | ||
}, | ||
"devDependencies": { | ||
"npm-run-all": "^4.1.3", | ||
"npm-run-all": "^4.1.5", | ||
"shx": "^0.3.2", | ||
"typescript": "^3.1.3" | ||
"typescript": "~3.3.4000" | ||
}, | ||
@@ -27,3 +29,3 @@ "files": [ | ||
], | ||
"gitHead": "2e01883d5365d24163001b74dc82986c810f4274" | ||
"gitHead": "aa11326ab94d776dfbe019641955b4dc77e29e98" | ||
} |
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
23725
1
226
+ Addedtslib@^1.9.3
+ Addedtslib@1.14.1(transitive)