@tma.js/init-data 0.2.21 → 0.2.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/dist/index.cjs CHANGED
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const t=require("@tma.js/parsing");function _(){return t.json({id:t.number(),type:t.string(),title:t.string(),photoUrl:{type:t.string().optional(),from:"photo_url"},username:t.string().optional()},{type:"Chat"})}function f(){return t.json({addedToAttachmentMenu:{type:t.boolean().optional(),from:"added_to_attachment_menu"},allowsWriteToPm:{type:t.boolean().optional(),from:"allows_write_to_pm"},firstName:{type:t.string(),from:"first_name"},id:t.number(),isBot:{type:t.boolean().optional(),from:"is_bot"},isPremium:{type:t.boolean().optional(),from:"is_premium"},languageCode:{type:t.string().optional(),from:"language_code"},lastName:{type:t.string().optional(),from:"last_name"},photoUrl:{type:t.string().optional(),from:"photo_url"},username:t.string().optional()},{type:"User"})}function g(){return t.searchParams({authDate:{type:t.date(),from:"auth_date"},canSendAfter:{type:t.number().optional(),from:"can_send_after"},chat:_().optional(),chatInstance:{type:t.string().optional(),from:"chat_instance"},chatType:{type:t.string().optional(),from:"chat_type"},hash:t.string(),queryId:{type:t.string().optional(),from:"query_id"},receiver:f().optional(),startParam:{type:t.string().optional(),from:"start_param"},user:f().optional()},{type:"InitData"})}function S(a){return g().parse(a)}function n(a,o,r){r!==void 0&&a.set(o,r)}function h(a,o,r){if(r===void 0)return;const{photoUrl:i,firstName:s,lastName:p,isPremium:m,languageCode:u,isBot:l,...c}=r;a.set(o,JSON.stringify({...c,photo_url:i,first_name:s,last_name:p,is_premium:m,language_code:u,is_bot:l}))}function P(a){const{authDate:o,canSendAfter:r,chat:i,chatInstance:s,chatType:p,hash:m,queryId:u,receiver:l,startParam:c,user:y}=a,e=new URLSearchParams;if(e.set("auth_date",(o.getTime()/1e3).toString()),n(e,"chat_instance",s),n(e,"chat_type",p),n(e,"hash",m),n(e,"query_id",u),h(e,"receiver",l),n(e,"start_param",c),h(e,"user",y),i){const{photoUrl:d,...b}=i;e.set("chat",JSON.stringify({...b,photo_url:d}))}return r&&e.set("can_send_after",r.toString()),e.toString()}exports.chat=_;exports.initData=g;exports.parse=S;exports.serialize=P;exports.user=f;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const t=require("@tma.js/parsing");function _(){return t.json({id:t.number(),type:t.string(),title:t.string(),photoUrl:{type:t.string().optional(),from:"photo_url"},username:t.string().optional()},"Chat")}function f(){return t.json({addedToAttachmentMenu:{type:t.boolean().optional(),from:"added_to_attachment_menu"},allowsWriteToPm:{type:t.boolean().optional(),from:"allows_write_to_pm"},firstName:{type:t.string(),from:"first_name"},id:t.number(),isBot:{type:t.boolean().optional(),from:"is_bot"},isPremium:{type:t.boolean().optional(),from:"is_premium"},languageCode:{type:t.string().optional(),from:"language_code"},lastName:{type:t.string().optional(),from:"last_name"},photoUrl:{type:t.string().optional(),from:"photo_url"},username:t.string().optional()},"User")}function g(){return t.searchParams({authDate:{type:t.date(),from:"auth_date"},canSendAfter:{type:t.number().optional(),from:"can_send_after"},chat:_().optional(),chatInstance:{type:t.string().optional(),from:"chat_instance"},chatType:{type:t.string().optional(),from:"chat_type"},hash:t.string(),queryId:{type:t.string().optional(),from:"query_id"},receiver:f().optional(),startParam:{type:t.string().optional(),from:"start_param"},user:f().optional()},"InitData")}function S(a){return g().parse(a)}function n(a,o,r){r!==void 0&&a.set(o,r)}function h(a,o,r){if(r===void 0)return;const{photoUrl:i,firstName:s,lastName:p,isPremium:m,languageCode:u,isBot:l,...c}=r;a.set(o,JSON.stringify({...c,photo_url:i,first_name:s,last_name:p,is_premium:m,language_code:u,is_bot:l}))}function P(a){const{authDate:o,canSendAfter:r,chat:i,chatInstance:s,chatType:p,hash:m,queryId:u,receiver:l,startParam:c,user:y}=a,e=new URLSearchParams;if(e.set("auth_date",(o.getTime()/1e3).toString()),n(e,"chat_instance",s),n(e,"chat_type",p),n(e,"hash",m),n(e,"query_id",u),h(e,"receiver",l),n(e,"start_param",c),h(e,"user",y),i){const{photoUrl:d,...b}=i;e.set("chat",JSON.stringify({...b,photo_url:d}))}return r&&e.set("can_send_after",r.toString()),e.toString()}exports.chat=_;exports.initData=g;exports.parse=S;exports.serialize=P;exports.user=f;
2
2
  //# sourceMappingURL=index.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.cjs","sources":["../src/chat.ts","../src/user.ts","../src/initData.ts","../src/parse.ts","../src/serialize.ts"],"sourcesContent":["import { json, number, string } from '@tma.js/parsing';\n\n/**\n * Returns parser used to parse chat data.\n */\nexport function chat() {\n return json({\n id: number(),\n type: string(),\n title: string(),\n photoUrl: {\n type: string().optional(),\n from: 'photo_url',\n },\n username: string().optional(),\n }, {\n type: 'Chat',\n });\n}\n","import { json, string, boolean, number } from '@tma.js/parsing';\n\nimport type { User } from './types.js';\n\n/**\n * Returns parser used to parse user data.\n */\nexport function user() {\n return json<User>({\n addedToAttachmentMenu: {\n type: boolean().optional(),\n from: 'added_to_attachment_menu',\n },\n allowsWriteToPm: {\n type: boolean().optional(),\n from: 'allows_write_to_pm',\n },\n firstName: {\n type: string(),\n from: 'first_name',\n },\n id: number(),\n isBot: {\n type: boolean().optional(),\n from: 'is_bot',\n },\n isPremium: {\n type: boolean().optional(),\n from: 'is_premium',\n },\n languageCode: {\n type: string().optional(),\n from: 'language_code',\n },\n lastName: {\n type: string().optional(),\n from: 'last_name',\n },\n photoUrl: {\n type: string().optional(),\n from: 'photo_url',\n },\n username: string().optional(),\n }, {\n type: 'User',\n });\n}\n","import { string, number, date, searchParams } from '@tma.js/parsing';\n\nimport { user } from './user.js';\nimport { chat } from './chat.js';\nimport type { InitData } from './types.js';\n\n/**\n * Returns parser used to parse init data, presented as search params.\n */\nexport function initData() {\n return searchParams<InitData>({\n authDate: {\n type: date(),\n from: 'auth_date',\n },\n canSendAfter: {\n type: number().optional(),\n from: 'can_send_after',\n },\n chat: chat().optional(),\n chatInstance: {\n type: string().optional(),\n from: 'chat_instance',\n },\n chatType: {\n type: string().optional(),\n from: 'chat_type',\n },\n hash: string(),\n queryId: {\n type: string().optional(),\n from: 'query_id',\n },\n receiver: user().optional(),\n startParam: {\n type: string().optional(),\n from: 'start_param',\n },\n user: user().optional(),\n }, {\n type: 'InitData',\n });\n}\n","import { initData } from './initData.js';\nimport type { InitData } from './types.js';\n\n/**\n * Parses incoming value as init data.\n * @param value - value to parse.\n */\nexport function parse(value: unknown): InitData {\n return initData().parse(value);\n}\n","import type { InitData, User } from './types.js';\n\nfunction setString(params: URLSearchParams, key: string, value: string | undefined) {\n if (value === undefined) {\n return;\n }\n params.set(key, value);\n}\n\nfunction setUser(params: URLSearchParams, key: string, value: User | undefined) {\n if (value === undefined) {\n return;\n }\n const {\n photoUrl,\n firstName,\n lastName,\n isPremium,\n languageCode,\n isBot,\n ...rest\n } = value;\n\n params.set(key, JSON.stringify({\n ...rest,\n photo_url: photoUrl,\n first_name: firstName,\n last_name: lastName,\n is_premium: isPremium,\n language_code: languageCode,\n is_bot: isBot,\n }));\n}\n\n/**\n * Converts init data to its initial representation.\n * @param value - init data.\n */\nexport function serialize(value: InitData): string {\n const {\n authDate,\n canSendAfter,\n chat,\n chatInstance,\n chatType,\n hash,\n queryId,\n receiver,\n startParam,\n user,\n } = value;\n\n const params = new URLSearchParams();\n\n params.set('auth_date', (authDate.getTime() / 1000).toString());\n setString(params, 'chat_instance', chatInstance);\n setString(params, 'chat_type', chatType);\n setString(params, 'hash', hash);\n setString(params, 'query_id', queryId);\n setUser(params, 'receiver', receiver);\n setString(params, 'start_param', startParam);\n setUser(params, 'user', user);\n\n if (chat) {\n const { photoUrl, ...rest } = chat;\n params.set('chat', JSON.stringify({\n ...rest,\n photo_url: photoUrl,\n }));\n }\n\n if (canSendAfter) {\n params.set('can_send_after', canSendAfter.toString());\n }\n\n return params.toString();\n}\n"],"names":["chat","json","number","string","user","boolean","initData","searchParams","date","parse","value","setString","params","key","setUser","photoUrl","firstName","lastName","isPremium","languageCode","isBot","rest","serialize","authDate","canSendAfter","chatInstance","chatType","hash","queryId","receiver","startParam"],"mappings":"mHAKO,SAASA,GAAO,CACrB,OAAOC,OAAK,CACV,GAAIC,EAAAA,OAAO,EACX,KAAMC,EAAAA,OAAO,EACb,MAAOA,EAAAA,OAAO,EACd,SAAU,CACR,KAAMA,EAAAA,OAAO,EAAE,SAAS,EACxB,KAAM,WACR,EACA,SAAUA,EAAAA,OAAO,EAAE,SAAS,CAAA,EAC3B,CACD,KAAM,MAAA,CACP,CACH,CCXO,SAASC,GAAO,CACrB,OAAOH,OAAW,CAChB,sBAAuB,CACrB,KAAMI,EAAAA,QAAQ,EAAE,SAAS,EACzB,KAAM,0BACR,EACA,gBAAiB,CACf,KAAMA,EAAAA,QAAQ,EAAE,SAAS,EACzB,KAAM,oBACR,EACA,UAAW,CACT,KAAMF,EAAAA,OAAO,EACb,KAAM,YACR,EACA,GAAID,EAAAA,OAAO,EACX,MAAO,CACL,KAAMG,EAAAA,QAAQ,EAAE,SAAS,EACzB,KAAM,QACR,EACA,UAAW,CACT,KAAMA,EAAAA,QAAQ,EAAE,SAAS,EACzB,KAAM,YACR,EACA,aAAc,CACZ,KAAMF,EAAAA,OAAO,EAAE,SAAS,EACxB,KAAM,eACR,EACA,SAAU,CACR,KAAMA,EAAAA,OAAO,EAAE,SAAS,EACxB,KAAM,WACR,EACA,SAAU,CACR,KAAMA,EAAAA,OAAO,EAAE,SAAS,EACxB,KAAM,WACR,EACA,SAAUA,EAAAA,OAAO,EAAE,SAAS,CAAA,EAC3B,CACD,KAAM,MAAA,CACP,CACH,CCrCO,SAASG,GAAW,CACzB,OAAOC,eAAuB,CAC5B,SAAU,CACR,KAAMC,EAAAA,KAAK,EACX,KAAM,WACR,EACA,aAAc,CACZ,KAAMN,EAAAA,OAAO,EAAE,SAAS,EACxB,KAAM,gBACR,EACA,KAAMF,EAAK,EAAE,SAAS,EACtB,aAAc,CACZ,KAAMG,EAAAA,OAAO,EAAE,SAAS,EACxB,KAAM,eACR,EACA,SAAU,CACR,KAAMA,EAAAA,OAAO,EAAE,SAAS,EACxB,KAAM,WACR,EACA,KAAMA,EAAAA,OAAO,EACb,QAAS,CACP,KAAMA,EAAAA,OAAO,EAAE,SAAS,EACxB,KAAM,UACR,EACA,SAAUC,EAAK,EAAE,SAAS,EAC1B,WAAY,CACV,KAAMD,EAAAA,OAAO,EAAE,SAAS,EACxB,KAAM,aACR,EACA,KAAMC,EAAK,EAAE,SAAS,CAAA,EACrB,CACD,KAAM,UAAA,CACP,CACH,CCnCO,SAASK,EAAMC,EAA0B,CACvC,OAAAJ,EAAW,EAAA,MAAMI,CAAK,CAC/B,CCPA,SAASC,EAAUC,EAAyBC,EAAaH,EAA2B,CAC9EA,IAAU,QAGPE,EAAA,IAAIC,EAAKH,CAAK,CACvB,CAEA,SAASI,EAAQF,EAAyBC,EAAaH,EAAyB,CAC9E,GAAIA,IAAU,OACZ,OAEI,KAAA,CACJ,SAAAK,EACA,UAAAC,EACA,SAAAC,EACA,UAAAC,EACA,aAAAC,EACA,MAAAC,EACA,GAAGC,CACD,EAAAX,EAEGE,EAAA,IAAIC,EAAK,KAAK,UAAU,CAC7B,GAAGQ,EACH,UAAWN,EACX,WAAYC,EACZ,UAAWC,EACX,WAAYC,EACZ,cAAeC,EACf,OAAQC,CACT,CAAA,CAAC,CACJ,CAMO,SAASE,EAAUZ,EAAyB,CAC3C,KAAA,CACJ,SAAAa,EACA,aAAAC,EACA,KAAAxB,EACA,aAAAyB,EACA,SAAAC,EACA,KAAAC,EACA,QAAAC,EACA,SAAAC,EACA,WAAAC,EACA,KAAA1B,CACE,EAAAM,EAEEE,EAAS,IAAI,gBAWnB,GATAA,EAAO,IAAI,aAAcW,EAAS,UAAY,KAAM,UAAU,EACpDZ,EAAAC,EAAQ,gBAAiBa,CAAY,EACrCd,EAAAC,EAAQ,YAAac,CAAQ,EAC7Bf,EAAAC,EAAQ,OAAQe,CAAI,EACpBhB,EAAAC,EAAQ,WAAYgB,CAAO,EAC7Bd,EAAAF,EAAQ,WAAYiB,CAAQ,EAC1BlB,EAAAC,EAAQ,cAAekB,CAAU,EACnChB,EAAAF,EAAQ,OAAQR,CAAI,EAExBJ,EAAM,CACR,KAAM,CAAE,SAAAe,EAAU,GAAGM,CAAA,EAASrB,EACvBY,EAAA,IAAI,OAAQ,KAAK,UAAU,CAChC,GAAGS,EACH,UAAWN,CACZ,CAAA,CAAC,CACJ,CAEA,OAAIS,GACFZ,EAAO,IAAI,iBAAkBY,EAAa,SAAU,CAAA,EAG/CZ,EAAO,UAChB"}
1
+ {"version":3,"file":"index.cjs","sources":["../src/chat.ts","../src/user.ts","../src/initData.ts","../src/parse.ts","../src/serialize.ts"],"sourcesContent":["import { json, number, string } from '@tma.js/parsing';\n\n/**\n * Returns parser used to parse chat data.\n */\nexport function chat() {\n return json({\n id: number(),\n type: string(),\n title: string(),\n photoUrl: {\n type: string().optional(),\n from: 'photo_url',\n },\n username: string().optional(),\n }, 'Chat');\n}\n","import { json, string, boolean, number } from '@tma.js/parsing';\n\nimport type { User } from './types.js';\n\n/**\n * Returns parser used to parse user data.\n */\nexport function user() {\n return json<User>({\n addedToAttachmentMenu: {\n type: boolean().optional(),\n from: 'added_to_attachment_menu',\n },\n allowsWriteToPm: {\n type: boolean().optional(),\n from: 'allows_write_to_pm',\n },\n firstName: {\n type: string(),\n from: 'first_name',\n },\n id: number(),\n isBot: {\n type: boolean().optional(),\n from: 'is_bot',\n },\n isPremium: {\n type: boolean().optional(),\n from: 'is_premium',\n },\n languageCode: {\n type: string().optional(),\n from: 'language_code',\n },\n lastName: {\n type: string().optional(),\n from: 'last_name',\n },\n photoUrl: {\n type: string().optional(),\n from: 'photo_url',\n },\n username: string().optional(),\n }, 'User');\n}\n","import { string, number, date, searchParams } from '@tma.js/parsing';\n\nimport { user } from './user.js';\nimport { chat } from './chat.js';\nimport type { InitData } from './types.js';\n\n/**\n * Returns parser used to parse init data, presented as search params.\n */\nexport function initData() {\n return searchParams<InitData>({\n authDate: {\n type: date(),\n from: 'auth_date',\n },\n canSendAfter: {\n type: number().optional(),\n from: 'can_send_after',\n },\n chat: chat().optional(),\n chatInstance: {\n type: string().optional(),\n from: 'chat_instance',\n },\n chatType: {\n type: string().optional(),\n from: 'chat_type',\n },\n hash: string(),\n queryId: {\n type: string().optional(),\n from: 'query_id',\n },\n receiver: user().optional(),\n startParam: {\n type: string().optional(),\n from: 'start_param',\n },\n user: user().optional(),\n }, 'InitData');\n}\n","import { initData } from './initData.js';\nimport type { InitData } from './types.js';\n\n/**\n * Parses incoming value as init data.\n * @param value - value to parse.\n */\nexport function parse(value: unknown): InitData {\n return initData().parse(value);\n}\n","import type { InitData, User } from './types.js';\n\nfunction setString(params: URLSearchParams, key: string, value: string | undefined) {\n if (value === undefined) {\n return;\n }\n params.set(key, value);\n}\n\nfunction setUser(params: URLSearchParams, key: string, value: User | undefined) {\n if (value === undefined) {\n return;\n }\n const {\n photoUrl,\n firstName,\n lastName,\n isPremium,\n languageCode,\n isBot,\n ...rest\n } = value;\n\n params.set(key, JSON.stringify({\n ...rest,\n photo_url: photoUrl,\n first_name: firstName,\n last_name: lastName,\n is_premium: isPremium,\n language_code: languageCode,\n is_bot: isBot,\n }));\n}\n\n/**\n * Converts init data to its initial representation.\n * @param value - init data.\n */\nexport function serialize(value: InitData): string {\n const {\n authDate,\n canSendAfter,\n chat,\n chatInstance,\n chatType,\n hash,\n queryId,\n receiver,\n startParam,\n user,\n } = value;\n\n const params = new URLSearchParams();\n\n params.set('auth_date', (authDate.getTime() / 1000).toString());\n setString(params, 'chat_instance', chatInstance);\n setString(params, 'chat_type', chatType);\n setString(params, 'hash', hash);\n setString(params, 'query_id', queryId);\n setUser(params, 'receiver', receiver);\n setString(params, 'start_param', startParam);\n setUser(params, 'user', user);\n\n if (chat) {\n const { photoUrl, ...rest } = chat;\n params.set('chat', JSON.stringify({\n ...rest,\n photo_url: photoUrl,\n }));\n }\n\n if (canSendAfter) {\n params.set('can_send_after', canSendAfter.toString());\n }\n\n return params.toString();\n}\n"],"names":["chat","json","number","string","user","boolean","initData","searchParams","date","parse","value","setString","params","key","setUser","photoUrl","firstName","lastName","isPremium","languageCode","isBot","rest","serialize","authDate","canSendAfter","chatInstance","chatType","hash","queryId","receiver","startParam"],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- this.tmajs=this.tmajs||{};this.tmajs.initData=function(f){"use strict";var E=Object.defineProperty,j=(t,e,r)=>e in t?E(t,e,{enumerable:!0,configurable:!0,writable:!0,value:r}):t[e]=r,T=(t,e,r)=>(j(t,typeof e!="symbol"?e+"":e,r),r);class m extends Error{constructor(e,{cause:r,type:n}={}){super(`Unable to parse value${n?` as ${n}`:""}`,{cause:r}),T(this,"type"),this.value=e,Object.setPrototypeOf(this,m.prototype),this.type=n}}class w{constructor(e,r,n,o){this.parser=e,this.isOptional=r,this.isEmpty=n,this.type=o}parse(e){if(!(this.isOptional&&this.isEmpty(e)))try{return this.parser(e)}catch(r){throw new m(e,{type:this.type,cause:r})}}optional(){return this.isOptional=!0,this}}function y(){return new TypeError("Value has unexpected type")}function S(t){return t===void 0}function d(t,{type:e,isEmpty:r=S}={}){return({isEmpty:n=r}={})=>new w(t,!1,n,e)}const _=d(t=>{if(typeof t=="boolean")return t;const e=String(t);if(e==="1"||e==="true")return!0;if(e==="0"||e==="false")return!1;throw y()},{type:"boolean"}),g=d(t=>{if(typeof t=="number")return t;if(typeof t=="string"){const e=Number(t);if(!Number.isNaN(e))return e}throw y()},{type:"number"}),$=g(),A=d(t=>t instanceof Date?t:new Date($.parse(t)*1e3),{type:"Date"});class b extends Error{constructor(e,{cause:r,type:n}={}){super(`Unable to parse field "${e}"${n?` as ${n}`:""}`,{cause:r}),Object.setPrototypeOf(this,b.prototype)}}function O(t,e){const r={};for(const n in t){const o=t[n];if(!o)continue;let a,p;if(typeof o=="function"||"parse"in o)a=n,p=typeof o=="function"?o:o.parse.bind(o);else{const{type:s}=o;a=o.from||n,p=typeof s=="function"?s:s.parse.bind(s)}let c;const h=e(a);try{c=p(h)}catch(s){throw s instanceof m?new b(a,{type:s.type,cause:s}):new b(a,{cause:s})}c!==void 0&&(r[n]=c)}return r}function P(t,e={}){const{type:r,isEmpty:n=S}=e;return new w(o=>{let a=o;if(typeof a=="string"&&(a=JSON.parse(a)),typeof a!="object"||a===null||Array.isArray(a))throw y();return O(t,p=>a[p])},!1,n,r)}const i=d(t=>{if(typeof t=="string"||typeof t=="number")return t.toString();throw y()},{type:"string"});i();function I(t,e={}){const{type:r,isEmpty:n=S}=e;return new w(o=>{if(typeof o!="string"&&!(o instanceof URLSearchParams))throw y();const a=typeof o=="string"?new URLSearchParams(o):o;return O(t,p=>{const c=a.get(p);return c===null?void 0:c})},!1,n,r)}function N(){return P({id:g(),type:i(),title:i(),photoUrl:{type:i().optional(),from:"photo_url"},username:i().optional()},{type:"Chat"})}function v(){return P({addedToAttachmentMenu:{type:_().optional(),from:"added_to_attachment_menu"},allowsWriteToPm:{type:_().optional(),from:"allows_write_to_pm"},firstName:{type:i(),from:"first_name"},id:g(),isBot:{type:_().optional(),from:"is_bot"},isPremium:{type:_().optional(),from:"is_premium"},languageCode:{type:i().optional(),from:"language_code"},lastName:{type:i().optional(),from:"last_name"},photoUrl:{type:i().optional(),from:"photo_url"},username:i().optional()},{type:"User"})}function U(){return I({authDate:{type:A(),from:"auth_date"},canSendAfter:{type:g().optional(),from:"can_send_after"},chat:N().optional(),chatInstance:{type:i().optional(),from:"chat_instance"},chatType:{type:i().optional(),from:"chat_type"},hash:i(),queryId:{type:i().optional(),from:"query_id"},receiver:v().optional(),startParam:{type:i().optional(),from:"start_param"},user:v().optional()},{type:"InitData"})}function q(t){return U().parse(t)}function l(t,e,r){r!==void 0&&t.set(e,r)}function D(t,e,r){if(r===void 0)return;const{photoUrl:n,firstName:o,lastName:a,isPremium:p,languageCode:c,isBot:h,...s}=r;t.set(e,JSON.stringify({...s,photo_url:n,first_name:o,last_name:a,is_premium:p,language_code:c,is_bot:h}))}function R(t){const{authDate:e,canSendAfter:r,chat:n,chatInstance:o,chatType:a,hash:p,queryId:c,receiver:h,startParam:s,user:C}=t,u=new URLSearchParams;if(u.set("auth_date",(e.getTime()/1e3).toString()),l(u,"chat_instance",o),l(u,"chat_type",a),l(u,"hash",p),l(u,"query_id",c),D(u,"receiver",h),l(u,"start_param",s),D(u,"user",C),n){const{photoUrl:J,...L}=n;u.set("chat",JSON.stringify({...L,photo_url:J}))}return r&&u.set("can_send_after",r.toString()),u.toString()}return f.chat=N,f.initData=U,f.parse=q,f.serialize=R,f.user=v,Object.defineProperty(f,Symbol.toStringTag,{value:"Module"}),f}({});
1
+ this.tmajs=this.tmajs||{};this.tmajs.initData=function(p){"use strict";var D=Object.defineProperty,j=(e,t,r)=>t in e?D(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,T=(e,t,r)=>(j(e,typeof t!="symbol"?t+"":t,r),r);class m extends Error{constructor(t,{cause:r,type:n}={}){super(`Unable to parse value${n?` as ${n}`:""}`,{cause:r}),T(this,"type"),this.value=t,Object.setPrototypeOf(this,m.prototype),this.type=n}}class w{constructor(t,r,n){this.parser=t,this.isOptional=r,this.type=n}parse(t){if(!(this.isOptional&&t===void 0))try{return this.parser(t)}catch(r){throw new m(t,{type:this.type,cause:r})}}optional(){return this.isOptional=!0,this}}function l(){return new TypeError("Value has unexpected type")}function d(e,t){return()=>new w(e,!1,t)}const _=d(e=>{if(typeof e=="boolean")return e;const t=String(e);if(t==="1"||t==="true")return!0;if(t==="0"||t==="false")return!1;throw l()},"boolean"),g=d(e=>{if(typeof e=="number")return e;if(typeof e=="string"){const t=Number(e);if(!Number.isNaN(t))return t}throw l()},"number"),A=g(),I=d(e=>e instanceof Date?e:new Date(A.parse(e)*1e3),"Date");class b extends Error{constructor(t,{cause:r,type:n}={}){super(`Unable to parse field "${t}"${n?` as ${n}`:""}`,{cause:r}),Object.setPrototypeOf(this,b.prototype)}}function v(e,t){const r={};for(const n in e){const o=e[n];if(!o)continue;let s,c;if(typeof o=="function"||"parse"in o)s=n,c=typeof o=="function"?o:o.parse.bind(o);else{const{type:i}=o;s=o.from||n,c=typeof i=="function"?i:i.parse.bind(i)}let f;const y=t(s);try{f=c(y)}catch(i){throw i instanceof m?new b(s,{type:i.type,cause:i}):new b(s,{cause:i})}f!==void 0&&(r[n]=f)}return r}function $(e){let t=e;if(typeof t=="string"&&(t=JSON.parse(t)),typeof t!="object"||t===null||Array.isArray(t))throw l();return t}function N(e,t){return new w(r=>{const n=$(r);return v(e,o=>n[o])},!1,t)}const a=d(e=>{if(typeof e=="string"||typeof e=="number")return e.toString();throw l()},"string");a();function q(e,t){return new w(r=>{if(typeof r!="string"&&!(r instanceof URLSearchParams))throw l();const n=typeof r=="string"?new URLSearchParams(r):r;return v(e,o=>{const s=n.get(o);return s===null?void 0:s})},!1,t)}function O(){return N({id:g(),type:a(),title:a(),photoUrl:{type:a().optional(),from:"photo_url"},username:a().optional()},"Chat")}function S(){return N({addedToAttachmentMenu:{type:_().optional(),from:"added_to_attachment_menu"},allowsWriteToPm:{type:_().optional(),from:"allows_write_to_pm"},firstName:{type:a(),from:"first_name"},id:g(),isBot:{type:_().optional(),from:"is_bot"},isPremium:{type:_().optional(),from:"is_premium"},languageCode:{type:a().optional(),from:"language_code"},lastName:{type:a().optional(),from:"last_name"},photoUrl:{type:a().optional(),from:"photo_url"},username:a().optional()},"User")}function P(){return q({authDate:{type:I(),from:"auth_date"},canSendAfter:{type:g().optional(),from:"can_send_after"},chat:O().optional(),chatInstance:{type:a().optional(),from:"chat_instance"},chatType:{type:a().optional(),from:"chat_type"},hash:a(),queryId:{type:a().optional(),from:"query_id"},receiver:S().optional(),startParam:{type:a().optional(),from:"start_param"},user:S().optional()},"InitData")}function R(e){return P().parse(e)}function h(e,t,r){r!==void 0&&e.set(t,r)}function U(e,t,r){if(r===void 0)return;const{photoUrl:n,firstName:o,lastName:s,isPremium:c,languageCode:f,isBot:y,...i}=r;e.set(t,JSON.stringify({...i,photo_url:n,first_name:o,last_name:s,is_premium:c,language_code:f,is_bot:y}))}function C(e){const{authDate:t,canSendAfter:r,chat:n,chatInstance:o,chatType:s,hash:c,queryId:f,receiver:y,startParam:i,user:E}=e,u=new URLSearchParams;if(u.set("auth_date",(t.getTime()/1e3).toString()),h(u,"chat_instance",o),h(u,"chat_type",s),h(u,"hash",c),h(u,"query_id",f),U(u,"receiver",y),h(u,"start_param",i),U(u,"user",E),n){const{photoUrl:J,...L}=n;u.set("chat",JSON.stringify({...L,photo_url:J}))}return r&&u.set("can_send_after",r.toString()),u.toString()}return p.chat=O,p.initData=P,p.parse=R,p.serialize=C,p.user=S,Object.defineProperty(p,Symbol.toStringTag,{value:"Module"}),p}({});
2
2
  //# sourceMappingURL=index.iife.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.iife.js","sources":["../../parsing/dist/index.mjs","../src/chat.ts","../src/user.ts","../src/initData.ts","../src/parse.ts","../src/serialize.ts"],"sourcesContent":["var w = Object.defineProperty;\nvar g = (t, r, e) => r in t ? w(t, r, { enumerable: !0, configurable: !0, writable: !0, value: e }) : t[r] = e;\nvar d = (t, r, e) => (g(t, typeof r != \"symbol\" ? r + \"\" : r, e), e);\nimport { toRGB as E } from \"@tma.js/colors\";\nclass y extends Error {\n constructor(e, { cause: s, type: n } = {}) {\n super(`Unable to parse value${n ? ` as ${n}` : \"\"}`, { cause: s });\n /**\n * Parser name.\n */\n d(this, \"type\");\n this.value = e, Object.setPrototypeOf(this, y.prototype), this.type = n;\n }\n}\nclass h {\n constructor(r, e, s, n) {\n this.parser = r, this.isOptional = e, this.isEmpty = s, this.type = n;\n }\n parse(r) {\n if (!(this.isOptional && this.isEmpty(r)))\n try {\n return this.parser(r);\n } catch (e) {\n throw new y(r, { type: this.type, cause: e });\n }\n }\n optional() {\n return this.isOptional = !0, this;\n }\n}\nfunction c() {\n return new TypeError(\"Value has unexpected type\");\n}\nfunction O(t) {\n if (Array.isArray(t))\n return t;\n if (typeof t == \"string\")\n try {\n const r = JSON.parse(t);\n if (Array.isArray(r))\n return r;\n } catch {\n }\n throw c();\n}\nclass A extends h {\n constructor(e, s, n, o) {\n super(O, s, n, o);\n d(this, \"itemParser\");\n this.itemParser = typeof e == \"function\" ? e : e.parse.bind(e);\n }\n parse(e) {\n const s = super.parse(e);\n return s === void 0 ? s : s.map(this.itemParser);\n }\n of(e) {\n return this.itemParser = typeof e == \"function\" ? e : e.parse.bind(e), this;\n }\n}\nfunction l(t) {\n return t === void 0;\n}\nfunction U(t) {\n return new A((r) => r, !1, l, t);\n}\nfunction f(t, {\n type: r,\n isEmpty: e = l\n} = {}) {\n return ({ isEmpty: s = e } = {}) => new h(t, !1, s, r);\n}\nconst $ = f((t) => {\n if (typeof t == \"boolean\")\n return t;\n const r = String(t);\n if (r === \"1\" || r === \"true\")\n return !0;\n if (r === \"0\" || r === \"false\")\n return !1;\n throw c();\n}, {\n type: \"boolean\"\n}), S = f((t) => {\n if (typeof t == \"number\")\n return t;\n if (typeof t == \"string\") {\n const r = Number(t);\n if (!Number.isNaN(r))\n return r;\n }\n throw c();\n}, {\n type: \"number\"\n}), V = S(), D = f((t) => t instanceof Date ? t : new Date(V.parse(t) * 1e3), {\n type: \"Date\"\n});\nclass u extends Error {\n constructor(r, { cause: e, type: s } = {}) {\n super(`Unable to parse field \"${r}\"${s ? ` as ${s}` : \"\"}`, { cause: e }), Object.setPrototypeOf(this, u.prototype);\n }\n}\nfunction m(t, r) {\n const e = {};\n for (const s in t) {\n const n = t[s];\n if (!n)\n continue;\n let o, a;\n if (typeof n == \"function\" || \"parse\" in n)\n o = s, a = typeof n == \"function\" ? n : n.parse.bind(n);\n else {\n const { type: i } = n;\n o = n.from || s, a = typeof i == \"function\" ? i : i.parse.bind(i);\n }\n let p;\n const b = r(o);\n try {\n p = a(b);\n } catch (i) {\n throw i instanceof y ? new u(o, {\n type: i.type,\n cause: i\n }) : new u(o, { cause: i });\n }\n p !== void 0 && (e[s] = p);\n }\n return e;\n}\nfunction R(t, r = {}) {\n const {\n type: e,\n isEmpty: s = l\n } = r;\n return new h((n) => {\n let o = n;\n if (typeof o == \"string\" && (o = JSON.parse(o)), typeof o != \"object\" || o === null || Array.isArray(o))\n throw c();\n return m(t, (a) => o[a]);\n }, !1, s, e);\n}\nconst x = f((t) => {\n if (typeof t == \"string\" || typeof t == \"number\")\n return t.toString();\n throw c();\n}, {\n type: \"string\"\n}), N = x(), B = f((t) => E(N.parse(t)), {\n type: \"rgb\"\n});\nfunction G(t, r = {}) {\n const {\n type: e,\n isEmpty: s = l\n } = r;\n return new h((n) => {\n if (typeof n != \"string\" && !(n instanceof URLSearchParams))\n throw c();\n const o = typeof n == \"string\" ? new URLSearchParams(n) : n;\n return m(t, (a) => {\n const p = o.get(a);\n return p === null ? void 0 : p;\n });\n }, !1, s, e);\n}\nexport {\n A as ArrayValueParser,\n u as ParseSchemaFieldError,\n h as ValueParser,\n U as array,\n $ as boolean,\n f as createValueParserGenerator,\n D as date,\n R as json,\n S as number,\n B as rgb,\n G as searchParams,\n x as string\n};\n//# sourceMappingURL=index.mjs.map\n","import { json, number, string } from '@tma.js/parsing';\n\n/**\n * Returns parser used to parse chat data.\n */\nexport function chat() {\n return json({\n id: number(),\n type: string(),\n title: string(),\n photoUrl: {\n type: string().optional(),\n from: 'photo_url',\n },\n username: string().optional(),\n }, {\n type: 'Chat',\n });\n}\n","import { json, string, boolean, number } from '@tma.js/parsing';\n\nimport type { User } from './types.js';\n\n/**\n * Returns parser used to parse user data.\n */\nexport function user() {\n return json<User>({\n addedToAttachmentMenu: {\n type: boolean().optional(),\n from: 'added_to_attachment_menu',\n },\n allowsWriteToPm: {\n type: boolean().optional(),\n from: 'allows_write_to_pm',\n },\n firstName: {\n type: string(),\n from: 'first_name',\n },\n id: number(),\n isBot: {\n type: boolean().optional(),\n from: 'is_bot',\n },\n isPremium: {\n type: boolean().optional(),\n from: 'is_premium',\n },\n languageCode: {\n type: string().optional(),\n from: 'language_code',\n },\n lastName: {\n type: string().optional(),\n from: 'last_name',\n },\n photoUrl: {\n type: string().optional(),\n from: 'photo_url',\n },\n username: string().optional(),\n }, {\n type: 'User',\n });\n}\n","import { string, number, date, searchParams } from '@tma.js/parsing';\n\nimport { user } from './user.js';\nimport { chat } from './chat.js';\nimport type { InitData } from './types.js';\n\n/**\n * Returns parser used to parse init data, presented as search params.\n */\nexport function initData() {\n return searchParams<InitData>({\n authDate: {\n type: date(),\n from: 'auth_date',\n },\n canSendAfter: {\n type: number().optional(),\n from: 'can_send_after',\n },\n chat: chat().optional(),\n chatInstance: {\n type: string().optional(),\n from: 'chat_instance',\n },\n chatType: {\n type: string().optional(),\n from: 'chat_type',\n },\n hash: string(),\n queryId: {\n type: string().optional(),\n from: 'query_id',\n },\n receiver: user().optional(),\n startParam: {\n type: string().optional(),\n from: 'start_param',\n },\n user: user().optional(),\n }, {\n type: 'InitData',\n });\n}\n","import { initData } from './initData.js';\nimport type { InitData } from './types.js';\n\n/**\n * Parses incoming value as init data.\n * @param value - value to parse.\n */\nexport function parse(value: unknown): InitData {\n return initData().parse(value);\n}\n","import type { InitData, User } from './types.js';\n\nfunction setString(params: URLSearchParams, key: string, value: string | undefined) {\n if (value === undefined) {\n return;\n }\n params.set(key, value);\n}\n\nfunction setUser(params: URLSearchParams, key: string, value: User | undefined) {\n if (value === undefined) {\n return;\n }\n const {\n photoUrl,\n firstName,\n lastName,\n isPremium,\n languageCode,\n isBot,\n ...rest\n } = value;\n\n params.set(key, JSON.stringify({\n ...rest,\n photo_url: photoUrl,\n first_name: firstName,\n last_name: lastName,\n is_premium: isPremium,\n language_code: languageCode,\n is_bot: isBot,\n }));\n}\n\n/**\n * Converts init data to its initial representation.\n * @param value - init data.\n */\nexport function serialize(value: InitData): string {\n const {\n authDate,\n canSendAfter,\n chat,\n chatInstance,\n chatType,\n hash,\n queryId,\n receiver,\n startParam,\n user,\n } = value;\n\n const params = new URLSearchParams();\n\n params.set('auth_date', (authDate.getTime() / 1000).toString());\n setString(params, 'chat_instance', chatInstance);\n setString(params, 'chat_type', chatType);\n setString(params, 'hash', hash);\n setString(params, 'query_id', queryId);\n setUser(params, 'receiver', receiver);\n setString(params, 'start_param', startParam);\n setUser(params, 'user', user);\n\n if (chat) {\n const { photoUrl, ...rest } = chat;\n params.set('chat', JSON.stringify({\n ...rest,\n photo_url: photoUrl,\n }));\n }\n\n if (canSendAfter) {\n params.set('can_send_after', canSendAfter.toString());\n }\n\n return params.toString();\n}\n"],"names":["w","g","r","e","d","y","s","h","n","c","l","f","$","S","V","D","u","m","o","a","i","p","b","R","x","G","chat","json","number","string","user","boolean","initData","searchParams","date","parse","value","setString","params","key","setUser","photoUrl","firstName","lastName","isPremium","languageCode","isBot","rest","serialize","authDate","canSendAfter","chatInstance","chatType","hash","queryId","receiver","startParam"],"mappings":"uEAAA,IAAIA,EAAI,OAAO,eACXC,EAAI,CAAC,EAAGC,EAAGC,IAAMD,KAAK,EAAIF,EAAE,EAAGE,EAAG,CAAE,WAAY,GAAI,aAAc,GAAI,SAAU,GAAI,MAAOC,CAAC,CAAE,EAAI,EAAED,CAAC,EAAIC,EACzGC,EAAI,CAAC,EAAGF,EAAGC,KAAOF,EAAE,EAAG,OAAOC,GAAK,SAAWA,EAAI,GAAKA,EAAGC,CAAC,EAAGA,GAElE,MAAME,UAAU,KAAM,CACpB,YAAY,EAAG,CAAE,MAAOC,EAAG,KAAM,CAAG,EAAG,GAAI,CACzC,MAAM,wBAAwB,EAAI,OAAO,CAAC,GAAK,EAAE,GAAI,CAAE,MAAOA,CAAG,CAAA,EAIjEF,EAAE,KAAM,MAAM,EACd,KAAK,MAAQ,EAAG,OAAO,eAAe,KAAMC,EAAE,SAAS,EAAG,KAAK,KAAO,CACvE,CACH,CACA,MAAME,CAAE,CACN,YAAYL,EAAGC,EAAGG,EAAGE,EAAG,CACtB,KAAK,OAASN,EAAG,KAAK,WAAaC,EAAG,KAAK,QAAUG,EAAG,KAAK,KAAOE,CACrE,CACD,MAAMN,EAAG,CACP,GAAI,EAAE,KAAK,YAAc,KAAK,QAAQA,CAAC,GACrC,GAAI,CACF,OAAO,KAAK,OAAOA,CAAC,CACrB,OAAQC,EAAG,CACV,MAAM,IAAIE,EAAEH,EAAG,CAAE,KAAM,KAAK,KAAM,MAAOC,CAAC,CAAE,CAC7C,CACJ,CACD,UAAW,CACT,OAAO,KAAK,WAAa,GAAI,IAC9B,CACH,CACA,SAASM,GAAI,CACX,OAAO,IAAI,UAAU,2BAA2B,CAClD,CA2BA,SAASC,EAAE,EAAG,CACZ,OAAO,IAAM,MACf,CAIA,SAASC,EAAE,EAAG,CACZ,KAAMT,EACN,QAASC,EAAIO,CACf,EAAI,GAAI,CACN,MAAO,CAAC,CAAE,QAASJ,EAAIH,CAAG,EAAG,CAAE,IAAK,IAAII,EAAE,EAAG,GAAID,EAAGJ,CAAC,CACvD,CACA,MAAMU,EAAID,EAAG,GAAM,CACjB,GAAI,OAAO,GAAK,UACd,OAAO,EACT,MAAMT,EAAI,OAAO,CAAC,EAClB,GAAIA,IAAM,KAAOA,IAAM,OACrB,MAAO,GACT,GAAIA,IAAM,KAAOA,IAAM,QACrB,MAAO,GACT,MAAMO,EAAC,CACT,EAAG,CACD,KAAM,SACR,CAAC,EAAGI,EAAIF,EAAG,GAAM,CACf,GAAI,OAAO,GAAK,SACd,OAAO,EACT,GAAI,OAAO,GAAK,SAAU,CACxB,MAAMT,EAAI,OAAO,CAAC,EAClB,GAAI,CAAC,OAAO,MAAMA,CAAC,EACjB,OAAOA,CACV,CACD,MAAMO,EAAC,CACT,EAAG,CACD,KAAM,QACR,CAAC,EAAGK,EAAID,EAAG,EAAEE,EAAIJ,EAAG,GAAM,aAAa,KAAO,EAAI,IAAI,KAAKG,EAAE,MAAM,CAAC,EAAI,GAAG,EAAG,CAC5E,KAAM,MACR,CAAC,EACD,MAAME,UAAU,KAAM,CACpB,YAAYd,EAAG,CAAE,MAAOC,EAAG,KAAMG,CAAG,EAAG,GAAI,CACzC,MAAM,0BAA0BJ,CAAC,IAAII,EAAI,OAAOA,CAAC,GAAK,EAAE,GAAI,CAAE,MAAOH,CAAC,CAAE,EAAG,OAAO,eAAe,KAAMa,EAAE,SAAS,CACnH,CACH,CACA,SAASC,EAAE,EAAGf,EAAG,CACf,MAAMC,EAAI,CAAA,EACV,UAAWG,KAAK,EAAG,CACjB,MAAME,EAAI,EAAEF,CAAC,EACb,GAAI,CAACE,EACH,SACF,IAAIU,EAAGC,EACP,GAAI,OAAOX,GAAK,YAAc,UAAWA,EACvCU,EAAIZ,EAAGa,EAAI,OAAOX,GAAK,WAAaA,EAAIA,EAAE,MAAM,KAAKA,CAAC,MACnD,CACH,KAAM,CAAE,KAAMY,CAAG,EAAGZ,EACpBU,EAAIV,EAAE,MAAQF,EAAGa,EAAI,OAAOC,GAAK,WAAaA,EAAIA,EAAE,MAAM,KAAKA,CAAC,CACjE,CACD,IAAIC,EACJ,MAAMC,EAAIpB,EAAEgB,CAAC,EACb,GAAI,CACFG,EAAIF,EAAEG,CAAC,CACR,OAAQF,EAAG,CACV,MAAMA,aAAaf,EAAI,IAAIW,EAAEE,EAAG,CAC9B,KAAME,EAAE,KACR,MAAOA,CACf,CAAO,EAAI,IAAIJ,EAAEE,EAAG,CAAE,MAAOE,CAAC,CAAE,CAC3B,CACDC,IAAM,SAAWlB,EAAEG,CAAC,EAAIe,EACzB,CACD,OAAOlB,CACT,CACA,SAASoB,EAAE,EAAGrB,EAAI,GAAI,CACpB,KAAM,CACJ,KAAMC,EACN,QAASG,EAAII,CACd,EAAGR,EACJ,OAAO,IAAIK,EAAGC,GAAM,CAClB,IAAIU,EAAIV,EACR,GAAI,OAAOU,GAAK,WAAaA,EAAI,KAAK,MAAMA,CAAC,GAAI,OAAOA,GAAK,UAAYA,IAAM,MAAQ,MAAM,QAAQA,CAAC,EACpG,MAAMT,EAAC,EACT,OAAOQ,EAAE,EAAIE,GAAMD,EAAEC,CAAC,CAAC,CACxB,EAAE,GAAIb,EAAGH,CAAC,CACb,CACK,MAACqB,EAAIb,EAAG,GAAM,CACjB,GAAI,OAAO,GAAK,UAAY,OAAO,GAAK,SACtC,OAAO,EAAE,WACX,MAAMF,EAAC,CACT,EAAG,CACD,KAAM,QACR,CAAC,EAAOe,IAGR,SAASC,EAAE,EAAGvB,EAAI,GAAI,CACpB,KAAM,CACJ,KAAMC,EACN,QAASG,EAAII,CACd,EAAGR,EACJ,OAAO,IAAIK,EAAGC,GAAM,CAClB,GAAI,OAAOA,GAAK,UAAY,EAAEA,aAAa,iBACzC,MAAMC,EAAC,EACT,MAAMS,EAAI,OAAOV,GAAK,SAAW,IAAI,gBAAgBA,CAAC,EAAIA,EAC1D,OAAOS,EAAE,EAAIE,GAAM,CACjB,MAAME,EAAIH,EAAE,IAAIC,CAAC,EACjB,OAAOE,IAAM,KAAO,OAASA,CACnC,CAAK,CACF,EAAE,GAAIf,EAAGH,CAAC,CACb,CC9JO,SAASuB,GAAO,CACrB,OAAOC,EAAK,CACV,GAAIC,EAAO,EACX,KAAMC,EAAO,EACb,MAAOA,EAAO,EACd,SAAU,CACR,KAAMA,EAAO,EAAE,SAAS,EACxB,KAAM,WACR,EACA,SAAUA,EAAO,EAAE,SAAS,CAAA,EAC3B,CACD,KAAM,MAAA,CACP,CACH,CCXO,SAASC,GAAO,CACrB,OAAOH,EAAW,CAChB,sBAAuB,CACrB,KAAMI,EAAQ,EAAE,SAAS,EACzB,KAAM,0BACR,EACA,gBAAiB,CACf,KAAMA,EAAQ,EAAE,SAAS,EACzB,KAAM,oBACR,EACA,UAAW,CACT,KAAMF,EAAO,EACb,KAAM,YACR,EACA,GAAID,EAAO,EACX,MAAO,CACL,KAAMG,EAAQ,EAAE,SAAS,EACzB,KAAM,QACR,EACA,UAAW,CACT,KAAMA,EAAQ,EAAE,SAAS,EACzB,KAAM,YACR,EACA,aAAc,CACZ,KAAMF,EAAO,EAAE,SAAS,EACxB,KAAM,eACR,EACA,SAAU,CACR,KAAMA,EAAO,EAAE,SAAS,EACxB,KAAM,WACR,EACA,SAAU,CACR,KAAMA,EAAO,EAAE,SAAS,EACxB,KAAM,WACR,EACA,SAAUA,EAAO,EAAE,SAAS,CAAA,EAC3B,CACD,KAAM,MAAA,CACP,CACH,CCrCO,SAASG,GAAW,CACzB,OAAOC,EAAuB,CAC5B,SAAU,CACR,KAAMC,EAAK,EACX,KAAM,WACR,EACA,aAAc,CACZ,KAAMN,EAAO,EAAE,SAAS,EACxB,KAAM,gBACR,EACA,KAAMF,EAAK,EAAE,SAAS,EACtB,aAAc,CACZ,KAAMG,EAAO,EAAE,SAAS,EACxB,KAAM,eACR,EACA,SAAU,CACR,KAAMA,EAAO,EAAE,SAAS,EACxB,KAAM,WACR,EACA,KAAMA,EAAO,EACb,QAAS,CACP,KAAMA,EAAO,EAAE,SAAS,EACxB,KAAM,UACR,EACA,SAAUC,EAAK,EAAE,SAAS,EAC1B,WAAY,CACV,KAAMD,EAAO,EAAE,SAAS,EACxB,KAAM,aACR,EACA,KAAMC,EAAK,EAAE,SAAS,CAAA,EACrB,CACD,KAAM,UAAA,CACP,CACH,CCnCO,SAASK,EAAMC,EAA0B,CACvC,OAAAJ,EAAW,EAAA,MAAMI,CAAK,CAC/B,CCPA,SAASC,EAAUC,EAAyBC,EAAaH,EAA2B,CAC9EA,IAAU,QAGPE,EAAA,IAAIC,EAAKH,CAAK,CACvB,CAEA,SAASI,EAAQF,EAAyBC,EAAaH,EAAyB,CAC9E,GAAIA,IAAU,OACZ,OAEI,KAAA,CACJ,SAAAK,EACA,UAAAC,EACA,SAAAC,EACA,UAAAC,EACA,aAAAC,EACA,MAAAC,EACA,GAAGC,CACD,EAAAX,EAEGE,EAAA,IAAIC,EAAK,KAAK,UAAU,CAC7B,GAAGQ,EACH,UAAWN,EACX,WAAYC,EACZ,UAAWC,EACX,WAAYC,EACZ,cAAeC,EACf,OAAQC,CACT,CAAA,CAAC,CACJ,CAMO,SAASE,EAAUZ,EAAyB,CAC3C,KAAA,CACJ,SAAAa,EACA,aAAAC,EACA,KAAAxB,EACA,aAAAyB,EACA,SAAAC,EACA,KAAAC,EACA,QAAAC,EACA,SAAAC,EACA,WAAAC,EACA,KAAA1B,CACE,EAAAM,EAEEE,EAAS,IAAI,gBAWnB,GATAA,EAAO,IAAI,aAAcW,EAAS,UAAY,KAAM,UAAU,EACpDZ,EAAAC,EAAQ,gBAAiBa,CAAY,EACrCd,EAAAC,EAAQ,YAAac,CAAQ,EAC7Bf,EAAAC,EAAQ,OAAQe,CAAI,EACpBhB,EAAAC,EAAQ,WAAYgB,CAAO,EAC7Bd,EAAAF,EAAQ,WAAYiB,CAAQ,EAC1BlB,EAAAC,EAAQ,cAAekB,CAAU,EACnChB,EAAAF,EAAQ,OAAQR,CAAI,EAExBJ,EAAM,CACR,KAAM,CAAE,SAAAe,EAAU,GAAGM,CAAA,EAASrB,EACvBY,EAAA,IAAI,OAAQ,KAAK,UAAU,CAChC,GAAGS,EACH,UAAWN,CACZ,CAAA,CAAC,CACJ,CAEA,OAAIS,GACFZ,EAAO,IAAI,iBAAkBY,EAAa,SAAU,CAAA,EAG/CZ,EAAO,UAChB"}
1
+ {"version":3,"file":"index.iife.js","sources":["../../parsing/dist/index.mjs","../src/chat.ts","../src/user.ts","../src/initData.ts","../src/parse.ts","../src/serialize.ts"],"sourcesContent":["var w = Object.defineProperty;\nvar m = (t, r, e) => r in t ? w(t, r, { enumerable: !0, configurable: !0, writable: !0, value: e }) : t[r] = e;\nvar l = (t, r, e) => (m(t, typeof r != \"symbol\" ? r + \"\" : r, e), e);\nimport { toRGB as g } from \"@tma.js/colors\";\nclass p extends Error {\n constructor(e, { cause: n, type: o } = {}) {\n super(`Unable to parse value${o ? ` as ${o}` : \"\"}`, { cause: n });\n /**\n * Parser name.\n */\n l(this, \"type\");\n this.value = e, Object.setPrototypeOf(this, p.prototype), this.type = o;\n }\n}\nclass u {\n constructor(r, e, n) {\n this.parser = r, this.isOptional = e, this.type = n;\n }\n parse(r) {\n if (!(this.isOptional && r === void 0))\n try {\n return this.parser(r);\n } catch (e) {\n throw new p(r, { type: this.type, cause: e });\n }\n }\n optional() {\n return this.isOptional = !0, this;\n }\n}\nfunction a() {\n return new TypeError(\"Value has unexpected type\");\n}\nfunction O(t) {\n if (Array.isArray(t))\n return t;\n if (typeof t == \"string\")\n try {\n const r = JSON.parse(t);\n if (Array.isArray(r))\n return r;\n } catch {\n }\n throw a();\n}\nclass A extends u {\n constructor(e, n, o) {\n super(O, n, o);\n l(this, \"itemParser\");\n this.itemParser = typeof e == \"function\" ? e : e.parse.bind(e);\n }\n parse(e) {\n const n = super.parse(e);\n return n === void 0 ? n : n.map(this.itemParser);\n }\n of(e) {\n return this.itemParser = typeof e == \"function\" ? e : e.parse.bind(e), this;\n }\n}\nfunction E(t) {\n return new A((r) => r, !1, t);\n}\nfunction c(t, r) {\n return () => new u(t, !1, r);\n}\nconst R = c((t) => {\n if (typeof t == \"boolean\")\n return t;\n const r = String(t);\n if (r === \"1\" || r === \"true\")\n return !0;\n if (r === \"0\" || r === \"false\")\n return !1;\n throw a();\n}, \"boolean\"), S = c((t) => {\n if (typeof t == \"number\")\n return t;\n if (typeof t == \"string\") {\n const r = Number(t);\n if (!Number.isNaN(r))\n return r;\n }\n throw a();\n}, \"number\"), V = S(), U = c((t) => t instanceof Date ? t : new Date(V.parse(t) * 1e3), \"Date\");\nclass f extends Error {\n constructor(r, { cause: e, type: n } = {}) {\n super(`Unable to parse field \"${r}\"${n ? ` as ${n}` : \"\"}`, { cause: e }), Object.setPrototypeOf(this, f.prototype);\n }\n}\nfunction d(t, r) {\n const e = {};\n for (const n in t) {\n const o = t[n];\n if (!o)\n continue;\n let i, y;\n if (typeof o == \"function\" || \"parse\" in o)\n i = n, y = typeof o == \"function\" ? o : o.parse.bind(o);\n else {\n const { type: s } = o;\n i = o.from || n, y = typeof s == \"function\" ? s : s.parse.bind(s);\n }\n let h;\n const b = r(i);\n try {\n h = y(b);\n } catch (s) {\n throw s instanceof p ? new f(i, {\n type: s.type,\n cause: s\n }) : new f(i, { cause: s });\n }\n h !== void 0 && (e[n] = h);\n }\n return e;\n}\nfunction x(t) {\n let r = t;\n if (typeof r == \"string\" && (r = JSON.parse(r)), typeof r != \"object\" || r === null || Array.isArray(r))\n throw a();\n return r;\n}\nfunction D(t, r) {\n return new u((e) => {\n const n = x(e);\n return d(t, (o) => n[o]);\n }, !1, r);\n}\nconst N = c((t) => {\n if (typeof t == \"string\" || typeof t == \"number\")\n return t.toString();\n throw a();\n}, \"string\"), P = N(), B = c((t) => g(P.parse(t)), \"rgb\");\nfunction G(t, r) {\n return new u((e) => {\n if (typeof e != \"string\" && !(e instanceof URLSearchParams))\n throw a();\n const n = typeof e == \"string\" ? new URLSearchParams(e) : e;\n return d(t, (o) => {\n const i = n.get(o);\n return i === null ? void 0 : i;\n });\n }, !1, r);\n}\nexport {\n A as ArrayValueParser,\n p as ParseError,\n f as ParseSchemaFieldError,\n u as ValueParser,\n E as array,\n R as boolean,\n c as createValueParserGenerator,\n U as date,\n D as json,\n S as number,\n d as parseBySchema,\n B as rgb,\n G as searchParams,\n N as string,\n x as toRecord,\n a as unexpectedTypeError\n};\n//# sourceMappingURL=index.mjs.map\n","import { json, number, string } from '@tma.js/parsing';\n\n/**\n * Returns parser used to parse chat data.\n */\nexport function chat() {\n return json({\n id: number(),\n type: string(),\n title: string(),\n photoUrl: {\n type: string().optional(),\n from: 'photo_url',\n },\n username: string().optional(),\n }, 'Chat');\n}\n","import { json, string, boolean, number } from '@tma.js/parsing';\n\nimport type { User } from './types.js';\n\n/**\n * Returns parser used to parse user data.\n */\nexport function user() {\n return json<User>({\n addedToAttachmentMenu: {\n type: boolean().optional(),\n from: 'added_to_attachment_menu',\n },\n allowsWriteToPm: {\n type: boolean().optional(),\n from: 'allows_write_to_pm',\n },\n firstName: {\n type: string(),\n from: 'first_name',\n },\n id: number(),\n isBot: {\n type: boolean().optional(),\n from: 'is_bot',\n },\n isPremium: {\n type: boolean().optional(),\n from: 'is_premium',\n },\n languageCode: {\n type: string().optional(),\n from: 'language_code',\n },\n lastName: {\n type: string().optional(),\n from: 'last_name',\n },\n photoUrl: {\n type: string().optional(),\n from: 'photo_url',\n },\n username: string().optional(),\n }, 'User');\n}\n","import { string, number, date, searchParams } from '@tma.js/parsing';\n\nimport { user } from './user.js';\nimport { chat } from './chat.js';\nimport type { InitData } from './types.js';\n\n/**\n * Returns parser used to parse init data, presented as search params.\n */\nexport function initData() {\n return searchParams<InitData>({\n authDate: {\n type: date(),\n from: 'auth_date',\n },\n canSendAfter: {\n type: number().optional(),\n from: 'can_send_after',\n },\n chat: chat().optional(),\n chatInstance: {\n type: string().optional(),\n from: 'chat_instance',\n },\n chatType: {\n type: string().optional(),\n from: 'chat_type',\n },\n hash: string(),\n queryId: {\n type: string().optional(),\n from: 'query_id',\n },\n receiver: user().optional(),\n startParam: {\n type: string().optional(),\n from: 'start_param',\n },\n user: user().optional(),\n }, 'InitData');\n}\n","import { initData } from './initData.js';\nimport type { InitData } from './types.js';\n\n/**\n * Parses incoming value as init data.\n * @param value - value to parse.\n */\nexport function parse(value: unknown): InitData {\n return initData().parse(value);\n}\n","import type { InitData, User } from './types.js';\n\nfunction setString(params: URLSearchParams, key: string, value: string | undefined) {\n if (value === undefined) {\n return;\n }\n params.set(key, value);\n}\n\nfunction setUser(params: URLSearchParams, key: string, value: User | undefined) {\n if (value === undefined) {\n return;\n }\n const {\n photoUrl,\n firstName,\n lastName,\n isPremium,\n languageCode,\n isBot,\n ...rest\n } = value;\n\n params.set(key, JSON.stringify({\n ...rest,\n photo_url: photoUrl,\n first_name: firstName,\n last_name: lastName,\n is_premium: isPremium,\n language_code: languageCode,\n is_bot: isBot,\n }));\n}\n\n/**\n * Converts init data to its initial representation.\n * @param value - init data.\n */\nexport function serialize(value: InitData): string {\n const {\n authDate,\n canSendAfter,\n chat,\n chatInstance,\n chatType,\n hash,\n queryId,\n receiver,\n startParam,\n user,\n } = value;\n\n const params = new URLSearchParams();\n\n params.set('auth_date', (authDate.getTime() / 1000).toString());\n setString(params, 'chat_instance', chatInstance);\n setString(params, 'chat_type', chatType);\n setString(params, 'hash', hash);\n setString(params, 'query_id', queryId);\n setUser(params, 'receiver', receiver);\n setString(params, 'start_param', startParam);\n setUser(params, 'user', user);\n\n if (chat) {\n const { photoUrl, ...rest } = chat;\n params.set('chat', JSON.stringify({\n ...rest,\n photo_url: photoUrl,\n }));\n }\n\n if (canSendAfter) {\n params.set('can_send_after', canSendAfter.toString());\n }\n\n return params.toString();\n}\n"],"names":["w","m","t","r","e","l","p","n","o","u","a","c","R","S","V","U","f","d","i","y","s","h","b","x","D","N","G","chat","json","number","string","user","boolean","initData","searchParams","date","parse","value","setString","params","key","setUser","photoUrl","firstName","lastName","isPremium","languageCode","isBot","rest","serialize","authDate","canSendAfter","chatInstance","chatType","hash","queryId","receiver","startParam"],"mappings":"uEAAA,IAAIA,EAAI,OAAO,eACXC,EAAI,CAACC,EAAGC,EAAGC,IAAMD,KAAKD,EAAIF,EAAEE,EAAGC,EAAG,CAAE,WAAY,GAAI,aAAc,GAAI,SAAU,GAAI,MAAOC,CAAC,CAAE,EAAIF,EAAEC,CAAC,EAAIC,EACzGC,EAAI,CAACH,EAAGC,EAAGC,KAAOH,EAAEC,EAAG,OAAOC,GAAK,SAAWA,EAAI,GAAKA,EAAGC,CAAC,EAAGA,GAElE,MAAME,UAAU,KAAM,CACpB,YAAYF,EAAG,CAAE,MAAOG,EAAG,KAAMC,CAAG,EAAG,GAAI,CACzC,MAAM,wBAAwBA,EAAI,OAAOA,CAAC,GAAK,EAAE,GAAI,CAAE,MAAOD,CAAG,CAAA,EAIjEF,EAAE,KAAM,MAAM,EACd,KAAK,MAAQD,EAAG,OAAO,eAAe,KAAME,EAAE,SAAS,EAAG,KAAK,KAAOE,CACvE,CACH,CACA,MAAMC,CAAE,CACN,YAAYN,EAAGC,EAAG,EAAG,CACnB,KAAK,OAASD,EAAG,KAAK,WAAaC,EAAG,KAAK,KAAO,CACnD,CACD,MAAMD,EAAG,CACP,GAAI,EAAE,KAAK,YAAcA,IAAM,QAC7B,GAAI,CACF,OAAO,KAAK,OAAOA,CAAC,CACrB,OAAQC,EAAG,CACV,MAAM,IAAIE,EAAEH,EAAG,CAAE,KAAM,KAAK,KAAM,MAAOC,CAAC,CAAE,CAC7C,CACJ,CACD,UAAW,CACT,OAAO,KAAK,WAAa,GAAI,IAC9B,CACH,CACA,SAASM,GAAI,CACX,OAAO,IAAI,UAAU,2BAA2B,CAClD,CA8BA,SAASC,EAAET,EAAGC,EAAG,CACf,MAAO,IAAM,IAAIM,EAAEP,EAAG,GAAIC,CAAC,CAC7B,CACA,MAAMS,EAAID,EAAGT,GAAM,CACjB,GAAI,OAAOA,GAAK,UACd,OAAOA,EACT,MAAMC,EAAI,OAAOD,CAAC,EAClB,GAAIC,IAAM,KAAOA,IAAM,OACrB,MAAO,GACT,GAAIA,IAAM,KAAOA,IAAM,QACrB,MAAO,GACT,MAAMO,EAAC,CACT,EAAG,SAAS,EAAGG,EAAIF,EAAGT,GAAM,CAC1B,GAAI,OAAOA,GAAK,SACd,OAAOA,EACT,GAAI,OAAOA,GAAK,SAAU,CACxB,MAAMC,EAAI,OAAOD,CAAC,EAClB,GAAI,CAAC,OAAO,MAAMC,CAAC,EACjB,OAAOA,CACV,CACD,MAAMO,EAAC,CACT,EAAG,QAAQ,EAAGI,EAAID,EAAC,EAAIE,EAAIJ,EAAGT,GAAMA,aAAa,KAAOA,EAAI,IAAI,KAAKY,EAAE,MAAMZ,CAAC,EAAI,GAAG,EAAG,MAAM,EAC9F,MAAMc,UAAU,KAAM,CACpB,YAAYb,EAAG,CAAE,MAAOC,EAAG,KAAM,CAAG,EAAG,GAAI,CACzC,MAAM,0BAA0BD,CAAC,IAAI,EAAI,OAAO,CAAC,GAAK,EAAE,GAAI,CAAE,MAAOC,CAAC,CAAE,EAAG,OAAO,eAAe,KAAMY,EAAE,SAAS,CACnH,CACH,CACA,SAASC,EAAEf,EAAGC,EAAG,CACf,MAAMC,EAAI,CAAA,EACV,UAAW,KAAKF,EAAG,CACjB,MAAM,EAAIA,EAAE,CAAC,EACb,GAAI,CAAC,EACH,SACF,IAAIgB,EAAGC,EACP,GAAI,OAAO,GAAK,YAAc,UAAW,EACvCD,EAAI,EAAGC,EAAI,OAAO,GAAK,WAAa,EAAI,EAAE,MAAM,KAAK,CAAC,MACnD,CACH,KAAM,CAAE,KAAMC,CAAG,EAAG,EACpBF,EAAI,EAAE,MAAQ,EAAGC,EAAI,OAAOC,GAAK,WAAaA,EAAIA,EAAE,MAAM,KAAKA,CAAC,CACjE,CACD,IAAIC,EACJ,MAAMC,EAAInB,EAAEe,CAAC,EACb,GAAI,CACFG,EAAIF,EAAEG,CAAC,CACR,OAAQF,EAAG,CACV,MAAMA,aAAad,EAAI,IAAIU,EAAEE,EAAG,CAC9B,KAAME,EAAE,KACR,MAAOA,CACf,CAAO,EAAI,IAAIJ,EAAEE,EAAG,CAAE,MAAOE,CAAC,CAAE,CAC3B,CACDC,IAAM,SAAWjB,EAAE,CAAC,EAAIiB,EACzB,CACD,OAAOjB,CACT,CACA,SAASmB,EAAErB,EAAG,CACZ,IAAIC,EAAID,EACR,GAAI,OAAOC,GAAK,WAAaA,EAAI,KAAK,MAAMA,CAAC,GAAI,OAAOA,GAAK,UAAYA,IAAM,MAAQ,MAAM,QAAQA,CAAC,EACpG,MAAMO,EAAC,EACT,OAAOP,CACT,CACA,SAASqB,EAAEtB,EAAGC,EAAG,CACf,OAAO,IAAIM,EAAGL,GAAM,CAClB,MAAM,EAAImB,EAAEnB,CAAC,EACb,OAAOa,EAAEf,EAAI,GAAM,EAAE,CAAC,CAAC,CAC3B,EAAK,GAAIC,CAAC,CACV,CACK,MAACsB,EAAId,EAAGT,GAAM,CACjB,GAAI,OAAOA,GAAK,UAAY,OAAOA,GAAK,SACtC,OAAOA,EAAE,WACX,MAAMQ,EAAC,CACT,EAAG,QAAQ,EAAOe,IAClB,SAASC,EAAExB,EAAGC,EAAG,CACf,OAAO,IAAIM,EAAGL,GAAM,CAClB,GAAI,OAAOA,GAAK,UAAY,EAAEA,aAAa,iBACzC,MAAMM,EAAC,EACT,MAAM,EAAI,OAAON,GAAK,SAAW,IAAI,gBAAgBA,CAAC,EAAIA,EAC1D,OAAOa,EAAEf,EAAI,GAAM,CACjB,MAAMgB,EAAI,EAAE,IAAI,CAAC,EACjB,OAAOA,IAAM,KAAO,OAASA,CACnC,CAAK,CACL,EAAK,GAAIf,CAAC,CACV,CC1IO,SAASwB,GAAO,CACrB,OAAOC,EAAK,CACV,GAAIC,EAAO,EACX,KAAMC,EAAO,EACb,MAAOA,EAAO,EACd,SAAU,CACR,KAAMA,EAAO,EAAE,SAAS,EACxB,KAAM,WACR,EACA,SAAUA,EAAO,EAAE,SAAS,GAC3B,MAAM,CACX,CCTO,SAASC,GAAO,CACrB,OAAOH,EAAW,CAChB,sBAAuB,CACrB,KAAMI,EAAQ,EAAE,SAAS,EACzB,KAAM,0BACR,EACA,gBAAiB,CACf,KAAMA,EAAQ,EAAE,SAAS,EACzB,KAAM,oBACR,EACA,UAAW,CACT,KAAMF,EAAO,EACb,KAAM,YACR,EACA,GAAID,EAAO,EACX,MAAO,CACL,KAAMG,EAAQ,EAAE,SAAS,EACzB,KAAM,QACR,EACA,UAAW,CACT,KAAMA,EAAQ,EAAE,SAAS,EACzB,KAAM,YACR,EACA,aAAc,CACZ,KAAMF,EAAO,EAAE,SAAS,EACxB,KAAM,eACR,EACA,SAAU,CACR,KAAMA,EAAO,EAAE,SAAS,EACxB,KAAM,WACR,EACA,SAAU,CACR,KAAMA,EAAO,EAAE,SAAS,EACxB,KAAM,WACR,EACA,SAAUA,EAAO,EAAE,SAAS,GAC3B,MAAM,CACX,CCnCO,SAASG,GAAW,CACzB,OAAOC,EAAuB,CAC5B,SAAU,CACR,KAAMC,EAAK,EACX,KAAM,WACR,EACA,aAAc,CACZ,KAAMN,EAAO,EAAE,SAAS,EACxB,KAAM,gBACR,EACA,KAAMF,EAAK,EAAE,SAAS,EACtB,aAAc,CACZ,KAAMG,EAAO,EAAE,SAAS,EACxB,KAAM,eACR,EACA,SAAU,CACR,KAAMA,EAAO,EAAE,SAAS,EACxB,KAAM,WACR,EACA,KAAMA,EAAO,EACb,QAAS,CACP,KAAMA,EAAO,EAAE,SAAS,EACxB,KAAM,UACR,EACA,SAAUC,EAAK,EAAE,SAAS,EAC1B,WAAY,CACV,KAAMD,EAAO,EAAE,SAAS,EACxB,KAAM,aACR,EACA,KAAMC,EAAK,EAAE,SAAS,GACrB,UAAU,CACf,CCjCO,SAASK,EAAMC,EAA0B,CACvC,OAAAJ,EAAW,EAAA,MAAMI,CAAK,CAC/B,CCPA,SAASC,EAAUC,EAAyBC,EAAaH,EAA2B,CAC9EA,IAAU,QAGPE,EAAA,IAAIC,EAAKH,CAAK,CACvB,CAEA,SAASI,EAAQF,EAAyBC,EAAaH,EAAyB,CAC9E,GAAIA,IAAU,OACZ,OAEI,KAAA,CACJ,SAAAK,EACA,UAAAC,EACA,SAAAC,EACA,UAAAC,EACA,aAAAC,EACA,MAAAC,EACA,GAAGC,CACD,EAAAX,EAEGE,EAAA,IAAIC,EAAK,KAAK,UAAU,CAC7B,GAAGQ,EACH,UAAWN,EACX,WAAYC,EACZ,UAAWC,EACX,WAAYC,EACZ,cAAeC,EACf,OAAQC,CACT,CAAA,CAAC,CACJ,CAMO,SAASE,EAAUZ,EAAyB,CAC3C,KAAA,CACJ,SAAAa,EACA,aAAAC,EACA,KAAAxB,EACA,aAAAyB,EACA,SAAAC,EACA,KAAAC,EACA,QAAAC,EACA,SAAAC,EACA,WAAAC,EACA,KAAA1B,CACE,EAAAM,EAEEE,EAAS,IAAI,gBAWnB,GATAA,EAAO,IAAI,aAAcW,EAAS,UAAY,KAAM,UAAU,EACpDZ,EAAAC,EAAQ,gBAAiBa,CAAY,EACrCd,EAAAC,EAAQ,YAAac,CAAQ,EAC7Bf,EAAAC,EAAQ,OAAQe,CAAI,EACpBhB,EAAAC,EAAQ,WAAYgB,CAAO,EAC7Bd,EAAAF,EAAQ,WAAYiB,CAAQ,EAC1BlB,EAAAC,EAAQ,cAAekB,CAAU,EACnChB,EAAAF,EAAQ,OAAQR,CAAI,EAExBJ,EAAM,CACR,KAAM,CAAE,SAAAe,EAAU,GAAGM,CAAA,EAASrB,EACvBY,EAAA,IAAI,OAAQ,KAAK,UAAU,CAChC,GAAGS,EACH,UAAWN,CACZ,CAAA,CAAC,CACJ,CAEA,OAAIS,GACFZ,EAAO,IAAI,iBAAkBY,EAAa,SAAU,CAAA,EAG/CZ,EAAO,UAChB"}
package/dist/index.mjs CHANGED
@@ -9,9 +9,7 @@ function I() {
9
9
  from: "photo_url"
10
10
  },
11
11
  username: t().optional()
12
- }, {
13
- type: "Chat"
14
- });
12
+ }, "Chat");
15
13
  }
16
14
  function _() {
17
15
  return d({
@@ -49,9 +47,7 @@ function _() {
49
47
  from: "photo_url"
50
48
  },
51
49
  username: t().optional()
52
- }, {
53
- type: "User"
54
- });
50
+ }, "User");
55
51
  }
56
52
  function T() {
57
53
  return U({
@@ -83,9 +79,7 @@ function T() {
83
79
  from: "start_param"
84
80
  },
85
81
  user: _().optional()
86
- }, {
87
- type: "InitData"
88
- });
82
+ }, "InitData");
89
83
  }
90
84
  function q(o) {
91
85
  return T().parse(o);
@@ -1 +1 @@
1
- {"version":3,"file":"index.mjs","sources":["../src/chat.ts","../src/user.ts","../src/initData.ts","../src/parse.ts","../src/serialize.ts"],"sourcesContent":["import { json, number, string } from '@tma.js/parsing';\n\n/**\n * Returns parser used to parse chat data.\n */\nexport function chat() {\n return json({\n id: number(),\n type: string(),\n title: string(),\n photoUrl: {\n type: string().optional(),\n from: 'photo_url',\n },\n username: string().optional(),\n }, {\n type: 'Chat',\n });\n}\n","import { json, string, boolean, number } from '@tma.js/parsing';\n\nimport type { User } from './types.js';\n\n/**\n * Returns parser used to parse user data.\n */\nexport function user() {\n return json<User>({\n addedToAttachmentMenu: {\n type: boolean().optional(),\n from: 'added_to_attachment_menu',\n },\n allowsWriteToPm: {\n type: boolean().optional(),\n from: 'allows_write_to_pm',\n },\n firstName: {\n type: string(),\n from: 'first_name',\n },\n id: number(),\n isBot: {\n type: boolean().optional(),\n from: 'is_bot',\n },\n isPremium: {\n type: boolean().optional(),\n from: 'is_premium',\n },\n languageCode: {\n type: string().optional(),\n from: 'language_code',\n },\n lastName: {\n type: string().optional(),\n from: 'last_name',\n },\n photoUrl: {\n type: string().optional(),\n from: 'photo_url',\n },\n username: string().optional(),\n }, {\n type: 'User',\n });\n}\n","import { string, number, date, searchParams } from '@tma.js/parsing';\n\nimport { user } from './user.js';\nimport { chat } from './chat.js';\nimport type { InitData } from './types.js';\n\n/**\n * Returns parser used to parse init data, presented as search params.\n */\nexport function initData() {\n return searchParams<InitData>({\n authDate: {\n type: date(),\n from: 'auth_date',\n },\n canSendAfter: {\n type: number().optional(),\n from: 'can_send_after',\n },\n chat: chat().optional(),\n chatInstance: {\n type: string().optional(),\n from: 'chat_instance',\n },\n chatType: {\n type: string().optional(),\n from: 'chat_type',\n },\n hash: string(),\n queryId: {\n type: string().optional(),\n from: 'query_id',\n },\n receiver: user().optional(),\n startParam: {\n type: string().optional(),\n from: 'start_param',\n },\n user: user().optional(),\n }, {\n type: 'InitData',\n });\n}\n","import { initData } from './initData.js';\nimport type { InitData } from './types.js';\n\n/**\n * Parses incoming value as init data.\n * @param value - value to parse.\n */\nexport function parse(value: unknown): InitData {\n return initData().parse(value);\n}\n","import type { InitData, User } from './types.js';\n\nfunction setString(params: URLSearchParams, key: string, value: string | undefined) {\n if (value === undefined) {\n return;\n }\n params.set(key, value);\n}\n\nfunction setUser(params: URLSearchParams, key: string, value: User | undefined) {\n if (value === undefined) {\n return;\n }\n const {\n photoUrl,\n firstName,\n lastName,\n isPremium,\n languageCode,\n isBot,\n ...rest\n } = value;\n\n params.set(key, JSON.stringify({\n ...rest,\n photo_url: photoUrl,\n first_name: firstName,\n last_name: lastName,\n is_premium: isPremium,\n language_code: languageCode,\n is_bot: isBot,\n }));\n}\n\n/**\n * Converts init data to its initial representation.\n * @param value - init data.\n */\nexport function serialize(value: InitData): string {\n const {\n authDate,\n canSendAfter,\n chat,\n chatInstance,\n chatType,\n hash,\n queryId,\n receiver,\n startParam,\n user,\n } = value;\n\n const params = new URLSearchParams();\n\n params.set('auth_date', (authDate.getTime() / 1000).toString());\n setString(params, 'chat_instance', chatInstance);\n setString(params, 'chat_type', chatType);\n setString(params, 'hash', hash);\n setString(params, 'query_id', queryId);\n setUser(params, 'receiver', receiver);\n setString(params, 'start_param', startParam);\n setUser(params, 'user', user);\n\n if (chat) {\n const { photoUrl, ...rest } = chat;\n params.set('chat', JSON.stringify({\n ...rest,\n photo_url: photoUrl,\n }));\n }\n\n if (canSendAfter) {\n params.set('can_send_after', canSendAfter.toString());\n }\n\n return params.toString();\n}\n"],"names":["chat","json","number","string","user","boolean","initData","searchParams","date","parse","value","setString","params","key","setUser","photoUrl","firstName","lastName","isPremium","languageCode","isBot","rest","serialize","authDate","canSendAfter","chatInstance","chatType","hash","queryId","receiver","startParam"],"mappings":"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"}
1
+ {"version":3,"file":"index.mjs","sources":["../src/chat.ts","../src/user.ts","../src/initData.ts","../src/parse.ts","../src/serialize.ts"],"sourcesContent":["import { json, number, string } from '@tma.js/parsing';\n\n/**\n * Returns parser used to parse chat data.\n */\nexport function chat() {\n return json({\n id: number(),\n type: string(),\n title: string(),\n photoUrl: {\n type: string().optional(),\n from: 'photo_url',\n },\n username: string().optional(),\n }, 'Chat');\n}\n","import { json, string, boolean, number } from '@tma.js/parsing';\n\nimport type { User } from './types.js';\n\n/**\n * Returns parser used to parse user data.\n */\nexport function user() {\n return json<User>({\n addedToAttachmentMenu: {\n type: boolean().optional(),\n from: 'added_to_attachment_menu',\n },\n allowsWriteToPm: {\n type: boolean().optional(),\n from: 'allows_write_to_pm',\n },\n firstName: {\n type: string(),\n from: 'first_name',\n },\n id: number(),\n isBot: {\n type: boolean().optional(),\n from: 'is_bot',\n },\n isPremium: {\n type: boolean().optional(),\n from: 'is_premium',\n },\n languageCode: {\n type: string().optional(),\n from: 'language_code',\n },\n lastName: {\n type: string().optional(),\n from: 'last_name',\n },\n photoUrl: {\n type: string().optional(),\n from: 'photo_url',\n },\n username: string().optional(),\n }, 'User');\n}\n","import { string, number, date, searchParams } from '@tma.js/parsing';\n\nimport { user } from './user.js';\nimport { chat } from './chat.js';\nimport type { InitData } from './types.js';\n\n/**\n * Returns parser used to parse init data, presented as search params.\n */\nexport function initData() {\n return searchParams<InitData>({\n authDate: {\n type: date(),\n from: 'auth_date',\n },\n canSendAfter: {\n type: number().optional(),\n from: 'can_send_after',\n },\n chat: chat().optional(),\n chatInstance: {\n type: string().optional(),\n from: 'chat_instance',\n },\n chatType: {\n type: string().optional(),\n from: 'chat_type',\n },\n hash: string(),\n queryId: {\n type: string().optional(),\n from: 'query_id',\n },\n receiver: user().optional(),\n startParam: {\n type: string().optional(),\n from: 'start_param',\n },\n user: user().optional(),\n }, 'InitData');\n}\n","import { initData } from './initData.js';\nimport type { InitData } from './types.js';\n\n/**\n * Parses incoming value as init data.\n * @param value - value to parse.\n */\nexport function parse(value: unknown): InitData {\n return initData().parse(value);\n}\n","import type { InitData, User } from './types.js';\n\nfunction setString(params: URLSearchParams, key: string, value: string | undefined) {\n if (value === undefined) {\n return;\n }\n params.set(key, value);\n}\n\nfunction setUser(params: URLSearchParams, key: string, value: User | undefined) {\n if (value === undefined) {\n return;\n }\n const {\n photoUrl,\n firstName,\n lastName,\n isPremium,\n languageCode,\n isBot,\n ...rest\n } = value;\n\n params.set(key, JSON.stringify({\n ...rest,\n photo_url: photoUrl,\n first_name: firstName,\n last_name: lastName,\n is_premium: isPremium,\n language_code: languageCode,\n is_bot: isBot,\n }));\n}\n\n/**\n * Converts init data to its initial representation.\n * @param value - init data.\n */\nexport function serialize(value: InitData): string {\n const {\n authDate,\n canSendAfter,\n chat,\n chatInstance,\n chatType,\n hash,\n queryId,\n receiver,\n startParam,\n user,\n } = value;\n\n const params = new URLSearchParams();\n\n params.set('auth_date', (authDate.getTime() / 1000).toString());\n setString(params, 'chat_instance', chatInstance);\n setString(params, 'chat_type', chatType);\n setString(params, 'hash', hash);\n setString(params, 'query_id', queryId);\n setUser(params, 'receiver', receiver);\n setString(params, 'start_param', startParam);\n setUser(params, 'user', user);\n\n if (chat) {\n const { photoUrl, ...rest } = chat;\n params.set('chat', JSON.stringify({\n ...rest,\n photo_url: photoUrl,\n }));\n }\n\n if (canSendAfter) {\n params.set('can_send_after', canSendAfter.toString());\n }\n\n return params.toString();\n}\n"],"names":["chat","json","number","string","user","boolean","initData","searchParams","date","parse","value","setString","params","key","setUser","photoUrl","firstName","lastName","isPremium","languageCode","isBot","rest","serialize","authDate","canSendAfter","chatInstance","chatType","hash","queryId","receiver","startParam"],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@tma.js/init-data",
3
- "version": "0.2.21",
3
+ "version": "0.2.22",
4
4
  "description": "Frontend TypeScript library to make work with Mini Apps init data easier.",
5
5
  "author": "Vladislav Kibenko <wolfram.deus@gmail.com>",
6
6
  "homepage": "https://github.com/Telegram-Mini-Apps/tma.js#readme",
@@ -37,7 +37,7 @@
37
37
  }
38
38
  },
39
39
  "dependencies": {
40
- "@tma.js/parsing": "1.0.0"
40
+ "@tma.js/parsing": "1.0.1"
41
41
  },
42
42
  "devDependencies": {
43
43
  "tsconfig": "0.0.2",
package/src/chat.ts CHANGED
@@ -13,7 +13,5 @@ export function chat() {
13
13
  from: 'photo_url',
14
14
  },
15
15
  username: string().optional(),
16
- }, {
17
- type: 'Chat',
18
- });
16
+ }, 'Chat');
19
17
  }
package/src/initData.ts CHANGED
@@ -37,7 +37,5 @@ export function initData() {
37
37
  from: 'start_param',
38
38
  },
39
39
  user: user().optional(),
40
- }, {
41
- type: 'InitData',
42
- });
40
+ }, 'InitData');
43
41
  }
package/src/user.ts CHANGED
@@ -41,7 +41,5 @@ export function user() {
41
41
  from: 'photo_url',
42
42
  },
43
43
  username: string().optional(),
44
- }, {
45
- type: 'User',
46
- });
44
+ }, 'User');
47
45
  }