@graffy/fill 0.16.20-alpha.11 → 0.16.20-alpha.12

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.
Files changed (3) hide show
  1. package/index.cjs +26 -13
  2. package/index.mjs +26 -13
  3. package/package.json +4 -4
package/index.cjs CHANGED
@@ -25,8 +25,10 @@ function subscribe(store, originalQuery, { raw }) {
25
25
  try {
26
26
  const changed = common.add(query, unknown);
27
27
  log$1(changed ? "Resubscribing" : "Not resubscribing", unknown);
28
- if (!changed) return;
29
- if (upstream) upstream.return();
28
+ if (!changed)
29
+ return;
30
+ if (upstream)
31
+ upstream.return();
30
32
  upstream = store.call("watch", query, { skipFill: true });
31
33
  let { value } = await upstream.next();
32
34
  log$1("First payload", typeof value, value);
@@ -44,13 +46,15 @@ function subscribe(store, originalQuery, { raw }) {
44
46
  async function putStream(stream2) {
45
47
  log$1("Start putting stream");
46
48
  try {
47
- for await (const value of stream2) putValue(value, true);
49
+ for await (const value of stream2)
50
+ putValue(value, true);
48
51
  } catch (e) {
49
52
  error(e);
50
53
  }
51
54
  }
52
55
  function putValue(value, isChange) {
53
- if (typeof value === "undefined") return;
56
+ if (typeof value === "undefined")
57
+ return;
54
58
  log$1("Put", isChange ? "Change" : "Value", typeof value);
55
59
  if (value === null) {
56
60
  data = empty();
@@ -62,7 +66,8 @@ function subscribe(store, originalQuery, { raw }) {
62
66
  sieved = common.sieve(data, value);
63
67
  } else {
64
68
  sieved = common.slice(value, query).known;
65
- if (sieved) common.merge(data, sieved);
69
+ if (sieved)
70
+ common.merge(data, sieved);
66
71
  }
67
72
  log$1("Sieved: ", sieved && sieved);
68
73
  if (raw && sieved) {
@@ -76,24 +81,29 @@ function subscribe(store, originalQuery, { raw }) {
76
81
  const valueParts = common.slice(value, unknown);
77
82
  if (valueParts.known) {
78
83
  common.merge(data, valueParts.known);
79
- if (raw) common.merge(payload, valueParts.known);
84
+ if (raw)
85
+ common.merge(payload, valueParts.known);
80
86
  unknown = valueParts.unknown;
81
87
  }
82
88
  }
83
- if (unknown) return resubscribe(unknown);
89
+ if (unknown)
90
+ return resubscribe(unknown);
84
91
  if (!raw) {
85
- if (!isChange || (sieved == null ? void 0 : sieved.length)) push(data);
92
+ if (!isChange || (sieved == null ? void 0 : sieved.length))
93
+ push(data);
86
94
  } else if (payload.length) {
87
95
  push(payload);
88
96
  payload = [];
89
97
  }
90
98
  }
91
99
  function error(e) {
92
- if (end) end(e);
100
+ if (end)
101
+ end(e);
93
102
  unsubscribe();
94
103
  }
95
104
  function unsubscribe() {
96
- if (upstream) upstream.return();
105
+ if (upstream)
106
+ upstream.return();
97
107
  }
98
108
  }
99
109
  const log = debug("graffy:fill");
@@ -102,7 +112,8 @@ function fill(_) {
102
112
  return (store) => {
103
113
  store.on("read", [], async function fillOnRead(query, options, next) {
104
114
  let value = await next(query);
105
- if (options.skipFill) return value;
115
+ if (options.skipFill)
116
+ return value;
106
117
  if (!(value == null ? void 0 : value.length)) {
107
118
  log("No progress", query);
108
119
  throw Error("fill.no_progress");
@@ -111,7 +122,8 @@ function fill(_) {
111
122
  while (budget-- > 1) {
112
123
  const { known, unknown } = common.slice(value, query);
113
124
  value = known;
114
- if (!unknown) break;
125
+ if (!unknown)
126
+ break;
115
127
  const res = await store.call("read", unknown, { skipFill: true });
116
128
  common.merge(value, res);
117
129
  }
@@ -122,7 +134,8 @@ function fill(_) {
122
134
  return value;
123
135
  });
124
136
  store.on("watch", [], function fillOnWatch(query, options, next) {
125
- if (options.skipFill) return next(query);
137
+ if (options.skipFill)
138
+ return next(query);
126
139
  return subscribe(store, query, options);
127
140
  });
128
141
  };
package/index.mjs CHANGED
@@ -24,8 +24,10 @@ function subscribe(store, originalQuery, { raw }) {
24
24
  try {
25
25
  const changed = add(query, unknown);
26
26
  log$1(changed ? "Resubscribing" : "Not resubscribing", unknown);
27
- if (!changed) return;
28
- if (upstream) upstream.return();
27
+ if (!changed)
28
+ return;
29
+ if (upstream)
30
+ upstream.return();
29
31
  upstream = store.call("watch", query, { skipFill: true });
30
32
  let { value } = await upstream.next();
31
33
  log$1("First payload", typeof value, value);
@@ -43,13 +45,15 @@ function subscribe(store, originalQuery, { raw }) {
43
45
  async function putStream(stream2) {
44
46
  log$1("Start putting stream");
45
47
  try {
46
- for await (const value of stream2) putValue(value, true);
48
+ for await (const value of stream2)
49
+ putValue(value, true);
47
50
  } catch (e) {
48
51
  error(e);
49
52
  }
50
53
  }
51
54
  function putValue(value, isChange) {
52
- if (typeof value === "undefined") return;
55
+ if (typeof value === "undefined")
56
+ return;
53
57
  log$1("Put", isChange ? "Change" : "Value", typeof value);
54
58
  if (value === null) {
55
59
  data = empty();
@@ -61,7 +65,8 @@ function subscribe(store, originalQuery, { raw }) {
61
65
  sieved = sieve(data, value);
62
66
  } else {
63
67
  sieved = slice(value, query).known;
64
- if (sieved) merge(data, sieved);
68
+ if (sieved)
69
+ merge(data, sieved);
65
70
  }
66
71
  log$1("Sieved: ", sieved && sieved);
67
72
  if (raw && sieved) {
@@ -75,24 +80,29 @@ function subscribe(store, originalQuery, { raw }) {
75
80
  const valueParts = slice(value, unknown);
76
81
  if (valueParts.known) {
77
82
  merge(data, valueParts.known);
78
- if (raw) merge(payload, valueParts.known);
83
+ if (raw)
84
+ merge(payload, valueParts.known);
79
85
  unknown = valueParts.unknown;
80
86
  }
81
87
  }
82
- if (unknown) return resubscribe(unknown);
88
+ if (unknown)
89
+ return resubscribe(unknown);
83
90
  if (!raw) {
84
- if (!isChange || (sieved == null ? void 0 : sieved.length)) push(data);
91
+ if (!isChange || (sieved == null ? void 0 : sieved.length))
92
+ push(data);
85
93
  } else if (payload.length) {
86
94
  push(payload);
87
95
  payload = [];
88
96
  }
89
97
  }
90
98
  function error(e) {
91
- if (end) end(e);
99
+ if (end)
100
+ end(e);
92
101
  unsubscribe();
93
102
  }
94
103
  function unsubscribe() {
95
- if (upstream) upstream.return();
104
+ if (upstream)
105
+ upstream.return();
96
106
  }
97
107
  }
98
108
  const log = debug("graffy:fill");
@@ -101,7 +111,8 @@ function fill(_) {
101
111
  return (store) => {
102
112
  store.on("read", [], async function fillOnRead(query, options, next) {
103
113
  let value = await next(query);
104
- if (options.skipFill) return value;
114
+ if (options.skipFill)
115
+ return value;
105
116
  if (!(value == null ? void 0 : value.length)) {
106
117
  log("No progress", query);
107
118
  throw Error("fill.no_progress");
@@ -110,7 +121,8 @@ function fill(_) {
110
121
  while (budget-- > 1) {
111
122
  const { known, unknown } = slice(value, query);
112
123
  value = known;
113
- if (!unknown) break;
124
+ if (!unknown)
125
+ break;
114
126
  const res = await store.call("read", unknown, { skipFill: true });
115
127
  merge(value, res);
116
128
  }
@@ -121,7 +133,8 @@ function fill(_) {
121
133
  return value;
122
134
  });
123
135
  store.on("watch", [], function fillOnWatch(query, options, next) {
124
- if (options.skipFill) return next(query);
136
+ if (options.skipFill)
137
+ return next(query);
125
138
  return subscribe(store, query, options);
126
139
  });
127
140
  };
package/package.json CHANGED
@@ -2,7 +2,7 @@
2
2
  "name": "@graffy/fill",
3
3
  "description": "Graffy module for fulfilling queries using multiple backends, traversing links and turning subscriptions into live queries.",
4
4
  "author": "aravind (https://github.com/aravindet)",
5
- "version": "0.16.20-alpha.11",
5
+ "version": "0.16.20-alpha.12",
6
6
  "main": "./index.cjs",
7
7
  "exports": {
8
8
  "import": "./index.mjs",
@@ -16,8 +16,8 @@
16
16
  },
17
17
  "license": "Apache-2.0",
18
18
  "dependencies": {
19
- "@graffy/common": "0.16.20-alpha.11",
20
- "debug": "^4.3.7",
21
- "@graffy/stream": "0.16.20-alpha.11"
19
+ "@graffy/common": "0.16.20-alpha.12",
20
+ "debug": "^4.3.3",
21
+ "@graffy/stream": "0.16.20-alpha.12"
22
22
  }
23
23
  }