OLD | NEW |
1 // Copyright 2015 The Chromium Authors. All rights reserved. | 1 // Copyright 2015 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 package datastore | 5 package datastore |
6 | 6 |
7 import ( | 7 import ( |
8 "bytes" | 8 "bytes" |
9 "encoding/base64" | 9 "encoding/base64" |
10 "encoding/json" | 10 "encoding/json" |
(...skipping 19 matching lines...) Expand all Loading... |
30 } | 30 } |
31 | 31 |
32 // Special returns true iff this token begins and ends with "__" | 32 // Special returns true iff this token begins and ends with "__" |
33 func (k KeyTok) Special() bool { | 33 func (k KeyTok) Special() bool { |
34 return len(k.Kind) >= 2 && k.Kind[:2] == "__" && k.Kind[len(k.Kind)-2:]
== "__" | 34 return len(k.Kind) >= 2 && k.Kind[:2] == "__" && k.Kind[len(k.Kind)-2:]
== "__" |
35 } | 35 } |
36 | 36 |
37 // ID returns the 'active' id as a Property (either the StringID or the IntID). | 37 // ID returns the 'active' id as a Property (either the StringID or the IntID). |
38 func (k KeyTok) ID() Property { | 38 func (k KeyTok) ID() Property { |
39 if k.StringID != "" { | 39 if k.StringID != "" { |
40 » » return Property{value: k.StringID, propType: PTString} | 40 » » return MkProperty(k.StringID) |
41 } | 41 } |
42 » return Property{value: k.IntID, propType: PTInt} | 42 » return MkProperty(k.IntID) |
43 } | 43 } |
44 | 44 |
45 // Less returns true iff k would sort before other. | 45 // Less returns true iff k would sort before other. |
46 func (k KeyTok) Less(other KeyTok) bool { | 46 func (k KeyTok) Less(other KeyTok) bool { |
47 if k.Kind < other.Kind { | 47 if k.Kind < other.Kind { |
48 return true | 48 return true |
49 } else if k.Kind > other.Kind { | 49 } else if k.Kind > other.Kind { |
50 return false | 50 return false |
51 } | 51 } |
52 a, b := k.ID(), other.ID() | 52 a, b := k.ID(), other.ID() |
(...skipping 399 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
452 for _, t := range k.toks { | 452 for _, t := range k.toks { |
453 ret += int64(len(t.Kind)) | 453 ret += int64(len(t.Kind)) |
454 if t.StringID != "" { | 454 if t.StringID != "" { |
455 ret += int64(len(t.StringID)) | 455 ret += int64(len(t.StringID)) |
456 } else { | 456 } else { |
457 ret += 8 | 457 ret += 8 |
458 } | 458 } |
459 } | 459 } |
460 return ret | 460 return ret |
461 } | 461 } |
OLD | NEW |