wowok
Version:
Wowok Blockchain TypeScript API
1 lines • 2.68 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 Duration$Type extends MessageType{constructor(){super('google.protobuf.Duration',[{'no':0x1,'name':'seconds','kind':'scalar','T':0x3,'L':0x0},{'no':0x2,'name':'nanos','kind':'scalar','T':0x5}]);}['internalJsonWrite'](a,b){let c=PbLong['from'](a['seconds'])['toNumber']();if(c>0x4979cb9e00||c<-0x4979cb9e00)throw new Error('Duration\x20value\x20out\x20of\x20range.');let d=a['seconds']['toString']();if(c===0x0&&a['nanos']<0x0)d='-'+d;if(a['nanos']!==0x0){let e=Math['abs'](a['nanos'])['toString']();e='0'['repeat'](0x9-e['length'])+e;if(e['substring'](0x3)==='000000')e=e['substring'](0x0,0x3);else{if(e['substring'](0x6)==='000')e=e['substring'](0x0,0x6);}d+='.'+e;}return d+'s';}['internalJsonRead'](a,b,c){if(typeof a!=='string')throw new Error('Unable\x20to\x20parse\x20Duration\x20from\x20JSON\x20'+typeofJsonValue(a)+'.\x20Expected\x20string.');let d=a['match'](/^(-?)([0-9]+)(?:\.([0-9]+))?s/);if(d===null)throw new Error('Unable\x20to\x20parse\x20Duration\x20from\x20JSON\x20string.\x20Invalid\x20format.');if(!c)c=this['create']();let [,e,f,g]=d,h=PbLong['from'](e+f);if(h['toNumber']()>0x4979cb9e00||h['toNumber']()<-0x4979cb9e00)throw new Error('Unable\x20to\x20parse\x20Duration\x20from\x20JSON\x20string.\x20Value\x20out\x20of\x20range.');c['seconds']=h['toBigInt']();if(typeof g=='string'){let i=e+g+'0'['repeat'](0x9-g['length']);c['nanos']=parseInt(i);}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 Duration=new Duration$Type();