ziko 2.0.0-beta.16.1 → 2.0.0-beta.16.2

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/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "ziko",
3
- "version": "2.0.0-beta.16.1",
4
- "description": "A versatile JavaScript library offering a rich set of Hyperscript Based UI components, advanced mathematical utilities, interactivity ,animations, client side routing and more ...",
3
+ "version": "2.0.0-beta.16.2",
4
+ "description": "A versatile JavaScript library offering a rich set of Hyperscript Based UI components, advanced mathematical utilities, interactivity, animations, client-side routing and more ...",
5
5
  "keywords": [
6
6
  "front-end",
7
7
  "framework",
@@ -17,30 +17,37 @@
17
17
  "type": "module",
18
18
  "main": "./dist/ziko.cjs",
19
19
  "module": "./dist/ziko.mjs",
20
+ "types": "./src/index.d.ts",
20
21
  "unpkg": "./dist/ziko.min.js",
21
22
  "jsdelivr": "./dist/ziko.min.js",
22
- "types": "src/index.d.ts",
23
- "files": [
24
- "src",
25
- "dist",
26
- "LICENCE"
27
- ],
28
23
  "exports": {
29
- "./*": {
30
- "import": "./src/*/index.js",
31
- "types": "./src/*/index.d.ts"
32
- },
33
24
  ".": {
25
+ "types": "./src/index.d.ts",
34
26
  "import": "./dist/ziko.mjs",
35
- "require": "./dist/ziko.cjs"
27
+ "require": "./dist/ziko.cjs",
28
+ "default": "./dist/ziko.mjs"
29
+ },
30
+ "./*": {
31
+ "types": "./src/*/index.d.ts",
32
+ "import": "./src/*/index.js"
36
33
  }
37
34
  },
35
+ "files": [
36
+ "src/**/*.js",
37
+ "src/**/*.d.ts",
38
+ "dist",
39
+ "LICENCE",
40
+ "README.md"
41
+ ],
38
42
  "sideEffects": true,
39
43
  "repository": {
40
44
  "type": "git",
41
45
  "url": "git+https://github.com/zikojs/ziko.git",
42
46
  "directory": "packages/ziko"
43
47
  },
48
+ "publishConfig": {
49
+ "provenance": true
50
+ },
44
51
  "author": "zakaria elalaoui",
45
52
  "license": "MIT",
46
53
  "bugs": {
@@ -1,162 +0,0 @@
1
- // import { Complex } from "../../../src/math/Complex/index.js";
2
- // import { Matrix } from "../../../src/math/matrix/index.js";
3
-
4
- // /**
5
- // * Objects that behave like primitives for mapfun,
6
- // * meaning fun(x) is applied directly without recursion.
7
- // */
8
- // export interface MapfunPrimitiveLike {
9
- // __mapfun__?: boolean;
10
- // }
11
-
12
- // export type PrimitiveLike =
13
- // | number
14
- // | boolean
15
- // | string
16
- // | bigint
17
- // | undefined
18
- // | null
19
- // | { readonly __mapfun__: boolean };
20
-
21
- // export type Mappable =
22
- // | number
23
- // | string
24
- // | boolean
25
- // | bigint
26
- // | undefined
27
- // | null
28
- // | Matrix
29
- // | MapfunPrimitiveLike
30
- // | any[]
31
- // | Set<any>
32
- // | Map<any, any>
33
- // | object;
34
-
35
- // /**
36
- // * mapfun transform rules
37
- // */
38
- // export type MapfunResult<F extends (x: any) => any, T> =
39
- // // Objects with __mapfun__ → treat as primitive (call fun(x))
40
- // // T extends MapfunPrimitiveLike
41
- // // ? ReturnType<F> :
42
-
43
- // // Matrix → always return Matrix (your JS logic rebuilds a new Matrix)
44
-
45
- // T extends PrimitiveLike
46
- // ? ReturnType<F> :
47
- // // T extends Complex
48
- // // ? T :
49
- // T extends Matrix
50
- // ? T :
51
-
52
- // // Array → deep-map
53
- // T extends Array<infer U>
54
- // ? Array<MapfunResult<F, U>> :
55
-
56
- // // Set → deep-map
57
- // T extends Set<infer U>
58
- // ? Set<MapfunResult<F, U>> :
59
-
60
- // // Map → deep-map values
61
- // T extends Map<infer K, infer V>
62
- // ? Map<K, MapfunResult<F, V>> :
63
-
64
- // // Other objects → recursively map fields
65
- // T extends object
66
- // ? { [K in keyof T]: MapfunResult<F, T[K]> } :
67
-
68
- // // Primitive
69
- // ReturnType<F>;
70
-
71
- // /**
72
- // * If only one argument → return mapped value
73
- // * If multiple → return tuple of mapped values
74
- // */
75
- // type UnwrapSingle<T extends unknown[]> =
76
- // T extends [infer U] ? U : { [K in keyof T]: T[K] };
77
-
78
- // /**
79
- // * mapfun main declaration
80
- // */
81
- // export declare function mapfun<
82
- // F extends (x: any) => any,
83
- // A extends Mappable[]
84
- // >(
85
- // fun: F,
86
- // ...values: A
87
- // ): UnwrapSingle<{ [K in keyof A]: MapfunResult<F, A[K]> }>;
88
-
89
-
90
- export type Primitive =
91
- string |
92
- number |
93
- boolean |
94
- bigint |
95
- symbol |
96
- null |
97
- undefined;
98
-
99
- export interface MapfunCompatible<T = any> {
100
- __mapfun__?: boolean;
101
- }
102
-
103
- export interface ComplexLike {
104
- isComplex(): boolean;
105
- }
106
-
107
- export interface MatrixLike {
108
- rows: number;
109
- cols: number;
110
-
111
- isMatrix(): boolean;
112
- }
113
-
114
- export type Mappable<T = any> =
115
- | T
116
- | Primitive
117
- | Mappable<T>[]
118
- | ArrayLike<T>
119
- | Set<Mappable<T>>
120
- | Map<any, Mappable<T>>
121
- | MapfunCompatible<T>
122
- | ComplexLike
123
- | MatrixLike
124
- | Record<string, Mappable<T>>;
125
-
126
-
127
- /**
128
- * Applies a function recursively to values inside
129
- * arrays, typed arrays, sets, maps, objects,
130
- * complex values and matrices.
131
- *
132
- * @param fun Transformation function.
133
- * @param X Values to transform.
134
- *
135
- * @example
136
- * mapfun(x => x * 2, [1,2,3])
137
- * // [2,4,6]
138
- */
139
- export declare function mapfun<T, R>(
140
- fun: (value: T) => R,
141
- x: Mappable<T>
142
- ): R;
143
-
144
- export declare function mapfun<T, R>(
145
- fun: (value: T) => R,
146
- x: Mappable<T>,
147
- ...X: Mappable<T>[]
148
- ): R[];
149
-
150
-
151
- /**
152
- * Applies a function to supported mathematical structures.
153
- *
154
- * Handles Complex and Matrix instances specially.
155
- *
156
- * @param x Input value.
157
- * @param fn Transformation function.
158
- */
159
- export declare function apply_fun<T, R>(
160
- x: Mappable<T>,
161
- fn: (value: T) => R
162
- ): Mappable<R>;
@@ -1,43 +0,0 @@
1
- import type { Matrix } from "../matrix/index.js";
2
- import type { Complex } from "../complex/index.js";
3
-
4
- export type Mappable =
5
- | number
6
- | string
7
- | boolean
8
- | bigint
9
- | undefined
10
- | null
11
- | Complex
12
- | Matrix
13
- | object
14
- | any[]
15
- | Set<any>
16
- | Map<any, any>;
17
-
18
- export type MapfunResult<F, T> =
19
- T extends Complex ? ReturnType<F> :
20
- // T extends Matrix ? Matrix :
21
- T extends Array<infer U> ? Array<MapfunResult<F, U>> :
22
- T extends Set<infer U> ? Set<MapfunResult<F, U>> :
23
- T extends Map<infer K, infer V> ? Map<K, MapfunResult<F, V>> :
24
- T extends object ? { [K in keyof T]: MapfunResult<F, T[K]> } :
25
- ReturnType<F>;
26
-
27
- /**
28
- * Helper to unwrap single-element tuple
29
- */
30
- type UnwrapSingle<T extends unknown[]> = T extends [infer U] ? U : { [K in keyof T]: T[K] };
31
-
32
- /**
33
- * mapfun:
34
- * - if multiple values → return tuple
35
- * - if single value → return mapped value directly
36
- */
37
- export declare function mapfun<
38
- F extends (x: any) => any,
39
- A extends Mappable[]
40
- >(
41
- fun: F,
42
- ...values: A
43
- ): UnwrapSingle<{ [K in keyof A]: MapfunResult<F, A[K]> }>;
@@ -1,28 +0,0 @@
1
- import { Tick } from "../tick/index.js";
2
-
3
- export interface ClockTickEvent {
4
- elapsed: number;
5
- delta: number;
6
- }
7
-
8
- export declare class Clock extends Tick {
9
- elapsed: number;
10
- protected _lastTime: number;
11
- protected _callbacks: Set<(ev: ClockTickEvent) => void>;
12
-
13
- constructor(tickMs?: number);
14
-
15
- protected _tick(): void;
16
-
17
- onTick(
18
- cb: (ev: ClockTickEvent) => void
19
- ): () => boolean;
20
-
21
- reset(): void;
22
-
23
- pause(): void;
24
-
25
- resume(): void;
26
- }
27
-
28
- export declare function clock(tickMs?: number): Clock;
@@ -1,42 +0,0 @@
1
- export interface TimeTask {
2
- fn: () => Promise<any> | any;
3
- delay?: number;
4
- }
5
-
6
- export type ParallelTasks = TimeTask[];
7
-
8
- export interface TimeSchedulerOptions {
9
- repeat?: number;
10
- loop?: boolean;
11
- }
12
-
13
- export declare class TimeScheduler {
14
- tasks: (TimeTask | ParallelTasks)[];
15
- repeat: number;
16
- loop: boolean;
17
-
18
- stopped: boolean;
19
- running: boolean;
20
-
21
- onStart: (() => void) | null;
22
- onTask: ((fn: () => Promise<any> | any) => void) | null;
23
- onEnd: (() => void) | null;
24
-
25
- constructor(
26
- tasks?: (TimeTask | ParallelTasks)[],
27
- options?: TimeSchedulerOptions
28
- );
29
-
30
- run(): Promise<void>;
31
-
32
- stop(): void;
33
-
34
- addTask(task: TimeTask | ParallelTasks): void;
35
-
36
- clearTasks(): void;
37
- }
38
-
39
- export declare function Scheduler(
40
- tasks?: (TimeTask | ParallelTasks)[],
41
- options?: { repeat?: number | null }
42
- ): TimeScheduler;
@@ -1,26 +0,0 @@
1
- export declare class Tick {
2
- ms: number;
3
- fn: (self: Tick) => void;
4
- count: number;
5
- frame: number;
6
- id: ReturnType<typeof setInterval> | null;
7
- running: boolean;
8
-
9
- constructor(
10
- fn: (self: Tick) => void,
11
- ms: number,
12
- count?: number,
13
- start?: boolean
14
- );
15
-
16
- start(): this;
17
- stop(): this;
18
- isRunning(): boolean;
19
- }
20
-
21
- export declare function tick(
22
- fn: (self: Tick) => void,
23
- ms: number,
24
- count?: number,
25
- start?: boolean
26
- ): Tick;