UNPKG

@telegram-apps/transformers

Version:

Transformation utilities we use in the @telegram-apps packages.

3 lines (2 loc) 10.7 kB
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});var b;function B(e){return{lang:(e==null?void 0:e.lang)??(b==null?void 0:b.lang),message:e==null?void 0:e.message,abortEarly:(e==null?void 0:e.abortEarly)??(b==null?void 0:b.abortEarly),abortPipeEarly:(e==null?void 0:e.abortPipeEarly)??(b==null?void 0:b.abortPipeEarly)}}var C;function le(e){return C==null?void 0:C.get(e)}var Q;function pe(e){return Q==null?void 0:Q.get(e)}var j;function fe(e,n){var r;return(r=j==null?void 0:j.get(e))==null?void 0:r.get(n)}function ye(e){var r,t;const n=typeof e;return n==="string"?`"${e}"`:n==="number"||n==="bigint"||n==="boolean"?`${e}`:n==="object"||n==="function"?(e&&((t=(r=Object.getPrototypeOf(e))==null?void 0:r.constructor)==null?void 0:t.name))??"null":n}function f(e,n,r,t,s){const u=s&&"input"in s?s.input:r.value,i=(s==null?void 0:s.expected)??e.expects??null,l=(s==null?void 0:s.received)??ye(u),c={kind:e.kind,type:e.type,input:u,expected:i,received:l,message:`Invalid ${n}: ${i?`Expected ${i} but r`:"R"}eceived ${l}`,requirement:e.requirement,path:s==null?void 0:s.path,issues:s==null?void 0:s.issues,lang:t.lang,abortEarly:t.abortEarly,abortPipeEarly:t.abortPipeEarly},y=e.kind==="schema",p=(s==null?void 0:s.message)??e.message??fe(e.reference,c.lang)??(y?pe(c.lang):null)??t.message??le(c.lang);p&&(c.message=typeof p=="function"?p(c):p),y&&(r.typed=!1),r.issues?r.issues.push(c):r.issues=[c]}function h(e){return{version:1,vendor:"valibot",validate(n){return e["~run"]({value:n},B())}}}function M(e,n){return Object.hasOwn(e,n)&&n!=="__proto__"&&n!=="prototype"&&n!=="constructor"}function he(e,n){const r=[...new Set(e)];return r.length>1?`(${r.join(` ${n} `)})`:r[0]??"never"}var me=class extends Error{constructor(e){super(e[0].message),this.name="ValiError",this.issues=e}};function V(e,n){return{kind:"validation",type:"check",reference:V,async:!1,expects:null,requirement:e,message:n,"~run"(r,t){return r.typed&&!this.requirement(r.value)&&f(this,"input",r,t),r}}}function q(e){return{kind:"validation",type:"integer",reference:q,async:!1,expects:null,requirement:Number.isInteger,message:e,"~run"(n,r){return n.typed&&!this.requirement(n.value)&&f(this,"integer",n,r),n}}}function d(e){return{kind:"transformation",type:"transform",reference:d,async:!1,operation:e,"~run"(n){return n.value=this.operation(n.value),n}}}function T(e,n,r){return typeof e.default=="function"?e.default(n,r):e.default}function be(e,n){return!e["~run"]({value:n},{abortEarly:!0}).issues}function k(e){return{kind:"schema",type:"boolean",reference:k,expects:"boolean",async:!1,message:e,get"~standard"(){return h(this)},"~run"(n,r){return typeof n.value=="boolean"?n.typed=!0:f(this,"type",n,r),n}}}function K(e){return{kind:"schema",type:"date",reference:K,expects:"Date",async:!1,message:e,get"~standard"(){return h(this)},"~run"(n,r){return n.value instanceof Date?isNaN(n.value)?f(this,"type",n,r,{received:'"Invalid Date"'}):n.typed=!0:f(this,"type",n,r),n}}}function F(e,n){return{kind:"schema",type:"instance",reference:F,expects:e.name,async:!1,class:e,message:n,get"~standard"(){return h(this)},"~run"(r,t){return r.value instanceof this.class?r.typed=!0:f(this,"type",r,t),r}}}function x(e){return{kind:"schema",type:"lazy",reference:x,expects:"unknown",async:!1,getter:e,get"~standard"(){return h(this)},"~run"(n,r){return this.getter(n.value)["~run"](n,r)}}}function S(e,n){return{kind:"schema",type:"loose_object",reference:S,expects:"Object",async:!1,entries:e,message:n,get"~standard"(){return h(this)},"~run"(r,t){var u;const s=r.value;if(s&&typeof s=="object"){r.typed=!0,r.value={};for(const i in this.entries){const l=this.entries[i];if(i in s||(l.type==="exact_optional"||l.type==="optional"||l.type==="nullish")&&l.default!==void 0){const c=i in s?s[i]:T(l),y=l["~run"]({value:c},t);if(y.issues){const p={type:"object",origin:"value",input:s,key:i,value:c};for(const m of y.issues)m.path?m.path.unshift(p):m.path=[p],(u=r.issues)==null||u.push(m);if(r.issues||(r.issues=y.issues),t.abortEarly){r.typed=!1;break}}y.typed||(r.typed=!1),r.value[i]=y.value}else if(l.type!=="exact_optional"&&l.type!=="optional"&&l.type!=="nullish"&&(f(this,"key",r,t,{input:void 0,expected:`"${i}"`,path:[{type:"object",origin:"key",input:s,key:i,value:s[i]}]}),t.abortEarly))break}if(!r.issues||!t.abortEarly)for(const i in s)M(s,i)&&!(i in this.entries)&&(r.value[i]=s[i])}else f(this,"type",r,t);return r}}}function D(e){return{kind:"schema",type:"number",reference:D,expects:"number",async:!1,message:e,get"~standard"(){return h(this)},"~run"(n,r){return typeof n.value=="number"&&!isNaN(n.value)?n.typed=!0:f(this,"type",n,r),n}}}function o(e,n){return{kind:"schema",type:"optional",reference:o,expects:`(${e.expects} | undefined)`,async:!1,wrapped:e,default:n,get"~standard"(){return h(this)},"~run"(r,t){return r.value===void 0&&(this.default!==void 0&&(r.value=T(this,r,t)),r.value===void 0)?(r.typed=!0,r):this.wrapped["~run"](r,t)}}}function H(e,n,r){return{kind:"schema",type:"record",reference:H,expects:"Object",async:!1,key:e,value:n,message:r,get"~standard"(){return h(this)},"~run"(t,s){var i,l;const u=t.value;if(u&&typeof u=="object"){t.typed=!0,t.value={};for(const c in u)if(M(u,c)){const y=u[c],p=this.key["~run"]({value:c},s);if(p.issues){const _={type:"object",origin:"key",input:u,key:c,value:y};for(const v of p.issues)v.path=[_],(i=t.issues)==null||i.push(v);if(t.issues||(t.issues=p.issues),s.abortEarly){t.typed=!1;break}}const m=this.value["~run"]({value:y},s);if(m.issues){const _={type:"object",origin:"value",input:u,key:c,value:y};for(const v of m.issues)v.path?v.path.unshift(_):v.path=[_],(l=t.issues)==null||l.push(v);if(t.issues||(t.issues=m.issues),s.abortEarly){t.typed=!1;break}}(!p.typed||!m.typed)&&(t.typed=!1),p.typed&&(t.value[p.value]=m.value)}}else f(this,"type",t,s);return t}}}function a(e){return{kind:"schema",type:"string",reference:a,expects:"string",async:!1,message:e,get"~standard"(){return h(this)},"~run"(n,r){return typeof n.value=="string"?n.typed=!0:f(this,"type",n,r),n}}}function J(e){let n;if(e)for(const r of e)n?n.push(...r.issues):n=r.issues;return n}function A(e,n){return{kind:"schema",type:"union",reference:A,expects:he(e.map(r=>r.expects),"|"),async:!1,options:e,message:n,get"~standard"(){return h(this)},"~run"(r,t){let s,u,i;for(const l of this.options){const c=l["~run"]({value:r.value},t);if(c.typed)if(c.issues)u?u.push(c):u=[c];else{s=c;break}else i?i.push(c):i=[c]}if(s)return s;if(u){if(u.length===1)return u[0];f(this,"type",r,t,{issues:J(u)}),r.typed=!0}else{if((i==null?void 0:i.length)===1)return i[0];f(this,"type",r,t,{issues:J(i)})}return r}}}function X(){return{kind:"schema",type:"unknown",reference:X,expects:"unknown",async:!1,get"~standard"(){return h(this)},"~run"(e){return e.typed=!0,e}}}function Y(e,n,r){const t=e["~run"]({value:n},B(r));if(t.issues)throw new me(t.issues);return t.value}function g(...e){return{...e[0],pipe:e,get"~standard"(){return h(this)},"~run"(n,r){for(const t of e)if(t.kind!=="metadata"){if(n.issues&&(t.kind==="schema"||t.kind==="transformation")){n.typed=!1;break}(!n.issues||!r.abortEarly&&!r.abortPipeEarly)&&(n=t["~run"](n,r))}return n}}}function de(e){return e.replace(/_[a-z]/g,n=>n[1].toUpperCase())}function ge(e){return Object.entries(e).reduce((n,[r,t])=>(n[de(r)]=t,n),{})}function w(e){const n=ge(e);for(const r in n){const t=n[r];t&&typeof t=="object"&&!(t instanceof Date)&&(n[r]=Array.isArray(t)?t.map(w):w(t))}return n}function P(e){return d(n=>e?w(n):n)}function G(e){return n=>g(e,P(n))}function $(e){return(n,r)=>Y(g(e,P(r)),n)}function Z(){return d(JSON.parse)}function E(e){const n=G(e);return r=>g(a(),Z(),n(r))}function ee(e){return d(n=>{const r={};return new URLSearchParams(n).forEach((t,s)=>{const u=r[s];Array.isArray(u)?u.push(t):u===void 0?r[s]=t:r[s]=[u,t]}),Y(e,r)})}function O(e){return n=>g(A([a(),F(URLSearchParams)]),ee(e),P(n))}const N=o(x(()=>ie())),ne=S({id:D(),photo_url:o(a()),type:a(),title:a(),username:o(a())}),re=S({added_to_attachment_menu:o(k()),allows_write_to_pm:o(k()),first_name:a(),id:D(),is_bot:o(k()),is_premium:o(k()),last_name:o(a()),language_code:o(a()),photo_url:o(a()),username:o(a())}),te=S({auth_date:g(a(),d(e=>new Date(Number(e)*1e3)),K()),can_send_after:o(g(a(),d(Number),q())),chat:o(x(()=>se())),chat_type:o(a()),chat_instance:o(a()),hash:a(),query_id:o(a()),receiver:N,start_param:o(a()),signature:a(),user:N}),se=E(ne),ie=E(re),L=O(te);function R(e){return/^#[\da-f]{6}$/i.test(e)}function ue(e){return/^#[\da-f]{3}$/i.test(e)}function ve(e){const n=e.replace(/\s/g,"").toLowerCase();if(R(n))return n;if(ue(n)){let t="#";for(let s=0;s<3;s+=1)t+=n[1+s].repeat(2);return t}const r=n.match(/^rgb\((\d{1,3}),(\d{1,3}),(\d{1,3})\)$/)||n.match(/^rgba\((\d{1,3}),(\d{1,3}),(\d{1,3}),\d{1,3}\)$/);if(!r)throw new Error(`Value "${e}" does not satisfy any of known RGB formats.`);return r.slice(1).reduce((t,s)=>t+parseInt(s,10).toString(16).padStart(2,"0"),"#")}const ae=G(H(a(),g(A([a(),D()]),d(e=>typeof e=="number"?`#${(e&16777215).toString(16).padStart(6,"0")}`:e),V(R)))),I=o(g(a(),d(e=>e==="1"))),W=E(ae()),ce=S({tgWebAppBotInline:I,tgWebAppData:o(L()),tgWebAppDefaultColors:o(W()),tgWebAppFullscreen:I,tgWebAppPlatform:a(),tgWebAppShowSettings:I,tgWebAppStartParam:o(a()),tgWebAppThemeParams:W(),tgWebAppVersion:a()}),U=O(ce),Se=$(L()),ke=$(U()),_e=S({eventType:a(),eventData:o(X())});function z(e,n){return n||(n=(r,t)=>JSON.stringify(t)),new URLSearchParams(Object.entries(e).reduce((r,[t,s])=>(Array.isArray(s)?r.push(...s.map(u=>[t,String(u)])):s!=null&&r.push([t,s instanceof Date?(s.getTime()/1e3|0).toString():typeof s=="string"||typeof s=="number"?String(s):typeof s=="boolean"?s?"1":"0":n(t,s)]),r),[])).toString()}function oe(e){return z(e)}function De(e){return z(e,(n,r)=>n==="tgWebAppData"?oe(r):JSON.stringify(r))}function Pe(e){try{return be(U(),e)}catch{return!1}}exports.InitDataChatSchema=ne;exports.InitDataQuerySchema=te;exports.InitDataUserSchema=re;exports.LaunchParamsSchema=ce;exports.MiniAppsMessageSchema=_e;exports.conditionalSnakeKeys=P;exports.createCamelCaseGen=G;exports.createCamelCaseSchemaParserGen=$;exports.createJsonCamelCaseGen=E;exports.createQueryCamelCaseGen=O;exports.initDataChatJson=se;exports.initDataQuery=L;exports.initDataUserJson=ie;exports.isLaunchParamsQuery=Pe;exports.isRGB=R;exports.isRGBShort=ue;exports.jsonParse=Z;exports.launchParamsQuery=U;exports.parseInitDataQuery=Se;exports.parseLaunchParamsQuery=ke;exports.serializeInitDataQuery=oe;exports.serializeLaunchParamsQuery=De;exports.serializeToQuery=z;exports.themeParams=ae;exports.toRGB=ve;exports.transformQueryUsing=ee; //# sourceMappingURL=index.cjs.map