diff options
Diffstat (limited to 'src/mango/src/mango_json.erl')
-rw-r--r-- | src/mango/src/mango_json.erl | 112 |
1 files changed, 0 insertions, 112 deletions
diff --git a/src/mango/src/mango_json.erl b/src/mango/src/mango_json.erl deleted file mode 100644 index ca18d8898..000000000 --- a/src/mango/src/mango_json.erl +++ /dev/null @@ -1,112 +0,0 @@ -% Licensed under the Apache License, Version 2.0 (the "License"); you may not -% use this file except in compliance with the License. You may obtain a copy of -% the License at -% -% http://www.apache.org/licenses/LICENSE-2.0 -% -% Unless required by applicable law or agreed to in writing, software -% distributed under the License is distributed on an "AS IS" BASIS, WITHOUT -% WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the -% License for the specific language governing permissions and limitations under -% the License. - --module(mango_json). - --export([ - min/0, - max/0, - cmp/2, - cmp_raw/2, - type/1, - special/1, - to_binary/1 -]). - --define(MIN_VAL, mango_json_min). --define(MAX_VAL, mango_json_max). - -min() -> - ?MIN_VAL. - -max() -> - ?MAX_VAL. - -cmp(?MIN_VAL, ?MIN_VAL) -> - 0; -cmp(?MIN_VAL, _) -> - -1; -cmp(_, ?MIN_VAL) -> - 1; -cmp(?MAX_VAL, ?MAX_VAL) -> - 0; -cmp(?MAX_VAL, _) -> - 1; -cmp(_, ?MAX_VAL) -> - -1; -cmp(A, B) -> - couch_ejson_compare:less(A, B). - -cmp_raw(?MIN_VAL, ?MIN_VAL) -> - 0; -cmp_raw(?MIN_VAL, _) -> - -1; -cmp_raw(_, ?MIN_VAL) -> - 1; -cmp_raw(?MAX_VAL, ?MAX_VAL) -> - 0; -cmp_raw(?MAX_VAL, _) -> - 1; -cmp_raw(_, ?MAX_VAL) -> - -1; -cmp_raw(A, B) -> - case A < B of - true -> - -1; - false -> - case A > B of - true -> - 1; - false -> - 0 - end - end. - -type(null) -> - <<"null">>; -type(Bool) when is_boolean(Bool) -> - <<"boolean">>; -type(Num) when is_number(Num) -> - <<"number">>; -type(Str) when is_binary(Str) -> - <<"string">>; -type({Props}) when is_list(Props) -> - <<"object">>; -type(Vals) when is_list(Vals) -> - <<"array">>. - -special(?MIN_VAL) -> - true; -special(?MAX_VAL) -> - true; -special(_) -> - false. - -to_binary({Props}) -> - Pred = fun({Key, Value}) -> - {to_binary(Key), to_binary(Value)} - end, - {lists:map(Pred, Props)}; -to_binary(Data) when is_list(Data) -> - [to_binary(D) || D <- Data]; -to_binary(null) -> - null; -to_binary(true) -> - true; -to_binary(false) -> - false; -to_binary(Data) when is_atom(Data) -> - list_to_binary(atom_to_list(Data)); -to_binary(Data) when is_number(Data) -> - Data; -to_binary(Data) when is_binary(Data) -> - Data. |