subay 0.0.8 → 0.0.11

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.
@@ -121,7 +121,7 @@
121
121
  <script type="importmap">
122
122
  {
123
123
  "imports": {
124
- "subay": "../lib/index.js"
124
+ "subay": "../lib/index.dev.js"
125
125
  }
126
126
  }
127
127
  </script>
package/lib/dev.d.ts ADDED
@@ -0,0 +1,4 @@
1
+ export * from './index.js';
2
+ export declare const S: <T>(fn: (pv: T | undefined) => T, value?: T) => import("./s.js").IS<T>;
3
+ export declare const o: <T>(value: T) => import("./s.js").IO<T>;
4
+ //# sourceMappingURL=dev.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dev.d.ts","sourceRoot":"","sources":["../src/dev.ts"],"names":[],"mappings":"AA+DA,cAAc,YAAY,CAAC;AAE3B,eAAO,MAAM,CAAC,wEAAgB,CAAC;AAC/B,eAAO,MAAM,CAAC,yCAAgB,CAAC"}
@@ -1,60 +1,62 @@
1
- const url2src = new Map<string, string>();
2
- const getLeftName = function getLeftName() {
3
- const stack = new Error().stack;
4
- if (!stack) {
5
- return null;
6
- }
7
- const urlRegex = /((?:\w+:\/\/)[-a-zA-Z0-9:@;?&=\/%\+\.\*!'\(\),\$_\{\}\^~\[\]`#|]+):(\d+):(\d+)/;
8
- const lines = stack.split('\n');
9
-
10
- const currentLineIndex = lines.findIndex((line) => {
11
- return line.includes(import.meta.url) && line.includes(getLeftName.name);
12
- });
13
-
14
- if (currentLineIndex > -1) {
15
- const offset = 3;
16
- const line = lines[currentLineIndex + offset];
17
- if (!line) {
18
- return null;
19
- }
20
- const location = line.match(urlRegex);
21
- if (!location) {
22
- return null;
23
- }
24
- const url = location[1];
25
- const lineNo = location[2];
26
- const colNo = location[3];
27
- if (!url || !lineNo || !colNo) {
28
- return null;
29
- }
30
- let src: string;
31
- if (url2src.has(url)) {
32
- src = url2src.get(url)!;
33
- } else {
34
- const xhr = new XMLHttpRequest();
35
- xhr.open('GET', url, false);
36
- xhr.send();
37
- src = xhr.responseText;
38
- url2src.set(url, src);
39
- }
40
-
41
- const reg = new RegExp(`(?:.*\r?\n){${Number(lineNo) - 1}}.{${Number(colNo) - 1}}`);
42
- const segment = src.match(reg);
43
- if (!segment) {
44
- return null;
45
- }
46
- return segment[0].match(/(\w+)\s*=\s*$/)?.[1];
47
- }
48
- return null;
49
- };
50
-
51
- export const namedFunc = <F extends (...args: any[]) => any>(f: F, fallback?: string): F => {
52
- const leftName = getLeftName() ?? fallback;
53
- if (!leftName) {
54
- return f;
55
- }
56
- const g = new Function(`return function ${leftName} (...args) {return ${leftName}._(...args)}`)();
57
- g._ = f;
58
- Object.setPrototypeOf(g, f);
59
- return g;
60
- };
1
+ const url2src = new Map();
2
+ const getLeftName = function getLeftName() {
3
+ const stack = new Error().stack;
4
+ if (!stack) {
5
+ return null;
6
+ }
7
+ const urlRegex = /((?:\w+:\/\/)[-a-zA-Z0-9:@;?&=\/%\+\.\*!'\(\),\$_\{\}\^~\[\]`#|]+):(\d+):(\d+)/;
8
+ const lines = stack.split('\n');
9
+ const currentLineIndex = lines.findIndex((line) => {
10
+ return line.includes(import.meta.url) && line.includes(getLeftName.name);
11
+ });
12
+ if (currentLineIndex > -1) {
13
+ const offset = 3;
14
+ const line = lines[currentLineIndex + offset];
15
+ if (!line) {
16
+ return null;
17
+ }
18
+ const location = line.match(urlRegex);
19
+ if (!location) {
20
+ return null;
21
+ }
22
+ const url = location[1];
23
+ const lineNo = location[2];
24
+ const colNo = location[3];
25
+ if (!url || !lineNo || !colNo) {
26
+ return null;
27
+ }
28
+ let src;
29
+ if (url2src.has(url)) {
30
+ src = url2src.get(url);
31
+ }
32
+ else {
33
+ const xhr = new XMLHttpRequest();
34
+ xhr.open('GET', url, false);
35
+ xhr.send();
36
+ src = xhr.responseText;
37
+ url2src.set(url, src);
38
+ }
39
+ const reg = new RegExp(`(?:.*\r?\n){${Number(lineNo) - 1}}.{${Number(colNo) - 1}}`);
40
+ const segment = src.match(reg);
41
+ if (!segment) {
42
+ return null;
43
+ }
44
+ return segment[0].match(/(\w+)\s*=\s*$/)?.[1];
45
+ }
46
+ return null;
47
+ };
48
+ const namedFunc = (f, fallback) => {
49
+ const leftName = getLeftName() ?? fallback;
50
+ if (!leftName) {
51
+ return f;
52
+ }
53
+ const g = new Function(`return function ${leftName} (...args) {return ${leftName}._(...args)}`)();
54
+ g._ = f;
55
+ Object.setPrototypeOf(g, f);
56
+ return g;
57
+ };
58
+ import { S as _S, o as _o } from './s.js';
59
+ export * from './index.js';
60
+ export const S = namedFunc(_S);
61
+ export const o = namedFunc(_o);
62
+ //# sourceMappingURL=dev.js.map
package/lib/dev.js.map ADDED
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dev.js","sourceRoot":"","sources":["../src/dev.ts"],"names":[],"mappings":"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"}
package/lib/h.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"h.d.ts","sourceRoot":"","sources":["../src/h.ts"],"names":[],"mappings":"AAqYA,eAAO,MAAM,GAAG,GAAI,CAAC,EAAE,OAAO,MAAM,CAAC,EAAE,EAAE,GAAG,CAAC,IAAI,EAAE,CAAC,KAAK,IAAI,EAAE,KAAG,IAAI,EAoDrE,CAAC;AAkIF,eAAO,MAAM,GAAG,aAdD,oBAAoB,aAAa,GAAG,EAAE,KAAG,IAAI,EAmB3D,CAAC;AACF,eAAO,MAAM,IAAI,aApBF,oBAAoB,aAAa,GAAG,EAAE,KAAG,IAAI,EAyB3D,CAAC"}
1
+ {"version":3,"file":"h.d.ts","sourceRoot":"","sources":["../src/h.ts"],"names":[],"mappings":"AAsYA,eAAO,MAAM,GAAG,GAAI,CAAC,EAAE,OAAO,MAAM,CAAC,EAAE,EAAE,GAAG,CAAC,IAAI,EAAE,CAAC,KAAK,IAAI,EAAE,KAAG,IAAI,EAoDrE,CAAC;AAkIF,eAAO,MAAM,GAAG,aAdD,oBAAoB,aAAa,GAAG,EAAE,KAAG,IAAI,EAmB3D,CAAC;AACF,eAAO,MAAM,IAAI,aApBF,oBAAoB,aAAa,GAAG,EAAE,KAAG,IAAI,EAyB3D,CAAC"}
package/lib/h.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"h.js","sourceRoot":"","sources":["../src/h.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"h.js","sourceRoot":"","sources":["../src/h.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AA4B9D,MAAM,KAAK,GAAG,IAAI,GAAG,EAAyC,CAAC;AAC/D,SAAS,mBAAmB;IACxB,MAAM,IAAI,GAAG,EAAE,CAAC;IAChB,MAAM,MAAM,GAAG,IAAI,IAAI,CAAC,CAAC;IACzB,MAAM,GAAG,GAAG,EAAE,GAAG,MAAM,CAAC;IACxB,MAAM,MAAM,GAAG,EAAE,GAAG,MAAM,CAAC;IAC3B,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,MAAM,GAAG,GAAG,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;AACnE,CAAC;AACD,MAAM,SAAS,GAAG,mBAAmB,EAAE,CAAC;AACxC,MAAM,OAAO,GAAG,mBAAmB,EAAE,CAAC;AACtC,MAAM,OAAO,GAAG,IAAI,MAAM,CAAC,eAAe,SAAS,SAAS,OAAO,kBAAkB,SAAS,OAAO,OAAO,KAAK,EAAE,GAAG,CAAC,CAAC;AACxH,MAAM,SAAS,GAAG,WAAW,CAAC;AAC9B,MAAM,SAAS,GAAG,IAAI,SAAS,EAAE,CAAC;AAElC,MAAM,SAAS,GAAG,CAAC,IAAY,EAAE,EAAE;IAC/B,MAAM,MAAM,GAA2B,EAAE,CAAC;IAC1C,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;IACnC,IAAI,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;QACrD,KAAK,MAAM,GAAG,IAAI,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;YACvC,MAAM,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,CAAC,GAAG,GAAG,CAAC;YACtC,IAAI,MAAM,EAAE,CAAC;gBACT,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YACxB,CAAC;YACD,IAAI,KAAK,EAAE,CAAC;gBACR,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;YAC/B,CAAC;YACD,IAAI,MAAM,EAAE,CAAC;gBACT,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YACxB,CAAC;QACL,CAAC;IACL,CAAC;SAAM,IAAI,IAAI,EAAE,CAAC;QACd,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACtB,CAAC;IACD,OAAO,MAAM,CAAC;AAClB,CAAC,CAAC;AAEF,MAAM,WAAW,GAAG,CAAC,IAAsC,EAAE,MAAa,EAAE,EAAE;IAC1E,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACpB,IAAI,OAAO,IAAI,CAAC,CAAC,CAAC,KAAK,QAAQ,EAAE,CAAC;YAC9B,OAAO,MAAM,CAAC,IAAI,CAAC,CAAC,CAAE,CAAC,CAAC;QAC5B,CAAC;QACD,OAAO,IAAI,CAAC,CAAC,CAAC,CAAC;IACnB,CAAC;IACD,OAAO,CAAC,CAAC,GAAG,EAAE;QACV,OAAO,IAAI;aACN,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE;YACR,IAAI,OAAO,EAAE,KAAK,QAAQ,EAAE,CAAC;gBACzB,MAAM,KAAK,GAAG,MAAM,CAAC,EAAE,CAAC,CAAC;gBACzB,IAAI,OAAO,KAAK,KAAK,UAAU,EAAE,CAAC;oBAC9B,OAAO,KAAK,EAAE,CAAC;gBACnB,CAAC;gBACD,OAAO,KAAK,CAAC;YACjB,CAAC;YACD,OAAO,EAAE,CAAC;QACd,CAAC,CAAC;aACD,IAAI,CAAC,EAAE,CAAC,CAAC;IAClB,CAAC,CAAC,CAAC;AACP,CAAC,CAAC;AAEF,MAAM,KAAK,GAAG,CACV,OAA+B,EAC/B,UAAsC,EACtC,UAAwC,EACxC,QAA8B,EAC9B,QAAkB,EACH,EAAE;IACjB,IAAI,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;QACtB,OAAO,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAE,CAAC;IAChC,CAAC;IAED,MAAM,OAAO,GAAG,QAAQ;SACnB,OAAO,CAAC,CAAC,OAAO,EAAE,KAAK,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE;QACpC,IAAI,KAAK,KAAK,MAAM,GAAG,CAAC,EAAE,CAAC;YACvB,OAAO,CAAC,OAAO,CAAC,CAAC;QACrB,CAAC;QACD,OAAO,CAAC,OAAO,EAAE,SAAS,EAAE,QAAQ,CAAC,KAAK,CAAC,EAAE,OAAO,CAAC,CAAC;IAC1D,CAAC,CAAC;SACD,IAAI,CAAC,EAAE,CAAC,CAAC;IAEd,MAAM,cAAc,GAAG,UAAU,CAAC,OAAO,CAAC,CAAC;IAE3C,MAAM,QAAQ,GAAG,SAAS,CAAC,eAAe,CAAC,cAAc,EAAE,OAAO,CAAC,CAAC;IAEpE,MAAM,YAAY,GAAG,CAAC,WAAqB,EAAE,EAAE;QAC3C,MAAM,QAAQ,GAAoB,EAAE,CAAC;QACrC,KACI,IAAI,IAAI,GAA4B,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,WAAW,GAAG,IAAI,EAAE,WAAW,EAAE,KAAK,GAAG,CAAC,EACnG,IAAI,IAAI,IAAI,EACZ,IAAI,GAAG,WAAW,EAAE,WAAW,GAAG,WAAW,EAAE,WAAW,EAAE,KAAK,EAAE,EACrE,CAAC;YACC;gBACI,oBAAoB,EAAE,CAAC;oBACnB,IAAI,IAAI,CAAC,QAAQ,KAAK,CAAC,EAAyB,CAAC;wBAC7C,MAAM,EAAE,GAAG,IAAe,CAAC;wBAC3B,MAAM,GAAG,GAAG,SAAS,CAAC,EAAE,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC,CAAC;wBAChD,MAAM,cAAc,GAAG,GAAG,CAAC,MAAM,GAAG,CAAC,IAAI,OAAO,GAAG,CAAC,CAAC,CAAC,KAAK,QAAQ,CAAC;wBAEpE,QAAQ,CAAC,IAAI,CAAC;4BACV,GAAG,EAAE,EAAE,CAAC,YAAY;4BACpB,KAAK,GAAuB;4BAC5B,IAAI,EAAE,GAAG;4BACT,MAAM,EAAE,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;gCAC/C,MAAM,IAAI,GAAG,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;gCACtC,MAAM,KAAK,GAAG,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;gCACpC,MAAM,cAAc,GAChB,IAAI,CAAC,MAAM,GAAG,CAAC;oCACf,OAAO,IAAI,CAAC,CAAC,CAAC,KAAK,QAAQ;oCAC3B,KAAK,CAAC,MAAM,GAAG,CAAC;oCAChB,OAAO,KAAK,CAAC,CAAC,CAAC,KAAK,QAAQ,CAAC;gCAEjC,IAAI,CAAC,cAAc,IAAI,CAAC,cAAc,EAAE,CAAC;oCACrC,OAAO,EAAE,CAAC;gCACd,CAAC;qCAAM,CAAC;oCACJ,EAAE,CAAC,eAAe,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;gCACtC,CAAC;gCACD,OAAO;oCACH;wCACI,KAAK,EAAE,IAAI;wCACX,MAAM,EAAE,KAAK,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK;qCACjB;iCACjC,CAAC;4BACN,CAAC,CAAC;4BACF,QAAQ,EAAE,EAAE,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,EAAE;4BACrE,WAAW,EAAE,cAAc,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE;4BACvC,YAAY,EAAE,KAAK;yBACtB,CAAC,CAAC;wBAEH,IAAI,CAAC,cAAc,EAAE,CAAC;4BAClB,MAAM,oBAAoB,CAAC;wBAC/B,CAAC;oBACL,CAAC;yBAAM,IAAI,IAAI,CAAC,QAAQ,KAAK,CAAC,EAAqB,CAAC;wBAChD,MAAM,IAAI,GAAI,IAAa,CAAC,IAAI,CAAC;wBACjC,MAAM,MAAM,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC;wBAC/B,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;4BACpB,QAAQ,CAAC,IAAI,CAAC;gCACV,KAAK,GAAoB;gCACzB,KAAK,EAAE,MAAM;6BAChB,CAAC,CAAC;wBACP,CAAC;oBACL,CAAC;oBACA,IAAiC,CAAC,MAAM,EAAE,CAAC;oBAC5C,KAAK,EAAE,CAAC;gBACZ,CAAC;mBACE,KAAK,EAAE;QAClB,CAAC;QACD,OAAO,QAAQ,CAAC;IACpB,CAAC,CAAC;IAEF,MAAM,QAAQ,GAAG,UAAU,CAAC,QAAQ,CAAC,CAAC;IAEtC,MAAM,QAAQ,GAAG,YAAY,CAAC,QAAQ,CAAC,CAAC;IAExC,KAAK,CAAC,GAAG,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;IAE9B,OAAO,QAAQ,CAAC;AACpB,CAAC,CAAC;AAEF,MAAM,OAAO,GAAG,CACZ,EAAiB,EACjB,UAA0B,EAC1B,OAAgE,EAChE,KAA2B,EAC3B,MAAa,EACb,KAAmB,EACb,EAAE;IACR,IAAI,OAAO,OAAO,KAAK,UAAU,EAAE,CAAC;QAChC,IAAI,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;YACtB,OAAO,QAAQ,CAAC,GAAG,EAAE;gBACjB,MAAM,WAAW,GAAG,OAAO,EAAE,CAAC;gBAC9B,OAAO,OAAO,CAAC,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC;YAChE,CAAC,CAAC,CAAC;QACP,CAAC;aAAM,CAAC;YACJ,OAAO,QAAQ,CAAC,GAAG,EAAE;gBACjB,OAAO,OAAO,CACV,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,EAAE,EAAE;oBAChD,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,KAAK,IAAI,OAAO,IAAI,CAAC,CAAC,CAAC,KAAK,QAAQ,EAAE,CAAC;wBACnD,OAAO,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC;oBAC9C,CAAC;yBAAM,CAAC;wBACJ,OAAO,WAAW,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;oBACtC,CAAC;gBACL,CAAC,CAAC,EACF,KAAK,CACE,CAAC;YAChB,CAAC,CAAC,CAAC;QACP,CAAC;IACL,CAAC;IACD,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE,CAAC;QAC9B,OAAO,EAAE,CAAC;IACd,CAAC;IACD,MAAM,EAAE,GAAG,UAAU,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,eAAe,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,CAAC;IACxG,CAAC,CAAC,GAAG,EAAE;QACH,KAAK,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,KAAK,EAAE,CAAC;YACjD,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,KAAK,IAAI,OAAO,IAAI,CAAC,CAAC,CAAC,KAAK,QAAQ,EAAE,CAAC;gBACnD,WAAW,CAAC,EAAE,EAAE,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC;YACxD,CAAC;iBAAM,CAAC;gBACJ,SAAS,CAAC,EAAE,EAAE,WAAW,CAAC,IAAI,EAAE,MAAM,CAAC,EAAE,WAAW,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC;YACzE,CAAC;QACL,CAAC;QACD,MAAM,QAAQ,GAAG,KAAK,EAAE,CAAC;QACzB,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACxB,OAAO;QACX,CAAC;QACD,IAAI,CAAC,EAAE,CAAC,UAAU,EAAE,CAAC;YACjB,EAAE,CAAC,MAAM,CAAC,GAAG,QAAQ,CAAC,CAAC;QAC3B,CAAC;aAAM,CAAC;YACJ,KAAK,IAAI,IAAI,GAAmB,EAAE,CAAC,iBAAiB,EAAE,UAAU,GAAG,CAAC,EAAE,UAAU,GAAG,QAAQ,CAAC,MAAM,EAAE,UAAU,EAAE,EAAE,CAAC;gBAC/G,MAAM,KAAK,GAAG,QAAQ,CAAC,UAAU,CAAE,CAAC;gBACpC,IAAI,IAAI,KAAK,KAAK,EAAE,CAAC;oBACjB,IAAI,GAAG,IAAI,CAAC,kBAAkB,CAAC;gBACnC,CAAC;qBAAM,CAAC;oBACJ,EAAE,CAAC,YAAY,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;gBACjC,CAAC;YACL,CAAC;QACL,CAAC;IACL,CAAC,CAAC,CAAC;IACH,OAAO,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,CAAC;IAC3B,OAAO,CAAC,EAAE,CAAC,CAAC;AAChB,CAAC,CAAC;AACF,IAAI,gBAAgB,GAAmB,IAAI,CAAC;AAC5C,MAAM,QAAQ,GAAG,CAAC,KAAmB,EAAU,EAAE;IAC7C,MAAM,SAAS,GAAG,IAAI,OAAO,CAAC,EAAE,CAAC,CAAC;IAClC,OAAO,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC,CAAC;IAClC,MAAM,SAAS,GAAW,CAAC,SAAS,CAAC,CAAC;IACtC,CAAC,CAAC,GAAG,EAAE;QACH,gBAAgB,GAAG,SAAS,CAAC;QAC7B,MAAM,CAAC,GAAG,KAAK,EAAE,CAAC;QAClB,MAAM,IAAI,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAExC,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;YAC5B,IAAI,CAAC,YAAY,IAAI,EAAE,CAAC;gBACpB,OAAO,CAAC,CAAC;YACb,CAAC;YACD,MAAM,IAAI,GAAG,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC;YACzB,OAAO,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;YAC7B,OAAO,IAAI,CAAC;QAChB,CAAC,CAAC,CAAC;QAEH,IAAI,SAAS,CAAC,WAAW,EAAE,CAAC;YACxB,SAAS,CAAC,KAAK,CAAC,GAAG,QAAQ,CAAC,CAAC;QACjC,CAAC;aAAM,CAAC;YACJ,SAAS,CAAC,IAAI,CAAC,GAAG,QAAQ,CAAC,CAAC;QAChC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,OAAO,SAAS,CAAC;AACrB,CAAC,CAAC;AACF,SAAS,QAAQ,CAAI,CAAe,EAAE,CAAe,EAAE,GAAmB,EAAE,IAAoB,EAAE,IAAoB;IAClH,MAAM,IAAI,GAAG,CAAC,CAAC,MAAM,CAAC;IACtB,MAAM,IAAI,GAAG,CAAC,CAAC,MAAM,CAAC;IAEtB,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,KAAK,CAAC,IAAI,IAAI,KAAK,CAAC,CAAC,EAAE,CAAC;QACxC,OAAO;IACX,CAAC;IAED,IAAI,KAAK,GAAG,CAAC,CAAC;IACd,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACpC,OAAO,KAAK,GAAG,MAAM,IAAI,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC;QAC7C,KAAK,EAAE,CAAC;IACZ,CAAC;IAED,IAAI,GAAG,GAAG,CAAC,CAAC;IACZ,OAAO,GAAG,GAAG,MAAM,GAAG,KAAK,IAAI,CAAC,CAAC,IAAI,GAAG,CAAC,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,IAAI,GAAG,CAAC,GAAG,GAAG,CAAC,EAAE,CAAC;QACrE,GAAG,EAAE,CAAC;IACV,CAAC;IAED,MAAM,OAAO,GAAG,IAAI,GAAG,KAAK,GAAG,GAAG,CAAC;IACnC,MAAM,OAAO,GAAG,IAAI,GAAG,KAAK,GAAG,GAAG,CAAC;IAEnC,IAAI,OAAO,KAAK,CAAC,IAAI,OAAO,KAAK,CAAC,EAAE,CAAC;QACjC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,EAAE,CAAC,EAAE,EAAE,CAAC;YAC7B,IAAI,CAAC,CAAC,CAAC,CAAC,CAAE,CAAC,CAAC;QAChB,CAAC;QACD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC;YAC3B,IAAI,CAAC,CAAC,CAAC,IAAI,GAAG,GAAG,GAAG,CAAC,CAAE,CAAC,CAAC;QAC7B,CAAC;QACD,OAAO;IACX,CAAC;IAED,MAAM,SAAS,GAAG,IAAI,GAAG,EAAa,CAAC;IACvC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,EAAE,CAAC,EAAE,EAAE,CAAC;QAC/B,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAE,EAAE,CAAC,CAAC,CAAC;IACpC,CAAC;IAED,MAAM,OAAO,GAAa,EAAE,CAAC;IAC7B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,EAAE,CAAC,EAAE,EAAE,CAAC;QAC/B,MAAM,GAAG,GAAG,CAAC,CAAC,KAAK,GAAG,CAAC,CAAE,CAAC;QAC1B,MAAM,IAAI,GAAG,SAAS,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAChC,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;YACrB,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACvB,CAAC;IACL,CAAC;IAED,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,MAAM,OAAO,GAAa,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;IAC7D,MAAM,WAAW,GAAa,EAAE,CAAC;IAEjC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACtC,MAAM,GAAG,GAAG,OAAO,CAAC,CAAC,CAAE,CAAC;QAExB,IAAI,IAAI,GAAG,CAAC,CAAC;QACb,IAAI,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC;QACzB,OAAO,IAAI,GAAG,KAAK,EAAE,CAAC;YAClB,MAAM,GAAG,GAAG,CAAC,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC;YAChC,IAAI,KAAK,CAAC,GAAG,CAAE,GAAG,GAAG,EAAE,CAAC;gBACpB,IAAI,GAAG,GAAG,GAAG,CAAC,CAAC;YACnB,CAAC;iBAAM,CAAC;gBACJ,KAAK,GAAG,GAAG,CAAC;YAChB,CAAC;QACL,CAAC;QAED,MAAM,GAAG,GAAG,IAAI,CAAC;QACjB,IAAI,GAAG,KAAK,KAAK,CAAC,MAAM,EAAE,CAAC;YACvB,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YAChB,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACxB,CAAC;aAAM,CAAC;YACJ,KAAK,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC;YACjB,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QACzB,CAAC;QAED,IAAI,GAAG,GAAG,CAAC,EAAE,CAAC;YACV,OAAO,CAAC,CAAC,CAAC,GAAG,WAAW,CAAC,GAAG,GAAG,CAAC,CAAE,CAAC;QACvC,CAAC;IACL,CAAC;IAED,MAAM,OAAO,GAAG,IAAI,GAAG,EAAK,CAAC;IAC7B,IAAI,IAAI,GAAG,WAAW,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,CAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAC9E,OAAO,IAAI,KAAK,CAAC,CAAC,EAAE,CAAC;QACjB,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAE,CAAC;QAC5B,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,GAAG,IAAI,CAAE,CAAC,CAAC;QAC9B,IAAI,GAAG,OAAO,CAAC,IAAI,CAAE,CAAC;IAC1B,CAAC;IAED,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,EAAE,CAAC,EAAE,EAAE,CAAC;QAC7B,IAAI,CAAC,CAAC,CAAC,CAAC,CAAE,CAAC,CAAC;IAChB,CAAC;IAED,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,EAAE,CAAC,EAAE,EAAE,CAAC;QAC/B,MAAM,GAAG,GAAG,CAAC,CAAC,KAAK,GAAG,CAAC,CAAE,CAAC;QAC1B,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;YACpB,IAAI,CAAC,GAAG,CAAC,CAAC;QACd,CAAC;IACL,CAAC;IAED,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,EAAE,CAAC,EAAE,EAAE,CAAC;QAC/B,MAAM,GAAG,GAAG,CAAC,CAAC,KAAK,GAAG,CAAC,CAAE,CAAC;QAC1B,IAAI,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;YACnB,IAAI,CAAC,GAAG,CAAC,CAAC;QACd,CAAC;aAAM,CAAC;YACJ,GAAG,CAAC,GAAG,CAAC,CAAC;QACb,CAAC;IACL,CAAC;IAED,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC;QAC3B,IAAI,CAAC,CAAC,CAAC,IAAI,GAAG,GAAG,GAAG,CAAC,CAAE,CAAC,CAAC;IAC7B,CAAC;AACL,CAAC;AAMD,MAAM,CAAC,MAAM,GAAG,GAAG,CAAI,KAAgB,EAAE,CAAsB,EAAU,EAAE;IACvE,OAAO,QAAQ,CAAC,GAAG,EAAE;QACjB,MAAM,QAAQ,GAAG,gBAAgB,CAAC;QAClC,OAAO,CAAC,GAAG,EAAE;YACT,QAAQ,EAAE,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;QAClD,CAAC,CAAC,CAAC;QACH,MAAM,UAAU,GAAG,CAAC,IAAO,EAAE,EAAE;YAC3B,OAAO,IAAI,CAAC,CAAC,WAAW,EAAE,EAAE;gBACxB,MAAM,QAAQ,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC;gBACzB,OAAO,CAAC,WAAW,EAAE,QAAQ,CAAyB,CAAC;YAC3D,CAAC,CAAC,CAAC;QACP,CAAC,CAAC;QACF,MAAM,QAAQ,GAAG,CAAC,CACd,CACI,WAAW;YACP,WAAW,EAAE,EAAS;YACtB,eAAe,EAAE,EAAE;YACnB,cAAc,EAAE,EAAE;SACrB,EACH,EAAE;YACA,MAAM,iBAAiB,GAAG,KAAK,EAAE,CAAC;YAClC,MAAM,aAAa,GAAG,QAAQ,CAAC,WAAW,CAAC;YAC3C,MAAM,QAAQ,GAAgB;gBAC1B,WAAW,EAAE,iBAAiB;gBAC9B,eAAe,EAAE,EAAE;gBACnB,cAAc,EAAE,EAAE;aACrB,CAAC;YACF,QAAQ,CACJ,aAAa,EACb,iBAAiB,EACjB,CAAC,OAAO,EAAE,EAAE;gBACR,MAAM,CAAC,SAAS,EAAE,QAAQ,CAAC,GAAG,UAAU,CAAC,OAAO,CAAC,CAAC;gBAClD,MAAM,OAAO,GAAG,QAAQ,CAAC,eAAe,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,QAAQ,CAAC;gBACnE,OAA6B,CAAC,KAAK,CAAC,GAAG,QAAQ,CAAC,CAAC;gBAClD,QAAQ,CAAC,eAAe,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;gBACxC,QAAQ,CAAC,cAAc,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YAC5C,CAAC,EACD,CAAC,OAAO,EAAE,EAAE;gBACR,MAAM,CAAC,GAAG,aAAa,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;gBACzC,QAAQ,CAAC,cAAc,CAAC,CAAC,CAAE,EAAE,CAAC;YAClC,CAAC,EACD,CAAC,OAAO,EAAE,EAAE;gBACR,MAAM,CAAC,GAAG,aAAa,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;gBACzC,QAAQ,CAAC,eAAe,CAAC,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC,CAAE,CAAC,CAAC;gBAC5D,QAAQ,CAAC,cAAc,CAAC,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC,CAAE,CAAC,CAAC;YAC9D,CAAC,CACJ,CAAC;YACF,OAAO,QAAQ,CAAC;QACpB,CAAC,CACJ,CAAC;QACF,OAAO,MAAM,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC,eAAe,CAAC,IAAI,EAAE,CAAC,CAAC;IAC3D,CAAC,CAAC,CAAC;AACP,CAAC,CAAC;AAEF,MAAM,YAAY,GAAG,CAAC,KAA+B,EAAE,SAAiB,EAAE,EAAE;IACxE,IAAI,UAAU,CAAC;IACf,GAAG,CAAC;QACA,UAAU,GAAG,MAAM,CAAC,wBAAwB,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;QAC/D,KAAK,GAAG,MAAM,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;IACzC,CAAC,QAAQ,KAAK,IAAI,CAAC,UAAU,EAAE;IAC/B,IAAI,CAAC,UAAU,EAAE,CAAC;QACd,OAAO,KAAK,CAAC;IACjB,CAAC;IACD,IAAI,KAAK,KAAK,UAAU,CAAC,QAAQ,EAAE,CAAC;QAChC,OAAO,KAAK,CAAC;IACjB,CAAC;IACD,IAAI,UAAU,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,EAAE,CAAC;QACpC,OAAO,KAAK,CAAC;IACjB,CAAC;IACD,OAAO,IAAI,CAAC;AAChB,CAAC,CAAC;AAEF,MAAM,SAAS,GAAG,CAAC,IAAa,EAAE,GAA4B,EAAE,GAAyB,EAAE,EAAE;IACzF,IAAI,OAAO,GAAG,KAAK,UAAU,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;QAChD,IAAI,CAAC,IAAI,EAAE,CAAC;YACR,OAAO;QACX,CAAC;QACD,IAAI,CAAC,CAAC,IAAI,YAAY,OAAO,CAAC,EAAE,CAAC;YAC7B,OAAO;QACX,CAAC;QACD,MAAM,MAAM,GAAG,YAAY,CAAC,IAAW,EAAE,GAAG,CAAC,CAAC;QAC9C,IAAI,MAAM,EAAE,CAAC;YACT,MAAM,QAAQ,GAAI,IAAY,CAAC,GAAG,CAAC,CAAC;YACnC,IAAY,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC;YACzB,OAAO,CAAC,GAAG,EAAE;gBACR,IAAY,CAAC,GAAG,CAAC,GAAG,QAAQ,CAAC;YAClC,CAAC,CAAC,CAAC;QACP,CAAC;aAAM,CAAC;YACJ,IAAI,CAAC,YAAY,CAAC,GAAG,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;YACpC,OAAO,CAAC,GAAG,EAAE;gBACT,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC;YAC9B,CAAC,CAAC,CAAC;QACP,CAAC;IACL,CAAC;SAAM,CAAC;QACJ,CAAC,CAAC,GAAG,EAAE;YACH,SAAS,CAAC,IAAI,EAAE,OAAO,GAAG,KAAK,UAAU,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,GAAG,EAAE,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;QAC5F,CAAC,CAAC,CAAC;IACP,CAAC;AACL,CAAC,CAAC;AAEF,MAAM,WAAW,GAAG,CAAC,IAAa,EAAE,KAAgB,EAAE,EAAE;IACpD,CAAC,CAAC,GAAG,EAAE;QACH,MAAM,KAAK,GAAG,KAAK,EAAE,CAAC;QACtB,KAAK,MAAM,GAAG,IAAI,KAAK,EAAE,CAAC;YACtB,SAAS,CAAC,IAAI,EAAE,GAAG,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC;QACrC,CAAC;IACL,CAAC,CAAC,CAAC;AACP,CAAC,CAAC;AAEF,MAAM,QAAQ,GAAG,CAAC,EAAiB,EAAE,IAAmB,EAAE,MAAa,EAAU,EAAE;IAC/E,IAAI,IAAI,CAAC,KAAK,MAAuB,EAAE,CAAC;QACpC,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;YAC/B,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE,CAAC;gBAC3B,MAAM,QAAQ,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,CAAC;gBAChC,OAAO,CAAC,GAAG,EAAE,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC;gBACjC,OAAO,QAAQ,CAAC;YACpB,CAAC;iBAAM,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE,CAAC;gBAClC,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC;gBAC3B,IAAI,OAAO,KAAK,KAAK,UAAU,EAAE,CAAC;oBAC9B,IAAI,UAAU,CAAC,KAAK,CAAC,EAAE,CAAC;wBACpB,OAAO,QAAQ,CAAC,GAAG,EAAE,CAAC,KAAK,EAAE,CAAC,CAAC;oBACnC,CAAC;yBAAM,CAAC;wBACJ,OAAO,QAAQ,CAAC,KAAK,CAAC,CAAC;oBAC3B,CAAC;gBACL,CAAC;qBAAM,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;oBACnC,MAAM,QAAQ,GAAG,IAAI,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;oBACzC,OAAO,CAAC,GAAG,EAAE,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC;oBACjC,OAAO,QAAQ,CAAC;gBACpB,CAAC;gBACD,OAAO,KAAK,CAAC;YACjB,CAAC;QACL,CAAC,CAAC,CAAC;IACP,CAAC;SAAM,CAAC;QACJ,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE,IAAI,EAAE,GAAG,EAAE,WAAW,EAAE,UAAU,EAAE,GAAG,IAAI,CAAC;QACtF,MAAM,QAAQ,GAAG,WAAW,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;QAC1C,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,IAAI,EAAE,CAAC;QACjC,OAAO,OAAO,CAAC,SAAS,EAAE,UAAU,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE;YAChE,OAAO,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,SAAS,EAAE,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC;QAClE,CAAC,CAAC,CAAC;IACP,CAAC;AACL,CAAC,CAAC;AAEF,MAAM,aAAa,GAAG,CAAC,QAAuB,EAAE,UAA0B,EAAiB,EAAE;IACzF,IAAI,QAAQ,CAAC,KAAK,MAAuB,EAAE,CAAC;QACxC,OAAO,QAAQ,CAAC;IACpB,CAAC;SAAM,CAAC;QACJ,IAAI,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC;YACxB,OAAO,QAAQ,CAAC;QACpB,CAAC;QACD,MAAM,WAAW,GACb,UAAU,CAAC,CAAC;YACP,UAAU,CAAC,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAa;YAClE,CAAC,CAAI,QAAQ,CAAC,WAAW,CAAC,SAAS,CAAC,IAAI,CAAa,CAAC;QAC1D,OAAO;YACH,GAAG,QAAQ;YACX,WAAW,EAAE,WAAW;YACxB,QAAQ,EAAE,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,aAAa,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;SACnD,CAAC;IACjC,CAAC;AACL,CAAC,CAAC;AAEF,MAAM,GAAG,GACL,CACI,EAAiB,EACjB,OAA+B,EAC/B,UAAsC,EACtC,UAAwC,EAC1C,EAAE,CACJ,CAAC,QAA8B,EAAE,GAAG,MAAa,EAAU,EAAE;IACzD,MAAM,IAAI,GAAG,KAAK,CACd,OAAO,EACP,UAAU,EACV,UAAU,EACV,QAAQ,EACR,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CACzC,CAAC;IACF,MAAM,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,aAAa,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC;IACjE,OAAO,QAAQ,CAAC,GAAG,EAAE;QACjB,OAAO,UAAU,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,QAAQ,CAAC,EAAE,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC;IACpE,CAAC,CAAC,CAAC;AACP,CAAC,CAAC;AACN,MAAM,KAAK,GAAG,4BAA4B,CAAC;AAC3C,MAAM,CAAC,MAAM,GAAG,GAAG,GAAG,CAClB,KAAK,EACL,UAAU,EACV,CAAC,GAAG,EAAE,EAAE,CAAC,eAAe,KAAK,KAAK,GAAG,QAAQ,EAC7C,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,UAAW,CAAC,UAAU,CACtC,CAAC;AACF,MAAM,CAAC,MAAM,IAAI,GAAG,GAAG,CACnB,IAAI,EACJ,WAAW,EACX,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,EACd,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,CAC/B,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,QAAQ,CAAC;AACvB,cAAc,QAAQ,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,cAAc,QAAQ,CAAC;AACvB,cAAc,QAAQ,CAAC"}
package/lib/index.dev.js CHANGED
@@ -1,3 +1,65 @@
1
- var ne=Object.defineProperty;var re=(e,n)=>()=>(e&&(n=e(e=0)),n);var oe=(e,n)=>{for(var t in n)ne(e,t,{get:n[t],enumerable:!0})};var j={};oe(j,{namedFunc:()=>ie});var B,se,ie,k=re(()=>{"use strict";B=new Map,se=function e(){let n=new Error().stack;if(!n)return null;let t=/((?:\w+:\/\/)[-a-zA-Z0-9:@;?&=\/%\+\.\*!'\(\),\$_\{\}\^~\[\]`#|]+):(\d+):(\d+)/,r=n.split(`
2
- `),s=r.findIndex(c=>c.includes(import.meta.url)&&c.includes(e.name));if(s>-1){let l=r[s+3];if(!l)return null;let i=l.match(t);if(!i)return null;let o=i[1],u=i[2],d=i[3];if(!o||!u||!d)return null;let p;if(B.has(o))p=B.get(o);else{let T=new XMLHttpRequest;T.open("GET",o,!1),T.send(),p=T.responseText,B.set(o,p)}let g=new RegExp(`(?:.*\r?
3
- ){${Number(u)-1}}.{${Number(d)-1}}`),m=p.match(g);return m?m[0].match(/(\w+)\s*=\s*$/)?.[1]:null}return null},ie=(e,n)=>{let t=se()??n;if(!t)return e;let r=new Function(`return function ${t} (...args) {return ${t}._(...args)}`)();return r.I=e,Object.setPrototypeOf(r,e),r}});var H=(await Promise.resolve().then(()=>(k(),j))).namedFunc,f,$=Symbol(),U=Symbol(),_,q=new WeakMap,G=0,Q=e=>{let n=f,t=(()=>{});F(t),t.r=!1,f=t;let r=e(()=>{L(t),f=void 0});return f=n,r},N=(e,n)=>{let t=H(F(r=>{if(r===U||t.r){let s=f;L(t),t.r=!1,f=t,n=e(n),f=s}else f&&!f.o.has(t)&&(f.o.add(t),t.e.push(f));return n}));return t.$o=3075,t.c=G++,f&&f.u.push(t),t(U),q.set(e,t),t},Te=e=>{function n(r){if(arguments.length===0)return f&&!f.o.has(t)&&(f.o.add(t),t.e.push(f)),e;if(_)return t.s===$&&_.push(t),t.s=r,r;e=r;let s=f;f=void 0;let c=new Set,l=(o,u)=>{!o.o.has(u)||c.has(o)||(c.add(o),o.e.forEach(d=>l(d,o)))};t.e.forEach(o=>l(o,t));let i=Array.from(c);return i.forEach(o=>{o.r=!0}),t.e=[],i.sort(ce).forEach(o=>{o.r&&o()}),f=s,e}let t=H(n);return t.e=[],t.s=$,t.$o=181,t.c=G++,t},ce=(e,n)=>e.c-n.c,L=e=>{e.u.forEach(L),e.r=!1,e.f.forEach(n=>n()),F(e)},F=e=>(e.o=new Set,e.e=[],e.u=[],e.f=[],e),x=e=>(f?.f.push(e),e),ge=e=>{let n=_;_=[];let t=e(),r=_;return _=n,r.forEach(s=>{if(s.s!==$){let c=s.s;s.s=$,s(c)}}),t};var z=e=>{let n=f;f=void 0;let t=e();return f=n,t},be=()=>!!f,Ie=e=>(N(e),()=>ae(e)),ae=e=>{let n=q.get(e);n&&L(n)},xe=e=>e?.$o===181,Se=e=>e?.$o===3075,v=e=>e?.$o;var R=new Map;function X(){return Math.floor(Math.random()*1572120576+604661760).toString(36)}var V=X(),P=X(),le=new RegExp(`([\\s\\S]*?)${V}(\\d+)${P}([\\s\\S]*?)(?=${V}\\d+${P}|$)`,"g"),ue=/\s*\n\s*/g,fe=new DOMParser,C=e=>{let n=[];if(e=e.replace(ue,""),e.includes(V)&&e.includes(P))for(let t of e.matchAll(le)){let[,r,s,c]=t;r&&n.push(r),s&&n.push(Number(s)),c&&n.push(c)}else e&&n.push(e);return n},A=(e,n)=>e.length===1?typeof e[0]=="number"?n[e[0]]:e[0]:N(()=>e.map(t=>{if(typeof t=="number"){let r=n[t];return typeof r=="function"?r():r}return t}).join("")),de=(e,n,t,r,s)=>{if(R.has(r))return R.get(r);let c=r.flatMap((p,g,{length:m})=>g===m-1?[p]:[p,V,s[g],P]).join(""),l=n(c),i=fe.parseFromString(l,e),o=p=>{let g=[];for(let m=p.item(0),T=m?.nextSibling,w=0;m!=null;m=T,T=T?.nextSibling,w++)do e:{if(m.nodeType===1){let y=m,I=C(y.tagName.toLowerCase()),S=I.length>1||typeof I[0]=="number";if(g.push({y:y.namespaceURI,a:2,h:I,T:Array.from(y.attributes).flatMap(a=>{let h=C(a.nodeName),b=C(a.value),M=h.length>1||typeof h[0]=="number"||b.length>1||typeof b[0]=="number";return!S&&!M?[]:(y.removeAttribute(a.nodeName),[{d:h,m:b.length===0?[!0]:b}])}),l:y.childNodes.length>0?o(y.childNodes):[],i:S?null:y,g:w}),!S)break e}else if(m.nodeType===3){let y=m.data,I=C(y);I.length>0&&g.push({a:1,b:I})}m.remove(),w--}while(!1);return g},u=t(i),d=o(u);return R.set(r,d),d},Z=(e,n,t,r,s,c)=>{if(typeof t=="function")return v(t)?E(()=>{let i=t();return Z(e,null,i,r,s,c)}):E(()=>t(...r.flatMap(({d:i,m:o})=>i[0]==="..."&&typeof i[1]=="number"?A(i.slice(1),s):A(o,s)),c));if(typeof t!="string")return[];let l=n||(e?document.createElementNS(e,t):document.createElement(t));return N(()=>{for(let{d:o,m:u}of r)o[0]==="..."&&typeof o[1]=="number"?ye(l,A(o.slice(1),s)):Y(l,A(o,s),A(u,s));let i=c();if(i.length!==0)if(!l.firstChild)l.append(...i);else for(let o=l.firstElementChild,u=0;u<i.length;u++){let d=i[u];o===d?o=o.nextElementSibling:l.insertBefore(d,o)}}),x(()=>l.remove()),[l]},J=null,E=e=>{let n=new Comment("");x(()=>n.remove());let t=[n];return N(()=>{J=n;let r=e(),c=(Array.isArray(r)?r:[r]).map(l=>{if(l instanceof Node)return l;let i=new Text(l);return x(()=>i.remove()),i});n.isConnected?n.after(...c):t.push(...c)}),t};function me(e,n,t,r,s){let c=e.length,l=n.length;if(e===n||c===0&&l===0)return;let i=0,o=Math.min(c,l);for(;i<o&&e[i]===n[i];)i++;let u=0;for(;u<o-i&&e[c-1-u]===n[l-1-u];)u++;let d=c-i-u,p=l-i-u;if(d===0&&p===0){for(let a=0;a<i;a++)s(e[a]);for(let a=0;a<u;a++)s(e[c-u+a]);return}let g=new Map;for(let a=0;a<p;a++)g.set(n[i+a],a);let m=[];for(let a=0;a<d;a++){let h=e[i+a],b=g.get(h);b!==void 0&&m.push(b)}let T=[],w=new Array(m.length).fill(-1),y=[];for(let a=0;a<m.length;a++){let h=m[a],b=0,M=T.length;for(;b<M;){let D=b+M>>1;T[D]<h?b=D+1:M=D}let O=b;O===T.length?(T.push(h),y.push(a)):(T[O]=h,y[O]=a),O>0&&(w[a]=y[O-1])}let I=new Set,S=y.length>0?y[y.length-1]:-1;for(;S!==-1;){let a=m[S];I.add(n[i+a]),S=w[S]}for(let a=0;a<i;a++)s(e[a]);for(let a=0;a<d;a++){let h=e[i+a];I.has(h)||r(h)}for(let a=0;a<p;a++){let h=n[i+a];I.has(h)?s(h):t(h)}for(let a=0;a<u;a++)s(e[c-u+a])}var _e=(e,n)=>E(()=>{let t=J;x(()=>{s().t.forEach(c=>c())});let r=c=>Q(l=>{let i=n(c);return[l,i]}),s=N((c={p:[],n:[],t:[]})=>{let l=e(),i=c.p,o={p:l,n:[],t:[]};return me(i,l,u=>{let[d,p]=r(u);(o.n.at(-1)?.at(-1)??t).after(...p),o.n.push(p),o.t.push(d)},u=>{let d=i.indexOf(u);c.t[d]()},u=>{let d=i.indexOf(u);o.n.push(c.n[d]),o.t.push(c.t[d])}),o});return z(()=>s().n.flat())}),pe=(e,n)=>{let t;do t=Object.getOwnPropertyDescriptor(e,n),e=Object.getPrototypeOf(e);while(e&&!t);return!(!t||t.writable===!1||t.get&&!t.set)},Y=(e,n,t)=>{if(typeof n!="function"&&!v(t)){if(!e||!(e instanceof Element))return;if(pe(e,n)){let s=e[n];e[n]=t,x(()=>{e[n]=s})}else e.setAttribute(n,String(t)),x(()=>{e.removeAttribute(n)})}else N(()=>{Y(e,typeof n=="function"?n():n,v(t)?t():t)})},ye=(e,n)=>{N(()=>{let t=n();for(let r in t)Y(e,r,t[r])})},K=(e,n,t)=>{if(n.a===1)return n.b.flatMap(r=>{if(typeof r=="string"){let s=new Text(r);return x(()=>s.remove()),s}else if(typeof r=="number"){let s=t[r];if(typeof s=="function")return v(s)?E(()=>s()):E(s);if(typeof s!="object"){let c=new Text(String(s));return x(()=>c.remove()),c}return s}});{let{T:r,l:s,h:c,i:l}=n,i=A(c,t),o=n.y??e;return Z(o,l,i,r,t,()=>s.flatMap(u=>K(o,u,t)))}},ee=(e,n)=>{if(e.a===1)return e;{if(!e.i)return e;let t=n?n.childNodes.item(e.g):e.i.cloneNode(!0);return{...e,i:t,l:e.l.map(r=>ee(r,t))}}},te=(e,n,t,r)=>(s,...c)=>{let i=de(n,t,r,s,c.map(o=>c.indexOf(o))).map(o=>ee(o,null));return E(()=>i.flatMap(o=>K(e,o,c)))},W="http://www.w3.org/2000/svg",Ae=te(W,"text/xml",e=>`<svg xmlns="${W}">${e}</svg>`,e=>e.firstChild.childNodes),Ee=te(null,"text/html",e=>e,e=>e.body.childNodes);export{N as S,x as cleanup,Ee as html,Se as isComputed,be as isListening,xe as isObservable,v as isReactive,_e as map,Te as o,Te as observable,Q as root,z as sample,Ie as subscribe,Ae as svg,ge as transaction,ae as unsubscribe};
1
+ const url2src = /* @__PURE__ */ new Map();
2
+ const getLeftName = function getLeftName2() {
3
+ const stack = new Error().stack;
4
+ if (!stack) {
5
+ return null;
6
+ }
7
+ const urlRegex = /((?:\w+:\/\/)[-a-zA-Z0-9:@;?&=\/%\+\.\*!'\(\),\$_\{\}\^~\[\]`#|]+):(\d+):(\d+)/;
8
+ const lines = stack.split("\n");
9
+ const currentLineIndex = lines.findIndex((line) => {
10
+ return line.includes(import.meta.url) && line.includes(getLeftName2.name);
11
+ });
12
+ if (currentLineIndex > -1) {
13
+ const offset = 3;
14
+ const line = lines[currentLineIndex + offset];
15
+ if (!line) {
16
+ return null;
17
+ }
18
+ const location = line.match(urlRegex);
19
+ if (!location) {
20
+ return null;
21
+ }
22
+ const url = location[1];
23
+ const lineNo = location[2];
24
+ const colNo = location[3];
25
+ if (!url || !lineNo || !colNo) {
26
+ return null;
27
+ }
28
+ let src;
29
+ if (url2src.has(url)) {
30
+ src = url2src.get(url);
31
+ } else {
32
+ const xhr = new XMLHttpRequest();
33
+ xhr.open("GET", url, false);
34
+ xhr.send();
35
+ src = xhr.responseText;
36
+ url2src.set(url, src);
37
+ }
38
+ const reg = new RegExp(`(?:.*\r?
39
+ ){${Number(lineNo) - 1}}.{${Number(colNo) - 1}}`);
40
+ const segment = src.match(reg);
41
+ if (!segment) {
42
+ return null;
43
+ }
44
+ return segment[0].match(/(\w+)\s*=\s*$/)?.[1];
45
+ }
46
+ return null;
47
+ };
48
+ const namedFunc = (f, fallback) => {
49
+ const leftName = getLeftName() ?? fallback;
50
+ if (!leftName) {
51
+ return f;
52
+ }
53
+ const g = new Function(`return function ${leftName} (...args) {return ${leftName}._(...args)}`)();
54
+ g._ = f;
55
+ Object.setPrototypeOf(g, f);
56
+ return g;
57
+ };
58
+ import { S as _S, o as _o } from "./s.js";
59
+ export * from "./index.js";
60
+ const S = namedFunc(_S);
61
+ const o = namedFunc(_o);
62
+ export {
63
+ S,
64
+ o
65
+ };
package/lib/index.js CHANGED
@@ -1 +1 @@
1
- var R=e=>e,f,L=Symbol(),U=Symbol(),_,k=new WeakMap,F=0,H=e=>{let n=f,t=(()=>{});B(t),t.r=!1,f=t;let r=e(()=>{$(t),f=void 0});return f=n,r},N=(e,n)=>{let t=R(B(r=>{if(r===U||t.r){let o=f;$(t),t.r=!1,f=t,n=e(n),f=o}else f&&!f.o.has(t)&&(f.o.add(t),t.e.push(f));return n}));return t.$o=3075,t.a=F++,f&&f.u.push(t),t(U),k.set(e,t),t},ce=e=>{function n(r){if(arguments.length===0)return f&&!f.o.has(t)&&(f.o.add(t),t.e.push(f)),e;if(_)return t.s===L&&_.push(t),t.s=r,r;e=r;let o=f;f=void 0;let c=new Set,l=(s,u)=>{!s.o.has(u)||c.has(s)||(c.add(s),s.e.forEach(d=>l(d,s)))};t.e.forEach(s=>l(s,t));let a=Array.from(c);return a.forEach(s=>{s.r=!0}),t.e=[],a.sort(Z).forEach(s=>{s.r&&s()}),f=o,e}let t=R(n);return t.e=[],t.s=L,t.$o=181,t.a=F++,t},Z=(e,n)=>e.a-n.a,$=e=>{e.u.forEach($),e.r=!1,e.f.forEach(n=>n()),B(e)},B=e=>(e.o=new Set,e.e=[],e.u=[],e.f=[],e),S=e=>(f?.f.push(e),e),le=e=>{let n=_;_=[];let t=e(),r=_;return _=n,r.forEach(o=>{if(o.s!==L){let c=o.s;o.s=L,o(c)}}),t};var q=e=>{let n=f;f=void 0;let t=e();return f=n,t},ue=()=>!!f,fe=e=>(N(e),()=>ee(e)),ee=e=>{let n=k.get(e);n&&$(n)},de=e=>e?.$o===181,me=e=>e?.$o===3075,v=e=>e?.$o;var Y=new Map;function G(){return Math.floor(Math.random()*1572120576+604661760).toString(36)}var V=G(),P=G(),te=new RegExp(`([\\s\\S]*?)${V}(\\d+)${P}([\\s\\S]*?)(?=${V}\\d+${P}|$)`,"g"),ne=/\s*\n\s*/g,re=new DOMParser,C=e=>{let n=[];if(e=e.replace(ne,""),e.includes(V)&&e.includes(P))for(let t of e.matchAll(te)){let[,r,o,c]=t;r&&n.push(r),o&&n.push(Number(o)),c&&n.push(c)}else e&&n.push(e);return n},w=(e,n)=>e.length===1?typeof e[0]=="number"?n[e[0]]:e[0]:N(()=>e.map(t=>{if(typeof t=="number"){let r=n[t];return typeof r=="function"?r():r}return t}).join("")),oe=(e,n,t,r,o)=>{if(Y.has(r))return Y.get(r);let c=r.flatMap((h,b,{length:m})=>b===m-1?[h]:[h,V,o[b],P]).join(""),l=n(c),a=re.parseFromString(l,e),s=h=>{let b=[];for(let m=h.item(0),I=m?.nextSibling,A=0;m!=null;m=I,I=I?.nextSibling,A++)do e:{if(m.nodeType===1){let p=m,g=C(p.tagName.toLowerCase()),x=g.length>1||typeof g[0]=="number";if(b.push({y:p.namespaceURI,c:2,T:g,h:Array.from(p.attributes).flatMap(i=>{let y=C(i.nodeName),T=C(i.value),M=y.length>1||typeof y[0]=="number"||T.length>1||typeof T[0]=="number";return!x&&!M?[]:(p.removeAttribute(i.nodeName),[{d:y,m:T.length===0?[!0]:T}])}),l:p.childNodes.length>0?s(p.childNodes):[],i:x?null:p,b:A}),!x)break e}else if(m.nodeType===3){let p=m.data,g=C(p);g.length>0&&b.push({c:1,g})}m.remove(),A--}while(!1);return b},u=t(a),d=s(u);return Y.set(r,d),d},W=(e,n,t,r,o,c)=>{if(typeof t=="function")return v(t)?E(()=>{let a=t();return W(e,null,a,r,o,c)}):E(()=>t(...r.flatMap(({d:a,m:s})=>a[0]==="..."&&typeof a[1]=="number"?w(a.slice(1),o):w(s,o)),c));if(typeof t!="string")return[];let l=n||(e?document.createElementNS(e,t):document.createElement(t));return N(()=>{for(let{d:s,m:u}of r)s[0]==="..."&&typeof s[1]=="number"?ae(l,w(s.slice(1),o)):j(l,w(s,o),w(u,o));let a=c();if(a.length!==0)if(!l.firstChild)l.append(...a);else for(let s=l.firstElementChild,u=0;u<a.length;u++){let d=a[u];s===d?s=s.nextElementSibling:l.insertBefore(d,s)}}),S(()=>l.remove()),[l]},z=null,E=e=>{let n=new Comment("");S(()=>n.remove());let t=[n];return N(()=>{z=n;let r=e(),c=(Array.isArray(r)?r:[r]).map(l=>{if(l instanceof Node)return l;let a=new Text(l);return S(()=>a.remove()),a});n.isConnected?n.after(...c):t.push(...c)}),t};function se(e,n,t,r,o){let c=e.length,l=n.length;if(e===n||c===0&&l===0)return;let a=0,s=Math.min(c,l);for(;a<s&&e[a]===n[a];)a++;let u=0;for(;u<s-a&&e[c-1-u]===n[l-1-u];)u++;let d=c-a-u,h=l-a-u;if(d===0&&h===0){for(let i=0;i<a;i++)o(e[i]);for(let i=0;i<u;i++)o(e[c-u+i]);return}let b=new Map;for(let i=0;i<h;i++)b.set(n[a+i],i);let m=[];for(let i=0;i<d;i++){let y=e[a+i],T=b.get(y);T!==void 0&&m.push(T)}let I=[],A=new Array(m.length).fill(-1),p=[];for(let i=0;i<m.length;i++){let y=m[i],T=0,M=I.length;for(;T<M;){let D=T+M>>1;I[D]<y?T=D+1:M=D}let O=T;O===I.length?(I.push(y),p.push(i)):(I[O]=y,p[O]=i),O>0&&(A[i]=p[O-1])}let g=new Set,x=p.length>0?p[p.length-1]:-1;for(;x!==-1;){let i=m[x];g.add(n[a+i]),x=A[x]}for(let i=0;i<a;i++)o(e[i]);for(let i=0;i<d;i++){let y=e[a+i];g.has(y)||r(y)}for(let i=0;i<h;i++){let y=n[a+i];g.has(y)?o(y):t(y)}for(let i=0;i<u;i++)o(e[c-u+i])}var Te=(e,n)=>E(()=>{let t=z;S(()=>{o().t.forEach(c=>c())});let r=c=>H(l=>{let a=n(c);return[l,a]}),o=N((c={p:[],n:[],t:[]})=>{let l=e(),a=c.p,s={p:l,n:[],t:[]};return se(a,l,u=>{let[d,h]=r(u);(s.n.at(-1)?.at(-1)??t).after(...h),s.n.push(h),s.t.push(d)},u=>{let d=a.indexOf(u);c.t[d]()},u=>{let d=a.indexOf(u);s.n.push(c.n[d]),s.t.push(c.t[d])}),s});return q(()=>o().n.flat())}),ie=(e,n)=>{let t;do t=Object.getOwnPropertyDescriptor(e,n),e=Object.getPrototypeOf(e);while(e&&!t);return!(!t||t.writable===!1||t.get&&!t.set)},j=(e,n,t)=>{if(typeof n!="function"&&!v(t)){if(!e||!(e instanceof Element))return;if(ie(e,n)){let o=e[n];e[n]=t,S(()=>{e[n]=o})}else e.setAttribute(n,String(t)),S(()=>{e.removeAttribute(n)})}else N(()=>{j(e,typeof n=="function"?n():n,v(t)?t():t)})},ae=(e,n)=>{N(()=>{let t=n();for(let r in t)j(e,r,t[r])})},J=(e,n,t)=>{if(n.c===1)return n.g.flatMap(r=>{if(typeof r=="string"){let o=new Text(r);return S(()=>o.remove()),o}else if(typeof r=="number"){let o=t[r];if(typeof o=="function")return v(o)?E(()=>o()):E(o);if(typeof o!="object"){let c=new Text(String(o));return S(()=>c.remove()),c}return o}});{let{h:r,l:o,T:c,i:l}=n,a=w(c,t),s=n.y??e;return W(s,l,a,r,t,()=>o.flatMap(u=>J(s,u,t)))}},K=(e,n)=>{if(e.c===1)return e;{if(!e.i)return e;let t=n?n.childNodes.item(e.b):e.i.cloneNode(!0);return{...e,i:t,l:e.l.map(r=>K(r,t))}}},X=(e,n,t,r)=>(o,...c)=>{let a=oe(n,t,r,o,c.map(s=>c.indexOf(s))).map(s=>K(s,null));return E(()=>a.flatMap(s=>J(e,s,c)))},Q="http://www.w3.org/2000/svg",he=X(Q,"text/xml",e=>`<svg xmlns="${Q}">${e}</svg>`,e=>e.firstChild.childNodes),be=X(null,"text/html",e=>e,e=>e.body.childNodes);export{N as S,S as cleanup,be as html,me as isComputed,ue as isListening,de as isObservable,v as isReactive,Te as map,ce as o,ce as observable,H as root,q as sample,fe as subscribe,he as svg,le as transaction,ee as unsubscribe};
1
+ var f,L=Symbol(),R=Symbol(),A,k=new WeakMap,K=0,Y=e=>{let n=f,t=(()=>{});U(t),t.r=!1,f=t;let r=e(()=>{$(t),f=void 0});return f=n,r},N=(e,n)=>{let t=U(r=>{if(r===R||t.r){t.a=K++;let o=f;$(t),t.r=!1,f=t,n=e(n),f=o}else f&&!f.o.has(t)&&(f.o.add(t),t.e.push(f));return n});return t.$o=3075,f&&f.u.push(t),t(R),k.set(e,t),t},ce=e=>{function n(r){if(arguments.length===0)return f&&!f.o.has(t)&&(f.o.add(t),t.e.push(f)),e;if(A)return t.s===L&&A.push(t),t.s=r,r;e=r;let o=f;f=void 0;let l=new Set,a=(s,u)=>{!s.o.has(u)||l.has(s)||(l.add(s),s.e.forEach(d=>a(d,s)))};t.e.forEach(s=>a(s,t));let c=Array.from(l);return c.forEach(s=>{s.r=!0}),t.e=[],c.sort(X).forEach(s=>{s.r&&s()}),f=o,e}let t=n;return t.e=[],t.s=L,t.$o=181,t},X=(e,n)=>e.a-n.a,$=e=>{e.u.forEach($),e.r=!1,e.f.forEach(n=>n()),U(e)},U=e=>(e.o=new Set,e.e=[],e.u=[],e.f=[],e),x=e=>(f?.f.push(e),e),le=e=>{let n=A;A=[];let t=e(),r=A;return A=n,r.forEach(o=>{if(o.s!==L){let l=o.s;o.s=L,o(l)}}),t};var H=e=>{let n=f;f=void 0;let t=e();return f=n,t},ae=()=>!!f,ue=e=>(N(e),()=>Z(e)),Z=e=>{let n=k.get(e);n&&$(n)},fe=e=>e?.$o===181,de=e=>e?.$o===3075,v=e=>e?.$o;var j=new Map;function Q(){return Math.floor(Math.random()*1572120576+604661760).toString(36)}var P=Q(),V=Q(),ee=new RegExp(`([\\s\\S]*?)${P}(\\d+)${V}([\\s\\S]*?)(?=${P}\\d+${V}|$)`,"g"),te=/\s*\n\s*/g,ne=new DOMParser,C=e=>{let n=[];if(e=e.replace(te,""),e.includes(P)&&e.includes(V))for(let t of e.matchAll(ee)){let[,r,o,l]=t;r&&n.push(r),o&&n.push(Number(o)),l&&n.push(l)}else e&&n.push(e);return n},E=(e,n)=>e.length===1?typeof e[0]=="number"?n[e[0]]:e[0]:N(()=>e.map(t=>{if(typeof t=="number"){let r=n[t];return typeof r=="function"?r():r}return t}).join("")),re=(e,n,t,r,o)=>{if(j.has(r))return j.get(r);let l=r.flatMap((h,g,{length:p})=>g===p-1?[h]:[h,P,o[g],V]).join(""),a=n(l),c=ne.parseFromString(a,e),s=h=>{let g=[];for(let p=h.item(0),I=p?.nextSibling,w=0;p!=null;p=I,I=I?.nextSibling,w++)do e:{if(p.nodeType===1){let m=p,b=C(m.tagName.toLowerCase()),S=b.length>1||typeof b[0]=="number";if(g.push({T:m.namespaceURI,c:2,y:b,h:Array.from(m.attributes).flatMap(i=>{let T=C(i.nodeName),y=C(i.value),_=T.length>1||typeof T[0]=="number"||y.length>1||typeof y[0]=="number";return!S&&!_?[]:(m.removeAttribute(i.nodeName),[{d:T,p:y.length===0?[!0]:y}])}),l:m.childNodes.length>0?s(m.childNodes):[],i:S?null:m,g:w}),!S)break e}else if(p.nodeType===3){let m=p.data,b=C(m);b.length>0&&g.push({c:1,b})}p.remove(),w--}while(!1);return g},u=t(c),d=s(u);return j.set(r,d),d},F=(e,n,t,r,o,l)=>{if(typeof t=="function")return v(t)?M(()=>{let c=t();return F(e,null,c,r,o,l)}):M(()=>t(...r.flatMap(({d:c,p:s})=>c[0]==="..."&&typeof c[1]=="number"?E(c.slice(1),o):E(s,o)),l));if(typeof t!="string")return[];let a=n||(e?document.createElementNS(e,t):document.createElement(t));return N(()=>{for(let{d:s,p:u}of r)s[0]==="..."&&typeof s[1]=="number"?ie(a,E(s.slice(1),o)):B(a,E(s,o),E(u,o));let c=l();if(c.length!==0)if(!a.firstChild)a.append(...c);else for(let s=a.firstElementChild,u=0;u<c.length;u++){let d=c[u];s===d?s=s.nextElementSibling:a.insertBefore(d,s)}}),x(()=>a.remove()),[a]},G=null,M=e=>{let n=new Comment("");x(()=>n.remove());let t=[n];return N(()=>{G=n;let r=e(),l=(Array.isArray(r)?r:[r]).map(a=>{if(a instanceof Node)return a;let c=new Text(a);return x(()=>c.remove()),c});n.isConnected?n.after(...l):t.push(...l)}),t};function oe(e,n,t,r,o){let l=e.length,a=n.length;if(e===n||l===0&&a===0)return;let c=0,s=Math.min(l,a);for(;c<s&&e[c]===n[c];)c++;let u=0;for(;u<s-c&&e[l-1-u]===n[a-1-u];)u++;let d=l-c-u,h=a-c-u;if(d===0&&h===0){for(let i=0;i<c;i++)o(e[i]);for(let i=0;i<u;i++)o(e[l-u+i]);return}let g=new Map;for(let i=0;i<h;i++)g.set(n[c+i],i);let p=[];for(let i=0;i<d;i++){let T=e[c+i],y=g.get(T);y!==void 0&&p.push(y)}let I=[],w=new Array(p.length).fill(-1),m=[];for(let i=0;i<p.length;i++){let T=p[i],y=0,_=I.length;for(;y<_;){let D=y+_>>1;I[D]<T?y=D+1:_=D}let O=y;O===I.length?(I.push(T),m.push(i)):(I[O]=T,m[O]=i),O>0&&(w[i]=m[O-1])}let b=new Set,S=m.length>0?m[m.length-1]:-1;for(;S!==-1;){let i=p[S];b.add(n[c+i]),S=w[S]}for(let i=0;i<c;i++)o(e[i]);for(let i=0;i<d;i++){let T=e[c+i];b.has(T)||r(T)}for(let i=0;i<h;i++){let T=n[c+i];b.has(T)?o(T):t(T)}for(let i=0;i<u;i++)o(e[l-u+i])}var Te=(e,n)=>M(()=>{let t=G;x(()=>{o().t.forEach(l=>l())});let r=l=>Y(a=>{let c=n(l);return[a,c]}),o=N((l={m:[],n:[],t:[]})=>{let a=e(),c=l.m,s={m:a,n:[],t:[]};return oe(c,a,u=>{let[d,h]=r(u);(s.n.at(-1)?.at(-1)??t).after(...h),s.n.push(h),s.t.push(d)},u=>{let d=c.indexOf(u);l.t[d]()},u=>{let d=c.indexOf(u);s.n.push(l.n[d]),s.t.push(l.t[d])}),s});return H(()=>o().n.flat())}),se=(e,n)=>{let t;do t=Object.getOwnPropertyDescriptor(e,n),e=Object.getPrototypeOf(e);while(e&&!t);return!(!t||t.writable===!1||t.get&&!t.set)},B=(e,n,t)=>{if(typeof n!="function"&&!v(t)){if(!e||!(e instanceof Element))return;if(se(e,n)){let o=e[n];e[n]=t,x(()=>{e[n]=o})}else e.setAttribute(n,String(t)),x(()=>{e.removeAttribute(n)})}else N(()=>{B(e,typeof n=="function"?n():n,v(t)?t():t)})},ie=(e,n)=>{N(()=>{let t=n();for(let r in t)B(e,r,t[r])})},W=(e,n,t)=>{if(n.c===1)return n.b.flatMap(r=>{if(typeof r=="string"){let o=new Text(r);return x(()=>o.remove()),o}else if(typeof r=="number"){let o=t[r];if(typeof o=="function")return v(o)?M(()=>o()):M(o);if(typeof o!="object"){let l=new Text(String(o));return x(()=>l.remove()),l}return o}});{let{h:r,l:o,y:l,i:a}=n,c=E(l,t),s=n.T??e;return F(s,a,c,r,t,()=>o.flatMap(u=>W(s,u,t)))}},z=(e,n)=>{if(e.c===1)return e;{if(!e.i)return e;let t=n?n.childNodes.item(e.g):e.i.cloneNode(!0);return{...e,i:t,l:e.l.map(r=>z(r,t))}}},J=(e,n,t,r)=>(o,...l)=>{let c=re(n,t,r,o,l.map(s=>l.indexOf(s))).map(s=>z(s,null));return M(()=>c.flatMap(s=>W(e,s,l)))},q="http://www.w3.org/2000/svg",ye=J(q,"text/xml",e=>`<svg xmlns="${q}">${e}</svg>`,e=>e.firstChild.childNodes),he=J(null,"text/html",e=>e,e=>e.body.childNodes);export{N as S,x as cleanup,he as html,de as isComputed,ae as isListening,fe as isObservable,v as isReactive,Te as map,ce as o,ce as observable,Y as root,H as sample,ue as subscribe,ye as svg,le as transaction,Z as unsubscribe};
package/lib/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,QAAQ,CAAC;AACvB,cAAc,QAAQ,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,cAAc,QAAQ,CAAC;AACvB,cAAc,QAAQ,CAAC"}
package/lib/name.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"name.d.ts","sourceRoot":"","sources":["../src/name.ts"],"names":[],"mappings":"AAkDA,eAAO,MAAM,SAAS,GAAI,CAAC,SAAS,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,GAAG,EAAE,GAAG,CAAC,EAAE,WAAW,MAAM,KAAG,CAStF,CAAC"}
1
+ {"version":3,"file":"name.d.ts","sourceRoot":"","sources":["../src/name.ts"],"names":[],"mappings":"AAmDA,eAAO,MAAM,SAAS,GAAI,CAAC,SAAS,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,GAAG,EAAE,GAAG,CAAC,EAAE,WAAW,MAAM,KAAG,CAStF,CAAC"}
package/lib/name.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"name.js","sourceRoot":"","sources":["../src/name.ts"],"names":[],"mappings":"AAAA,MAAM,OAAO,GAAG,IAAI,GAAG,EAAkB,CAAC;AAC1C,MAAM,WAAW,GAAG,SAAS,WAAW;IACpC,MAAM,KAAK,GAAG,IAAI,KAAK,EAAE,CAAC,KAAK,CAAC;IAChC,IAAI,CAAC,KAAK,EAAE,CAAC;QACT,OAAO,IAAI,CAAC;IAChB,CAAC;IACD,MAAM,QAAQ,GAAG,gFAAgF,CAAC;IAClG,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAEhC,MAAM,gBAAgB,GAAG,KAAK,CAAC,SAAS,CAAC,CAAC,IAAI,EAAE,EAAE;QAC9C,OAAO,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;IAC7E,CAAC,CAAC,CAAC;IAEH,IAAI,gBAAgB,GAAG,CAAC,CAAC,EAAE,CAAC;QACxB,MAAM,MAAM,GAAG,CAAC,CAAC;QACjB,MAAM,IAAI,GAAG,KAAK,CAAC,gBAAgB,GAAG,MAAM,CAAC,CAAC;QAC9C,IAAI,CAAC,IAAI,EAAE,CAAC;YACR,OAAO,IAAI,CAAC;QAChB,CAAC;QACD,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;QACtC,IAAI,CAAC,QAAQ,EAAE,CAAC;YACZ,OAAO,IAAI,CAAC;QAChB,CAAC;QACD,MAAM,GAAG,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;QACxB,MAAM,MAAM,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;QAC3B,MAAM,KAAK,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;QAC1B,IAAI,CAAC,GAAG,IAAI,CAAC,MAAM,IAAI,CAAC,KAAK,EAAE,CAAC;YAC5B,OAAO,IAAI,CAAC;QAChB,CAAC;QACD,IAAI,GAAW,CAAC;QAChB,IAAI,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;YACnB,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,GAAG,CAAE,CAAC;QAC5B,CAAC;aAAM,CAAC;YACJ,MAAM,GAAG,GAAG,IAAI,cAAc,EAAE,CAAC;YACjC,GAAG,CAAC,IAAI,CAAC,KAAK,EAAE,GAAG,EAAE,KAAK,CAAC,CAAC;YAC5B,GAAG,CAAC,IAAI,EAAE,CAAC;YACX,GAAG,GAAG,GAAG,CAAC,YAAY,CAAC;YACvB,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;QAC1B,CAAC;QAED,MAAM,GAAG,GAAG,IAAI,MAAM,CAAC,eAAe,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QACpF,MAAM,OAAO,GAAG,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAC/B,IAAI,CAAC,OAAO,EAAE,CAAC;YACX,OAAO,IAAI,CAAC;QAChB,CAAC;QACD,OAAO,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,eAAe,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IAClD,CAAC;IACD,OAAO,IAAI,CAAC;AAChB,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,SAAS,GAAG,CAAoC,CAAI,EAAE,QAAiB,EAAK,EAAE;IACvF,MAAM,QAAQ,GAAG,WAAW,EAAE,IAAI,QAAQ,CAAC;IAC3C,IAAI,CAAC,QAAQ,EAAE,CAAC;QACZ,OAAO,CAAC,CAAC;IACb,CAAC;IACD,MAAM,CAAC,GAAG,IAAI,QAAQ,CAAC,mBAAmB,QAAQ,sBAAsB,QAAQ,cAAc,CAAC,EAAE,CAAC;IAClG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;IACR,MAAM,CAAC,cAAc,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAC5B,OAAO,CAAC,CAAC;AACb,CAAC,CAAC"}
1
+ {"version":3,"file":"name.js","sourceRoot":"","sources":["../src/name.ts"],"names":[],"mappings":"AACA,MAAM,OAAO,GAAG,IAAI,GAAG,EAAkB,CAAC;AAC1C,MAAM,WAAW,GAAG,SAAS,WAAW;IACpC,MAAM,KAAK,GAAG,IAAI,KAAK,EAAE,CAAC,KAAK,CAAC;IAChC,IAAI,CAAC,KAAK,EAAE,CAAC;QACT,OAAO,IAAI,CAAC;IAChB,CAAC;IACD,MAAM,QAAQ,GAAG,gFAAgF,CAAC;IAClG,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAEhC,MAAM,gBAAgB,GAAG,KAAK,CAAC,SAAS,CAAC,CAAC,IAAI,EAAE,EAAE;QAC9C,OAAO,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;IAC7E,CAAC,CAAC,CAAC;IAEH,IAAI,gBAAgB,GAAG,CAAC,CAAC,EAAE,CAAC;QACxB,MAAM,MAAM,GAAG,CAAC,CAAC;QACjB,MAAM,IAAI,GAAG,KAAK,CAAC,gBAAgB,GAAG,MAAM,CAAC,CAAC;QAC9C,IAAI,CAAC,IAAI,EAAE,CAAC;YACR,OAAO,IAAI,CAAC;QAChB,CAAC;QACD,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;QACtC,IAAI,CAAC,QAAQ,EAAE,CAAC;YACZ,OAAO,IAAI,CAAC;QAChB,CAAC;QACD,MAAM,GAAG,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;QACxB,MAAM,MAAM,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;QAC3B,MAAM,KAAK,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;QAC1B,IAAI,CAAC,GAAG,IAAI,CAAC,MAAM,IAAI,CAAC,KAAK,EAAE,CAAC;YAC5B,OAAO,IAAI,CAAC;QAChB,CAAC;QACD,IAAI,GAAW,CAAC;QAChB,IAAI,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;YACnB,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,GAAG,CAAE,CAAC;QAC5B,CAAC;aAAM,CAAC;YACJ,MAAM,GAAG,GAAG,IAAI,cAAc,EAAE,CAAC;YACjC,GAAG,CAAC,IAAI,CAAC,KAAK,EAAE,GAAG,EAAE,KAAK,CAAC,CAAC;YAC5B,GAAG,CAAC,IAAI,EAAE,CAAC;YACX,GAAG,GAAG,GAAG,CAAC,YAAY,CAAC;YACvB,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;QAC1B,CAAC;QAED,MAAM,GAAG,GAAG,IAAI,MAAM,CAAC,eAAe,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QACpF,MAAM,OAAO,GAAG,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAC/B,IAAI,CAAC,OAAO,EAAE,CAAC;YACX,OAAO,IAAI,CAAC;QAChB,CAAC;QACD,OAAO,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,eAAe,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IAClD,CAAC;IACD,OAAO,IAAI,CAAC;AAChB,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,SAAS,GAAG,CAAoC,CAAI,EAAE,QAAiB,EAAK,EAAE;IACvF,MAAM,QAAQ,GAAG,WAAW,EAAE,IAAI,QAAQ,CAAC;IAC3C,IAAI,CAAC,QAAQ,EAAE,CAAC;QACZ,OAAO,CAAC,CAAC;IACb,CAAC;IACD,MAAM,CAAC,GAAG,IAAI,QAAQ,CAAC,mBAAmB,QAAQ,sBAAsB,QAAQ,cAAc,CAAC,EAAE,CAAC;IAClG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;IACR,MAAM,CAAC,cAAc,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAC5B,OAAO,CAAC,CAAC;AACb,CAAC,CAAC"}
package/lib/s.d.ts CHANGED
@@ -1,21 +1,31 @@
1
- interface IS<T> {
1
+ export interface IS<T = any> {
2
2
  (force?: typeof Yes): T;
3
- _whoIOwn: Array<IS<any>>;
4
- _whoINeed: Set<IO<any> | IS<any>>;
5
- _whoNeedMe: Array<IS<any>>;
3
+ _whoIOwn: Array<IS>;
4
+ _whoINeed: Set<IO | IS>;
5
+ _whoNeedMe: Array<IS>;
6
6
  _dirty: boolean;
7
7
  _onCleanupCallback: Array<() => void>;
8
8
  $o: number;
9
- _birthtime: number;
9
+ _lastUpdateTime: number;
10
10
  }
11
- interface IO<T> {
11
+ export type IPartialS<T = any> = {
12
+ (force?: typeof Yes): T;
13
+ _whoIOwn?: Array<IS>;
14
+ _whoINeed?: Set<IO | IS>;
15
+ _whoNeedMe?: Array<IS>;
16
+ _dirty?: boolean;
17
+ _onCleanupCallback?: Array<() => void>;
18
+ $o?: number;
19
+ _lastUpdateTime?: number;
20
+ };
21
+ export interface IO<T = any> {
12
22
  (): T;
13
23
  (nextValue: T): T;
14
- _whoNeedMe: Array<IS<any>>;
15
- _pendingValue: any;
24
+ _whoNeedMe: Array<IS>;
25
+ _pendingValue: T | typeof NoValue;
16
26
  $o: number;
17
- _birthtime: number;
18
27
  }
28
+ declare const NoValue: unique symbol;
19
29
  declare const Yes: unique symbol;
20
30
  export declare const root: <T>(fn: (destroy: () => void) => T) => T;
21
31
  export declare const S: <T>(fn: (pv: T | undefined) => T, value?: T) => IS<T>;
@@ -27,7 +37,7 @@ export declare const sample: <T>(f: () => T) => T;
27
37
  export declare const isListening: () => boolean;
28
38
  export declare const subscribe: (f: () => void) => () => void;
29
39
  export declare const unsubscribe: (f: () => void) => void;
30
- export declare const isObservable: (o: any) => o is IO<any>;
31
- export declare const isComputed: (o: any) => o is IS<any>;
32
- export declare const isReactive: (o: any) => o is IO<any> | IS<any>;
40
+ export declare const isObservable: (o: any) => o is IO;
41
+ export declare const isComputed: (o: any) => o is IS;
42
+ export declare const isReactive: (o: any) => o is IO | IS;
33
43
  //# sourceMappingURL=s.d.ts.map
package/lib/s.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"s.d.ts","sourceRoot":"","sources":["../src/s.ts"],"names":[],"mappings":"AAIA,UAAU,EAAE,CAAC,CAAC;IACV,CAAC,KAAK,CAAC,EAAE,OAAO,GAAG,GAAG,CAAC,CAAC;IACxB,QAAQ,EAAE,KAAK,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IACzB,SAAS,EAAE,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IAClC,UAAU,EAAE,KAAK,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IAC3B,MAAM,EAAE,OAAO,CAAC;IAChB,kBAAkB,EAAE,KAAK,CAAC,MAAM,IAAI,CAAC,CAAC;IACtC,EAAE,EAAE,MAAM,CAAC;IACX,UAAU,EAAE,MAAM,CAAC;CACtB;AAaD,UAAU,EAAE,CAAC,CAAC;IACV,IAAI,CAAC,CAAC;IACN,CAAC,SAAS,EAAE,CAAC,GAAG,CAAC,CAAC;IAClB,UAAU,EAAE,KAAK,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IAC3B,aAAa,EAAE,GAAG,CAAC;IACnB,EAAE,EAAE,MAAM,CAAC;IACX,UAAU,EAAE,MAAM,CAAC;CACtB;AAID,QAAA,MAAM,GAAG,EAAE,OAAO,MAAiB,CAAC;AAKpC,eAAO,MAAM,IAAI,GAAI,CAAC,EAAE,IAAI,CAAC,OAAO,EAAE,MAAM,IAAI,KAAK,CAAC,KAAG,CAYxD,CAAC;AACF,eAAO,MAAM,CAAC,GAAI,CAAC,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,GAAG,SAAS,KAAK,CAAC,EAAE,QAAQ,CAAC,KAAG,EAAE,CAAC,CAAC,CAyBlE,CAAC;AACF,eAAO,MAAM,CAAC,GAAI,CAAC,EAAE,OAAO,CAAC,KAAG,EAAE,CAAC,CAAC,CAiDnC,CAAC;AAiBF,eAAO,MAAM,OAAO,GAAI,CAAC,SAAS,MAAM,IAAI,EAAE,GAAG,CAAC,KAAG,CAGpD,CAAC;AAEF,eAAO,MAAM,WAAW,GAAI,CAAC,EAAE,GAAG,MAAM,CAAC,KAAG,CAc3C,CAAC;AAEF,OAAO,EAAE,CAAC,IAAI,UAAU,EAAE,CAAC;AAE3B,eAAO,MAAM,MAAM,GAAI,CAAC,EAAE,GAAG,MAAM,CAAC,KAAG,CAMtC,CAAC;AAEF,eAAO,MAAM,WAAW,eAAwB,CAAC;AAEjD,eAAO,MAAM,SAAS,GAAI,GAAG,MAAM,IAAI,eAGtC,CAAC;AACF,eAAO,MAAM,WAAW,GAAI,GAAG,MAAM,IAAI,SAKxC,CAAC;AACF,eAAO,MAAM,YAAY,GAAI,GAAG,GAAG,KAAG,CAAC,IAAI,EAAE,CAAC,GAAG,CAAoB,CAAC;AACtE,eAAO,MAAM,UAAU,GAAI,GAAG,GAAG,KAAG,CAAC,IAAI,EAAE,CAAC,GAAG,CAAoB,CAAC;AACpE,eAAO,MAAM,UAAU,GAAI,GAAG,GAAG,KAAG,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,GAAG,CAAU,CAAC"}
1
+ {"version":3,"file":"s.d.ts","sourceRoot":"","sources":["../src/s.ts"],"names":[],"mappings":"AACA,MAAM,WAAW,EAAE,CAAC,CAAC,GAAG,GAAG;IACvB,CAAC,KAAK,CAAC,EAAE,OAAO,GAAG,GAAG,CAAC,CAAC;IACxB,QAAQ,EAAE,KAAK,CAAC,EAAE,CAAC,CAAC;IACpB,SAAS,EAAE,GAAG,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC;IACxB,UAAU,EAAE,KAAK,CAAC,EAAE,CAAC,CAAC;IACtB,MAAM,EAAE,OAAO,CAAC;IAChB,kBAAkB,EAAE,KAAK,CAAC,MAAM,IAAI,CAAC,CAAC;IACtC,EAAE,EAAE,MAAM,CAAC;IACX,eAAe,EAAE,MAAM,CAAC;CAC3B;AAED,MAAM,MAAM,SAAS,CAAC,CAAC,GAAG,GAAG,IAAI;IAC7B,CAAC,KAAK,CAAC,EAAE,OAAO,GAAG,GAAG,CAAC,CAAC;IACxB,QAAQ,CAAC,EAAE,KAAK,CAAC,EAAE,CAAC,CAAC;IACrB,SAAS,CAAC,EAAE,GAAG,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC;IACzB,UAAU,CAAC,EAAE,KAAK,CAAC,EAAE,CAAC,CAAC;IACvB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,kBAAkB,CAAC,EAAE,KAAK,CAAC,MAAM,IAAI,CAAC,CAAC;IACvC,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,eAAe,CAAC,EAAE,MAAM,CAAC;CAC5B,CAAC;AAEF,MAAM,WAAW,EAAE,CAAC,CAAC,GAAG,GAAG;IACvB,IAAI,CAAC,CAAC;IACN,CAAC,SAAS,EAAE,CAAC,GAAG,CAAC,CAAC;IAClB,UAAU,EAAE,KAAK,CAAC,EAAE,CAAC,CAAC;IACtB,aAAa,EAAE,CAAC,GAAG,OAAO,OAAO,CAAC;IAClC,EAAE,EAAE,MAAM,CAAC;CACd;AAGD,QAAA,MAAM,OAAO,EAAE,OAAO,MAAiB,CAAC;AACxC,QAAA,MAAM,GAAG,EAAE,OAAO,MAAiB,CAAC;AAKpC,eAAO,MAAM,IAAI,GAAI,CAAC,EAAE,IAAI,CAAC,OAAO,EAAE,MAAM,IAAI,KAAK,CAAC,KAAG,CAYxD,CAAC;AACF,eAAO,MAAM,CAAC,GAAI,CAAC,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,GAAG,SAAS,KAAK,CAAC,EAAE,QAAQ,CAAC,KAAG,EAAE,CAAC,CAAC,CAuBlE,CAAC;AACF,eAAO,MAAM,CAAC,GAAI,CAAC,EAAE,OAAO,CAAC,KAAG,EAAE,CAAC,CAAC,CAgDnC,CAAC;AAiBF,eAAO,MAAM,OAAO,GAAI,CAAC,SAAS,MAAM,IAAI,EAAE,GAAG,CAAC,KAAG,CAGpD,CAAC;AAEF,eAAO,MAAM,WAAW,GAAI,CAAC,EAAE,GAAG,MAAM,CAAC,KAAG,CAc3C,CAAC;AAEF,OAAO,EAAE,CAAC,IAAI,UAAU,EAAE,CAAC;AAE3B,eAAO,MAAM,MAAM,GAAI,CAAC,EAAE,GAAG,MAAM,CAAC,KAAG,CAMtC,CAAC;AAEF,eAAO,MAAM,WAAW,eAAwB,CAAC;AAEjD,eAAO,MAAM,SAAS,GAAI,GAAG,MAAM,IAAI,eAGtC,CAAC;AACF,eAAO,MAAM,WAAW,GAAI,GAAG,MAAM,IAAI,SAKxC,CAAC;AACF,eAAO,MAAM,YAAY,GAAI,GAAG,GAAG,KAAG,CAAC,IAAI,EAAqB,CAAC;AACjE,eAAO,MAAM,UAAU,GAAI,GAAG,GAAG,KAAG,CAAC,IAAI,EAAqB,CAAC;AAC/D,eAAO,MAAM,UAAU,GAAI,GAAG,GAAG,KAAG,CAAC,IAAI,EAAE,GAAG,EAAW,CAAC"}
package/lib/s.js CHANGED
@@ -1,4 +1,3 @@
1
- const namedFunc = typeof __SUBAY_DEV__ === 'boolean' && __SUBAY_DEV__ ? (await import('./name.js')).namedFunc : (f) => f;
2
1
  let currentUpdate = undefined;
3
2
  const NoValue = Symbol();
4
3
  const Yes = Symbol();
@@ -19,8 +18,9 @@ export const root = (fn) => {
19
18
  return result;
20
19
  };
21
20
  export const S = (fn, value) => {
22
- const data = namedFunc(resetS((force) => {
21
+ const data = resetS((force) => {
23
22
  if (force === Yes || data._dirty) {
23
+ data._lastUpdateTime = clock++;
24
24
  const backup = currentUpdate;
25
25
  recycleS(data);
26
26
  data._dirty = false;
@@ -33,9 +33,8 @@ export const S = (fn, value) => {
33
33
  data._whoNeedMe.push(currentUpdate);
34
34
  }
35
35
  return value;
36
- }));
36
+ });
37
37
  data.$o = 0xc03;
38
- data._birthtime = clock++;
39
38
  if (currentUpdate) {
40
39
  currentUpdate._whoIOwn.push(data);
41
40
  }
@@ -76,7 +75,7 @@ export const o = (value) => {
76
75
  u._dirty = true;
77
76
  });
78
77
  data._whoNeedMe = [];
79
- whoNeedMeLasttime.sort(byBirthTime).forEach((u) => {
78
+ whoNeedMeLasttime.sort(byLastUpdateTime).forEach((u) => {
80
79
  if (u._dirty) {
81
80
  u();
82
81
  }
@@ -84,14 +83,13 @@ export const o = (value) => {
84
83
  currentUpdate = backup;
85
84
  return value;
86
85
  }
87
- const data = namedFunc(d);
86
+ const data = d;
88
87
  data._whoNeedMe = [];
89
88
  data._pendingValue = NoValue;
90
89
  data.$o = 0x0b5;
91
- data._birthtime = clock++;
92
90
  return data;
93
91
  };
94
- const byBirthTime = (a, b) => a._birthtime - b._birthtime;
92
+ const byLastUpdateTime = (a, b) => a._lastUpdateTime - b._lastUpdateTime;
95
93
  const recycleS = (update) => {
96
94
  update._whoIOwn.forEach(recycleS);
97
95
  update._dirty = false;
package/lib/s.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"s.js","sourceRoot":"","sources":["../src/s.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"s.js","sourceRoot":"","sources":["../src/s.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "subay",
3
- "version": "0.0.8",
3
+ "version": "0.0.11",
4
4
  "description": "A lightweight reactive UI library with state management and template rendering",
5
5
  "keywords": [
6
6
  "reactive",
@@ -22,10 +22,12 @@
22
22
  "types": "./src/index.d.ts",
23
23
  "exports": {
24
24
  ".": {
25
- "import": "./lib/index.js"
25
+ "import": "./lib/index.js",
26
+ "default": "./lib/index.js"
26
27
  },
27
28
  "./dev": {
28
- "import": "./lib/index.dev.js"
29
+ "import": "./lib/index.dev.js",
30
+ "default": "./lib/index.dev.js"
29
31
  }
30
32
  },
31
33
  "devDependencies": {
@@ -35,7 +37,7 @@
35
37
  "test": "npx http-server -c-1 -o /test/test.html",
36
38
  "dev": "tsc --build --watch ./tsconfig.json",
37
39
  "types": "tsc -d --outDir lib",
38
- "bundle-dev": "npx esbuild --bundle src/index.ts --outfile=lib/index.dev.js --minify \"--mangle-props=^_\" --format=esm --define:__SUBAY_DEV__=true",
40
+ "bundle-dev": "npx esbuild src/dev.ts --outfile=lib/index.dev.js --format=esm --define:__SUBAY_DEV__=true",
39
41
  "bundle-prod": "npx esbuild --bundle src/index.ts --outfile=lib/index.js --minify \"--mangle-props=^_\" --format=esm --define:__SUBAY_DEV__=false",
40
42
  "bundle": "npm run bundle-dev & npm run bundle-prod",
41
43
  "build": "npm run types && npm run bundle"
package/src/dev.ts ADDED
@@ -0,0 +1,67 @@
1
+ // deno-lint-ignore-file no-explicit-any no-sloppy-imports
2
+ const url2src = new Map<string, string>();
3
+ const getLeftName = function getLeftName() {
4
+ const stack = new Error().stack;
5
+ if (!stack) {
6
+ return null;
7
+ }
8
+ const urlRegex = /((?:\w+:\/\/)[-a-zA-Z0-9:@;?&=\/%\+\.\*!'\(\),\$_\{\}\^~\[\]`#|]+):(\d+):(\d+)/;
9
+ const lines = stack.split('\n');
10
+
11
+ const currentLineIndex = lines.findIndex((line) => {
12
+ return line.includes(import.meta.url) && line.includes(getLeftName.name);
13
+ });
14
+
15
+ if (currentLineIndex > -1) {
16
+ const offset = 3;
17
+ const line = lines[currentLineIndex + offset];
18
+ if (!line) {
19
+ return null;
20
+ }
21
+ const location = line.match(urlRegex);
22
+ if (!location) {
23
+ return null;
24
+ }
25
+ const url = location[1];
26
+ const lineNo = location[2];
27
+ const colNo = location[3];
28
+ if (!url || !lineNo || !colNo) {
29
+ return null;
30
+ }
31
+ let src: string;
32
+ if (url2src.has(url)) {
33
+ src = url2src.get(url)!;
34
+ } else {
35
+ const xhr = new XMLHttpRequest();
36
+ xhr.open('GET', url, false);
37
+ xhr.send();
38
+ src = xhr.responseText;
39
+ url2src.set(url, src);
40
+ }
41
+
42
+ const reg = new RegExp(`(?:.*\r?\n){${Number(lineNo) - 1}}.{${Number(colNo) - 1}}`);
43
+ const segment = src.match(reg);
44
+ if (!segment) {
45
+ return null;
46
+ }
47
+ return segment[0].match(/(\w+)\s*=\s*$/)?.[1];
48
+ }
49
+ return null;
50
+ };
51
+
52
+ const namedFunc = <F extends (...args: any[]) => any>(f: F, fallback?: string): F => {
53
+ const leftName = getLeftName() ?? fallback;
54
+ if (!leftName) {
55
+ return f;
56
+ }
57
+ const g = new Function(`return function ${leftName} (...args) {return ${leftName}._(...args)}`)();
58
+ g._ = f;
59
+ Object.setPrototypeOf(g, f);
60
+ return g;
61
+ };
62
+
63
+ import { S as _S, o as _o } from './s.js';
64
+ export * from './index.js';
65
+
66
+ export const S = namedFunc(_S);
67
+ export const o = namedFunc(_o);
package/src/h.ts CHANGED
@@ -1,3 +1,4 @@
1
+ // deno-lint-ignore-file no-explicit-any no-sloppy-imports
1
2
  import { cleanup, isReactive, root, S, sample } from './s.js';
2
3
 
3
4
  const enum InterNodeType {
package/src/index.ts CHANGED
@@ -1,2 +1,3 @@
1
+ // deno-lint-ignore-file no-sloppy-imports
1
2
  export * from './s.js';
2
3
  export * from './h.js';
package/src/s.ts CHANGED
@@ -1,48 +1,44 @@
1
- declare const __SUBAY_DEV__: boolean | undefined;
2
-
3
- const namedFunc = typeof __SUBAY_DEV__ === 'boolean' && __SUBAY_DEV__ ? (await import('./name.js')).namedFunc : <T>(f: T) => f;
4
-
5
- interface IS<T> {
1
+ // deno-lint-ignore-file no-explicit-any
2
+ export interface IS<T = any> {
6
3
  (force?: typeof Yes): T;
7
- _whoIOwn: Array<IS<any>>;
8
- _whoINeed: Set<IO<any> | IS<any>>;
9
- _whoNeedMe: Array<IS<any>>;
4
+ _whoIOwn: Array<IS>;
5
+ _whoINeed: Set<IO | IS>;
6
+ _whoNeedMe: Array<IS>;
10
7
  _dirty: boolean;
11
8
  _onCleanupCallback: Array<() => void>;
12
9
  $o: number;
13
- _birthtime: number;
10
+ _lastUpdateTime: number;
14
11
  }
15
12
 
16
- type IPartialS<T> = {
13
+ export type IPartialS<T = any> = {
17
14
  (force?: typeof Yes): T;
18
- _whoIOwn?: Array<IS<any>>;
19
- _whoINeed?: Set<IO<any> | IS<any>>;
20
- _whoNeedMe?: Array<IS<any>>;
15
+ _whoIOwn?: Array<IS>;
16
+ _whoINeed?: Set<IO | IS>;
17
+ _whoNeedMe?: Array<IS>;
21
18
  _dirty?: boolean;
22
19
  _onCleanupCallback?: Array<() => void>;
23
20
  $o?: number;
24
- _birthtime?: number;
21
+ _lastUpdateTime?: number;
25
22
  };
26
23
 
27
- interface IO<T> {
24
+ export interface IO<T = any> {
28
25
  (): T;
29
26
  (nextValue: T): T;
30
- _whoNeedMe: Array<IS<any>>;
31
- _pendingValue: any;
27
+ _whoNeedMe: Array<IS>;
28
+ _pendingValue: T | typeof NoValue;
32
29
  $o: number;
33
- _birthtime: number;
34
30
  }
35
31
 
36
- let currentUpdate: IS<any> | undefined = undefined;
32
+ let currentUpdate: IS | undefined = undefined;
37
33
  const NoValue: unique symbol = Symbol();
38
34
  const Yes: unique symbol = Symbol();
39
- let triggerQueue: Array<IO<any>> | undefined = undefined;
40
- const fun2s = new WeakMap<(...args: any[]) => any, IS<any>>();
35
+ let triggerQueue: Array<IO> | undefined = undefined;
36
+ const fun2s = new WeakMap<(...args: any[]) => any, IS>();
41
37
  let clock = 0;
42
38
 
43
39
  export const root = <T>(fn: (destroy: () => void) => T): T => {
44
40
  const backup = currentUpdate;
45
- const rootUpdate: IS<any> = (() => {}) as any;
41
+ const rootUpdate: IS = (() => {}) as any;
46
42
  resetS(rootUpdate);
47
43
  rootUpdate._dirty = false;
48
44
  currentUpdate = rootUpdate;
@@ -54,24 +50,22 @@ export const root = <T>(fn: (destroy: () => void) => T): T => {
54
50
  return result;
55
51
  };
56
52
  export const S = <T>(fn: (pv: T | undefined) => T, value?: T): IS<T> => {
57
- const data: IS<T> = namedFunc(
58
- resetS((force?: typeof Yes) => {
59
- if (force === Yes || data._dirty) {
60
- const backup = currentUpdate;
61
- recycleS(data);
62
- data._dirty = false;
63
- currentUpdate = data;
64
- value = fn(value);
65
- currentUpdate = backup;
66
- } else if (currentUpdate && !currentUpdate._whoINeed.has(data)) {
67
- currentUpdate._whoINeed.add(data);
68
- data._whoNeedMe.push(currentUpdate);
69
- }
70
- return value as T;
71
- }),
72
- );
53
+ const data: IS<T> = resetS((force?: typeof Yes) => {
54
+ if (force === Yes || data._dirty) {
55
+ data._lastUpdateTime = clock++;
56
+ const backup = currentUpdate;
57
+ recycleS(data);
58
+ data._dirty = false;
59
+ currentUpdate = data;
60
+ value = fn(value);
61
+ currentUpdate = backup;
62
+ } else if (currentUpdate && !currentUpdate._whoINeed.has(data)) {
63
+ currentUpdate._whoINeed.add(data);
64
+ data._whoNeedMe.push(currentUpdate);
65
+ }
66
+ return value as T;
67
+ });
73
68
  data.$o = 0xc03;
74
- data._birthtime = clock++;
75
69
  if (currentUpdate) {
76
70
  currentUpdate._whoIOwn.push(data);
77
71
  }
@@ -100,8 +94,8 @@ export const o = <T>(value: T): IO<T> => {
100
94
  value = nextValue!;
101
95
  const backup = currentUpdate;
102
96
  currentUpdate = undefined;
103
- const collection = new Set<IS<any>>();
104
- const collect = (it: IS<any>, by: IS<any> | IO<any>): void => {
97
+ const collection = new Set<IS>();
98
+ const collect = (it: IS, by: IS | IO): void => {
105
99
  if (!it._whoINeed.has(by) || collection.has(it)) {
106
100
  return;
107
101
  }
@@ -114,7 +108,7 @@ export const o = <T>(value: T): IO<T> => {
114
108
  u._dirty = true;
115
109
  });
116
110
  data._whoNeedMe = [];
117
- whoNeedMeLasttime.sort(byBirthTime).forEach((u) => {
111
+ whoNeedMeLasttime.sort(byLastUpdateTime).forEach((u) => {
118
112
  if (u._dirty) {
119
113
  u();
120
114
  }
@@ -122,27 +116,26 @@ export const o = <T>(value: T): IO<T> => {
122
116
  currentUpdate = backup;
123
117
  return value;
124
118
  }
125
- const data = namedFunc(d as IO<T>);
126
- data._whoNeedMe = [] as Array<IS<any>>;
119
+ const data = d as IO<T>;
120
+ data._whoNeedMe = [] as Array<IS>;
127
121
  data._pendingValue = NoValue;
128
122
  data.$o = 0x0b5;
129
- data._birthtime = clock++;
130
123
  return data;
131
124
  };
132
- const byBirthTime = (a: IO<any> | IS<any>, b: IO<any> | IS<any>) => a._birthtime - b._birthtime;
133
- const recycleS = (update: IS<any>) => {
125
+ const byLastUpdateTime = (a: IS, b: IS) => a._lastUpdateTime - b._lastUpdateTime;
126
+ const recycleS = (update: IS) => {
134
127
  update._whoIOwn.forEach(recycleS);
135
128
  update._dirty = false;
136
129
  update._onCleanupCallback.forEach((f) => f());
137
130
  resetS(update);
138
131
  };
139
132
 
140
- const resetS = (update: IPartialS<any>) => {
133
+ const resetS = (update: IPartialS) => {
141
134
  update._whoINeed = new Set();
142
135
  update._whoNeedMe = [];
143
136
  update._whoIOwn = [];
144
137
  update._onCleanupCallback = [];
145
- return update as IS<any>;
138
+ return update as IS;
146
139
  };
147
140
 
148
141
  export const cleanup = <T extends () => void>(f: T): T => {
@@ -152,7 +145,7 @@ export const cleanup = <T extends () => void>(f: T): T => {
152
145
 
153
146
  export const transaction = <T>(f: () => T): T => {
154
147
  const fallback = triggerQueue;
155
- triggerQueue = [] as IO<any>[];
148
+ triggerQueue = [] as IO[];
156
149
  const result = f();
157
150
  const workedQueue = triggerQueue;
158
151
  triggerQueue = fallback;
@@ -188,6 +181,6 @@ export const unsubscribe = (f: () => void) => {
188
181
  recycleS(update);
189
182
  }
190
183
  };
191
- export const isObservable = (o: any): o is IO<any> => o?.$o === 0x0b5;
192
- export const isComputed = (o: any): o is IS<any> => o?.$o === 0xc03;
193
- export const isReactive = (o: any): o is IO<any> | IS<any> => o?.$o;
184
+ export const isObservable = (o: any): o is IO => o?.$o === 0x0b5;
185
+ export const isComputed = (o: any): o is IS => o?.$o === 0xc03;
186
+ export const isReactive = (o: any): o is IO | IS => o?.$o;