@nil-/xit 0.1.20 → 0.1.22
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/assets/bundler.js +1 -1
- package/assets/index.html +1 -1
- package/assets/index.js +26 -17
- package/index.d.ts +12 -9
- package/package.json +1 -1
package/assets/bundler.js
CHANGED
|
@@ -16,7 +16,7 @@ Defaulting to 2020, but this will stop working in the future.`)),AA.ecmaVersion=
|
|
|
16
16
|
import Component from "${USER_TAG}${eA.replace(/\\/g,"/")}";
|
|
17
17
|
export const action = (target, context) => {
|
|
18
18
|
let ref = mount(Component, { target, context });
|
|
19
|
-
return
|
|
19
|
+
return () => unmount(ref);
|
|
20
20
|
};`,JSON_PKG_CACHE=new Map,SCOPED_PKG_REGEX=/^(@[^/]*\/[^/]*)(?:\/(.*))?$/s,PKG_REGEX=/^([^/]*)(?:\/(.*))?$/s,FILE_PREFIX="file:/",WIN_FILE_PREFIX="file:///",resolve_local=async(eA,AA)=>{if(AA!=null){const tA=new URL(`${FILE_PREFIX}${AA}`),gA=new URL(eA,tA).href;return gA.startsWith(WIN_FILE_PREFIX)?gA.slice(8):gA.slice(6)}return eA},resolve_remote=async(eA,AA)=>(await fetch(new URL(eA,AA),{method:"HEAD"})).url,fetch_json_remote=async eA=>{const AA=await fetch(eA);if(AA.ok)return JSON.parse(await AA.text())},fetch_package_json=async(eA,AA)=>{const[tA,gA,iA=""]=eA.split(eA.startsWith("@")?SCOPED_PKG_REGEX:PKG_REGEX),IA=`${AA}/${gA}`,BA=`${IA}/package.json`;if(JSON_PKG_CACHE.has(BA))return JSON_PKG_CACHE.get(BA);const sA=await fetch_json_remote(BA);if(sA!=null)return JSON_PKG_CACHE.set(BA,{base:IA,rest:iA,json:sA}),JSON_PKG_CACHE.get(BA)},resolve_id=eA=>({input:AA=>({resolved:AA}),hook:async(AA,tA)=>{if(AA.startsWith(INTERNAL_TAG)||AA.startsWith(USER_TAG))return AA;if(AA.startsWith(".")){if(tA!=null&&tA.startsWith(USER_TAG))return`${USER_TAG}${await resolve_local(AA,tA.slice(USER_TAG.length))}`;if(tA!=null&&tA.startsWith(RESOURCE_TAG))return`${RESOURCE_TAG}${await resolve_remote(AA,tA.slice(RESOURCE_TAG.length))}`}if(AA.startsWith("https://"))return null;const gA=await fetch_package_json(AA,eA.cdn_url);if(gA!=null){const iA=o$2(gA.json,gA.rest,{browser:!0,conditions:["svelte","production"]});if(iA!=null){if(Array.isArray(iA)&&iA.length>0)return`${RESOURCE_TAG}${await resolve_remote(`${gA.base}/${iA[0]}`)}`;if(typeof iA=="string")return`${RESOURCE_TAG}${await resolve_remote(`${gA.base}/${iA}`)}`}else{const IA=i$3(gA.json);if(IA!=null)return`${RESOURCE_TAG}${await resolve_remote(`${gA.base}/${IA}`)}`}}throw"unknown file, should be unreachable"}});function walk(eA,AA,tA){const gA=tA._;let iA=!1;function IA(sA,{next:CA,state:oA}){CA(oA)}function BA(sA,CA,oA){if(iA||!sA.type)return;let QA;const EA={},rA={path:CA,state:oA,next:(uA=oA)=>{CA.push(sA);for(const cA in sA){if(cA==="type")continue;const hA=sA[cA];if(hA&&typeof hA=="object")if(Array.isArray(hA)){const dA={};hA.forEach((pA,wA)=>{if(pA&&typeof pA=="object"){const mA=BA(pA,CA,uA);mA&&(dA[wA]=mA)}}),Object.keys(dA).length>0&&(EA[cA]=hA.map((pA,wA)=>dA[wA]??pA))}else{const dA=BA(hA,CA,uA);dA&&(EA[cA]=dA)}}if(CA.pop(),Object.keys(EA).length>0)return apply_mutations(sA,EA)},stop:()=>{iA=!0},visit:(uA,cA=oA)=>{CA.push(sA);const hA=BA(uA,CA,cA)??uA;return CA.pop(),hA}};let lA=tA[sA.type]??IA;if(gA){let uA;QA=gA(sA,{...rA,next:(cA=oA)=>(oA=cA,uA=lA(sA,{...rA,state:cA}),uA)}),!QA&&uA&&(QA=uA)}else QA=lA(sA,rA);if(QA||Object.keys(EA).length>0&&(QA=apply_mutations(sA,EA)),QA)return QA}return BA(eA,[],AA)??eA}function apply_mutations(eA,AA){const tA={},gA=Object.getOwnPropertyDescriptors(eA);for(const iA in gA)Object.defineProperty(tA,iA,gA[iA]);for(const iA in AA)tA[iA]=AA[iA];return tA}const regex_whitespace=/\s/,regex_whitespaces=/\s+/,regex_starts_with_newline=/^\r?\n/,regex_starts_with_whitespace=/^\s/,regex_starts_with_whitespaces=/^[ \t\r\n]+/,regex_ends_with_whitespace=/\s$/,regex_ends_with_whitespaces=/[ \t\r\n]+$/,regex_not_whitespace=/[^ \t\r\n]/,regex_whitespaces_strict=/[ \t\n\r\f]+/g,regex_only_whitespaces=/^[ \t\n\r\f]+$/,regex_not_newline_characters=/[^\n]/g,regex_is_valid_identifier=/^[a-zA-Z_$][a-zA-Z_$0-9]*$/,regex_invalid_identifier_chars=/(^[^a-zA-Z_$]|[^a-zA-Z0-9_$])/g,regex_starts_with_vowel=/^[aeiou]/,regex_heading_tags=/^h[1-6]$/,regex_illegal_attribute_character=/(^[0-9-.])|[\^$@%&#?!|()[\]{}^*+~;]/,EACH_ITEM_REACTIVE=1,EACH_INDEX_REACTIVE=2,EACH_IS_CONTROLLED=4,EACH_IS_ANIMATED=8,EACH_ITEM_IMMUTABLE=16,PROPS_IS_IMMUTABLE=1,PROPS_IS_RUNES=2,PROPS_IS_UPDATED=4,PROPS_IS_BINDABLE=8,PROPS_IS_LAZY_INITIAL=16,TRANSITION_IN=1,TRANSITION_OUT=2,TRANSITION_GLOBAL=4,TEMPLATE_FRAGMENT=1,TEMPLATE_USE_IMPORT_NODE=2,HYDRATION_START="[",HYDRATION_START_ELSE="[!",HYDRATION_END="]",ELEMENT_IS_NAMESPACED=1,ELEMENT_PRESERVE_ATTRIBUTE_CASE=2,NAMESPACE_SVG="http://www.w3.org/2000/svg",NAMESPACE_MATHML="http://www.w3.org/1998/Math/MathML",IGNORABLE_RUNTIME_WARNINGS=["state_snapshot_uncloneable","binding_property_non_reactive","hydration_attribute_changed","hydration_html_changed","ownership_invalid_binding","ownership_invalid_mutation"];function fuzzymatch(eA,AA){if(AA.length===0)return null;const gA=new FuzzySet(AA).get(eA);return gA&&gA[0][0]>.7?gA[0][1]:null}const GRAM_SIZE_LOWER=2,GRAM_SIZE_UPPER=3;function _distance(eA,AA){if(eA===null&&AA===null)throw"Trying to compare two null values";return eA===null||AA===null?0:(eA=String(eA),AA=String(AA),1-levenshtein(eA,AA)/Math.max(eA.length,AA.length))}function levenshtein(eA,AA){const tA=[];let gA=0,iA=0;for(let IA=0;IA<=AA.length;IA++)for(let BA=0;BA<=eA.length;BA++)IA&&BA?eA.charAt(BA-1)===AA.charAt(IA-1)?iA=gA:iA=Math.min(tA[BA],tA[BA-1],gA)+1:iA=IA+BA,gA=tA[BA],tA[BA]=iA;return tA.pop()}const non_word_regex=/[^\w, ]+/;function iterate_grams(eA,AA=2){const tA="-"+eA.toLowerCase().replace(non_word_regex,"")+"-",gA=AA-tA.length,iA=[];if(gA>0)for(let IA=0;IA<gA;++IA)eA+="-";for(let IA=0;IA<tA.length-AA+1;++IA)iA.push(tA.slice(IA,IA+AA));return iA}function gram_counter(eA,AA=2){const tA={},gA=iterate_grams(eA,AA);let iA=0;for(iA;iA<gA.length;++iA)gA[iA]in tA?tA[gA[iA]]+=1:tA[gA[iA]]=1;return tA}function sort_descending(eA,AA){return AA[0]-eA[0]}class FuzzySet{constructor(AA){rg(this,"exact_set",{});rg(this,"match_dict",{});rg(this,"items",{});for(let tA=GRAM_SIZE_LOWER;tA<GRAM_SIZE_UPPER+1;++tA)this.items[tA]=[];for(let tA=0;tA<AA.length;++tA)this.add(AA[tA])}add(AA){if(AA.toLowerCase()in this.exact_set)return!1;let gA=GRAM_SIZE_LOWER;for(gA;gA<GRAM_SIZE_UPPER+1;++gA)this._add(AA,gA)}_add(AA,tA){const gA=AA.toLowerCase(),iA=this.items[tA]||[],IA=iA.length;iA.push(0);const BA=gram_counter(gA,tA);let sA=0,CA,oA;for(CA in BA)oA=BA[CA],sA+=Math.pow(oA,2),CA in this.match_dict?this.match_dict[CA].push([IA,oA]):this.match_dict[CA]=[[IA,oA]];const QA=Math.sqrt(sA);iA[IA]=[QA,gA],this.items[tA]=iA,this.exact_set[gA]=AA}get(AA){const tA=AA.toLowerCase(),gA=this.exact_set[tA];if(gA)return[[1,gA]];for(let iA=GRAM_SIZE_UPPER;iA>=GRAM_SIZE_LOWER;--iA){const IA=this.__get(AA,iA);if(IA.length>0)return IA}return null}__get(AA,tA){const gA=AA.toLowerCase(),iA={},IA=gram_counter(gA,tA),BA=this.items[tA];let sA=0,CA,oA,QA,EA,rA;for(CA in IA)if(oA=IA[CA],sA+=Math.pow(oA,2),CA in this.match_dict)for(QA=0;QA<this.match_dict[CA].length;++QA)EA=this.match_dict[CA][QA][0],rA=this.match_dict[CA][QA][1],EA in iA?iA[EA]+=oA*rA:iA[EA]=oA*rA;const lA=Math.sqrt(sA);let uA=[],cA;for(const pA in iA)cA=iA[pA],uA.push([cA/(lA*BA[pA][0]),BA[pA][1]]);uA.sort(sort_descending);let hA=[];const dA=Math.min(50,uA.length);for(let pA=0;pA<dA;++pA)hA.push([_distance(uA[pA][1],gA),uA[pA][1]]);uA=hA,uA.sort(sort_descending),hA=[];for(let pA=0;pA<uA.length;++pA)uA[pA][0]===uA[0][0]&&hA.push([uA[pA][0],this.exact_set[uA[pA][1]]]);return hA}}function rangeContains(eA,AA){return eA.start<=AA&&AA<eA.end}function getLocator$1(eA,AA={}){const{offsetLine:tA=0,offsetColumn:gA=0}=AA;let iA=0;const IA=eA.split(`
|
|
21
21
|
`).map((CA,oA)=>{const QA=iA+CA.length+1,EA={start:iA,end:QA,line:oA};return iA=QA,EA});let BA=0;function sA(CA,oA){if(typeof CA=="string"&&(CA=eA.indexOf(CA,oA??0)),CA===-1)return;let QA=IA[BA];const EA=CA>=QA.end?1:-1;for(;QA;){if(rangeContains(QA,CA))return{line:tA+QA.line,column:gA+CA-QA.start,character:CA};BA+=EA,QA=IA[BA]}}return sA}let warnings=[],filename,source,dev,locator=getLocator$1("",{offsetLine:1}),warning_filter,ignore_stack=[],ignore_map=new Map;function push_ignore(eA){const AA=new Set([...ignore_stack.at(-1)||[],...eA]);ignore_stack.push(AA)}function pop_ignore(){ignore_stack.pop()}function reset_warning_filter(eA=()=>!0){warning_filter=eA}function is_ignored(eA,AA){var tA;return dev&&!!((tA=ignore_map.get(eA))!=null&&tA.some(gA=>gA.has(AA)))}function reset(eA,AA){var gA;source=eA;const tA=(gA=AA.rootDir)==null?void 0:gA.replace(/\\/g,"/");filename=AA.filename.replace(/\\/g,"/"),dev=!!AA.dev,typeof tA=="string"&&filename.startsWith(tA)&&(filename=filename.replace(tA,"").replace(/^[/\\]/,"")),locator=getLocator$1(source,{offsetLine:1}),warnings=[],ignore_stack=[],ignore_map.clear()}const regex_tabs=/^\t+/;function tabs_to_spaces(eA){return eA.replace(regex_tabs,AA=>AA.split(" ").join(" "))}function get_code_frame(eA,AA,tA){const gA=eA.split(`
|
|
22
22
|
`),iA=Math.max(0,AA-2),IA=Math.min(AA+3,gA.length),BA=String(IA+1).length;return gA.slice(iA,IA).map((sA,CA)=>{const oA=iA+CA===AA,QA=String(CA+iA+1).padStart(BA," ");if(oA){const EA=" ".repeat(BA+2+tabs_to_spaces(sA.slice(0,tA)).length)+"^";return`${QA}: ${tabs_to_spaces(sA)}
|
package/assets/index.html
CHANGED
|
@@ -20,7 +20,7 @@
|
|
|
20
20
|
<script type="module" defer>
|
|
21
21
|
import { create_component } from "/assets/index.js";
|
|
22
22
|
const params = new URLSearchParams(location.search);
|
|
23
|
-
const
|
|
23
|
+
const destroy = await create_component(document.getElementById("xit"), {
|
|
24
24
|
server: `${location.host}/ws`,
|
|
25
25
|
frame: params.get("frame") ?? "demo",
|
|
26
26
|
tag: params.get("tag"),
|
package/assets/index.js
CHANGED
|
@@ -2860,29 +2860,31 @@ const protobufjs = /* @__PURE__ */ getDefaultExportFromCjs(light), proto_data =
|
|
|
2860
2860
|
}, h = (y) => y in d ? d[y]() : import(
|
|
2861
2861
|
/* @vite-ignore */
|
|
2862
2862
|
y
|
|
2863
|
-
), { action: c } = await l(h)
|
|
2864
|
-
|
|
2865
|
-
nil_xit_proto.FrameLoaded.encode({ id: e, tag: n }).finish()
|
|
2866
|
-
]);
|
|
2867
|
-
return s.start(), s.on_connect(() => {
|
|
2863
|
+
), { action: c } = await l(h);
|
|
2864
|
+
s.on_connect(() => {
|
|
2868
2865
|
const y = concat([
|
|
2869
2866
|
header(nil_xit_proto.MessageType.MessageType_FrameSubscribe),
|
|
2870
2867
|
nil_xit_proto.FrameLoaded.encode({ id: e, tag: n }).finish()
|
|
2871
2868
|
]);
|
|
2872
2869
|
s.publish(y);
|
|
2873
|
-
}),
|
|
2870
|
+
}), s.start();
|
|
2871
|
+
const p = concat([
|
|
2872
|
+
header(nil_xit_proto.MessageType.MessageType_FrameLoaded),
|
|
2873
|
+
nil_xit_proto.FrameLoaded.encode({ id: e, tag: n }).finish()
|
|
2874
|
+
]);
|
|
2875
|
+
return service_publish(t, p), (y) => {
|
|
2874
2876
|
const _ = /* @__PURE__ */ new Map();
|
|
2875
2877
|
_.set("nil.xit", {
|
|
2876
2878
|
values: create_context_values(o),
|
|
2877
2879
|
signals: create_context_signals(r),
|
|
2878
2880
|
frame_ui: u,
|
|
2879
|
-
frame: a
|
|
2881
|
+
frame: a,
|
|
2882
|
+
resub: () => s.start(),
|
|
2883
|
+
unsub: () => s.stop()
|
|
2880
2884
|
});
|
|
2881
|
-
const
|
|
2882
|
-
return {
|
|
2883
|
-
|
|
2884
|
-
s.stop(), v();
|
|
2885
|
-
}
|
|
2885
|
+
const v = c(y, _);
|
|
2886
|
+
return () => {
|
|
2887
|
+
s.stop(), v();
|
|
2886
2888
|
};
|
|
2887
2889
|
};
|
|
2888
2890
|
}, create_frame = async ({
|
|
@@ -2895,17 +2897,24 @@ const protobufjs = /* @__PURE__ */ getDefaultExportFromCjs(light), proto_data =
|
|
|
2895
2897
|
const u = new Service$1(f), [a, t] = await Promise.all([
|
|
2896
2898
|
make_values({ id: e, tag: n ?? null, host: i, service: u }),
|
|
2897
2899
|
make_signals({ id: e, tag: n ?? null, host: i, service: u })
|
|
2898
|
-
]), s = concat([
|
|
2899
|
-
header(nil_xit_proto.MessageType.MessageType_FrameLoaded),
|
|
2900
|
-
nil_xit_proto.FrameLoaded.encode({ id: e, tag: n ?? null }).finish()
|
|
2901
2900
|
]);
|
|
2902
|
-
|
|
2901
|
+
u.on_connect(() => {
|
|
2903
2902
|
const o = concat([
|
|
2904
2903
|
header(nil_xit_proto.MessageType.MessageType_FrameSubscribe),
|
|
2905
2904
|
nil_xit_proto.FrameLoaded.encode({ id: e, tag: n ?? null }).finish()
|
|
2906
2905
|
]);
|
|
2907
2906
|
u.publish(o);
|
|
2908
|
-
}),
|
|
2907
|
+
}), u.start();
|
|
2908
|
+
const s = concat([
|
|
2909
|
+
header(nil_xit_proto.MessageType.MessageType_FrameLoaded),
|
|
2910
|
+
nil_xit_proto.FrameLoaded.encode({ id: e, tag: n ?? null }).finish()
|
|
2911
|
+
]);
|
|
2912
|
+
return service_publish(f, s), {
|
|
2913
|
+
values: create_context_values(a),
|
|
2914
|
+
signals: create_context_signals(t),
|
|
2915
|
+
resub: () => u.start(),
|
|
2916
|
+
unsub: () => u.stop()
|
|
2917
|
+
};
|
|
2909
2918
|
}, create_frame_ui = async ({
|
|
2910
2919
|
server: i,
|
|
2911
2920
|
cdn_url: e,
|
package/index.d.ts
CHANGED
|
@@ -1,6 +1,4 @@
|
|
|
1
|
-
export type Action<T> = (target: T) =>
|
|
2
|
-
destroy: () => void;
|
|
3
|
-
};
|
|
1
|
+
export type Action<T> = (target: T) => () => void;
|
|
4
2
|
export type Writable<T> = {
|
|
5
3
|
set: (v: T) => void;
|
|
6
4
|
subscribe: (cb: (v: T) => void) => () => void;
|
|
@@ -27,14 +25,19 @@ export type Signals = {
|
|
|
27
25
|
buffer: (t: string) => (v: Uint8Array) => void;
|
|
28
26
|
json: (t: string, encoder: CoDec["encode"]) => (v: any) => void;
|
|
29
27
|
};
|
|
30
|
-
export type
|
|
28
|
+
export type Frame = {
|
|
29
|
+
values: Values;
|
|
30
|
+
signals: Signals;
|
|
31
|
+
resub: () => void;
|
|
32
|
+
unsub: () => void;
|
|
33
|
+
};
|
|
34
|
+
export type Context = {
|
|
31
35
|
values: Values;
|
|
32
36
|
signals: Signals;
|
|
33
37
|
frame_ui: (f: string, tag?: string) => Promise<Action<HTMLDivElement>>;
|
|
34
|
-
frame: (f: string, tag?: string) => Promise<
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
}>;
|
|
38
|
+
frame: (f: string, tag?: string) => Promise<Frame>;
|
|
39
|
+
resub: () => void;
|
|
40
|
+
unsub: () => void;
|
|
38
41
|
};
|
|
39
42
|
export declare const json_string: CoDec;
|
|
40
|
-
export declare const xit: () =>
|
|
43
|
+
export declare const xit: () => Context;
|