@dashkite/observable 0.4.0 → 0.6.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,153 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", {
3
+ value: true
4
+ });
5
+ Object.defineProperty(exports, "default" //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiL0BkYXNoa2l0ZS9vYnNlcnZhYmxlL3NyYy9pbmRleC5jb2ZmZWUiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsSUFBQSxVQUFBLEVBQUE7O0FBQUEsT0FBTyxDQUFBLE9BQVAsTUFBQTs7QUFDQSxPQUFBO0VBQVMsT0FBVDtDQUFBLE1BQUE7O0FBQ0EsT0FBTyxDQUFBLFFBQVAsTUFBQTs7QUFFQSxVQUFBLEdBQWEsUUFBQSxDQUFFLENBQUYsRUFBSyxDQUFMLENBQUE7U0FBWSxDQUFDLENBQUMsUUFBRixHQUFhLENBQUMsQ0FBQztBQUEzQjs7QUFFUDtFQUFOLE1BQUEsV0FBQTtJQUlTLE9BQU4sSUFBTSxDQUFFLElBQUYsRUFBUSxDQUFFLEtBQUYsSUFBWSxDQUFBLENBQXBCLENBQUEsRUFBQTs7OztRQUdMLFFBQVMsUUFBQSxDQUFFLEtBQUYsQ0FBQTtpQkFBYSxlQUFBLENBQWdCLEtBQWhCO1FBQWI7O2FBQ1QsTUFBTSxDQUFDLE1BQVAsQ0FBZ0IsSUFBQSxDQUFJLElBQUosQ0FBQSxDQUFBLENBQWhCLEVBQ0U7UUFBRSxJQUFGO1FBQVEsS0FBUjtRQUFlLEtBQUEsRUFBTyxFQUF0QjtRQUEwQixRQUFBLEVBQVUsRUFBcEM7UUFBd0MsT0FBQSxFQUFTO01BQWpELENBREY7SUFKSzs7SUFPUCxHQUFLLENBQUEsQ0FBQTthQUFHLElBQUMsQ0FBQSxLQUFELENBQU8sSUFBQyxDQUFBLElBQVI7SUFBSDs7SUFFTCxHQUFLLENBQUUsSUFBRixDQUFBO2FBQVksSUFBQyxDQUFBLElBQUQsR0FBUSxJQUFDLENBQUEsS0FBRCxDQUFPLElBQVA7SUFBcEI7O0lBRUwsSUFBTSxDQUFFLE9BQUYsRUFBVyxXQUFXLENBQXRCLENBQUE7TUFDSixJQUFDLENBQUEsS0FBSyxDQUFDLElBQVAsQ0FBWSxDQUFFLE9BQUYsRUFBVyxRQUFYLENBQVo7YUFDQTtJQUZJOztJQUlOLEtBQU8sQ0FBQSxDQUFBO2FBQ0wsSUFBQyxDQUFBLEtBQUQsR0FBUztJQURKOztJQUdDLE1BQVIsTUFBUSxDQUFBLENBQUE7QUFDVixVQUFBLElBQUEsRUFBQSxPQUFBLEVBQUEsQ0FBQSxFQUFBLENBQUEsRUFBQSxHQUFBLEVBQUEsSUFBQSxFQUFBLE9BQUEsRUFBQSxHQUFBLEVBQUE7TUFBTyxJQUFDLENBQUE7TUFDSixJQUFBLEdBQVUsSUFBQyxDQUFBO0FBQ1g7TUFBQSxLQUFBLHFDQUFBO1NBQUksQ0FBRSxPQUFGO1FBQ0YsSUFBQSxHQUFPLENBQUEsTUFBTSxPQUFBLENBQVEsSUFBUixDQUFOO01BRFQ7TUFFQSxJQUFDLENBQUEsS0FBRCxHQUFTO01BQ1QsSUFBQyxDQUFBLEdBQUQsQ0FBSyxJQUFMO0FBQ0E7TUFBQSxLQUFBLHdDQUFBOztRQUFFLE9BQUEsQ0FBVyxJQUFDLENBQUEsS0FBWjtNQUFGO2FBQ0E7SUFSTTs7SUFVUixNQUFRLENBQUUsT0FBRixDQUFBO01BQ04sSUFBQyxDQUFBLElBQUQsQ0FBTSxPQUFOO2FBQ0csSUFBQyxDQUFBO0lBRkU7O0lBSVIsTUFBUSxDQUFFLE1BQUYsQ0FBQTthQUNOLElBQUMsQ0FBQSxNQUFELENBQVEsUUFBQSxDQUFFLElBQUYsQ0FBQTtlQUFZLE1BQU0sQ0FBQyxNQUFQLENBQWMsSUFBZCxFQUFvQixNQUFwQjtNQUFaLENBQVI7SUFETTs7SUFHUixPQUFTLENBQUUsT0FBRixDQUFBO01BQ1AsSUFBQyxDQUFBLFFBQVEsQ0FBQyxJQUFWLENBQWUsT0FBZjthQUNBO0lBRk87O0lBSVQsTUFBUSxDQUFFLE9BQUYsQ0FBQTthQUNOLElBQUMsQ0FBQSxRQUFELEdBQVksR0FBRyxDQUFDLE1BQUosQ0FBVyxPQUFYLEVBQW9CLElBQUMsQ0FBQSxRQUFyQjtJQUROOztJQUdSLElBQU0sQ0FBQSxDQUFBO01BQ0osSUFBQyxDQUFBLE9BQU8sQ0FBQyxJQUFULENBQWMsSUFBQyxDQUFBLElBQWY7TUFDQSxJQUFHLElBQUMsQ0FBQSxPQUFPLENBQUMsTUFBVCxHQUFrQixVQUFVLENBQUMsSUFBaEM7ZUFDSyxJQUFDLENBQUEsT0FBTyxDQUFDLFFBRGQ7O0lBRkk7O0lBS04sR0FBSyxDQUFBLENBQUE7QUFDUCxVQUFBLElBQUEsRUFBQSxPQUFBLEVBQUEsQ0FBQSxFQUFBLEdBQUEsRUFBQTtNQUFJLElBQUMsQ0FBQSxJQUFELEdBQVEsSUFBQyxDQUFBLE9BQU8sQ0FBQyxHQUFULENBQUE7TUFDUixJQUFBLEdBQU8sSUFBQyxDQUFBLEtBQUQsQ0FBTyxJQUFDLENBQUEsSUFBUjtBQUNQO01BQUEsS0FBQSxxQ0FBQTs7UUFBQSxPQUFBLENBQVEsSUFBUjtNQUFBO2FBQ0E7SUFKRzs7RUFuRFA7O0VBRUUsVUFBQyxDQUFBLElBQUQsR0FBTzs7Ozs7O0FBdURULE9BQUEsUUFBZSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAqIGFzIEFyciBmcm9tIFwiQGRhc2hraXRlL2pveS9hcnJheVwiXG5pbXBvcnQgeyBnZW5lcmljIH0gZnJvbSBcIkBkYXNoa2l0ZS9qb3kvZ2VuZXJpY1wiXG5pbXBvcnQgKiBhcyBUeXBlIGZyb20gXCJAZGFzaGtpdGUvam95L3R5cGVcIlxuXG5ieVByaW9yaXR5ID0gKCBhLCBiICkgLT4gYS5wcmlvcml0eSAtIGIucHJpb3JpdHlcblxuY2xhc3MgT2JzZXJ2YWJsZVxuXG4gIEBrZWVwOiAxMFxuXG4gIEBmcm9tOiAoIGRhdGEsIHsgY2xvbmUgfSA9IHt9KSAtPlxuICAgICMgY2xvbmUgaXMgaW52b2tlZCBhcyBhIG1ldGhvZCBzbyB3ZSB3cmFwXG4gICAgIyBzdHJ1Y3R1cmVkQ2xvbmUgd2hlbiBpdCdzIHVuZGVmaW5lZFxuICAgIGNsb25lID89ICggdmFsdWUgKSAtPiBzdHJ1Y3R1cmVkQ2xvbmUgdmFsdWVcbiAgICBPYmplY3QuYXNzaWduICggbmV3IEAgKSwgXG4gICAgICB7IGRhdGEsIGNsb25lLCBwbGFuczogW10sIGhhbmRsZXJzOiBbXSwgaGlzdG9yeTogW10gfVxuXG4gIGdldDogLT4gQGNsb25lIEBkYXRhXG5cbiAgc2V0OiAoIGRhdGEgKSAtPiBAZGF0YSA9IEBjbG9uZSBkYXRhXG5cbiAgcGxhbjogKCBtdXRhdG9yLCBwcmlvcml0eSA9IDAgKSAtPlxuICAgIEBwbGFucy5wdXNoIHsgbXV0YXRvciwgcHJpb3JpdHkgfVxuICAgIEBcblxuICBhYm9ydDogLT5cbiAgICBAcGxhbnMgPSBbXVxuXG4gIGNvbW1pdDogLT5cbiAgICBkbyBAcHVzaFxuICAgIGRhdGEgPSBkbyBAZ2V0XG4gICAgZm9yIHsgbXV0YXRvciB9IGluICggQHBsYW5zLnNvcnQgYnlQcmlvcml0eSApXG4gICAgICBkYXRhID0gYXdhaXQgbXV0YXRvciBkYXRhXG4gICAgQHBsYW5zID0gW11cbiAgICBAc2V0IGRhdGFcbiAgICAoIGhhbmRsZXIgZG8gQGdldCApIGZvciBoYW5kbGVyIGluIEBoYW5kbGVyc1xuICAgIEAgICAgXG5cbiAgdXBkYXRlOiAoIG11dGF0b3IgKSAtPlxuICAgIEBwbGFuIG11dGF0b3JcbiAgICBkbyBAY29tbWl0XG4gIFxuICBhc3NpZ246ICggdXBkYXRlICkgLT5cbiAgICBAdXBkYXRlICggZGF0YSApIC0+IE9iamVjdC5hc3NpZ24gZGF0YSwgdXBkYXRlXG5cbiAgb2JzZXJ2ZTogKCBoYW5kbGVyICkgLT5cbiAgICBAaGFuZGxlcnMucHVzaCBoYW5kbGVyXG4gICAgaGFuZGxlclxuXG4gIGNhbmNlbDogKCBoYW5kbGVyICkgLT5cbiAgICBAaGFuZGxlcnMgPSBBcnIucmVtb3ZlIGhhbmRsZXIsIEBoYW5kbGVyc1xuXG4gIHB1c2g6IC0+XG4gICAgQGhpc3RvcnkucHVzaCBAZGF0YVxuICAgIGlmIEBoaXN0b3J5Lmxlbmd0aCA+IE9ic2VydmFibGUua2VlcFxuICAgICAgZG8gQGhpc3Rvcnkuc2hpZnRcblxuICBwb3A6IC0+XG4gICAgQGRhdGEgPSBAaGlzdG9yeS5wb3AoKVxuICAgIGRhdGEgPSBAY2xvbmUgQGRhdGFcbiAgICBoYW5kbGVyIGRhdGEgZm9yIGhhbmRsZXIgaW4gQGhhbmRsZXJzXG4gICAgZGF0YVxuXG5leHBvcnQgZGVmYXVsdCBPYnNlcnZhYmxlIl19
6
+ //# sourceURL=/@dashkite/observable/src/index.coffee
7
+ , {
8
+ enumerable: true,
9
+ get: function() {
10
+ return _default;
11
+ }
12
+ });
13
+ const _array = /*#__PURE__*/ _interop_require_wildcard(require("@dashkite/joy/array"));
14
+ const _generic = require("@dashkite/joy/generic");
15
+ const _type = /*#__PURE__*/ _interop_require_wildcard(require("@dashkite/joy/type"));
16
+ function _getRequireWildcardCache(nodeInterop) {
17
+ if (typeof WeakMap !== "function") return null;
18
+ var cacheBabelInterop = new WeakMap();
19
+ var cacheNodeInterop = new WeakMap();
20
+ return (_getRequireWildcardCache = function(nodeInterop) {
21
+ return nodeInterop ? cacheNodeInterop : cacheBabelInterop;
22
+ })(nodeInterop);
23
+ }
24
+ function _interop_require_wildcard(obj, nodeInterop) {
25
+ if (!nodeInterop && obj && obj.__esModule) {
26
+ return obj;
27
+ }
28
+ if (obj === null || typeof obj !== "object" && typeof obj !== "function") {
29
+ return {
30
+ default: obj
31
+ };
32
+ }
33
+ var cache = _getRequireWildcardCache(nodeInterop);
34
+ if (cache && cache.has(obj)) {
35
+ return cache.get(obj);
36
+ }
37
+ var newObj = {
38
+ __proto__: null
39
+ };
40
+ var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor;
41
+ for(var key in obj){
42
+ if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) {
43
+ var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null;
44
+ if (desc && (desc.get || desc.set)) {
45
+ Object.defineProperty(newObj, key, desc);
46
+ } else {
47
+ newObj[key] = obj[key];
48
+ }
49
+ }
50
+ }
51
+ newObj.default = obj;
52
+ if (cache) {
53
+ cache.set(obj, newObj);
54
+ }
55
+ return newObj;
56
+ }
57
+ var Observable, byPriority;
58
+ byPriority = function(a, b) {
59
+ return a.priority - b.priority;
60
+ };
61
+ Observable = (function() {
62
+ class Observable {
63
+ static from(data, { clone } = {}) {
64
+ // clone is invoked as a method so we wrap
65
+ // structuredClone when it's undefined
66
+ if (clone == null) {
67
+ clone = function(value) {
68
+ return structuredClone(value);
69
+ };
70
+ }
71
+ return Object.assign(new this(), {
72
+ data,
73
+ clone,
74
+ plans: [],
75
+ handlers: [],
76
+ history: []
77
+ });
78
+ }
79
+ get() {
80
+ return this.clone(this.data);
81
+ }
82
+ set(data) {
83
+ return this.data = this.clone(data);
84
+ }
85
+ plan(mutator, priority = 0) {
86
+ this.plans.push({
87
+ mutator,
88
+ priority
89
+ });
90
+ return this;
91
+ }
92
+ abort() {
93
+ return this.plans = [];
94
+ }
95
+ async commit() {
96
+ var data, handler, i, j, len, len1, mutator, ref, ref1;
97
+ this.push();
98
+ data = this.get();
99
+ ref = this.plans.sort(byPriority);
100
+ for(i = 0, len = ref.length; i < len; i++){
101
+ ({ mutator } = ref[i]);
102
+ data = await mutator(data);
103
+ }
104
+ this.plans = [];
105
+ this.set(data);
106
+ ref1 = this.handlers;
107
+ for(j = 0, len1 = ref1.length; j < len1; j++){
108
+ handler = ref1[j];
109
+ handler(this.get());
110
+ }
111
+ return this;
112
+ }
113
+ update(mutator) {
114
+ this.plan(mutator);
115
+ return this.commit();
116
+ }
117
+ assign(update) {
118
+ return this.update(function(data) {
119
+ return Object.assign(data, update);
120
+ });
121
+ }
122
+ observe(handler) {
123
+ this.handlers.push(handler);
124
+ return handler;
125
+ }
126
+ cancel(handler) {
127
+ return this.handlers = _array.remove(handler, this.handlers);
128
+ }
129
+ push() {
130
+ this.history.push(this.data);
131
+ if (this.history.length > Observable.keep) {
132
+ return this.history.shift();
133
+ }
134
+ }
135
+ pop() {
136
+ var data, handler, i, len, ref;
137
+ this.data = this.history.pop();
138
+ data = this.clone(this.data);
139
+ ref = this.handlers;
140
+ for(i = 0, len = ref.length; i < len; i++){
141
+ handler = ref[i];
142
+ handler(data);
143
+ }
144
+ return data;
145
+ }
146
+ }
147
+ ;
148
+ Observable.keep = 10;
149
+ return Observable;
150
+ }).call(void 0);
151
+ const _default = Observable;
152
+
153
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiIiwic291cmNlcyI6WyIvQGRhc2hraXRlL29ic2VydmFibGUvc3JjL2luZGV4LmNvZmZlZSJdLCJzb3VyY2VSb290IjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgQXJyIGZyb20gXCJAZGFzaGtpdGUvam95L2FycmF5XCJcbmltcG9ydCB7IGdlbmVyaWMgfSBmcm9tIFwiQGRhc2hraXRlL2pveS9nZW5lcmljXCJcbmltcG9ydCAqIGFzIFR5cGUgZnJvbSBcIkBkYXNoa2l0ZS9qb3kvdHlwZVwiXG5cbmJ5UHJpb3JpdHkgPSAoIGEsIGIgKSAtPiBhLnByaW9yaXR5IC0gYi5wcmlvcml0eVxuXG5jbGFzcyBPYnNlcnZhYmxlXG5cbiAgQGtlZXA6IDEwXG5cbiAgQGZyb206ICggZGF0YSwgeyBjbG9uZSB9ID0ge30pIC0+XG4gICAgIyBjbG9uZSBpcyBpbnZva2VkIGFzIGEgbWV0aG9kIHNvIHdlIHdyYXBcbiAgICAjIHN0cnVjdHVyZWRDbG9uZSB3aGVuIGl0J3MgdW5kZWZpbmVkXG4gICAgY2xvbmUgPz0gKCB2YWx1ZSApIC0+IHN0cnVjdHVyZWRDbG9uZSB2YWx1ZVxuICAgIE9iamVjdC5hc3NpZ24gKCBuZXcgQCApLCBcbiAgICAgIHsgZGF0YSwgY2xvbmUsIHBsYW5zOiBbXSwgaGFuZGxlcnM6IFtdLCBoaXN0b3J5OiBbXSB9XG5cbiAgZ2V0OiAtPiBAY2xvbmUgQGRhdGFcblxuICBzZXQ6ICggZGF0YSApIC0+IEBkYXRhID0gQGNsb25lIGRhdGFcblxuICBwbGFuOiAoIG11dGF0b3IsIHByaW9yaXR5ID0gMCApIC0+XG4gICAgQHBsYW5zLnB1c2ggeyBtdXRhdG9yLCBwcmlvcml0eSB9XG4gICAgQFxuXG4gIGFib3J0OiAtPlxuICAgIEBwbGFucyA9IFtdXG5cbiAgY29tbWl0OiAtPlxuICAgIGRvIEBwdXNoXG4gICAgZGF0YSA9IGRvIEBnZXRcbiAgICBmb3IgeyBtdXRhdG9yIH0gaW4gKCBAcGxhbnMuc29ydCBieVByaW9yaXR5IClcbiAgICAgIGRhdGEgPSBhd2FpdCBtdXRhdG9yIGRhdGFcbiAgICBAcGxhbnMgPSBbXVxuICAgIEBzZXQgZGF0YVxuICAgICggaGFuZGxlciBkbyBAZ2V0ICkgZm9yIGhhbmRsZXIgaW4gQGhhbmRsZXJzXG4gICAgQCAgICBcblxuICB1cGRhdGU6ICggbXV0YXRvciApIC0+XG4gICAgQHBsYW4gbXV0YXRvclxuICAgIGRvIEBjb21taXRcbiAgXG4gIGFzc2lnbjogKCB1cGRhdGUgKSAtPlxuICAgIEB1cGRhdGUgKCBkYXRhICkgLT4gT2JqZWN0LmFzc2lnbiBkYXRhLCB1cGRhdGVcblxuICBvYnNlcnZlOiAoIGhhbmRsZXIgKSAtPlxuICAgIEBoYW5kbGVycy5wdXNoIGhhbmRsZXJcbiAgICBoYW5kbGVyXG5cbiAgY2FuY2VsOiAoIGhhbmRsZXIgKSAtPlxuICAgIEBoYW5kbGVycyA9IEFyci5yZW1vdmUgaGFuZGxlciwgQGhhbmRsZXJzXG5cbiAgcHVzaDogLT5cbiAgICBAaGlzdG9yeS5wdXNoIEBkYXRhXG4gICAgaWYgQGhpc3RvcnkubGVuZ3RoID4gT2JzZXJ2YWJsZS5rZWVwXG4gICAgICBkbyBAaGlzdG9yeS5zaGlmdFxuXG4gIHBvcDogLT5cbiAgICBAZGF0YSA9IEBoaXN0b3J5LnBvcCgpXG4gICAgZGF0YSA9IEBjbG9uZSBAZGF0YVxuICAgIGhhbmRsZXIgZGF0YSBmb3IgaGFuZGxlciBpbiBAaGFuZGxlcnNcbiAgICBkYXRhXG5cbmV4cG9ydCBkZWZhdWx0IE9ic2VydmFibGUiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7OytEQUFBO3lCQUNBOzhEQUNBOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFGQSxJQUFBLFVBQUEsRUFBQTtBQUlBLFVBQUEsR0FBYSxRQUFBLENBQUUsQ0FBRixFQUFLLENBQUwsQ0FBQTtXQUFZLENBQUMsQ0FBQyxRQUFGLEdBQWEsQ0FBQyxDQUFDLFFBQUE7QUFBM0I7QUFFUCxhQUFBLENBQUE7SUFBTixNQUFBLFdB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
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@dashkite/observable",
3
- "version": "0.4.0",
3
+ "version": "0.6.0",
4
4
  "description": "Simple implementation of the observer pattern.",
5
5
  "keywords": [],
6
6
  "homepage": "https://github.com/dashkite/observable#readme",
@@ -25,7 +25,8 @@
25
25
  },
26
26
  "main": "build/browser/src/index.js",
27
27
  "files": [
28
- "build/browser/src"
28
+ "build/browser/src",
29
+ "build/node/src"
29
30
  ],
30
31
  "scripts": {
31
32
  "test": "genie test",
@@ -39,7 +40,7 @@
39
40
  "@dashkite/genie": "0.9.0",
40
41
  "@dashkite/genie-clean": "0.2.0",
41
42
  "@dashkite/genie-coffee": "0.2.0",
42
- "@dashkite/genie-release": "^0.2.9"
43
+ "@dashkite/genie-release": "^0.2.10"
43
44
  },
44
45
  "dependencies": {
45
46
  "@dashkite/joy": "^0.3.16"