module GraphQL::Schema::UniqueWithinType
def decode(node_id, separator: self.default_id_separator)
-
(Array<(String, String)>)
- The type name & value passed to {.encode}
Parameters:
-
node_id
(String
) -- A unique ID generated by {.encode}
def decode(node_id, separator: self.default_id_separator) Base64.decode64(node_id).split(separator) end
def encode(type_name, object_value, separator: self.default_id_separator)
-
(String)
- a unique, opaque ID generated as a function of the two inputs
Parameters:
-
object_value
(Any
) -- -
type_name
(String
) --
def encode(type_name, object_value, separator: self.default_id_separator) object_value_str = object_value.to_s if type_name.include?(separator) || object_value_str.include?(separator) raise "encode(#{type_name}, #{object_value_str}) contains reserved characters `#{separator}`" end Base64.strict_encode64([type_name, object_value_str].join(separator)) end