vasille 2.3.5 → 2.3.7

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.
@@ -193,7 +193,7 @@ declare class Reactive<T> extends Destroyable {
193
193
  applyOptions(input: T): void;
194
194
  applyOptionsNow(): void;
195
195
  compose(input: T): T['return'];
196
- composeNow(): void;
196
+ composeNow(): T['return'];
197
197
  runFunctional<F>(f: F, ...args: Parameters<F>): ReturnType<F>;
198
198
  runOnDestroy(func: () => void): void;
199
199
  $destroy(): void;
@@ -2116,7 +2116,7 @@ declare class Fragment<T> extends Reactive {
2116
2116
  */
2117
2117
  preinit(app: AppNode, parent: Fragment, data?: any): void;
2118
2118
  init(): T['return'];
2119
- compose(input: T): void;
2119
+ compose(input: T): T['return'];
2120
2120
  /** To be overloaded: ready event handler */
2121
2121
  ready(): void;
2122
2122
  /**
@@ -2337,7 +2337,7 @@ declare interface TagOptionsWithSlot<K> extends TagOptions<K> {
2337
2337
  declare class Tag<K> extends INode<TagOptionsWithSlot<K>> {
2338
2338
  constructor(input: TagOptionsWithSlot<K>): void;
2339
2339
  preinit(app: AppNode, parent: Fragment, tagName?: string): void;
2340
- compose(input: TagOptionsWithSlot<K>): void;
2340
+ compose(input: TagOptionsWithSlot<K>): TagOptionsWithSlot<K>['return'];
2341
2341
  findFirstChild(): Node;
2342
2342
  insertAdjacent(node: Node): void;
2343
2343
  appendNode(node: Node): void;
@@ -2367,7 +2367,7 @@ declare class Extension<T> extends INode<T> {
2367
2367
  * @extends Extension
2368
2368
  */
2369
2369
  declare class Component<T> extends Extension<T> {
2370
- init(): void;
2370
+ init(): T['return'];
2371
2371
  ready(): void;
2372
2372
  preinit(app: AppNode, parent: Fragment): void;
2373
2373
  }
@@ -2471,14 +2471,16 @@ declare interface WatchOptions<T> extends FragmentOptions {
2471
2471
  */
2472
2472
  declare class Watch<T> extends Fragment<WatchOptions<T>> {
2473
2473
  input: WatchOptions<T>;
2474
- compose(input: WatchOptions<T>): void;
2474
+ compose(input: WatchOptions<T>): WatchOptions<T>['return'];
2475
2475
  }
2476
2476
 
2477
2477
 
2478
2478
 
2479
2479
  declare interface FragmentOptions {
2480
2480
  "v:is"?: Record<string, IValue<any>>;
2481
- return?: any;
2481
+ return?: {
2482
+ [key: string]: any;
2483
+ };
2482
2484
  slot?: (node: Fragment, ...args: any[]) => void;
2483
2485
  }
2484
2486
  export type AttrType<T> = IValue<T | string | null> | T | string | null | undefined;
@@ -2563,7 +2565,7 @@ declare class BaseView<K, T,Model> extends RepeatNode<K, T, BSO<K, T, Model>> {
2563
2565
  $: BaseViewPrivate<K, T>;
2564
2566
  input: BSO<K, T, Model>;
2565
2567
  constructor(input: BSO<K, T, Model>, $?: BaseViewPrivate<K, T>): void;
2566
- compose(input: BSO<K, T, Model>): void;
2568
+ compose(input: BSO<K, T, Model>): {};
2567
2569
  }
2568
2570
 
2569
2571
 
@@ -2574,7 +2576,7 @@ declare class BaseView<K, T,Model> extends RepeatNode<K, T, BSO<K, T, Model>> {
2574
2576
  */
2575
2577
  declare class ArrayView<T> extends BaseView<T, T, ArrayModel<T>> {
2576
2578
  createChild(input: BSO<T, T, ArrayModel<T>>, id: T, item: T, before?: Fragment): any;
2577
- compose(input: BSO<T, T, ArrayModel<T>>): void;
2579
+ compose(input: BSO<T, T, ArrayModel<T>>): {};
2578
2580
  }
2579
2581
 
2580
2582
 
@@ -2584,7 +2586,7 @@ declare class ArrayView<T> extends BaseView<T, T, ArrayModel<T>> {
2584
2586
  * @extends BaseView
2585
2587
  */
2586
2588
  declare class MapView<K, T> extends BaseView<K, T, MapModel<K, T>> {
2587
- compose(input: BSO<K, T, MapModel<K, T>>): void;
2589
+ compose(input: BSO<K, T, MapModel<K, T>>): {};
2588
2590
  }
2589
2591
 
2590
2592
 
@@ -2594,7 +2596,7 @@ declare class MapView<K, T> extends BaseView<K, T, MapModel<K, T>> {
2594
2596
  * @extends BaseView
2595
2597
  */
2596
2598
  declare class ObjectView<T> extends BaseView<string, T, ObjectModel<T>> {
2597
- compose(input: BSO<string, T, ObjectModel<T>>): void;
2599
+ compose(input: BSO<string, T, ObjectModel<T>>): {};
2598
2600
  }
2599
2601
 
2600
2602
 
@@ -2604,7 +2606,7 @@ declare class ObjectView<T> extends BaseView<string, T, ObjectModel<T>> {
2604
2606
  * @extends BaseView
2605
2607
  */
2606
2608
  declare class SetView<T> extends BaseView<T, T, SetModel<T>> {
2607
- compose(input: BSO<T, T, SetModel<T>>): void;
2609
+ compose(input: BSO<T, T, SetModel<T>>): {};
2608
2610
  }
2609
2611
 
2610
2612
 
package/lib/core/core.js CHANGED
@@ -216,7 +216,7 @@ export class Reactive extends Destroyable {
216
216
  throw notOverwritten();
217
217
  }
218
218
  composeNow() {
219
- this.compose(this.input);
219
+ return this.compose(this.input);
220
220
  }
221
221
  runFunctional(f, ...args) {
222
222
  stack(this);
package/lib/node/node.js CHANGED
@@ -76,6 +76,7 @@ export class Fragment extends Reactive {
76
76
  }
77
77
  compose(input) {
78
78
  input.slot && input.slot(this);
79
+ return {};
79
80
  }
80
81
  /** To be overloaded: ready event handler */
81
82
  ready() {
@@ -616,6 +617,7 @@ export class Tag extends INode {
616
617
  }
617
618
  compose(input) {
618
619
  input.slot && input.slot(this);
620
+ return {};
619
621
  }
620
622
  findFirstChild() {
621
623
  return this.$.unmounted ? null : this.$.node;
@@ -694,9 +696,10 @@ export class Extension extends INode {
694
696
  */
695
697
  export class Component extends Extension {
696
698
  init() {
697
- super.composeNow();
699
+ const ret = super.composeNow();
698
700
  this.ready();
699
701
  super.applyOptionsNow();
702
+ return ret;
700
703
  }
701
704
  ready() {
702
705
  super.ready();
package/lib/node/watch.js CHANGED
@@ -15,5 +15,6 @@ export class Watch extends Fragment {
15
15
  input.slot && input.slot(this, value);
16
16
  }, input.model);
17
17
  input.slot(this, input.model.$);
18
+ return {};
18
19
  }
19
20
  }
@@ -13,5 +13,6 @@ export class ArrayView extends BaseView {
13
13
  input.model.forEach(item => {
14
14
  this.createChild(input, item, item);
15
15
  });
16
+ return {};
16
17
  }
17
18
  }
@@ -34,5 +34,6 @@ export class BaseView extends RepeatNode {
34
34
  input.model.listener.offAdd($.addHandler);
35
35
  input.model.listener.offRemove($.removeHandler);
36
36
  });
37
+ return {};
37
38
  }
38
39
  }
@@ -10,5 +10,6 @@ export class MapView extends BaseView {
10
10
  input.model.forEach((value, key) => {
11
11
  this.createChild(input, key, value);
12
12
  });
13
+ return {};
13
14
  }
14
15
  }
@@ -12,5 +12,6 @@ export class ObjectView extends BaseView {
12
12
  this.createChild(input, key, obj[key]);
13
13
  }
14
14
  super.ready();
15
+ return {};
15
16
  }
16
17
  }
@@ -11,5 +11,6 @@ export class SetView extends BaseView {
11
11
  set.forEach(item => {
12
12
  this.createChild(input, item, item);
13
13
  });
14
+ return {};
14
15
  }
15
16
  }
@@ -222,7 +222,7 @@ class Reactive extends destroyable_js_1.Destroyable {
222
222
  throw (0, errors_1.notOverwritten)();
223
223
  }
224
224
  composeNow() {
225
- this.compose(this.input);
225
+ return this.compose(this.input);
226
226
  }
227
227
  runFunctional(f, ...args) {
228
228
  stack(this);
@@ -80,6 +80,7 @@ class Fragment extends core_1.Reactive {
80
80
  }
81
81
  compose(input) {
82
82
  input.slot && input.slot(this);
83
+ return {};
83
84
  }
84
85
  /** To be overloaded: ready event handler */
85
86
  ready() {
@@ -625,6 +626,7 @@ class Tag extends INode {
625
626
  }
626
627
  compose(input) {
627
628
  input.slot && input.slot(this);
629
+ return {};
628
630
  }
629
631
  findFirstChild() {
630
632
  return this.$.unmounted ? null : this.$.node;
@@ -705,9 +707,10 @@ exports.Extension = Extension;
705
707
  */
706
708
  class Component extends Extension {
707
709
  init() {
708
- super.composeNow();
710
+ const ret = super.composeNow();
709
711
  this.ready();
710
712
  super.applyOptionsNow();
713
+ return ret;
711
714
  }
712
715
  ready() {
713
716
  super.ready();
@@ -18,6 +18,7 @@ class Watch extends node_1.Fragment {
18
18
  input.slot && input.slot(this, value);
19
19
  }, input.model);
20
20
  input.slot(this, input.model.$);
21
+ return {};
21
22
  }
22
23
  }
23
24
  exports.Watch = Watch;
@@ -16,6 +16,7 @@ class ArrayView extends base_view_1.BaseView {
16
16
  input.model.forEach(item => {
17
17
  this.createChild(input, item, item);
18
18
  });
19
+ return {};
19
20
  }
20
21
  }
21
22
  exports.ArrayView = ArrayView;
@@ -38,6 +38,7 @@ class BaseView extends repeat_node_1.RepeatNode {
38
38
  input.model.listener.offAdd($.addHandler);
39
39
  input.model.listener.offRemove($.removeHandler);
40
40
  });
41
+ return {};
41
42
  }
42
43
  }
43
44
  exports.BaseView = BaseView;
@@ -13,6 +13,7 @@ class MapView extends base_view_1.BaseView {
13
13
  input.model.forEach((value, key) => {
14
14
  this.createChild(input, key, value);
15
15
  });
16
+ return {};
16
17
  }
17
18
  }
18
19
  exports.MapView = MapView;
@@ -15,6 +15,7 @@ class ObjectView extends base_view_1.BaseView {
15
15
  this.createChild(input, key, obj[key]);
16
16
  }
17
17
  super.ready();
18
+ return {};
18
19
  }
19
20
  }
20
21
  exports.ObjectView = ObjectView;
@@ -14,6 +14,7 @@ class SetView extends base_view_1.BaseView {
14
14
  set.forEach(item => {
15
15
  this.createChild(input, item, item);
16
16
  });
17
+ return {};
17
18
  }
18
19
  }
19
20
  exports.SetView = SetView;
package/package.json CHANGED
@@ -3,7 +3,7 @@
3
3
  "description": "Vasille - Safe. Fast. Powerful.",
4
4
  "main": "lib/index.js",
5
5
  "types": "types/index.d.ts",
6
- "version": "2.3.5",
6
+ "version": "2.3.7",
7
7
  "exports": {
8
8
  "import": "./lib/index.js",
9
9
  "browser": "./lib/index.js",
@@ -127,7 +127,7 @@ export declare class Reactive<T extends FragmentOptions = FragmentOptions> exten
127
127
  protected applyOptions(input: T): void;
128
128
  protected applyOptionsNow(): void;
129
129
  protected compose(input: T): T['return'];
130
- protected composeNow(): void;
130
+ protected composeNow(): T['return'];
131
131
  runFunctional<F extends (...args: any) => any>(f: F, ...args: Parameters<F>): ReturnType<F>;
132
132
  runOnDestroy(func: () => void): void;
133
133
  $destroy(): void;
@@ -3,7 +3,9 @@ import { AcceptedTagsMap, AcceptedTagsSpec } from "../spec/react";
3
3
  import type { Fragment } from "../node/node";
4
4
  export interface FragmentOptions {
5
5
  "v:is"?: Record<string, IValue<any>>;
6
- return?: any;
6
+ return?: {
7
+ [key: string]: any;
8
+ };
7
9
  slot?: (node: Fragment, ...args: any[]) => void;
8
10
  }
9
11
  export type AttrType<T> = IValue<T | string | null> | T | string | null | undefined;
@@ -75,7 +75,7 @@ export declare class Fragment<T extends FragmentOptions = FragmentOptions> exten
75
75
  */
76
76
  preinit(app: AppNode, parent: Fragment, data?: unknown): void;
77
77
  init(): T['return'];
78
- protected compose(input: T): void;
78
+ protected compose(input: T): T['return'];
79
79
  /** To be overloaded: ready event handler */
80
80
  ready(): void;
81
81
  /**
@@ -296,7 +296,7 @@ export interface TagOptionsWithSlot<K extends keyof AcceptedTagsMap> extends Tag
296
296
  export declare class Tag<K extends keyof AcceptedTagsMap> extends INode<TagOptionsWithSlot<K>> {
297
297
  constructor(input: TagOptionsWithSlot<K>);
298
298
  preinit(app: AppNode, parent: Fragment, tagName?: string): void;
299
- protected compose(input: TagOptionsWithSlot<K>): void;
299
+ protected compose(input: TagOptionsWithSlot<K>): TagOptionsWithSlot<K>['return'];
300
300
  protected findFirstChild(): Node;
301
301
  insertAdjacent(node: Node): void;
302
302
  appendNode(node: Node): void;
@@ -326,7 +326,7 @@ export declare class Extension<T extends TagOptions<any> = TagOptions<any>> exte
326
326
  * @extends Extension
327
327
  */
328
328
  export declare class Component<T extends TagOptions<any>> extends Extension<T> {
329
- init(): void;
329
+ init(): T['return'];
330
330
  ready(): void;
331
331
  preinit(app: AppNode, parent: Fragment): void;
332
332
  }
@@ -12,6 +12,6 @@ interface WatchOptions<T> extends FragmentOptions {
12
12
  */
13
13
  export declare class Watch<T> extends Fragment<WatchOptions<T>> {
14
14
  input: WatchOptions<T>;
15
- compose(input: WatchOptions<T>): void;
15
+ compose(input: WatchOptions<T>): WatchOptions<T>['return'];
16
16
  }
17
17
  export {};
@@ -8,5 +8,5 @@ import { Fragment } from "../node/node";
8
8
  */
9
9
  export declare class ArrayView<T> extends BaseView<T, T, ArrayModel<T>> {
10
10
  createChild(input: BSO<T, T, ArrayModel<T>>, id: T, item: T, before?: Fragment): any;
11
- protected compose(input: BSO<T, T, ArrayModel<T>>): void;
11
+ protected compose(input: BSO<T, T, ArrayModel<T>>): {};
12
12
  }
@@ -31,5 +31,5 @@ export declare class BaseView<K, T, Model extends ListenableModel<K, T>> extends
31
31
  protected $: BaseViewPrivate<K, T>;
32
32
  input: BSO<K, T, Model>;
33
33
  constructor(input: BSO<K, T, Model>, $?: BaseViewPrivate<K, T>);
34
- protected compose(input: BSO<K, T, Model>): void;
34
+ protected compose(input: BSO<K, T, Model>): {};
35
35
  }
@@ -6,5 +6,5 @@ import { MapModel } from "../models/map-model";
6
6
  * @extends BaseView
7
7
  */
8
8
  export declare class MapView<K, T> extends BaseView<K, T, MapModel<K, T>> {
9
- protected compose(input: BSO<K, T, MapModel<K, T>>): void;
9
+ protected compose(input: BSO<K, T, MapModel<K, T>>): {};
10
10
  }
@@ -6,5 +6,5 @@ import { ObjectModel } from "../models/object-model";
6
6
  * @extends BaseView
7
7
  */
8
8
  export declare class ObjectView<T> extends BaseView<string, T, ObjectModel<T>> {
9
- protected compose(input: BSO<string, T, ObjectModel<T>>): void;
9
+ protected compose(input: BSO<string, T, ObjectModel<T>>): {};
10
10
  }
@@ -6,5 +6,5 @@ import { SetModel } from "../models/set-model";
6
6
  * @extends BaseView
7
7
  */
8
8
  export declare class SetView<T> extends BaseView<T, T, SetModel<T>> {
9
- protected compose(input: BSO<T, T, SetModel<T>>): void;
9
+ protected compose(input: BSO<T, T, SetModel<T>>): {};
10
10
  }