wowok
Version:
Wowok Blockchain TypeScript API
1 lines • 3.79 kB
JavaScript
import{WireType}from'@protobuf-ts/runtime';import{UnknownFieldHandler}from'@protobuf-ts/runtime';import{reflectionMergePartial}from'@protobuf-ts/runtime';import{typeofJsonValue}from'@protobuf-ts/runtime';import{PbLong}from'@protobuf-ts/runtime';import{MessageType}from'@protobuf-ts/runtime';class Timestamp$Type extends MessageType{constructor(){super('google.protobuf.Timestamp',[{'no':0x1,'name':'seconds','kind':'scalar','T':0x3,'L':0x0},{'no':0x2,'name':'nanos','kind':'scalar','T':0x5}]);}['now'](){const a=this['create'](),b=Date['now']();return a['seconds']=PbLong['from'](Math['floor'](b/0x3e8))['toBigInt'](),a['nanos']=b%0x3e8*0xf4240,a;}['toDate'](a){return new Date(PbLong['from'](a['seconds'])['toNumber']()*0x3e8+Math['ceil'](a['nanos']/0xf4240));}['fromDate'](a){const b=this['create'](),c=a['getTime']();return b['seconds']=PbLong['from'](Math['floor'](c/0x3e8))['toBigInt'](),b['nanos']=(c%0x3e8+(c<0x0&&c%0x3e8!==0x0?0x3e8:0x0))*0xf4240,b;}['internalJsonWrite'](a,b){let c=PbLong['from'](a['seconds'])['toNumber']()*0x3e8;if(c<Date['parse']('0001-01-01T00:00:00Z')||c>Date['parse']('9999-12-31T23:59:59Z'))throw new Error('Unable\x20to\x20encode\x20Timestamp\x20to\x20JSON.\x20Must\x20be\x20from\x200001-01-01T00:00:00Z\x20to\x209999-12-31T23:59:59Z\x20inclusive.');if(a['nanos']<0x0)throw new Error('Unable\x20to\x20encode\x20invalid\x20Timestamp\x20to\x20JSON.\x20Nanos\x20must\x20not\x20be\x20negative.');let d='Z';if(a['nanos']>0x0){let e=(a['nanos']+0x3b9aca00)['toString']()['substring'](0x1);if(e['substring'](0x3)==='000000')d='.'+e['substring'](0x0,0x3)+'Z';else{if(e['substring'](0x6)==='000')d='.'+e['substring'](0x0,0x6)+'Z';else d='.'+e+'Z';}}return new Date(c)['toISOString']()['replace']('.000Z',d);}['internalJsonRead'](a,b,c){if(typeof a!=='string')throw new Error('Unable\x20to\x20parse\x20Timestamp\x20from\x20JSON\x20'+typeofJsonValue(a)+'.');let d=a['match'](/^([0-9]{4})-([0-9]{2})-([0-9]{2})T([0-9]{2}):([0-9]{2}):([0-9]{2})(?:Z|\.([0-9]{3,9})Z|([+-][0-9][0-9]:[0-9][0-9]))$/);if(!d)throw new Error('Unable\x20to\x20parse\x20Timestamp\x20from\x20JSON.\x20Invalid\x20format.');let e=Date['parse'](d[0x1]+'-'+d[0x2]+'-'+d[0x3]+'T'+d[0x4]+':'+d[0x5]+':'+d[0x6]+(d[0x8]?d[0x8]:'Z'));if(Number['isNaN'](e))throw new Error('Unable\x20to\x20parse\x20Timestamp\x20from\x20JSON.\x20Invalid\x20value.');if(e<Date['parse']('0001-01-01T00:00:00Z')||e>Date['parse']('9999-12-31T23:59:59Z'))throw new globalThis['Error']('Unable\x20to\x20parse\x20Timestamp\x20from\x20JSON.\x20Must\x20be\x20from\x200001-01-01T00:00:00Z\x20to\x209999-12-31T23:59:59Z\x20inclusive.');if(!c)c=this['create']();c['seconds']=PbLong['from'](e/0x3e8)['toBigInt'](),c['nanos']=0x0;if(d[0x7])c['nanos']=parseInt('1'+d[0x7]+'0'['repeat'](0x9-d[0x7]['length']))-0x3b9aca00;return c;}['create'](a){const b=globalThis['Object']['create'](this['messagePrototype']);b['seconds']=0x0n,b['nanos']=0x0;if(a!==undefined)reflectionMergePartial(this,b,a);return b;}['internalBinaryRead'](a,b,c,e){let f=e??this['create'](),g=a['pos']+b;while(a['pos']<g){let [h,i]=a['tag']();switch(h){case 0x1:f['seconds']=a['int64']()['toBigInt']();break;case 0x2:f['nanos']=a['int32']();break;default:let j=c['readUnknownField'];if(j==='throw')throw new globalThis['Error']('Unknown\x20field\x20'+h+'\x20(wire\x20type\x20'+i+')\x20for\x20'+this['typeName']);let k=a['skip'](i);if(j!==![])(j===!![]?UnknownFieldHandler['onRead']:j)(this['typeName'],f,h,i,k);}}return f;}['internalBinaryWrite'](a,b,c){if(a['seconds']!==0x0n)b['tag'](0x1,WireType['Varint'])['int64'](a['seconds']);if(a['nanos']!==0x0)b['tag'](0x2,WireType['Varint'])['int32'](a['nanos']);let d=c['writeUnknownFields'];if(d!==![])(d==!![]?UnknownFieldHandler['onWrite']:d)(this['typeName'],a,b);return b;}}export const Timestamp=new Timestamp$Type();