summaryrefslogtreecommitdiff
path: root/src/mango/src/mango_json.erl
diff options
context:
space:
mode:
Diffstat (limited to 'src/mango/src/mango_json.erl')
-rw-r--r--src/mango/src/mango_json.erl121
1 files changed, 0 insertions, 121 deletions
diff --git a/src/mango/src/mango_json.erl b/src/mango/src/mango_json.erl
deleted file mode 100644
index 9584c2d7e..000000000
--- a/src/mango/src/mango_json.erl
+++ /dev/null
@@ -1,121 +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. \ No newline at end of file