effectweb 0.5.0 → 0.5.1

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.
package/dist/dom.js CHANGED
@@ -442,7 +442,9 @@ export function attribute(element, name, value) {
442
442
  style.setProperty(property, value);
443
443
  styleProperties.set(element, next);
444
444
  }
445
- else if (name === 'value' && 'value' in element) {
445
+ else if (name === 'value' && 'value' in element && element.localName !== 'option') {
446
+ // An <option> gets its value as an attribute: before its text child exists its value property reads "", so a
447
+ // property write of "" would be skipped and the option would later fall back to its text.
446
448
  const next = scalar(value);
447
449
  if (element.value !== next)
448
450
  element.value = next;
@@ -30,6 +30,9 @@ export declare function infiniteQuery<Args, A, Param, E = never, R = never>(defi
30
30
  readonly maxPages?: number;
31
31
  readonly refresh?: 'retained' | 'first';
32
32
  readonly groups?: readonly QueryGroup[];
33
+ /** Freshness applies to both the aggregate and individual page queries. */
34
+ readonly staleTime?: number;
35
+ readonly unused?: 'retain' | 'cancel';
33
36
  readonly encodeArgs?: (args: Snapshot<Args>) => QueryKey;
34
37
  readonly encodeParam?: (param: Snapshot<Param>) => QueryKey;
35
38
  } & ([Args] extends [QueryArgs<Args>] ? unknown : {
@@ -21,6 +21,8 @@ export function infiniteQuery(definition) {
21
21
  };
22
22
  const page = query({
23
23
  name: `${config.name}:page`,
24
+ ...(config.staleTime !== undefined ? { staleTime: config.staleTime } : {}),
25
+ ...(config.unused ? { unused: config.unused } : {}),
24
26
  encode: ({ args, param }) => ({
25
27
  args: encodeArgs(args),
26
28
  param: encodeParam(param),
@@ -31,6 +33,8 @@ export function infiniteQuery(definition) {
31
33
  name: config.name,
32
34
  encode: encodeArgs,
33
35
  ...(config.groups ? { groups: config.groups } : {}),
36
+ ...(config.staleTime !== undefined ? { staleTime: config.staleTime } : {}),
37
+ ...(config.unused ? { unused: config.unused } : {}),
34
38
  load: (args, previous) => {
35
39
  const params = config.refresh !== 'first' && previous?.pages.length
36
40
  ? previous.pages.map((page) => page.param)
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "effectweb",
3
- "version": "0.5.0",
3
+ "version": "0.5.1",
4
4
  "description": "Immutable Effect models and compiled JSX with direct DOM rendering",
5
5
  "homepage": "https://github.com/DerpyCrabs/EffectWeb",
6
6
  "bugs": {