realm-js/lib/constants.js

71 lines
1.5 KiB
JavaScript

////////////////////////////////////////////////////////////////////////////
//
// Copyright 2016 Realm Inc.
//
// 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.
//
////////////////////////////////////////////////////////////////////////////
'use strict';
let keys = {};
let objectTypes = {};
let propTypes = {};
[
'id',
'realm',
'type',
].forEach(function(name) {
keys[name] = Symbol();
});
[
'DATA',
'DATE',
'DICT',
'FUNCTION',
'LIST',
'OBJECT',
'REALM',
'RESULTS',
'UNDEFINED',
].forEach(function(type) {
Object.defineProperty(objectTypes, type, {
value: type.toLowerCase(),
});
});
[
'BOOL',
'INT',
'FLOAT',
'DOUBLE',
'STRING',
'DATE',
'DATA',
'OBJECT',
'LIST',
].forEach(function(type) {
Object.defineProperty(propTypes, type, {
value: type.toLowerCase(),
enumerable: true,
});
});
module.exports = {
keys,
objectTypes,
propTypes
};