Skip to content
This repository was archived by the owner on Oct 4, 2020. It is now read-only.

Commit cd2297b

Browse files
committed
Updates for 0.7
1 parent a51ece2 commit cd2297b

File tree

12 files changed

+304
-298
lines changed

12 files changed

+304
-298
lines changed

src/Data/Map.purs

Lines changed: 87 additions & 90 deletions
Large diffs are not rendered by default.

src/Data/StrMap.js

Lines changed: 112 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,112 @@
1+
/* global exports */
2+
"use strict";
3+
4+
// module Data.StrMap
5+
6+
exports._copy = (m) {
7+
var r = {};
8+
for (var k in m) {
9+
r[k] = m[k];
10+
}
11+
return r;
12+
};
13+
14+
exports._copyEff = function(m) {
15+
return function() {
16+
var r = {};
17+
for (var k in m) {
18+
r[k] = m[k];
19+
}
20+
return r;
21+
};
22+
};
23+
24+
exports.empty = {};
25+
26+
exports.runST = function(f) {
27+
return f;
28+
};
29+
30+
exports._fmapStrMap = function(m0, f) {
31+
var m = {};
32+
for (var k in m0) {
33+
m[k] = f(m0[k]);
34+
}
35+
return m;
36+
};
37+
38+
exports._foldM = function(bind) {
39+
return function(f) {
40+
return function(mz) {
41+
return function(m) {
42+
function g(k) {
43+
return function (z) {
44+
return f(z)(k)(m[k]);
45+
};
46+
}
47+
for (var k in m) {
48+
mz = bind(mz)(g(k));
49+
}
50+
return mz;
51+
};
52+
};
53+
};
54+
};
55+
56+
exports._foldSCStrMap = function(m, z, f, fromMaybe) {
57+
for (var k in m) {
58+
var maybeR = f(z)(k)(m[k]);
59+
var r = fromMaybe(null)(maybeR);
60+
if (r === null) return z;
61+
else z = r;
62+
}
63+
return z;
64+
};
65+
66+
exports.all = function(f) {
67+
return function(m) {
68+
for (var k in m) {
69+
if (!f(k)(m[k])) return false;
70+
}
71+
return true;
72+
};
73+
};
74+
75+
exports.size = function(m) {
76+
var s = 0;
77+
for (var k in m) {
78+
++s;
79+
}
80+
return s;
81+
};
82+
83+
exports._lookup = function(no, yes, k, m) {
84+
return k in m ? yes(m[k]) : no;
85+
};
86+
87+
exports._unsafeDeleteStrMap = function(m, k) {
88+
delete m[k];
89+
return m;
90+
};
91+
92+
exports._lookupST = function(no, yes, k, m) {
93+
return function() {
94+
return k in m ? yes(m[k]) : no;
95+
}
96+
};
97+
98+
function _collect(f) {
99+
return function(m) {
100+
var r = [];
101+
for (var k in m) {
102+
r.push(f(k)(m[k]));
103+
}
104+
return r;
105+
};
106+
};
107+
108+
exports._collect = _collect;
109+
110+
exports.keys = Object.keys || _collect(function(k) {
111+
return function() { return k; };
112+
});

0 commit comments

Comments
 (0)