keys.generated.go 17 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891
  1. // ************************************************************
  2. // DO NOT EDIT.
  3. // THIS FILE IS AUTO-GENERATED BY codecgen.
  4. // ************************************************************
  5. package client
  6. import (
  7. "errors"
  8. "fmt"
  9. codec1978 "github.com/ugorji/go/codec"
  10. "reflect"
  11. "runtime"
  12. "time"
  13. )
  14. const (
  15. codecSelferC_UTF85311 = 1
  16. codecSelferC_RAW5311 = 0
  17. codecSelverValueTypeArray5311 = 10
  18. codecSelverValueTypeMap5311 = 9
  19. )
  20. var (
  21. codecSelferBitsize5311 = uint8(reflect.TypeOf(uint(0)).Bits())
  22. codecSelferOnlyMapOrArrayEncodeToStructErr5311 = errors.New(`only encoded map or array can be decoded into a struct`)
  23. )
  24. type codecSelfer5311 struct{}
  25. func init() {
  26. if codec1978.GenVersion != 2 {
  27. _, file, _, _ := runtime.Caller(0)
  28. err := fmt.Errorf("codecgen version mismatch: current: %v, need %v. Re-generate file: %v",
  29. 2, codec1978.GenVersion, file)
  30. panic(err)
  31. }
  32. if false { // reference the types, but skip this branch at build/run time
  33. var v0 time.Time
  34. _ = v0
  35. }
  36. }
  37. func (x *Response) CodecEncodeSelf(e *codec1978.Encoder) {
  38. var h codecSelfer5311
  39. z, r := codec1978.GenHelperEncoder(e)
  40. _, _, _ = h, z, r
  41. if x == nil {
  42. r.EncodeNil()
  43. } else {
  44. yysep1 := !z.EncBinary()
  45. yy2arr1 := z.EncBasicHandle().StructToArray
  46. var yyfirst1 bool
  47. var yyq1 [3]bool
  48. _, _, _, _ = yysep1, yyfirst1, yyq1, yy2arr1
  49. const yyr1 bool = false
  50. if yyr1 || yy2arr1 {
  51. r.EncodeArrayStart(3)
  52. } else {
  53. var yynn1 int = 3
  54. for _, b := range yyq1 {
  55. if b {
  56. yynn1++
  57. }
  58. }
  59. r.EncodeMapStart(yynn1)
  60. }
  61. if yyr1 || yy2arr1 {
  62. r.EncodeString(codecSelferC_UTF85311, string(x.Action))
  63. } else {
  64. yyfirst1 = true
  65. r.EncodeString(codecSelferC_UTF85311, string("action"))
  66. if yysep1 {
  67. r.EncodeMapKVSeparator()
  68. }
  69. r.EncodeString(codecSelferC_UTF85311, string(x.Action))
  70. }
  71. if yyr1 || yy2arr1 {
  72. if yysep1 {
  73. r.EncodeArrayEntrySeparator()
  74. }
  75. if x.Node == nil {
  76. r.EncodeNil()
  77. } else {
  78. x.Node.CodecEncodeSelf(e)
  79. }
  80. } else {
  81. if yyfirst1 {
  82. r.EncodeMapEntrySeparator()
  83. } else {
  84. yyfirst1 = true
  85. }
  86. r.EncodeString(codecSelferC_UTF85311, string("node"))
  87. if yysep1 {
  88. r.EncodeMapKVSeparator()
  89. }
  90. if x.Node == nil {
  91. r.EncodeNil()
  92. } else {
  93. x.Node.CodecEncodeSelf(e)
  94. }
  95. }
  96. if yyr1 || yy2arr1 {
  97. if yysep1 {
  98. r.EncodeArrayEntrySeparator()
  99. }
  100. if x.PrevNode == nil {
  101. r.EncodeNil()
  102. } else {
  103. x.PrevNode.CodecEncodeSelf(e)
  104. }
  105. } else {
  106. if yyfirst1 {
  107. r.EncodeMapEntrySeparator()
  108. } else {
  109. yyfirst1 = true
  110. }
  111. r.EncodeString(codecSelferC_UTF85311, string("prevNode"))
  112. if yysep1 {
  113. r.EncodeMapKVSeparator()
  114. }
  115. if x.PrevNode == nil {
  116. r.EncodeNil()
  117. } else {
  118. x.PrevNode.CodecEncodeSelf(e)
  119. }
  120. }
  121. if yysep1 {
  122. if yyr1 || yy2arr1 {
  123. r.EncodeArrayEnd()
  124. } else {
  125. r.EncodeMapEnd()
  126. }
  127. }
  128. }
  129. }
  130. func (x *Response) CodecDecodeSelf(d *codec1978.Decoder) {
  131. var h codecSelfer5311
  132. z, r := codec1978.GenHelperDecoder(d)
  133. _, _, _ = h, z, r
  134. if r.IsContainerType(codecSelverValueTypeMap5311) {
  135. yyl5 := r.ReadMapStart()
  136. if yyl5 == 0 {
  137. r.ReadMapEnd()
  138. } else {
  139. x.codecDecodeSelfFromMap(yyl5, d)
  140. }
  141. } else if r.IsContainerType(codecSelverValueTypeArray5311) {
  142. yyl5 := r.ReadArrayStart()
  143. if yyl5 == 0 {
  144. r.ReadArrayEnd()
  145. } else {
  146. x.codecDecodeSelfFromArray(yyl5, d)
  147. }
  148. } else {
  149. panic(codecSelferOnlyMapOrArrayEncodeToStructErr5311)
  150. }
  151. }
  152. func (x *Response) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) {
  153. var h codecSelfer5311
  154. z, r := codec1978.GenHelperDecoder(d)
  155. _, _, _ = h, z, r
  156. var yys6Slc = z.DecScratchBuffer() // default slice to decode into
  157. _ = yys6Slc
  158. var yyhl6 bool = l >= 0
  159. for yyj6 := 0; ; yyj6++ {
  160. if yyhl6 {
  161. if yyj6 >= l {
  162. break
  163. }
  164. } else {
  165. if r.CheckBreak() {
  166. break
  167. }
  168. if yyj6 > 0 {
  169. r.ReadMapEntrySeparator()
  170. }
  171. }
  172. yys6Slc = r.DecodeBytes(yys6Slc, true, true)
  173. yys6 := string(yys6Slc)
  174. if !yyhl6 {
  175. r.ReadMapKVSeparator()
  176. }
  177. switch yys6 {
  178. case "action":
  179. if r.TryDecodeAsNil() {
  180. x.Action = ""
  181. } else {
  182. x.Action = string(r.DecodeString())
  183. }
  184. case "node":
  185. if r.TryDecodeAsNil() {
  186. if x.Node != nil {
  187. x.Node = nil
  188. }
  189. } else {
  190. if x.Node == nil {
  191. x.Node = new(Node)
  192. }
  193. x.Node.CodecDecodeSelf(d)
  194. }
  195. case "prevNode":
  196. if r.TryDecodeAsNil() {
  197. if x.PrevNode != nil {
  198. x.PrevNode = nil
  199. }
  200. } else {
  201. if x.PrevNode == nil {
  202. x.PrevNode = new(Node)
  203. }
  204. x.PrevNode.CodecDecodeSelf(d)
  205. }
  206. default:
  207. z.DecStructFieldNotFound(-1, yys6)
  208. } // end switch yys6
  209. } // end for yyj6
  210. if !yyhl6 {
  211. r.ReadMapEnd()
  212. }
  213. }
  214. func (x *Response) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
  215. var h codecSelfer5311
  216. z, r := codec1978.GenHelperDecoder(d)
  217. _, _, _ = h, z, r
  218. var yyj10 int
  219. var yyb10 bool
  220. var yyhl10 bool = l >= 0
  221. yyj10++
  222. if yyhl10 {
  223. yyb10 = yyj10 > l
  224. } else {
  225. yyb10 = r.CheckBreak()
  226. }
  227. if yyb10 {
  228. r.ReadArrayEnd()
  229. return
  230. }
  231. if r.TryDecodeAsNil() {
  232. x.Action = ""
  233. } else {
  234. x.Action = string(r.DecodeString())
  235. }
  236. yyj10++
  237. if yyhl10 {
  238. yyb10 = yyj10 > l
  239. } else {
  240. yyb10 = r.CheckBreak()
  241. }
  242. if yyb10 {
  243. r.ReadArrayEnd()
  244. return
  245. }
  246. r.ReadArrayEntrySeparator()
  247. if r.TryDecodeAsNil() {
  248. if x.Node != nil {
  249. x.Node = nil
  250. }
  251. } else {
  252. if x.Node == nil {
  253. x.Node = new(Node)
  254. }
  255. x.Node.CodecDecodeSelf(d)
  256. }
  257. yyj10++
  258. if yyhl10 {
  259. yyb10 = yyj10 > l
  260. } else {
  261. yyb10 = r.CheckBreak()
  262. }
  263. if yyb10 {
  264. r.ReadArrayEnd()
  265. return
  266. }
  267. r.ReadArrayEntrySeparator()
  268. if r.TryDecodeAsNil() {
  269. if x.PrevNode != nil {
  270. x.PrevNode = nil
  271. }
  272. } else {
  273. if x.PrevNode == nil {
  274. x.PrevNode = new(Node)
  275. }
  276. x.PrevNode.CodecDecodeSelf(d)
  277. }
  278. for {
  279. yyj10++
  280. if yyhl10 {
  281. yyb10 = yyj10 > l
  282. } else {
  283. yyb10 = r.CheckBreak()
  284. }
  285. if yyb10 {
  286. break
  287. }
  288. if yyj10 > 1 {
  289. r.ReadArrayEntrySeparator()
  290. }
  291. z.DecStructFieldNotFound(yyj10-1, "")
  292. }
  293. r.ReadArrayEnd()
  294. }
  295. func (x *Node) CodecEncodeSelf(e *codec1978.Encoder) {
  296. var h codecSelfer5311
  297. z, r := codec1978.GenHelperEncoder(e)
  298. _, _, _ = h, z, r
  299. if x == nil {
  300. r.EncodeNil()
  301. } else {
  302. yysep14 := !z.EncBinary()
  303. yy2arr14 := z.EncBasicHandle().StructToArray
  304. var yyfirst14 bool
  305. var yyq14 [8]bool
  306. _, _, _, _ = yysep14, yyfirst14, yyq14, yy2arr14
  307. const yyr14 bool = false
  308. yyq14[1] = x.Dir != false
  309. yyq14[6] = x.Expiration != nil
  310. yyq14[7] = x.TTL != 0
  311. if yyr14 || yy2arr14 {
  312. r.EncodeArrayStart(8)
  313. } else {
  314. var yynn14 int = 5
  315. for _, b := range yyq14 {
  316. if b {
  317. yynn14++
  318. }
  319. }
  320. r.EncodeMapStart(yynn14)
  321. }
  322. if yyr14 || yy2arr14 {
  323. r.EncodeString(codecSelferC_UTF85311, string(x.Key))
  324. } else {
  325. yyfirst14 = true
  326. r.EncodeString(codecSelferC_UTF85311, string("key"))
  327. if yysep14 {
  328. r.EncodeMapKVSeparator()
  329. }
  330. r.EncodeString(codecSelferC_UTF85311, string(x.Key))
  331. }
  332. if yyr14 || yy2arr14 {
  333. if yysep14 {
  334. r.EncodeArrayEntrySeparator()
  335. }
  336. if yyq14[1] {
  337. r.EncodeBool(bool(x.Dir))
  338. } else {
  339. r.EncodeBool(false)
  340. }
  341. } else {
  342. if yyq14[1] {
  343. if yyfirst14 {
  344. r.EncodeMapEntrySeparator()
  345. } else {
  346. yyfirst14 = true
  347. }
  348. r.EncodeString(codecSelferC_UTF85311, string("dir"))
  349. if yysep14 {
  350. r.EncodeMapKVSeparator()
  351. }
  352. r.EncodeBool(bool(x.Dir))
  353. }
  354. }
  355. if yyr14 || yy2arr14 {
  356. if yysep14 {
  357. r.EncodeArrayEntrySeparator()
  358. }
  359. r.EncodeString(codecSelferC_UTF85311, string(x.Value))
  360. } else {
  361. if yyfirst14 {
  362. r.EncodeMapEntrySeparator()
  363. } else {
  364. yyfirst14 = true
  365. }
  366. r.EncodeString(codecSelferC_UTF85311, string("value"))
  367. if yysep14 {
  368. r.EncodeMapKVSeparator()
  369. }
  370. r.EncodeString(codecSelferC_UTF85311, string(x.Value))
  371. }
  372. if yyr14 || yy2arr14 {
  373. if yysep14 {
  374. r.EncodeArrayEntrySeparator()
  375. }
  376. if x.Nodes == nil {
  377. r.EncodeNil()
  378. } else {
  379. h.encSlicePtrtoNode(([]*Node)(x.Nodes), e)
  380. }
  381. } else {
  382. if yyfirst14 {
  383. r.EncodeMapEntrySeparator()
  384. } else {
  385. yyfirst14 = true
  386. }
  387. r.EncodeString(codecSelferC_UTF85311, string("nodes"))
  388. if yysep14 {
  389. r.EncodeMapKVSeparator()
  390. }
  391. if x.Nodes == nil {
  392. r.EncodeNil()
  393. } else {
  394. h.encSlicePtrtoNode(([]*Node)(x.Nodes), e)
  395. }
  396. }
  397. if yyr14 || yy2arr14 {
  398. if yysep14 {
  399. r.EncodeArrayEntrySeparator()
  400. }
  401. r.EncodeUint(uint64(x.CreatedIndex))
  402. } else {
  403. if yyfirst14 {
  404. r.EncodeMapEntrySeparator()
  405. } else {
  406. yyfirst14 = true
  407. }
  408. r.EncodeString(codecSelferC_UTF85311, string("createdIndex"))
  409. if yysep14 {
  410. r.EncodeMapKVSeparator()
  411. }
  412. r.EncodeUint(uint64(x.CreatedIndex))
  413. }
  414. if yyr14 || yy2arr14 {
  415. if yysep14 {
  416. r.EncodeArrayEntrySeparator()
  417. }
  418. r.EncodeUint(uint64(x.ModifiedIndex))
  419. } else {
  420. if yyfirst14 {
  421. r.EncodeMapEntrySeparator()
  422. } else {
  423. yyfirst14 = true
  424. }
  425. r.EncodeString(codecSelferC_UTF85311, string("modifiedIndex"))
  426. if yysep14 {
  427. r.EncodeMapKVSeparator()
  428. }
  429. r.EncodeUint(uint64(x.ModifiedIndex))
  430. }
  431. if yyr14 || yy2arr14 {
  432. if yysep14 {
  433. r.EncodeArrayEntrySeparator()
  434. }
  435. if yyq14[6] {
  436. if x.Expiration == nil {
  437. r.EncodeNil()
  438. } else {
  439. z.EncFallback(x.Expiration)
  440. }
  441. } else {
  442. r.EncodeNil()
  443. }
  444. } else {
  445. if yyq14[6] {
  446. if yyfirst14 {
  447. r.EncodeMapEntrySeparator()
  448. } else {
  449. yyfirst14 = true
  450. }
  451. r.EncodeString(codecSelferC_UTF85311, string("expiration"))
  452. if yysep14 {
  453. r.EncodeMapKVSeparator()
  454. }
  455. if x.Expiration == nil {
  456. r.EncodeNil()
  457. } else {
  458. z.EncFallback(x.Expiration)
  459. }
  460. }
  461. }
  462. if yyr14 || yy2arr14 {
  463. if yysep14 {
  464. r.EncodeArrayEntrySeparator()
  465. }
  466. if yyq14[7] {
  467. r.EncodeInt(int64(x.TTL))
  468. } else {
  469. r.EncodeInt(0)
  470. }
  471. } else {
  472. if yyq14[7] {
  473. if yyfirst14 {
  474. r.EncodeMapEntrySeparator()
  475. } else {
  476. yyfirst14 = true
  477. }
  478. r.EncodeString(codecSelferC_UTF85311, string("ttl"))
  479. if yysep14 {
  480. r.EncodeMapKVSeparator()
  481. }
  482. r.EncodeInt(int64(x.TTL))
  483. }
  484. }
  485. if yysep14 {
  486. if yyr14 || yy2arr14 {
  487. r.EncodeArrayEnd()
  488. } else {
  489. r.EncodeMapEnd()
  490. }
  491. }
  492. }
  493. }
  494. func (x *Node) CodecDecodeSelf(d *codec1978.Decoder) {
  495. var h codecSelfer5311
  496. z, r := codec1978.GenHelperDecoder(d)
  497. _, _, _ = h, z, r
  498. if r.IsContainerType(codecSelverValueTypeMap5311) {
  499. yyl23 := r.ReadMapStart()
  500. if yyl23 == 0 {
  501. r.ReadMapEnd()
  502. } else {
  503. x.codecDecodeSelfFromMap(yyl23, d)
  504. }
  505. } else if r.IsContainerType(codecSelverValueTypeArray5311) {
  506. yyl23 := r.ReadArrayStart()
  507. if yyl23 == 0 {
  508. r.ReadArrayEnd()
  509. } else {
  510. x.codecDecodeSelfFromArray(yyl23, d)
  511. }
  512. } else {
  513. panic(codecSelferOnlyMapOrArrayEncodeToStructErr5311)
  514. }
  515. }
  516. func (x *Node) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) {
  517. var h codecSelfer5311
  518. z, r := codec1978.GenHelperDecoder(d)
  519. _, _, _ = h, z, r
  520. var yys24Slc = z.DecScratchBuffer() // default slice to decode into
  521. _ = yys24Slc
  522. var yyhl24 bool = l >= 0
  523. for yyj24 := 0; ; yyj24++ {
  524. if yyhl24 {
  525. if yyj24 >= l {
  526. break
  527. }
  528. } else {
  529. if r.CheckBreak() {
  530. break
  531. }
  532. if yyj24 > 0 {
  533. r.ReadMapEntrySeparator()
  534. }
  535. }
  536. yys24Slc = r.DecodeBytes(yys24Slc, true, true)
  537. yys24 := string(yys24Slc)
  538. if !yyhl24 {
  539. r.ReadMapKVSeparator()
  540. }
  541. switch yys24 {
  542. case "key":
  543. if r.TryDecodeAsNil() {
  544. x.Key = ""
  545. } else {
  546. x.Key = string(r.DecodeString())
  547. }
  548. case "dir":
  549. if r.TryDecodeAsNil() {
  550. x.Dir = false
  551. } else {
  552. x.Dir = bool(r.DecodeBool())
  553. }
  554. case "value":
  555. if r.TryDecodeAsNil() {
  556. x.Value = ""
  557. } else {
  558. x.Value = string(r.DecodeString())
  559. }
  560. case "nodes":
  561. if r.TryDecodeAsNil() {
  562. x.Nodes = nil
  563. } else {
  564. yyv28 := &x.Nodes
  565. h.decSlicePtrtoNode((*[]*Node)(yyv28), d)
  566. }
  567. case "createdIndex":
  568. if r.TryDecodeAsNil() {
  569. x.CreatedIndex = 0
  570. } else {
  571. x.CreatedIndex = uint64(r.DecodeUint(64))
  572. }
  573. case "modifiedIndex":
  574. if r.TryDecodeAsNil() {
  575. x.ModifiedIndex = 0
  576. } else {
  577. x.ModifiedIndex = uint64(r.DecodeUint(64))
  578. }
  579. case "expiration":
  580. if r.TryDecodeAsNil() {
  581. if x.Expiration != nil {
  582. x.Expiration = nil
  583. }
  584. } else {
  585. if x.Expiration == nil {
  586. x.Expiration = new(time.Time)
  587. }
  588. z.DecFallback(x.Expiration, false)
  589. }
  590. case "ttl":
  591. if r.TryDecodeAsNil() {
  592. x.TTL = 0
  593. } else {
  594. x.TTL = int64(r.DecodeInt(64))
  595. }
  596. default:
  597. z.DecStructFieldNotFound(-1, yys24)
  598. } // end switch yys24
  599. } // end for yyj24
  600. if !yyhl24 {
  601. r.ReadMapEnd()
  602. }
  603. }
  604. func (x *Node) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
  605. var h codecSelfer5311
  606. z, r := codec1978.GenHelperDecoder(d)
  607. _, _, _ = h, z, r
  608. var yyj33 int
  609. var yyb33 bool
  610. var yyhl33 bool = l >= 0
  611. yyj33++
  612. if yyhl33 {
  613. yyb33 = yyj33 > l
  614. } else {
  615. yyb33 = r.CheckBreak()
  616. }
  617. if yyb33 {
  618. r.ReadArrayEnd()
  619. return
  620. }
  621. if r.TryDecodeAsNil() {
  622. x.Key = ""
  623. } else {
  624. x.Key = string(r.DecodeString())
  625. }
  626. yyj33++
  627. if yyhl33 {
  628. yyb33 = yyj33 > l
  629. } else {
  630. yyb33 = r.CheckBreak()
  631. }
  632. if yyb33 {
  633. r.ReadArrayEnd()
  634. return
  635. }
  636. r.ReadArrayEntrySeparator()
  637. if r.TryDecodeAsNil() {
  638. x.Dir = false
  639. } else {
  640. x.Dir = bool(r.DecodeBool())
  641. }
  642. yyj33++
  643. if yyhl33 {
  644. yyb33 = yyj33 > l
  645. } else {
  646. yyb33 = r.CheckBreak()
  647. }
  648. if yyb33 {
  649. r.ReadArrayEnd()
  650. return
  651. }
  652. r.ReadArrayEntrySeparator()
  653. if r.TryDecodeAsNil() {
  654. x.Value = ""
  655. } else {
  656. x.Value = string(r.DecodeString())
  657. }
  658. yyj33++
  659. if yyhl33 {
  660. yyb33 = yyj33 > l
  661. } else {
  662. yyb33 = r.CheckBreak()
  663. }
  664. if yyb33 {
  665. r.ReadArrayEnd()
  666. return
  667. }
  668. r.ReadArrayEntrySeparator()
  669. if r.TryDecodeAsNil() {
  670. x.Nodes = nil
  671. } else {
  672. yyv37 := &x.Nodes
  673. h.decSlicePtrtoNode((*[]*Node)(yyv37), d)
  674. }
  675. yyj33++
  676. if yyhl33 {
  677. yyb33 = yyj33 > l
  678. } else {
  679. yyb33 = r.CheckBreak()
  680. }
  681. if yyb33 {
  682. r.ReadArrayEnd()
  683. return
  684. }
  685. r.ReadArrayEntrySeparator()
  686. if r.TryDecodeAsNil() {
  687. x.CreatedIndex = 0
  688. } else {
  689. x.CreatedIndex = uint64(r.DecodeUint(64))
  690. }
  691. yyj33++
  692. if yyhl33 {
  693. yyb33 = yyj33 > l
  694. } else {
  695. yyb33 = r.CheckBreak()
  696. }
  697. if yyb33 {
  698. r.ReadArrayEnd()
  699. return
  700. }
  701. r.ReadArrayEntrySeparator()
  702. if r.TryDecodeAsNil() {
  703. x.ModifiedIndex = 0
  704. } else {
  705. x.ModifiedIndex = uint64(r.DecodeUint(64))
  706. }
  707. yyj33++
  708. if yyhl33 {
  709. yyb33 = yyj33 > l
  710. } else {
  711. yyb33 = r.CheckBreak()
  712. }
  713. if yyb33 {
  714. r.ReadArrayEnd()
  715. return
  716. }
  717. r.ReadArrayEntrySeparator()
  718. if r.TryDecodeAsNil() {
  719. if x.Expiration != nil {
  720. x.Expiration = nil
  721. }
  722. } else {
  723. if x.Expiration == nil {
  724. x.Expiration = new(time.Time)
  725. }
  726. z.DecFallback(x.Expiration, false)
  727. }
  728. yyj33++
  729. if yyhl33 {
  730. yyb33 = yyj33 > l
  731. } else {
  732. yyb33 = r.CheckBreak()
  733. }
  734. if yyb33 {
  735. r.ReadArrayEnd()
  736. return
  737. }
  738. r.ReadArrayEntrySeparator()
  739. if r.TryDecodeAsNil() {
  740. x.TTL = 0
  741. } else {
  742. x.TTL = int64(r.DecodeInt(64))
  743. }
  744. for {
  745. yyj33++
  746. if yyhl33 {
  747. yyb33 = yyj33 > l
  748. } else {
  749. yyb33 = r.CheckBreak()
  750. }
  751. if yyb33 {
  752. break
  753. }
  754. if yyj33 > 1 {
  755. r.ReadArrayEntrySeparator()
  756. }
  757. z.DecStructFieldNotFound(yyj33-1, "")
  758. }
  759. r.ReadArrayEnd()
  760. }
  761. func (x codecSelfer5311) encSlicePtrtoNode(v []*Node, e *codec1978.Encoder) {
  762. var h codecSelfer5311
  763. z, r := codec1978.GenHelperEncoder(e)
  764. _, _, _ = h, z, r
  765. r.EncodeArrayStart(len(v))
  766. yys42 := !z.EncBinary()
  767. if yys42 {
  768. for yyi42, yyv42 := range v {
  769. if yyi42 > 0 {
  770. r.EncodeArrayEntrySeparator()
  771. }
  772. if yyv42 == nil {
  773. r.EncodeNil()
  774. } else {
  775. yyv42.CodecEncodeSelf(e)
  776. }
  777. }
  778. r.EncodeArrayEnd()
  779. } else {
  780. for _, yyv42 := range v {
  781. if yyv42 == nil {
  782. r.EncodeNil()
  783. } else {
  784. yyv42.CodecEncodeSelf(e)
  785. }
  786. }
  787. }
  788. }
  789. func (x codecSelfer5311) decSlicePtrtoNode(v *[]*Node, d *codec1978.Decoder) {
  790. var h codecSelfer5311
  791. z, r := codec1978.GenHelperDecoder(d)
  792. _, _, _ = h, z, r
  793. yyv43 := *v
  794. yyh43, yyl43 := z.DecSliceHelperStart()
  795. var yyc43 bool
  796. _ = yyc43
  797. if yyv43 == nil {
  798. if yyl43 <= 0 {
  799. yyv43 = make([]*Node, 0)
  800. } else {
  801. yyv43 = make([]*Node, yyl43)
  802. }
  803. yyc43 = true
  804. }
  805. if yyl43 == 0 {
  806. if len(yyv43) != 0 {
  807. yyv43 = yyv43[:0]
  808. yyc43 = true
  809. }
  810. } else if yyl43 > 0 {
  811. yyn43 := yyl43
  812. if yyl43 > cap(yyv43) {
  813. yyv43 = make([]*Node, yyl43, yyl43)
  814. yyc43 = true
  815. } else if yyl43 != len(yyv43) {
  816. yyv43 = yyv43[:yyl43]
  817. yyc43 = true
  818. }
  819. yyj43 := 0
  820. for ; yyj43 < yyn43; yyj43++ {
  821. if r.TryDecodeAsNil() {
  822. if yyv43[yyj43] != nil {
  823. *yyv43[yyj43] = Node{}
  824. }
  825. } else {
  826. if yyv43[yyj43] == nil {
  827. yyv43[yyj43] = new(Node)
  828. }
  829. yyw44 := yyv43[yyj43]
  830. yyw44.CodecDecodeSelf(d)
  831. }
  832. }
  833. } else {
  834. for yyj43 := 0; !r.CheckBreak(); yyj43++ {
  835. if yyj43 >= len(yyv43) {
  836. yyv43 = append(yyv43, nil) // var yyz43 *Node
  837. yyc43 = true
  838. }
  839. if yyj43 > 0 {
  840. yyh43.Sep(yyj43)
  841. }
  842. if yyj43 < len(yyv43) {
  843. if r.TryDecodeAsNil() {
  844. if yyv43[yyj43] != nil {
  845. *yyv43[yyj43] = Node{}
  846. }
  847. } else {
  848. if yyv43[yyj43] == nil {
  849. yyv43[yyj43] = new(Node)
  850. }
  851. yyw45 := yyv43[yyj43]
  852. yyw45.CodecDecodeSelf(d)
  853. }
  854. } else {
  855. z.DecSwallow()
  856. }
  857. }
  858. yyh43.End()
  859. }
  860. if yyc43 {
  861. *v = yyv43
  862. }
  863. }