beetleshine 0.0.24 → 0.0.31
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/xarray.js +9 -0
- package/lib/xarray.js.map +1 -1
- package/lib/xhash.js +12 -0
- package/lib/xhash.js.map +1 -1
- package/package.json +1 -1
package/lib/xarray.js
CHANGED
|
@@ -187,6 +187,15 @@ var Xarray = {
|
|
|
187
187
|
return e;
|
|
188
188
|
};
|
|
189
189
|
return this.ary_find_all(ary, block).length === 1;
|
|
190
|
+
},
|
|
191
|
+
ary_tally: function ary_tally(ary) {
|
|
192
|
+
_xassertion.Xassertion.assert_kind_of_array(ary);
|
|
193
|
+
var count = {};
|
|
194
|
+
ary.forEach(function (e) {
|
|
195
|
+
var _count$e;
|
|
196
|
+
count[e] = ((_count$e = count[e]) !== null && _count$e !== void 0 ? _count$e : 0) + 1;
|
|
197
|
+
});
|
|
198
|
+
return count;
|
|
190
199
|
}
|
|
191
200
|
};
|
|
192
201
|
exports.Xarray = Xarray;
|
package/lib/xarray.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"xarray.js","names":["_xobject","require","_xinteger","_xassertion","_lodash","_interopRequireDefault","obj","__esModule","_toConsumableArray","arr","_arrayWithoutHoles","_iterableToArray","_unsupportedIterableToArray","_nonIterableSpread","TypeError","o","minLen","_arrayLikeToArray","n","Object","prototype","toString","call","slice","constructor","name","Array","from","test","iter","Symbol","iterator","isArray","len","length","i","arr2","Xarray","ary_first","ary","arguments","undefined","Xassertion","assert_kind_of_array","ary_last","ary_take","index","_","take","ary_drop","drop","ary_sort_by","block","sortBy","e","ary_find_all","filter","Xobject","truthy_p","ary_reject","falsy_p","ary_find_index","findIndex","ary_each_slice_to_a","step","Error","new_ary","push","ary_reverse","reverse","ary_shuffle","shuffle","ary_sample","sample","ary_wrap","ary_cycle_at","Xinteger","imodulo","ary_move","to","v","tail","splice","apply","ary_rotate","shift","unshift","pop","ary_compact","reduce","a","val","ary_compact_blank","present_p","ary_minus","b","set_b","Set","has","ary_any_p","some","ary_all_p","every","ary_none_p","ary_one_p","exports"],"sources":["../src/xarray.js"],"sourcesContent":["import { Xobject } from \"./xobject.js\"\nimport { Xinteger } from \"./xinteger.js\"\nimport { Xassertion } from \"./xassertion.js\"\nimport _ from \"lodash\"\n\nexport const Xarray = {\n ary_first(ary, n = null) {\n Xassertion.assert_kind_of_array(ary)\n if (n == null) {\n return ary[0]\n } else {\n return ary.slice(0, n)\n }\n },\n\n ary_last(ary, n = null) {\n Xassertion.assert_kind_of_array(ary)\n if (n == null) {\n return ary[ary.length - 1]\n } else {\n return ary.slice(-n)\n }\n },\n\n ary_take(ary, index) {\n Xassertion.assert_kind_of_array(ary)\n return _.take(ary, index)\n },\n\n ary_drop(ary, index) {\n Xassertion.assert_kind_of_array(ary)\n return _.drop(ary, index)\n },\n\n // _.sortBy がない場合\n // const wrap = ary.map(e => ({ source: e, value: block(e) }))\n // const sorted = _.sortBy(wrap, \"value\")\n // return sorted.map(e => e.source)\n ary_sort_by(ary, block) {\n Xassertion.assert_kind_of_array(ary)\n return _.sortBy(ary, e => block(e))\n },\n\n // JS の filter は 0 で false になるため危険\n ary_find_all(ary, block) {\n Xassertion.assert_kind_of_array(ary)\n return ary.filter(e => Xobject.truthy_p(block(e)))\n },\n\n ary_reject(ary, block) {\n Xassertion.assert_kind_of_array(ary)\n return ary.filter(e => Xobject.falsy_p(block(e)))\n },\n\n ary_find_index(ary, block) {\n Xassertion.assert_kind_of_array(ary)\n const index = ary.findIndex(e => block(e))\n if (index >= 0) {\n return index\n }\n },\n\n // expect(Gs.ary_each_slice_to_a([\"a\", \"b\", \"c\", \"d\"], 2)).toEqual([[\"a\", \"b\"], [\"c\", \"d\"]])\n // expect(Gs.ary_each_slice_to_a([\"a\", \"b\", \"c\"], 2)).toEqual([[\"a\", \"b\"], [\"c\"]])\n // expect(() => Gs.ary_each_slice_to_a([\"a\", \"b\"], 0)).toThrow()\n // expect(Gs.ary_each_slice_to_a([], 2)).toEqual([])\n ary_each_slice_to_a(ary, step) {\n Xassertion.assert_kind_of_array(ary)\n if (step <= 0) {\n throw new Error(\"invalid slice size\")\n }\n const new_ary = []\n for (let i = 0; i < ary.length; i += step) {\n new_ary.push(ary.slice(i, i + step))\n }\n return new_ary\n },\n\n // 元を破壊させない\n ary_reverse(ary) {\n Xassertion.assert_kind_of_array(ary)\n return [...ary].reverse()\n },\n\n // 元は破壊しない\n ary_shuffle(ary) {\n Xassertion.assert_kind_of_array(ary)\n return _.shuffle(ary)\n },\n\n ary_sample(ary) {\n Xassertion.assert_kind_of_array(ary)\n return _.sample(ary)\n },\n\n // 必ず配列にする\n ary_wrap(ary) {\n if (!_.isArray(ary)) {\n ary = [ary]\n }\n return ary\n },\n\n // はみ出ない\n ary_cycle_at(ary, index) {\n Xassertion.assert_kind_of_array(ary)\n return ary[Xinteger.imodulo(index, ary.length)]\n },\n\n // ary 内のインデックス from の要素を to に移動\n // https://qiita.com/nowayoutbut/items/991515b32805e21f8892\n ary_move(ary, from, to) {\n Xassertion.assert_kind_of_array(ary)\n const n = ary.length\n ary = [...ary]\n to = Xinteger.imodulo(to, n)\n if (from === to || from > n - 1 || to > n - 1) {\n return ary\n }\n const v = ary[from]\n const tail = ary.slice(from + 1)\n ary.splice(from)\n Array.prototype.push.apply(ary, tail)\n ary.splice(to, 0, v)\n return ary\n },\n\n ary_rotate(ary, n = 1) {\n Xassertion.assert_kind_of_array(ary)\n ary = [...ary]\n if (ary.length > 0) {\n if (n > 0) {\n for (let i = 0; i < n; i += 1) {\n ary.push(ary.shift())\n }\n } else {\n for (let i = 0; i < -n; i += 1) {\n ary.unshift(ary.pop())\n }\n }\n }\n return ary\n },\n\n // {1, null, undefined, \"\"} => [1, \"\"]\n ary_compact(ary) {\n Xassertion.assert_kind_of_array(ary)\n return _.reduce(ary, (a, val) => {\n if (val == null) {\n } else {\n a.push(val)\n }\n return a\n }, [])\n },\n\n // {1, null, undefined, \"\"} => [1]\n ary_compact_blank(ary) {\n Xassertion.assert_kind_of_array(ary)\n return _.reduce(ary, (a, val) => {\n if (Xobject.present_p(val)) {\n a.push(val)\n }\n return a\n }, [])\n },\n\n // a - b\n ary_minus(a, b) {\n Xassertion.assert_kind_of_array(a)\n Xassertion.assert_kind_of_array(b)\n const set_b = new Set(b)\n return a.filter(e => !set_b.has(e))\n },\n\n ary_any_p(ary, block = e => e) { return ary.some(e => Xobject.truthy_p(block(e))) },\n ary_all_p(ary, block = e => e) { return ary.every(e => Xobject.truthy_p(block(e))) },\n ary_none_p(ary, block = e => e) { return !this.ary_any_p(ary, block) },\n ary_one_p(ary, block = e => e) { return this.ary_find_all(ary, block).length === 1 },\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"xarray.js","names":["_xobject","require","_xinteger","_xassertion","_lodash","_interopRequireDefault","obj","__esModule","_toConsumableArray","arr","_arrayWithoutHoles","_iterableToArray","_unsupportedIterableToArray","_nonIterableSpread","TypeError","o","minLen","_arrayLikeToArray","n","Object","prototype","toString","call","slice","constructor","name","Array","from","test","iter","Symbol","iterator","isArray","len","length","i","arr2","Xarray","ary_first","ary","arguments","undefined","Xassertion","assert_kind_of_array","ary_last","ary_take","index","_","take","ary_drop","drop","ary_sort_by","block","sortBy","e","ary_find_all","filter","Xobject","truthy_p","ary_reject","falsy_p","ary_find_index","findIndex","ary_each_slice_to_a","step","Error","new_ary","push","ary_reverse","reverse","ary_shuffle","shuffle","ary_sample","sample","ary_wrap","ary_cycle_at","Xinteger","imodulo","ary_move","to","v","tail","splice","apply","ary_rotate","shift","unshift","pop","ary_compact","reduce","a","val","ary_compact_blank","present_p","ary_minus","b","set_b","Set","has","ary_any_p","some","ary_all_p","every","ary_none_p","ary_one_p","ary_tally","count","forEach","_count$e","exports"],"sources":["../src/xarray.js"],"sourcesContent":["import { Xobject } from \"./xobject.js\"\nimport { Xinteger } from \"./xinteger.js\"\nimport { Xassertion } from \"./xassertion.js\"\nimport _ from \"lodash\"\n\nexport const Xarray = {\n ary_first(ary, n = null) {\n Xassertion.assert_kind_of_array(ary)\n if (n == null) {\n return ary[0]\n } else {\n return ary.slice(0, n)\n }\n },\n\n ary_last(ary, n = null) {\n Xassertion.assert_kind_of_array(ary)\n if (n == null) {\n return ary[ary.length - 1]\n } else {\n return ary.slice(-n)\n }\n },\n\n ary_take(ary, index) {\n Xassertion.assert_kind_of_array(ary)\n return _.take(ary, index)\n },\n\n ary_drop(ary, index) {\n Xassertion.assert_kind_of_array(ary)\n return _.drop(ary, index)\n },\n\n // _.sortBy がない場合\n // const wrap = ary.map(e => ({ source: e, value: block(e) }))\n // const sorted = _.sortBy(wrap, \"value\")\n // return sorted.map(e => e.source)\n ary_sort_by(ary, block) {\n Xassertion.assert_kind_of_array(ary)\n return _.sortBy(ary, e => block(e))\n },\n\n // JS の filter は 0 で false になるため危険\n ary_find_all(ary, block) {\n Xassertion.assert_kind_of_array(ary)\n return ary.filter(e => Xobject.truthy_p(block(e)))\n },\n\n ary_reject(ary, block) {\n Xassertion.assert_kind_of_array(ary)\n return ary.filter(e => Xobject.falsy_p(block(e)))\n },\n\n ary_find_index(ary, block) {\n Xassertion.assert_kind_of_array(ary)\n const index = ary.findIndex(e => block(e))\n if (index >= 0) {\n return index\n }\n },\n\n // expect(Gs.ary_each_slice_to_a([\"a\", \"b\", \"c\", \"d\"], 2)).toEqual([[\"a\", \"b\"], [\"c\", \"d\"]])\n // expect(Gs.ary_each_slice_to_a([\"a\", \"b\", \"c\"], 2)).toEqual([[\"a\", \"b\"], [\"c\"]])\n // expect(() => Gs.ary_each_slice_to_a([\"a\", \"b\"], 0)).toThrow()\n // expect(Gs.ary_each_slice_to_a([], 2)).toEqual([])\n ary_each_slice_to_a(ary, step) {\n Xassertion.assert_kind_of_array(ary)\n if (step <= 0) {\n throw new Error(\"invalid slice size\")\n }\n const new_ary = []\n for (let i = 0; i < ary.length; i += step) {\n new_ary.push(ary.slice(i, i + step))\n }\n return new_ary\n },\n\n // 元を破壊させない\n ary_reverse(ary) {\n Xassertion.assert_kind_of_array(ary)\n return [...ary].reverse()\n },\n\n // 元は破壊しない\n ary_shuffle(ary) {\n Xassertion.assert_kind_of_array(ary)\n return _.shuffle(ary)\n },\n\n ary_sample(ary) {\n Xassertion.assert_kind_of_array(ary)\n return _.sample(ary)\n },\n\n // 必ず配列にする\n ary_wrap(ary) {\n if (!_.isArray(ary)) {\n ary = [ary]\n }\n return ary\n },\n\n // はみ出ない\n ary_cycle_at(ary, index) {\n Xassertion.assert_kind_of_array(ary)\n return ary[Xinteger.imodulo(index, ary.length)]\n },\n\n // ary 内のインデックス from の要素を to に移動\n // https://qiita.com/nowayoutbut/items/991515b32805e21f8892\n ary_move(ary, from, to) {\n Xassertion.assert_kind_of_array(ary)\n const n = ary.length\n ary = [...ary]\n to = Xinteger.imodulo(to, n)\n if (from === to || from > n - 1 || to > n - 1) {\n return ary\n }\n const v = ary[from]\n const tail = ary.slice(from + 1)\n ary.splice(from)\n Array.prototype.push.apply(ary, tail)\n ary.splice(to, 0, v)\n return ary\n },\n\n ary_rotate(ary, n = 1) {\n Xassertion.assert_kind_of_array(ary)\n ary = [...ary]\n if (ary.length > 0) {\n if (n > 0) {\n for (let i = 0; i < n; i += 1) {\n ary.push(ary.shift())\n }\n } else {\n for (let i = 0; i < -n; i += 1) {\n ary.unshift(ary.pop())\n }\n }\n }\n return ary\n },\n\n // {1, null, undefined, \"\"} => [1, \"\"]\n ary_compact(ary) {\n Xassertion.assert_kind_of_array(ary)\n return _.reduce(ary, (a, val) => {\n if (val == null) {\n } else {\n a.push(val)\n }\n return a\n }, [])\n },\n\n // {1, null, undefined, \"\"} => [1]\n ary_compact_blank(ary) {\n Xassertion.assert_kind_of_array(ary)\n return _.reduce(ary, (a, val) => {\n if (Xobject.present_p(val)) {\n a.push(val)\n }\n return a\n }, [])\n },\n\n // a - b\n ary_minus(a, b) {\n Xassertion.assert_kind_of_array(a)\n Xassertion.assert_kind_of_array(b)\n const set_b = new Set(b)\n return a.filter(e => !set_b.has(e))\n },\n\n ary_any_p(ary, block = e => e) { return ary.some(e => Xobject.truthy_p(block(e))) },\n ary_all_p(ary, block = e => e) { return ary.every(e => Xobject.truthy_p(block(e))) },\n ary_none_p(ary, block = e => e) { return !this.ary_any_p(ary, block) },\n ary_one_p(ary, block = e => e) { return this.ary_find_all(ary, block).length === 1 },\n\n ary_tally(ary) {\n Xassertion.assert_kind_of_array(ary)\n const count = {}\n ary.forEach(e => {\n count[e] = (count[e] ?? 0) + 1\n })\n return count\n },\n}\n"],"mappings":"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"}
|
package/lib/xhash.js
CHANGED
|
@@ -59,6 +59,18 @@ var Xhash = {
|
|
|
59
59
|
},
|
|
60
60
|
hash_has_key_p: function hash_has_key_p(hash, key) {
|
|
61
61
|
return key in hash;
|
|
62
|
+
},
|
|
63
|
+
hash_empty_p: function hash_empty_p(hash) {
|
|
64
|
+
for (var _2 in hash) {
|
|
65
|
+
return false;
|
|
66
|
+
}
|
|
67
|
+
return true;
|
|
68
|
+
},
|
|
69
|
+
hash_blank_p: function hash_blank_p(hash) {
|
|
70
|
+
return this.hash_empty_p(hash);
|
|
71
|
+
},
|
|
72
|
+
hash_present_p: function hash_present_p(hash) {
|
|
73
|
+
return !this.hash_empty_p(hash);
|
|
62
74
|
}
|
|
63
75
|
};
|
|
64
76
|
exports.Xhash = Xhash;
|
package/lib/xhash.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"xhash.js","names":["_lodash","_interopRequireDefault","require","_xobject","obj","__esModule","Xhash","hash_count","hash","Object","values","length","hash_compact","_","reduce","a","val","key","hash_compact_blank","Xobject","present_p","hash_delete","value","hash_extract_self","_this","result","_len","arguments","keys","Array","_key","forEach","hash_slice","_len2","_key2","hash_has_key_p","exports"],"sources":["../src/xhash.js"],"sourcesContent":["import _ from \"lodash\"\nimport { Xobject } from \"./xobject.js\"\n\nexport const Xhash = {\n // hash_count({a: 1}) => 1\n hash_count(hash) {\n return Object.values(hash).length\n },\n\n // {a: 1, b: null, c:undefined, d: \"\"} => {a: 1, d: \"\"}\n hash_compact(hash) {\n return _.reduce(hash, (a, val, key) => {\n if (val == null) {\n } else {\n a[key] = val\n }\n return a\n }, {})\n },\n\n // {a: 1, b: null, c:undefined, d: \"\"} => {a: 1}\n hash_compact_blank(hash) {\n return _.reduce(hash, (a, val, key) => {\n if (Xobject.present_p(val)) {\n a[key] = val\n }\n return a\n }, {})\n },\n\n // const hash = { a: 1, b: 1, }\n // const value = Xhash.hash_delete(hash, \"a\")\n // hash // => {b: 1}\n // value // => 1\n hash_delete(hash, key) {\n const value = hash[key]\n delete hash[key]\n return value\n },\n\n // const hash = { a: 1, b: null, c: 1, }\n // const value = Xhash.hash_extract_self(hash, \"a\", \"b\", \"d\")\n // expect(hash).toEqual({c: 1})\n // expect(value).toEqual({a: 1, b: null})\n hash_extract_self(hash, ...keys) {\n const result = {}\n keys.forEach(key => {\n if (key in hash) {\n result[key] = this.hash_delete(hash, key)\n }\n })\n return result\n },\n\n // const hash = { a: 1, b: null, c: 1, }\n // const value = Xhash.hash_slice(hash, \"a\", \"b\", \"d\")\n // expect(hash).toEqual({ a: 1, b: null, c: 1, })\n // expect(value).toEqual({a: 1, b: null})\n hash_slice(hash, ...keys) {\n const result = {}\n keys.forEach(key => {\n if (key in hash) {\n result[key] = hash[key]\n }\n })\n return result\n },\n\n // Xhash.hash_hash_key_p({ a: null }, \"a\") // => true\n // Xhash.hash_hash_key_p({ a: null }, \"b\") // => false\n hash_has_key_p(hash, key) {\n return key in hash\n },\n}\n"],"mappings":";;;;;;AAAA,IAAAA,OAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,QAAA,GAAAD,OAAA;AAAsC,SAAAD,uBAAAG,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA,gBAAAA,GAAA;AAE/B,IAAME,KAAK,GAAG;EAEnBC,UAAU,WAAAA,WAACC,IAAI,EAAE;IACf,OAAOC,MAAM,CAACC,MAAM,CAACF,IAAI,CAAC,CAACG,MAAM;EACnC,CAAC;EAGDC,YAAY,WAAAA,aAACJ,IAAI,EAAE;IACjB,OAAOK,kBAAC,CAACC,MAAM,CAACN,IAAI,EAAE,UAACO,CAAC,EAAEC,GAAG,EAAEC,GAAG,EAAK;MACrC,IAAID,GAAG,IAAI,IAAI,EAAE,CACjB,CAAC,MAAM;QACLD,CAAC,CAACE,GAAG,CAAC,GAAGD,GAAG;MACd;MACA,OAAOD,CAAC;IACV,CAAC,EAAE,CAAC,CAAC,CAAC;EACR,CAAC;EAGDG,kBAAkB,WAAAA,mBAACV,IAAI,EAAE;IACvB,OAAOK,kBAAC,CAACC,MAAM,CAACN,IAAI,EAAE,UAACO,CAAC,EAAEC,GAAG,EAAEC,GAAG,EAAK;MACrC,IAAIE,gBAAO,CAACC,SAAS,CAACJ,GAAG,CAAC,EAAE;QAC1BD,CAAC,CAACE,GAAG,CAAC,GAAGD,GAAG;MACd;MACA,OAAOD,CAAC;IACV,CAAC,EAAE,CAAC,CAAC,CAAC;EACR,CAAC;EAMDM,WAAW,WAAAA,YAACb,IAAI,EAAES,GAAG,EAAE;IACrB,IAAMK,KAAK,GAAGd,IAAI,CAACS,GAAG,CAAC;IACvB,OAAOT,IAAI,CAACS,GAAG,CAAC;IAChB,OAAOK,KAAK;EACd,CAAC;EAMDC,iBAAiB,WAAAA,kBAACf,IAAI,EAAW;IAAA,IAAAgB,KAAA;IAC/B,IAAMC,MAAM,GAAG,CAAC,CAAC;IAAA,SAAAC,IAAA,GAAAC,SAAA,CAAAhB,MAAA,EADQiB,IAAI,OAAAC,KAAA,CAAAH,IAAA,OAAAA,IAAA,WAAAI,IAAA,MAAAA,IAAA,GAAAJ,IAAA,EAAAI,IAAA;MAAJF,IAAI,CAAAE,IAAA,QAAAH,SAAA,CAAAG,IAAA;IAAA;IAE7BF,IAAI,CAACG,OAAO,CAAC,UAAAd,GAAG,EAAI;MAClB,IAAIA,GAAG,IAAIT,IAAI,EAAE;QACfiB,MAAM,CAACR,GAAG,CAAC,GAAGO,KAAI,CAACH,WAAW,CAACb,IAAI,EAAES,GAAG,CAAC;MAC3C;IACF,CAAC,CAAC;IACF,OAAOQ,MAAM;EACf,CAAC;EAMDO,UAAU,WAAAA,WAACxB,IAAI,EAAW;IACxB,IAAMiB,MAAM,GAAG,CAAC,CAAC;IAAA,SAAAQ,KAAA,GAAAN,SAAA,CAAAhB,MAAA,EADCiB,IAAI,OAAAC,KAAA,CAAAI,KAAA,OAAAA,KAAA,WAAAC,KAAA,MAAAA,KAAA,GAAAD,KAAA,EAAAC,KAAA;MAAJN,IAAI,CAAAM,KAAA,QAAAP,SAAA,CAAAO,KAAA;IAAA;IAEtBN,IAAI,CAACG,OAAO,CAAC,UAAAd,GAAG,EAAI;MAClB,IAAIA,GAAG,IAAIT,IAAI,EAAE;QACfiB,MAAM,CAACR,GAAG,CAAC,GAAGT,IAAI,CAACS,GAAG,CAAC;MACzB;IACF,CAAC,CAAC;IACF,OAAOQ,MAAM;EACf,CAAC;EAIDU,cAAc,WAAAA,eAAC3B,IAAI,EAAES,GAAG,EAAE;IACxB,OAAOA,GAAG,IAAIT,IAAI;EACpB;
|
|
1
|
+
{"version":3,"file":"xhash.js","names":["_lodash","_interopRequireDefault","require","_xobject","obj","__esModule","Xhash","hash_count","hash","Object","values","length","hash_compact","_","reduce","a","val","key","hash_compact_blank","Xobject","present_p","hash_delete","value","hash_extract_self","_this","result","_len","arguments","keys","Array","_key","forEach","hash_slice","_len2","_key2","hash_has_key_p","hash_empty_p","hash_blank_p","hash_present_p","exports"],"sources":["../src/xhash.js"],"sourcesContent":["import _ from \"lodash\"\nimport { Xobject } from \"./xobject.js\"\n\nexport const Xhash = {\n // hash_count({a: 1}) => 1\n hash_count(hash) {\n return Object.values(hash).length\n },\n\n // {a: 1, b: null, c:undefined, d: \"\"} => {a: 1, d: \"\"}\n hash_compact(hash) {\n return _.reduce(hash, (a, val, key) => {\n if (val == null) {\n } else {\n a[key] = val\n }\n return a\n }, {})\n },\n\n // {a: 1, b: null, c:undefined, d: \"\"} => {a: 1}\n hash_compact_blank(hash) {\n return _.reduce(hash, (a, val, key) => {\n if (Xobject.present_p(val)) {\n a[key] = val\n }\n return a\n }, {})\n },\n\n // const hash = { a: 1, b: 1, }\n // const value = Xhash.hash_delete(hash, \"a\")\n // hash // => {b: 1}\n // value // => 1\n hash_delete(hash, key) {\n const value = hash[key]\n delete hash[key]\n return value\n },\n\n // const hash = { a: 1, b: null, c: 1, }\n // const value = Xhash.hash_extract_self(hash, \"a\", \"b\", \"d\")\n // expect(hash).toEqual({c: 1})\n // expect(value).toEqual({a: 1, b: null})\n hash_extract_self(hash, ...keys) {\n const result = {}\n keys.forEach(key => {\n if (key in hash) {\n result[key] = this.hash_delete(hash, key)\n }\n })\n return result\n },\n\n // const hash = { a: 1, b: null, c: 1, }\n // const value = Xhash.hash_slice(hash, \"a\", \"b\", \"d\")\n // expect(hash).toEqual({ a: 1, b: null, c: 1, })\n // expect(value).toEqual({a: 1, b: null})\n hash_slice(hash, ...keys) {\n const result = {}\n keys.forEach(key => {\n if (key in hash) {\n result[key] = hash[key]\n }\n })\n return result\n },\n\n // Xhash.hash_hash_key_p({ a: null }, \"a\") // => true\n // Xhash.hash_hash_key_p({ a: null }, \"b\") // => false\n hash_has_key_p(hash, key) {\n return key in hash\n },\n\n hash_empty_p(hash) {\n for (const _ in hash) {\n return false\n }\n return true\n },\n hash_blank_p(hash) { return this.hash_empty_p(hash) },\n hash_present_p(hash) { return !this.hash_empty_p(hash) },\n}\n"],"mappings":"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"}
|