svelte-origin 1.0.0-next.48 → 1.0.0-next.49
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/LLM.md +545 -540
- package/README.md +678 -678
- package/dist/cli.js +46 -46
- package/dist/globals.d.ts +649 -649
- package/dist/index.d.ts +1 -1
- package/dist/index.js +66 -66
- package/dist/plugin.js +39 -39
- package/dist/post-process.js +46 -46
- package/dist/preprocess.js +42 -42
- package/dist/runtime/index.js +1 -1
- package/dist/runtime/origin.d.ts +5 -7
- package/dist/runtime-inline.d.ts +4 -5
- package/dist/runtime-inline.min.js +1 -1
- package/dist/schema-resolver.d.ts +13 -0
- package/dist/transform/schema-codegen.d.ts +5 -0
- package/dist/vite-dts.js +7 -7
- package/package.json +1 -1
package/dist/runtime/origin.d.ts
CHANGED
|
@@ -123,15 +123,13 @@ export declare function getMergedAttrSchemaFromAttrs(factory: AttrsFactory<any>,
|
|
|
123
123
|
*/
|
|
124
124
|
declare const BINDABLE_MARKER: unique symbol;
|
|
125
125
|
/**
|
|
126
|
-
* Marker
|
|
127
|
-
* Uses mapped type instead of interface to support computed property key.
|
|
126
|
+
* Marker interface for bindable props.
|
|
128
127
|
*/
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
} & {
|
|
128
|
+
interface BindableMarker<T> {
|
|
129
|
+
[BINDABLE_MARKER]: true;
|
|
132
130
|
get: () => T;
|
|
133
131
|
set: (value: T) => void;
|
|
134
|
-
}
|
|
132
|
+
}
|
|
135
133
|
/**
|
|
136
134
|
* Create a bindable prop marker for use in $origin.create() props.
|
|
137
135
|
*
|
|
@@ -169,4 +167,4 @@ export declare function __bindable<T>(get: () => T, set: (value: T) => void): Bi
|
|
|
169
167
|
* // Transforms to:
|
|
170
168
|
* this.child = __createOriginInstance(Counter, { count: __bindable(() => myCount, (v) => { myCount = v }) })
|
|
171
169
|
*/
|
|
172
|
-
export declare function __createOriginInstance<T extends OriginFactory<any, any>>(
|
|
170
|
+
export declare function __createOriginInstance<T extends OriginFactory<any, any>>(factory: T, props: Record<string, any>): ReturnType<T>;
|
package/dist/runtime-inline.d.ts
CHANGED
|
@@ -107,12 +107,11 @@ export declare function __createAttrs<TAttrs extends Record<string, any>>(config
|
|
|
107
107
|
__parents?: AttrsFactory<any>[];
|
|
108
108
|
}): AttrsFactory<TAttrs>;
|
|
109
109
|
declare const BINDABLE_MARKER: unique symbol;
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
} & {
|
|
110
|
+
interface BindableMarker<T> {
|
|
111
|
+
[BINDABLE_MARKER]: true;
|
|
113
112
|
get: () => T;
|
|
114
113
|
set: (value: T) => void;
|
|
115
|
-
}
|
|
114
|
+
}
|
|
116
115
|
export declare function __bindable<T>(get: () => T, set: (value: T) => void): BindableMarker<T>;
|
|
117
|
-
export declare function __createOriginInstance<T extends OriginFactory<any, any>>(
|
|
116
|
+
export declare function __createOriginInstance<T extends OriginFactory<any, any>>(factory: T, props: Record<string, any>): ReturnType<T>;
|
|
118
117
|
export {};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{createAttachmentKey as
|
|
1
|
+
import{createAttachmentKey as P}from"svelte/attachments";function V(H,J){let C=J&&typeof J==="object"?J:{},U={},X=new Set;return new Proxy(C,{get(Q,z){if(X.has(z))return U[z];if(typeof z==="symbol")return Q[z];let Y=Q[z];if(Y===void 0&&z in H&&H[z].hasDefault)return H[z].default;return Y},set(Q,z,Y){U[z]=Y;try{Q[z]=Y}catch{X.add(z)}return!0},has(Q,z){return typeof z==="symbol"?z in Q:(z in Q)||(z in H)},ownKeys(Q){return[...new Set([...Reflect.ownKeys(Q),...Object.keys(H)])]},getOwnPropertyDescriptor(Q,z){if(typeof z==="symbol")return Object.getOwnPropertyDescriptor(Q,z);if(z in Q)return Object.getOwnPropertyDescriptor(Q,z);if(z in H)return{configurable:!0,enumerable:!0,value:H[z].hasDefault?H[z].default:void 0};return}})}function E(H,J=new Set){if(J.has(H))return{};J.add(H);let C=H.__parents||[],U={};for(let X of C)Object.assign(U,E(X,J));return Object.assign(U,H.__attrSchema),U}function S(H,J,C=new Set){let U={};for(let X of J){if(C.has(X))continue;Object.assign(U,E(X,new Set(C)))}return Object.assign(U,H),U}function k(H){let{__attrSchema:J,__parents:C=[],__create:U,__onInit:X,__attachments:Q={}}=H;function z(Y,...N){let G,q;if(Y===null||Y===void 0)G={},q=N;else if(typeof Y!=="object"||Array.isArray(Y))G={},q=[Y,...N];else G=Y,q=N;let j=S(J,C),b=V(j,G),B=C.map((Z)=>Z(b)),F=B.length===1?B[0]:B.length>1?B:void 0,D=U(b,F);if(D===null||D===void 0)throw Error("[svelte-origin] __create returned null/undefined");let R=D,T=F?new Proxy(R,{get(Z,$,L){if($ in Z){let x=Reflect.get(Z,$,L);return typeof x==="function"?x.bind(L):x}if(F&&$ in F){let x=Reflect.get(F,$,F);return typeof x==="function"?x.bind(F):x}return},has(Z,$){return $ in Z||F&&$ in F},ownKeys(Z){let $=Reflect.ownKeys(Z);return F?[...new Set([...$,...Reflect.ownKeys(F)])]:$},getOwnPropertyDescriptor(Z,$){return Reflect.getOwnPropertyDescriptor(Z,$)||(F?Reflect.getOwnPropertyDescriptor(F,$):void 0)}}):R;if(X){let Z=X.call(T,...q);if(typeof Z==="function")Object.defineProperty(T,"__cleanup",{value:Z,writable:!0,enumerable:!0,configurable:!0})}let K=new Map;for(let Z of Object.keys(Q))K.set(Z,P());return Object.defineProperty(T,"$attachments",{get(){let Z={};for(let[$,L]of Object.entries(Q))Z[K.get($)]=(x)=>L.call(T,x);for(let $ of Object.getOwnPropertySymbols(G)){let L=G[$];if(typeof L==="function")Z[$]=L}return Z},enumerable:!0,configurable:!0}),T}if(Object.defineProperty(z,"__origin",{value:!0,writable:!1,enumerable:!0}),Object.defineProperty(z,"__attrSchema",{value:J,writable:!1,enumerable:!0}),Object.defineProperty(z,"__parents",{value:C,writable:!1,enumerable:!0}),Object.defineProperty(z,"__create",{value:U,writable:!1,enumerable:!0}),X)Object.defineProperty(z,"__onInit",{value:X,writable:!1,enumerable:!0});return z}function _(H,J){let U=E(H),X={},Q=new Set,z=(G,q)=>{X[G]=q;try{return J[G]=q,!0}catch{return Q.add(G),!1}},Y={},N=(G,q)=>{if(Object.prototype.hasOwnProperty.call(Y,G))return;let j={get(){return Q.has(G)?X[G]:J[G]},enumerable:!0,configurable:!0};if(q.bindable)j.set=function(b){z(G,b)};Object.defineProperty(Y,G,j)};for(let[G,q]of Object.entries(U)){let j=J[G];if(!q.bindable||!q.hasDefault||j!==void 0)N(G,q)}for(let G of Object.getOwnPropertySymbols(J))Object.defineProperty(Y,G,{get(){return J[G]},enumerable:!1,configurable:!0});return new Proxy(Y,{get(G,q){if(typeof q==="string"){if(Q.has(q))return X[q];if(q in U)return J[q]}return q in G?G[q]:J[q]},set(G,q,j){if(typeof q==="string"&&q in U){if(!Object.prototype.hasOwnProperty.call(Y,q))N(q,U[q]);if(U[q].bindable)z(q,j);return!0}if(q in G){try{G[q]=j}catch{}return!0}try{J[q]=j}catch{if(typeof q==="string")X[q]=j,Q.add(q)}return!0},has(G,q){return q in G||q in J},ownKeys(){return[...Object.keys(Y),...Object.getOwnPropertySymbols(J)]},getOwnPropertyDescriptor(G,q){return q in G?Object.getOwnPropertyDescriptor(G,q):Object.getOwnPropertyDescriptor(J,q)}})}function w(H){return{__attrs:!0,__attrSchema:H.__attrSchema,__parents:H.__parents||[]}}var M=Symbol.for("svelte-origin:bindable");function I(H,J){return{[M]:!0,get:H,set:J}}function W(H){return H!==null&&typeof H==="object"&&M in H}function d(H,J){let C={};for(let[U,X]of Object.entries(J))if(W(X))Object.defineProperty(C,U,{get(){return X.get()},set(Q){X.set(Q)},enumerable:!0,configurable:!0});else Object.defineProperty(C,U,{get(){return X},enumerable:!0,configurable:!0});return H(C)}export{d as __createOriginInstance,k as __createOrigin,w as __createAttrs,I as __bindable,_ as __attrsFor};
|
|
@@ -27,6 +27,19 @@ export interface SchemaResolverOptions {
|
|
|
27
27
|
*/
|
|
28
28
|
moduleImports?: Map<string, string>;
|
|
29
29
|
}
|
|
30
|
+
/**
|
|
31
|
+
* Invalidate cache entries for a specific file.
|
|
32
|
+
* This is called when a file changes to ensure stale schemas are not served.
|
|
33
|
+
*
|
|
34
|
+
* @param filePath The absolute path of the file that changed
|
|
35
|
+
* @param cache The schema cache to invalidate entries from
|
|
36
|
+
*/
|
|
37
|
+
export declare function invalidateCacheForFile(filePath: string, cache: Map<string, ParsedOriginSchema | null>): void;
|
|
38
|
+
/**
|
|
39
|
+
* Reset mtime tracking for testing purposes.
|
|
40
|
+
* This clears all cached mtime data to ensure clean test state.
|
|
41
|
+
*/
|
|
42
|
+
export declare function resetMtimeTracking(): void;
|
|
30
43
|
/**
|
|
31
44
|
* Resolve a schema from an import path, recursively resolving parent schemas.
|
|
32
45
|
* This is the core schema resolution logic shared between preprocessor and plugin.
|
|
@@ -18,6 +18,11 @@ export interface GeneratePropsDestructuringOptions {
|
|
|
18
18
|
* Defaults to true (new API).
|
|
19
19
|
*/
|
|
20
20
|
useNewApi?: boolean;
|
|
21
|
+
/**
|
|
22
|
+
* If true, uses `$$Props` as the type annotation instead of generating one.
|
|
23
|
+
* This is used when the user has already declared their own `$$Props` type.
|
|
24
|
+
*/
|
|
25
|
+
useUserPropsType?: boolean;
|
|
21
26
|
}
|
|
22
27
|
/**
|
|
23
28
|
* Generate $props() destructuring code from parsed attrs
|
package/dist/vite-dts.js
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import{existsSync as
|
|
2
|
-
`,Y+2);if($===-1)return Z>Y;if(Z>Y&&Z<=$)return!0;Y=$+1;continue}if(X==="/"&&Q[Y+1]==="*"){let $=Q.indexOf("*/",Y+2);if($===-1)return Z>Y;if(Z>Y&&Z<$+2)return!0;Y=$+2;continue}if(X==='"'||X==="'"||X==="`"){let $=X,_=Y;Y++;while(Y<Q.length){if(Q[Y]==="\\"){Y+=2;continue}if(Q[Y]===$){if(Z>_&&Z<=Y)return!0;Y++;break}if($==="`"&&Q[Y]==="$"&&Q[Y+1]==="{"){let G=Y;Y+=2;let H=1;while(Y<Q.length&&H>0){if(Q[Y]==="{")H++;else if(Q[Y]==="}")H--;else if(Q[Y]==="\\")Y++;Y++}if(Z>_&&Z<G)return!0;continue}Y++}continue}Y++}return!1}function
|
|
3
|
-
`,_+2);if(H!==-1)_=H;else _=Q.length;continue}if(G==="/"&&Q[_+1]==="*"){let H=Q.indexOf("*/",_+2);if(H!==-1)_=H+1;else _=Q.length;continue}if(G==='"'||G==="'"||G==="`"){let H=G;_++;while(_<Q.length&&Q[_]!==H){if(Q[_]==="\\")_++;_++}continue}if(G===Y)$++;else if(G===X){if($--,$===0)return _}}return-1}function
|
|
4
|
-
`);if(X!==-1){Z=Z.slice(X+1).trim();continue}Z="";break}break}let Y=Z.indexOf("*/");if(Y!==-1){let X=Z.slice(Y+2).trim();if(X.match(/^(\w+)\s*:/))Z=X}return Z}function
|
|
5
|
-
`,_+2);if(z!==-1)Y+=Q.slice(_,z+1),_=z+1;else Y+=Q.slice(_),_=Q.length;continue}if(G==="/"&&Q[_+1]==="*"){let z=Q.indexOf("*/",_+2);if(z!==-1)Y+=Q.slice(_,z+2),_=z+2;else Y+=Q.slice(_),_=Q.length;continue}if(G==='"'||G==="'"||G==="`"){let z=G;Y+=G,_++;while(_<Q.length&&Q[_]!==z){if(Q[_]==="\\")Y+=Q[_],_++;if(_<Q.length)Y+=Q[_],_++}if(_<Q.length)Y+=Q[_],_++;continue}if(G==="<"){let z=Y.length>0?Y[Y.length-1]:"";if(/[\w$)]/.test(z))$++;Y+=G,_++;continue}if(G===">"){if(_>0&&Q[_-1]==="="){Y+=G,_++;continue}if($>0)$--;Y+=G,_++;continue}if(G==="{"||G==="("||G==="[")X++,Y+=G;else if(G==="}"||G===")"||G==="]")X--,Y+=G;else if(G===","&&X===0&&$===0)Z.push(Y),Y="";else Y+=G;_++}if(Y.trim())Z.push(Y);return Z}function
|
|
1
|
+
import{existsSync as zQ}from"node:fs";import{writeFile as gQ,unlink as fQ}from"node:fs/promises";var JQ={hasMacros:/\$origin\s*[.(]/,origin:/\$origin\s*\(/g,originWithParents:/\$origin\s*\(\s*\[/,originPropsInOrigin:/\$origin\s*\.\s*props\s*\(\s*\{/g,standaloneOriginProps:/(?:let|const|export\s+const|export\s+let)\s+\w+\s*=\s*\$origin\s*\.\s*props\s*\(/g,bindableInAttrs:/\$bindable\s*\(/g,originComponent:/\$origin\s*\.\s*component\s*\(\s*(\w+)\s*\)/g,originCreate:/\$origin\s*\.\s*create\s*\(\s*(\w+)\s*(?:,\s*(\{[^}]*\}))?\s*\)/g,originBind:/\$origin\s*\.\s*bind\s*\(\s*([^)]+)\s*\)/g,originForOrigin:/\$origin\s*\.\s*for\s*\(\s*(\w+)\s*\)/g,originForElement:/\$origin\s*\.\s*for\s*\(\s*['"]([\w-]+)['"]\s*\)/g};function lQ(Q){return JQ.hasMacros.test(Q)}function dQ(Q,Z){let Y=0;while(Y<Z){let X=Q[Y];if(X==="/"&&Q[Y+1]==="/"){let $=Q.indexOf(`
|
|
2
|
+
`,Y+2);if($===-1)return Z>Y;if(Z>Y&&Z<=$)return!0;Y=$+1;continue}if(X==="/"&&Q[Y+1]==="*"){let $=Q.indexOf("*/",Y+2);if($===-1)return Z>Y;if(Z>Y&&Z<$+2)return!0;Y=$+2;continue}if(X==='"'||X==="'"||X==="`"){let $=X,_=Y;Y++;while(Y<Q.length){if(Q[Y]==="\\"){Y+=2;continue}if(Q[Y]===$){if(Z>_&&Z<=Y)return!0;Y++;break}if($==="`"&&Q[Y]==="$"&&Q[Y+1]==="{"){let G=Y;Y+=2;let H=1;while(Y<Q.length&&H>0){if(Q[Y]==="{")H++;else if(Q[Y]==="}")H--;else if(Q[Y]==="\\")Y++;Y++}if(Z>_&&Z<G)return!0;continue}Y++}continue}Y++}return!1}function p(Q){if(!Q.startsWith("$bindable"))return{isBindable:!1};let Z=9;if(Q[Z]==="<"){let _=1;Z++;while(Z<Q.length&&_>0){let G=Q[Z];if(G==="="&&Q[Z+1]===">"){Z+=2;continue}if(G==="<")_++;else if(G===">")_--;Z++}}while(Z<Q.length&&/\s/.test(Q[Z]))Z++;if(Q[Z]!=="(")return{isBindable:!1};let Y=Z,X=T(Q,Y);if(X===-1)return{isBindable:!1};return{isBindable:!0,innerValue:Q.slice(Y+1,X).trim()||"undefined"}}function c(Q){let Z=0,Y=0;for(let X=0;X<Q.length-4;X++){let $=Q[X];if($==='"'||$==="'"||$==="`"){let _=$;X++;while(X<Q.length&&Q[X]!==_){if(Q[X]==="\\")X++;X++}continue}if($==="{"||$==="("||$==="[")Z++;else if($==="}"||$===")"||$==="]")Z--;else if($==="<"){let _=X>0?Q[X-1]:"";if(/[\w$)]/.test(_))Y++}else if($===">"){if(X>0&&Q[X-1]==="=")continue;if(Y>0)Y--}else if(Z===0&&Y===0&&Q.slice(X,X+4)===" as ")return X}return-1}function T(Q,Z,Y="(",X=")"){let $=0;for(let _=Z;_<Q.length;_++){let G=Q[_];if(G==="/"&&Q[_+1]==="/"){let H=Q.indexOf(`
|
|
3
|
+
`,_+2);if(H!==-1)_=H;else _=Q.length;continue}if(G==="/"&&Q[_+1]==="*"){let H=Q.indexOf("*/",_+2);if(H!==-1)_=H+1;else _=Q.length;continue}if(G==='"'||G==="'"||G==="`"){let H=G;_++;while(_<Q.length&&Q[_]!==H){if(Q[_]==="\\")_++;_++}continue}if(G===Y)$++;else if(G===X){if($--,$===0)return _}}return-1}function n(Q){let Z=Q.trim();while(!0){if(Z.startsWith("/*")){let X=Z.indexOf("*/");if(X!==-1){Z=Z.slice(X+2).trim();continue}break}if(Z.startsWith("//")){let X=Z.indexOf(`
|
|
4
|
+
`);if(X!==-1){Z=Z.slice(X+1).trim();continue}Z="";break}break}let Y=Z.indexOf("*/");if(Y!==-1){let X=Z.slice(Y+2).trim();if(X.match(/^(\w+)\s*:/))Z=X}return Z}function WQ(Q){let Z=0,Y=0;while(Z<Q.length){let X=Q[Z];if(X==='"'||X==="'"||X==="`"){let _=X;Z++;while(Z<Q.length&&Q[Z]!==_){if(Q[Z]==="\\")Z++;Z++}Z++;continue}if(X==="/"&&Q[Z+1]==="*"){Y++,Z+=2;continue}if(X==="*"&&Q[Z+1]==="/")if(Y>0){Y--,Z+=2;continue}else return qQ(Q,Z);Z++}return-1}function qQ(Q,Z){let Y=Z-1;while(Y>=0&&/\s/.test(Q[Y]))Y--;let X=Q.slice(0,Y+1),$=0,_=0;while(_<X.length){let G=X[_];if(G==='"'||G==="'"||G==="`"){let q=G;_++;while(_<X.length&&X[_]!==q){if(X[_]==="\\")_++;_++}if(_<X.length)$=_+1,_++;continue}if(G==="{"||G==="("||G==="["){let q=G,w=G==="{"?"}":G==="("?")":"]",O=1;_++;while(_<X.length&&O>0){let K=X[_];if(K===q)O++;else if(K===w){if(O--,O===0)$=_+1}else if(K==='"'||K==="'"||K==="`"){let F=K;_++;while(_<X.length&&X[_]!==F){if(X[_]==="\\")_++;_++}}_++}continue}let z=X.slice(_),W=z.match(/^(true|false|null|undefined)\b/);if(W){_+=W[0].length;let q=X.slice(_);if(/^\s+[\w$]/.test(q)){$=_;break}$=_;continue}let U=z.match(/^-?\d+(\.\d+)?/);if(U){_+=U[0].length;let q=X.slice(_);if(/^\s+[\w$]/.test(q)){$=_;break}$=_;continue}let J=z.match(/^[\w$]+/);if(J){_+=J[0].length;let q=X.slice(_);if(/^\s+[\w$]/.test(q)){$=_;break}$=_;continue}_++}return $>0?$:Z}function i(Q){let Z=Q.trim(),Y=WQ(Z);if(Y!==-1)Z=Z.slice(0,Y).trim();let X=0;while(X<Z.length){let $=Z[X];if($==='"'||$==="'"||$==="`"){let G=$;X++;while(X<Z.length&&Z[X]!==G){if(Z[X]==="\\")X++;X++}X++;continue}if($==="{"||$==="("||$==="["){let G=1;X++;while(X<Z.length&&G>0){let H=Z[X];if(H==="{"||H==="("||H==="[")G++;else if(H==="}"||H===")"||H==="]")G--;else if(H==='"'||H==="'"||H==="`"){let z=H;X++;while(X<Z.length&&Z[X]!==z){if(Z[X]==="\\")X++;X++}}X++}continue}if($==="/"&&Z[X+1]==="*"){Z=Z.slice(0,X).trim();break}if($==="/"&&Z[X+1]==="/"){Z=Z.slice(0,X).trim();break}X++}return Z}function s(Q){let Z=[],Y="",X=0,$=0,_=0;while(_<Q.length){let G=Q[_];if(G==="/"&&Q[_+1]==="/"){let z=Q.indexOf(`
|
|
5
|
+
`,_+2);if(z!==-1)Y+=Q.slice(_,z+1),_=z+1;else Y+=Q.slice(_),_=Q.length;continue}if(G==="/"&&Q[_+1]==="*"){let z=Q.indexOf("*/",_+2);if(z!==-1)Y+=Q.slice(_,z+2),_=z+2;else Y+=Q.slice(_),_=Q.length;continue}if(G==='"'||G==="'"||G==="`"){let z=G;Y+=G,_++;while(_<Q.length&&Q[_]!==z){if(Q[_]==="\\")Y+=Q[_],_++;if(_<Q.length)Y+=Q[_],_++}if(_<Q.length)Y+=Q[_],_++;continue}if(G==="<"){let z=Y.length>0?Y[Y.length-1]:"";if(/[\w$)]/.test(z))$++;Y+=G,_++;continue}if(G===">"){if(_>0&&Q[_-1]==="="){Y+=G,_++;continue}if($>0)$--;Y+=G,_++;continue}if(G==="{"||G==="("||G==="[")X++,Y+=G;else if(G==="}"||G===")"||G==="]")X--,Y+=G;else if(G===","&&X===0&&$===0)Z.push(Y),Y="";else Y+=G;_++}if(Y.trim())Z.push(Y);return Z}function g(Q,Z){let Y=wQ(Q,Z);if(Y)return Y;let X=LQ(Q,Z);if(X)return X;return null}function v(Q,Z){let Y=UQ(Q,Z);if(Y)return Y;let X=OQ(Q,Z);if(X)return X;return null}function I(Q,Z){let Y=[new RegExp(`import\\s*\\{[^}]*\\b${Z}\\b[^}]*\\}\\s*from\\s*['"]([^'"]+)['"]`),new RegExp(`import\\s+type\\s*\\{[^}]*\\b${Z}\\b[^}]*\\}\\s*from\\s*['"]([^'"]+)['"]`),new RegExp(`import\\s*\\{[^}]*\\bas\\s+${Z}\\b[^}]*\\}\\s*from\\s*['"]([^'"]+)['"]`),new RegExp(`import\\s+type\\s*\\{[^}]*\\bas\\s+${Z}\\b[^}]*\\}\\s*from\\s*['"]([^'"]+)['"]`),new RegExp(`import\\s+${Z}\\s+from\\s*['"]([^'"]+)['"]`),new RegExp(`import\\s*\\*\\s*as\\s+${Z}\\s+from\\s*['"]([^'"]+)['"]`),new RegExp(`export\\s*\\{[^}]*\\b${Z}\\b[^}]*\\}\\s*from\\s*['"]([^'"]+)['"]`),new RegExp(`export\\s*\\{[^}]*\\bas\\s+${Z}\\b[^}]*\\}\\s*from\\s*['"]([^'"]+)['"]`)];for(let X of Y){let $=X.exec(Q);if($)return $[1]}return null}function UQ(Q,Z){let X=new RegExp(`export\\s+(?:const|var|let)\\s+${Z}\\s*=\\s*\\$origin\\s*\\.\\s*props\\s*\\(`,"s").exec(Q);if(!X)return null;let $=X.index+X[0].length-1,_=T(Q,$);if(_===-1)return null;let G=Q.slice($+1,_).trim(),H=[];if(G.startsWith("[")){let J=T(G,0,"[","]");if(J!==-1){H=G.slice(1,J).split(",").map((O)=>O.trim()).map((O)=>{let K=O.match(/^(\w+)\s*\(/);if(K)return K[1];return O}).filter((O)=>O&&/^\w+$/.test(O));let w=J+1;while(w<G.length&&/[\s,]/.test(G[w]))w++;G=G.slice(w)}}if(!G.startsWith("{"))return{attrs:[],parentNames:H};let z=T(G,0,"{","}");if(z===-1)return{attrs:[],parentNames:H};let W=G.slice(1,z);return{attrs:a(W),parentNames:H}}function OQ(Q,Z){let X=new RegExp(`export\\s+(?:const|var|let)\\s+${Z}\\s*=\\s*__createAttrs\\s*\\(\\s*\\{`,"s").exec(Q);if(!X)return null;let $=X.index+X[0].length-1,_=T(Q,$,"{","}");if(_===-1)return null;let G=Q.slice($+1,_),H=G.match(/__attrSchema\s*:\s*\{/);if(!H)return{attrs:[],parentNames:[]};let z=H.index+H[0].length-1,W=T(G,z,"{","}");if(W===-1)return{attrs:[],parentNames:[]};let U=G.slice(z+1,W),J=r(U),q=G.match(/__parents\s*:\s*\[([^\]]*)\]/),w=[];if(q&&q[1].trim())w=q[1].split(",").map((O)=>O.trim()).filter((O)=>O&&/^\w+$/.test(O));return{attrs:J,parentNames:w}}function wQ(Q,Z){let Y=FQ(Q,Z);if(Y)return Y;let X=KQ(Q,Z);if(X)return X;let $=TQ(Q,Z);if($)return $;return null}function FQ(Q,Z){let X=new RegExp(`export\\s+(?:const|var|let)\\s+${Z}\\s*=\\s*\\$origin\\s*\\(`,"s").exec(Q);if(!X)return null;let $=X.index+X[0].length-1,_=T(Q,$);if(_===-1)return null;let G=Q.slice($+1,_);return f(G)}function KQ(Q,Z){let X=new RegExp(`export\\s+function\\s+${Z}\\s*(?:<[^>]*>)?\\s*\\([^)]*\\)\\s*(?::\\s*[^{]+)?\\s*\\{`,"s").exec(Q);if(!X)return null;let $=X.index+X[0].length-1,_=T(Q,$,"{","}");if(_===-1)return null;let G=Q.slice($+1,_);return o(G)}function TQ(Q,Z){let X=new RegExp(`export\\s+(?:const|var|let)\\s+${Z}\\s*=\\s*(?:<[^>]*>)?\\s*\\([^)]*\\)\\s*(?::\\s*[^=]+)?\\s*=>\\s*`,"s").exec(Q);if(!X)return null;let $=Q.slice(X.index+X[0].length).trim();if($.startsWith("$origin(")){let _=X.index+X[0].length+$.indexOf("$origin(")+8,G=T(Q,_-1);if(G===-1)return null;let H=Q.slice(_,G);return f(H)}if($.startsWith("{")){let _=X.index+X[0].length,G=T(Q,_,"{","}");if(G===-1)return null;let H=Q.slice(_+1,G);return o(H)}return null}function o(Q){let Z=Q.match(/(?:return\s+)?\$origin\s*\(/);if(!Z)return null;let Y=Z.index+Z[0].length-1,X=T(Q,Y);if(X===-1)return null;let $=Q.slice(Y+1,X);return f($)}function f(Q){let Z=[],Y=Q.trim();if(Y.startsWith("[")){let W=T(Y,0,"[","]");if(W!==-1){Z=Y.slice(1,W).split(",").map((q)=>q.trim()).map((q)=>{let w=q.match(/^(\w+)\s*\(/);if(w)return w[1];return q}).filter((q)=>q&&/^\w+$/.test(q));let J=W+1;while(J<Y.length&&/[\s,]/.test(Y[J]))J++;Y=Y.slice(J)}}let X=Y.match(/(\w+)\s*:\s*\$origin\s*\.\s*props\s*\(\s*\{/);if(!X){let W=Y.match(/(?:props|attrs)\s*:\s*([A-Z]\w*)\b/);if(W){let U=W[1];if(!["Object","Array","String","Number","Boolean"].includes(U))return{attrs:[],parentNames:Z,propsRef:U}}return{attrs:[],parentNames:Z}}let $=X.index,_=Y.indexOf("{",$+X[0].length-1),G=T(Y,_,"{","}");if(G===-1)return{attrs:[],parentNames:Z};let H=Y.slice(_+1,G);return{attrs:a(H),parentNames:Z}}function LQ(Q,Z){let X=new RegExp(`export\\s+(?:const|var|let)\\s+${Z}\\s*=\\s*__createOrigin\\s*\\(\\s*\\{`,"s").exec(Q);if(!X)return null;let $=X.index+X[0].length-1,_=T(Q,$,"{","}");if(_===-1)return null;let G=Q.slice($+1,_),H=G.match(/__attrSchema\s*:\s*\{/);if(!H)return{attrs:[],parentNames:[]};let z=H.index+H[0].length-1,W=T(G,z,"{","}");if(W===-1)return{attrs:[],parentNames:[]};let U=G.slice(z+1,W),J=r(U),q=G.match(/__parents\s*:\s*\[([^\]]*)\]/),w=[];if(q&&q[1].trim())w=q[1].split(",").map((F)=>F.trim()).filter((F)=>F&&/^\w+$/.test(F));let O=G.match(/__propsRef\s*:\s*(\w+)/),K=O?O[1]:void 0;return{attrs:J,parentNames:w,propsRef:K}}function r(Q){let Z=[],Y=0;while(Y<Q.length){while(Y<Q.length&&/[\s,]/.test(Q[Y]))Y++;if(Y>=Q.length)break;if(Q.slice(Y,Y+2)==="/*"){let O=Q.indexOf("*/",Y+2);if(O!==-1){Y=O+2;continue}}let X=Q.slice(Y).match(/^(\w+)\s*:/);if(!X)break;let $=X[1];Y+=X[0].length;while(Y<Q.length&&/\s/.test(Q[Y]))Y++;if(Q[Y]!=="{")break;let _=Y,G=T(Q,_,"{","}");if(G===-1)break;let H=Q.slice(_+1,G),z="undefined",W=!1,U=!1,J=H.match(/\bdefault\s*:\s*/);if(J){let O=J.index+J[0].length,K=0,F=O;while(F<H.length){let R=H[F];if(R==="{"||R==="("||R==="[")K++;else if(R==="}"||R===")"||R==="]")K--;else if(R===","&&K===0)break;F++}z=H.slice(O,F).trim()}let q=H.match(/\bbindable\s*:\s*(true|false)/);if(q)W=q[1]==="true";let w=H.match(/\bhasDefault\s*:\s*(true|false)/);if(w)U=w[1]==="true";Z.push({key:$,defaultValue:z,bindable:W,hasDefault:U}),Y=G+1}return Z}function a(Q){let Z=[],Y=s(Q);for(let X of Y){let $=X.trim();if(!$)continue;if($=n($),!$)continue;let _=$.indexOf(":");if(_===-1)continue;let G=$.slice(0,_).trim(),H=$.slice(_+1).trim();H=i(H);let z=c(H);if(z!==-1)H=H.slice(0,z).trim();let W=p(H);if(W.isBindable){let U=W.innerValue,J=U!==""&&U!=="undefined";Z.push({key:G,defaultValue:U,bindable:!0,hasDefault:J})}else{let U=H!=="undefined";Z.push({key:G,defaultValue:H,bindable:!1,hasDefault:U})}}return Z}function N(Q){return`___${Q}`}function b(Q,Z){let Y=N(Q);return`${Q}: ${Y} = ${Z}`}function t(Q){let Z=N(Q);return`${Q}: ${Z}`}function e(Q){let Z=N(Q);return`get ${Q}() { return ${Z} }`}function QQ(Q){let Z=N(Q);return`set ${Q}(v) { ${Z} = v }`}function u(Q){let Z=Q.trim();if(!Z.endsWith(")"))return!1;let Y=0;for(let X=Z.length-1;X>=0;X--)if(Z[X]===")")Y++;else if(Z[X]==="("){if(Y--,Y===0)return!0}return!1}function XQ(Q){let Z=Q.trim(),Y=0;for(let X=Z.length-1;X>=0;X--)if(Z[X]===")")Y++;else if(Z[X]==="("){if(Y--,Y===0)return Z.slice(0,X)}return Z}function jQ(Q){let Z=Q.trim(),Y=0;for(let X=0;X<Z.length;X++){let $=Z[X];if($==="(")Y++;else if($===")")Y--;else if($==="<"&&Y===0)return!0}return!1}function sQ(Q){let Z=Q.trim(),Y=Z.indexOf("<");if(Y!==-1)return Z.slice(0,Y);let X=Z.indexOf("(");return X===-1?Z:Z.slice(0,X)}function oQ(Q){let Z=Q.trim();if(jQ(Z)&&!u(Z))return`${Z}()`;return Z}function BQ(Q){if(u(Q))return`ReturnType<typeof ${XQ(Q)}>`;return`typeof ${Q}`}function RQ(Q,Z,Y={}){let{useNewApi:X=!0,useUserPropsType:$=!1}=Y,_=[];for(let z of Q)if(z.bindable)if(z.hasDefault)_.push(b(z.key,`$bindable(${z.defaultValue})`));else _.push(b(z.key,"$bindable()"));else if(z.hasDefault)_.push(b(z.key,z.defaultValue));else _.push(t(z.key));if($)return`let { ${_.join(", ")} }: $$Props = $props()`;let G=BQ(Z),H=X?"$origin.Props":"$origin.Props";return`let { ${_.join(", ")} }: ${H}<${G}> = $props()`}function VQ(Q,Z){let Y=[];for(let X of Z)if(Y.push(e(X.key)),X.bindable)Y.push(QQ(X.key));return`${Q}({ ${Y.join(", ")} })`}function AQ(Q){let Z=[],Y=[];for(let $ of Q.attrs){let _=l($.defaultValue),G=$.hasDefault?"?":"";if(Z.push(`${$.key}${G}: ${_}`),$.bindable)Y.push($.key)}return{interfaceContent:Z.length>0?`{ ${Z.join("; ")} }`:"{}",bindings:Y}}function l(Q){if(Q==="undefined")return"unknown";if(Q==="true"||Q==="false")return"boolean";if(/^-?\d+$/.test(Q))return"number";if(/^-?\d+\.\d+$/.test(Q))return"number";if(/^['"]/.test(Q))return"string";if(Q.startsWith("["))return"unknown[]";if(Q.startsWith("{"))return"Record<string, unknown>";if(Q==="null")return"null";return"unknown"}function d(Q,Z,Y,X="regenerated on save"){let $=[],_=[];for(let z of Y.attrs){let W=l(z.defaultValue),U=z.hasDefault?"?":"";if($.push(` ${z.key}${U}: ${W};`),z.bindable)_.push(`"${z.key}"`)}let G=$.length>0?`{
|
|
6
6
|
${$.join(`
|
|
7
7
|
`)}
|
|
8
8
|
}`:"{}",H=_.length>0?_.join(" | "):"never";return`// Auto-generated by svelte-origin
|
|
@@ -20,5 +20,5 @@ type Props = ${G};
|
|
|
20
20
|
|
|
21
21
|
declare const __component: Component<Props, {}, ${H}>;
|
|
22
22
|
export default __component;
|
|
23
|
-
`}import{readFileSync as
|
|
24
|
-
`)X=!1,Z+=G;_++;continue}if($){if(G==="*"&&H==="/"){$=!1,_+=2;continue}_++;continue}if(Y){if(Z+=G,G==="\\"&&H){Z+=H,_+=2;continue}if(G==='"')Y=!1;_++;continue}if(G==='"'){Y=!0,Z+=G,_++;continue}if(G==="/"&&H==="/"){X=!0,_+=2;continue}if(G==="/"&&H==="*"){$=!0,_+=2;continue}Z+=G,_++}return Z}function
|
|
23
|
+
`}import{readFileSync as vQ,statSync as HQ}from"node:fs";import{basename as $Q,dirname as NQ}from"node:path";import{existsSync as L,readFileSync as m,statSync as EQ}from"node:fs";import{dirname as D,join as j,resolve as B,isAbsolute as A}from"node:path";function IQ(Q){let Z="",Y=!1,X=!1,$=!1,_=0;while(_<Q.length){let G=Q[_],H=Q[_+1];if(X){if(G===`
|
|
24
|
+
`)X=!1,Z+=G;_++;continue}if($){if(G==="*"&&H==="/"){$=!1,_+=2;continue}_++;continue}if(Y){if(Z+=G,G==="\\"&&H){Z+=H,_+=2;continue}if(G==='"')Y=!1;_++;continue}if(G==='"'){Y=!0,Z+=G,_++;continue}if(G==="/"&&H==="/"){X=!0,_+=2;continue}if(G==="/"&&H==="*"){$=!0,_+=2;continue}Z+=G,_++}return Z}function ZQ(Q,Z=new Set){let Y=B(Q);if(Z.has(Y))return null;if(Z.add(Y),!L(Y))return null;try{let X=m(Y,"utf-8"),$=IQ(X),_=JSON.parse($),G=D(Y),H={},z=_.compilerOptions?.baseUrl,W=_.extends;if(W){let U=Array.isArray(W)?W:[W];for(let J of U){let q;if(J.startsWith("."))q=B(G,J);else if(J.startsWith("/")||/^[a-zA-Z]:/.test(J))q=J;else{let O=DQ(J,G);if(O)q=O;else continue}if(!q.endsWith(".json")){if(L(q+".json"))q=q+".json";else if(L(j(q,"tsconfig.json")))q=j(q,"tsconfig.json")}let w=ZQ(q,Z);if(w){if(w.paths)H={...w.paths,...H};if(w.baseUrl&&!z){let O=D(q);z=B(O,w.baseUrl)}}}}if(_.compilerOptions?.paths)H={...H,..._.compilerOptions.paths};if(z&&!A(z))z=B(G,z);return{paths:Object.keys(H).length>0?H:void 0,baseUrl:z}}catch{return null}}function DQ(Q,Z){let Y=Z,X=A(Z)?(Z.match(/^[a-zA-Z]:[/\\]/)||["/"])[0]:"/";while(Y!==X&&Y!==D(Y)){let $=j(Y,"node_modules",Q);if(L($)){if($.endsWith(".json"))return $;let _=j($,"tsconfig.json");if(L(_))return _;if(L($+".json"))return $+".json"}Y=D(Y)}return null}function MQ(Q,Z){let Y={};for(let[X,$]of Object.entries(Q)){if(!$||$.length===0)continue;let _=$[0],G=X.endsWith("/*"),H=G?X.slice(0,-2):X;if(G&&_.endsWith("/*"))_=_.slice(0,-2);let z=A(_)?_:B(Z,_);Y[H]=z}return Y}function SQ(Q,Z){if(!L(Q))return{};try{let Y=m(Q,"utf-8"),X={},$=Y.match(/alias\s*:\s*\{([^}]+)\}/s);if(!$)return{};let _=$[1],G=/['"]?(\$[\w-]+)['"]?\s*:\s*['"]([^'"]+)['"]/g,H;while((H=G.exec(_))!==null){let[,z,W]=H,U=A(W)?W:B(Z,W);X[z]=U}return X}catch{return{}}}function kQ(Q){let Z=[],Y=["tsconfig.json","jsconfig.json",".svelte-kit/tsconfig.json"];for(let X of Y){let $=B(Q,X);if(L($))Z.push($)}return Z}function $X(Q={}){let{aliases:Z={},root:Y=process.cwd(),autoDetect:X=!0,tsconfig:$,svelteConfig:_}=Q,G=A(Y)?Y:B(process.cwd(),Y),H={};if(X){let z=$?[A($)?$:B(G,$)]:kQ(G);for(let J of z){let q=ZQ(J);if(q?.paths){let w=q.baseUrl||D(J);H={...MQ(q.paths,w),...H}}}let W=_?A(_)?_:B(G,_):B(G,"svelte.config.js"),U=SQ(W,G);H={...H,...U}}for(let[z,W]of Object.entries(Z))H[z]=A(W)?W:B(G,W);return{aliases:H,root:G}}function YQ(Q,Z,Y){if(Q.startsWith("."))return B(Y,Q);let X=Object.entries(Z).sort((_,G)=>G[0].length-_[0].length);for(let[_,G]of X){if(Q===_)return G;if(Q.startsWith(_+"/")){let H=Q.slice(_.length+1);return j(G,H)}}let $=yQ(Q,Y);if($)return $;return null}function yQ(Q,Z){if(Q.startsWith(".")||Q.startsWith("/")||/^[a-zA-Z]:/.test(Q))return null;let Y,X;if(Q.startsWith("@")){let G=Q.split("/");if(G.length<2)return null;Y=`${G[0]}/${G[1]}`,X=G.slice(2).join("/")}else{let G=Q.indexOf("/");if(G===-1)Y=Q,X="";else Y=Q.slice(0,G),X=Q.slice(G+1)}let $=Z,_=A(Z)?(Z.match(/^[a-zA-Z]:[/\\]/)||["/"])[0]:"/";while($!==_&&$!==D($)){let G=j($,"node_modules"),H=j(G,Y);if(L(H)){let z=j(H,"package.json"),W=X?`./${X}`:".";if(L(z))try{let U=JSON.parse(m(z,"utf-8"));if(U.exports){let J=CQ(U.exports,W);if(J)return j(H,J)}if(!X){let J=U.module||U.main||"index.js";return j(H,J)}}catch{}if(X)return j(H,X);return j(H,"index.js")}$=D($)}return null}function CQ(Q,Z){if(typeof Q==="string")return Z==="."?Q:null;if(typeof Q!=="object"||Q===null)return null;let Y=Q[Z];if(Y)return P(Y);if(Z==="."&&Q["."])return P(Q["."]);if(Z==="."){let X=P(Q);if(X)return X}return null}function P(Q){if(typeof Q==="string")return Q;if(typeof Q!=="object"||Q===null)return null;let Z=Q,Y=["svelte","import","module","default","require"];for(let X of Y)if(X in Z){let $=Z[X];if(typeof $==="string")return $;let _=P($);if(_)return _}return null}function _Q(Q){if(L(Q))try{let X=EQ(Q);if(X.isFile())return Q;if(X.isDirectory()){let $=["index.ts","index.js"];for(let _ of $){let G=j(Q,_);if(L(G))return G}}}catch{}let Z=[".ts",".js",".svelte.ts",".svelte.js"];if(Q.endsWith(".svelte")){let X=Q+".ts";if(L(X))return X}if(Q.endsWith(".svelte.js")){let X=Q.slice(0,-3)+".ts";if(L(X))return X}for(let X of Z){let $=Q+X;if(L($))return $}let Y=["/index.ts","/index.js"];for(let X of Y){let $=Q+X;if(L($))return $}return null}var y=new Map;function bQ(Q,Z){let Y=y.get(Q);if(!Y)return!1;try{for(let X=0;X<Y.filePaths.length;X++)if(HQ(Y.filePaths[X]).mtimeMs!==Y.mtimes[X]){if(Z)console.log(`[svelte-origin] Cache stale for ${Q}: ${Y.filePaths[X]} changed`);return!1}return!0}catch{return!1}}function GQ(Q,Z){let Y=[],X=[];for(let $ of Z)try{let _=HQ($).mtimeMs;Y.push($),X.push(_)}catch{}if(Y.length>0)y.set(Q,{filePaths:Y,mtimes:X})}function qX(Q,Z){let Y=$Q(Q);for(let[X,$]of y.entries())if($.filePaths.some((G)=>G===Q||$Q(G)===Y))Z.delete(X),y.delete(X)}function M(Q,Z,Y=!1){for(let X of Z){let $=Q.findIndex((_)=>_.key===X.key);if($===-1)Q.push(X);else if(Y)Q[$]=X}}function PQ(Q,Z,Y,X){let $=YQ(Q,Y,Z);if(!$){if(X)console.log(`[svelte-origin] No alias match for ${Q}, skipping`);return null}if(X)console.log(`[svelte-origin] Resolved path: ${$}`);let _=_Q($);if(!_){if(X)console.log(`[svelte-origin] Could not find file for ${$}`);return null}if(X)console.log(`[svelte-origin] Found file: ${_}`);let G=vQ(_,"utf-8");return{filePath:_,source:G}}async function S(Q,Z,Y,X,$,_={},G=null){let{debug:H=!1,aliases:z={}}=_,W=G===null,U=G??new Set,J=Q==="attrs"?`attrs::${Z}::${Y}`:`${Z}::${Y}`;if($.has(J)&&bQ(J,H)){if(H)console.log(`[svelte-origin] Cache hit for ${J}`);return $.get(J)||null}if($.has(J))$.delete(J),y.delete(J);try{let q=NQ(X);if(H)console.log(`[svelte-origin] Resolving ${Q}: ${Y} from ${Z}`);let w=PQ(Z,q,z,H);if(!w)return $.set(J,null),null;let{filePath:O,source:K}=w;U.add(O);let F=Q==="attrs"?v(K,Y):g(K,Y);if(!F){if($.set(J,null),W)GQ(J,U);return null}let R=[];for(let V of F.parentNames){let E=I(K,V),C=null;if(E)C=Q==="attrs"?await S("attrs",E,V,O,$,_,U):await S("origin",E,V,O,$,_,U);else if(Q==="attrs")C=await h(K,V,O,$,_,U);if(C)M(R,C.attrs)}if(Q==="origin"&&F.propsRef){let V=I(K,F.propsRef),E=null;if(V){if(H)console.log(`[svelte-origin] Resolving propsRef: ${F.propsRef} from import ${V}`);E=await S("attrs",V,F.propsRef,O,$,_,U)}else{if(H)console.log(`[svelte-origin] Resolving propsRef: ${F.propsRef} from same file`);E=await h(K,F.propsRef,O,$,_,U)}if(E)M(R,E.attrs,!0)}M(R,F.attrs,!0);let x={attrs:R,parentNames:F.parentNames};if(H)console.log(`[svelte-origin] Resolved ${Q} schema for ${Y}:`,x.attrs.map((V)=>V.key));if($.set(J,x),W)GQ(J,U);return x}catch(q){if(H)console.error(`[svelte-origin] Error resolving ${Q} schema for ${Z}:`,q);return $.set(J,null),null}}async function k(Q,Z,Y,X,$={}){return S("origin",Q,Z,Y,X,$)}async function h(Q,Z,Y,X,$={},_=null){let{debug:G=!1}=$;if(_)_.add(Y);let H=v(Q,Z);if(!H)return null;if(H.parentNames.length===0)return H;let z=[];for(let W of H.parentNames){let U=I(Q,W),J=null;if(U)J=await S("attrs",U,W,Y,X,$,_);else J=await h(Q,W,Y,X,$,_);if(J)M(z,J.attrs)}if(M(z,H.attrs,!0),G)console.log(`[svelte-origin] Resolved same-file attrs for ${Z}:`,z.map((W)=>W.key));return{attrs:z,parentNames:H.parentNames}}function UX(Q,Z,Y={}){let{debug:X=!1,moduleImports:$}=Y;return{resolve:async(_,G)=>{if(_!==null)return k(_,G,Q,Z,Y);if($?.has(G)){let z=$.get(G);if(X)console.log(`[svelte-origin] Found ${G} in module imports: ${z}`);return k(z,G,Q,Z,Y)}if(X)console.log(`[svelte-origin] No import path for ${G}, attempting sibling file resolution`);let H=xQ(G,Q);for(let z of H){if(X)console.log(`[svelte-origin] Trying sibling path: ${z}`);let W=await k(z,G,Q,Z,Y);if(W){if(X)console.log(`[svelte-origin] Found schema in sibling file: ${z}`);return W}}if(X)console.log(`[svelte-origin] Could not find schema for ${G} in sibling files`);return null}}}function xQ(Q,Z){let Y=new Set,X=[],$=(J)=>{if(!Y.has(J))Y.add(J),X.push(J)},_=[".svelte.ts",".svelte.js",".svelte"],G=Q.replace(/([a-z])([A-Z])/g,"$1-$2").toLowerCase(),H=Q.charAt(0).toLowerCase()+Q.slice(1),z=Q,W=Q.replace(/([a-z])([A-Z])/g,"$1_$2").toLowerCase();for(let J of _)$(`./${G}${J}`),$(`./${H}${J}`),$(`./${z}${J}`),$(`./${W}${J}`);let U=Q.match(/^[A-Z][a-z]+(?=[A-Z])/);if(U){let J=Q.slice(U[0].length);if(J){let q=J.replace(/([a-z])([A-Z])/g,"$1-$2").toLowerCase(),w=J.charAt(0).toLowerCase()+J.slice(1),O=J,K=J.replace(/([a-z])([A-Z])/g,"$1_$2").toLowerCase();for(let F of _)$(`./${q}${F}`),$(`./${w}${F}`),$(`./${O}${F}`),$(`./${K}${F}`)}}for(let J of _)$(`./state${J}`),$(`./factory${J}`),$(`./schema${J}`),$(`./origin${J}`);return X}function uQ(Q={}){let{debug:Z=!1}=Q,Y=new Map;return{name:"svelte-origin-dts",enforce:"pre",async transform(X,$){if(!$.endsWith(".svelte"))return null;let _=X.match(/\$origin\s*\.\s*component\s*\(\s*(\w+)\s*\)/);if(!_)return null;let G=_[1],H=I(X,G);if(!H)return null;let z=await k(H,G,$,Y,{debug:Z});if(!z||z.attrs.length===0)return null;let W=d(G,H,z),U=$+".d.ts";return await gQ(U,W,"utf-8"),null},async handleHotUpdate({file:X}){if(X.endsWith(".svelte")){let $=X+".d.ts";if(!zQ(X)&&zQ($))await fQ($)}}}}var jX=uQ;export{uQ as svelteOriginDts,jX as default};
|