@rescript/std
Version:
The motiviation of this repo is that when ReScript users want to share their library with JS users, the JS users don't need have ReScript toolchain installed, this makes sharing code with JS users easier (more details on that topic can be found in our [Ex
84 lines (73 loc) • 1.51 kB
JavaScript
;
var Caml_option = require("./caml_option.js");
function get(dict, k) {
if ((k in dict)) {
return Caml_option.some(dict[k]);
}
}
var unsafeDeleteKey = (function (dict,key){
delete dict[key];
});
function entries(dict) {
var keys = Object.keys(dict);
var l = keys.length;
var values = new Array(l);
for(var i = 0; i < l; ++i){
var key = keys[i];
values[i] = [
key,
dict[key]
];
}
return values;
}
function values(dict) {
var keys = Object.keys(dict);
var l = keys.length;
var values$1 = new Array(l);
for(var i = 0; i < l; ++i){
values$1[i] = dict[keys[i]];
}
return values$1;
}
function fromList(entries) {
var dict = {};
var _x = entries;
while(true) {
var x = _x;
if (!x) {
return dict;
}
var match = x.hd;
dict[match[0]] = match[1];
_x = x.tl;
continue ;
};
}
function fromArray(entries) {
var dict = {};
var l = entries.length;
for(var i = 0; i < l; ++i){
var match = entries[i];
dict[match[0]] = match[1];
}
return dict;
}
function map(f, source) {
var target = {};
var keys = Object.keys(source);
var l = keys.length;
for(var i = 0; i < l; ++i){
var key = keys[i];
target[key] = f(source[key]);
}
return target;
}
exports.get = get;
exports.unsafeDeleteKey = unsafeDeleteKey;
exports.entries = entries;
exports.values = values;
exports.fromList = fromList;
exports.fromArray = fromArray;
exports.map = map;
/* No side effect */