@calcit/procs
Advanced tools
Comparing version 0.2.76 to 0.2.77
@@ -191,3 +191,3 @@ var _a; | ||
} | ||
if (!_AND__EQ_(v, get(y, k))) { | ||
if (!_AND__EQ_(v, _AND_get(y, k))) { | ||
return false; | ||
@@ -308,20 +308,24 @@ } | ||
}; | ||
export let get = function (xs, k) { | ||
export let nth = function (xs, k) { | ||
if (arguments.length !== 2) { | ||
throw new Error("get takes 2 arguments"); | ||
throw new Error("nth takes 2 arguments"); | ||
} | ||
if (typeof k !== "number") { | ||
throw new Error("Expected number index for a list"); | ||
} | ||
if (typeof xs === "string") { | ||
if (typeof k === "number") { | ||
return xs[k]; | ||
} | ||
else { | ||
throw new Error("Expected number index for a string"); | ||
} | ||
return xs[k]; | ||
} | ||
if (xs instanceof CrDataList) { | ||
if (typeof k !== "number") { | ||
throw new Error("Expected number index for a list"); | ||
} | ||
return xs.get(k); | ||
} | ||
if (Array.isArray(xs)) { | ||
return xs[k]; | ||
} | ||
throw new Error("Does not support `nth` on this type"); | ||
}; | ||
export let _AND_get = function (xs, k) { | ||
if (arguments.length !== 2) { | ||
throw new Error("&get takes 2 arguments"); | ||
} | ||
if (xs instanceof CrDataMap) { | ||
@@ -335,11 +339,12 @@ if (xs.contains(k)) { | ||
} | ||
if (Array.isArray(xs)) { | ||
if (typeof k === "number") { | ||
return xs[k]; | ||
} | ||
else { | ||
throw new Error("Expected number index for an array"); | ||
} | ||
if (xs == null) { | ||
throw new Error("`&get` does not work on `nil`, need to use `get`"); | ||
} | ||
throw new Error("Does not support `get` on this type"); | ||
if (typeof xs === "string") { | ||
return nth(xs, k); | ||
} | ||
if (xs instanceof CrDataList) { | ||
return nth(xs, k); | ||
} | ||
throw new Error("Does not support `&get` on this type"); | ||
}; | ||
@@ -346,0 +351,0 @@ export let assoc = function (xs, k, v) { |
@@ -223,3 +223,3 @@ import { overwriteComparator, initTernaryTreeMap } from "@calcit/ternary-tree"; | ||
} | ||
if (!_AND__EQ_(v, get(y, k))) { | ||
if (!_AND__EQ_(v, _AND_get(y, k))) { | ||
return false; | ||
@@ -347,20 +347,28 @@ } | ||
export let get = function (xs: CrDataValue, k: CrDataValue) { | ||
export let nth = function (xs: CrDataValue, k: CrDataValue) { | ||
if (arguments.length !== 2) { | ||
throw new Error("get takes 2 arguments"); | ||
throw new Error("nth takes 2 arguments"); | ||
} | ||
if (typeof k !== "number") { | ||
throw new Error("Expected number index for a list"); | ||
} | ||
if (typeof xs === "string") { | ||
if (typeof k === "number") { | ||
return xs[k]; | ||
} else { | ||
throw new Error("Expected number index for a string"); | ||
} | ||
return xs[k]; | ||
} | ||
if (xs instanceof CrDataList) { | ||
if (typeof k !== "number") { | ||
throw new Error("Expected number index for a list"); | ||
} | ||
return xs.get(k); | ||
} | ||
if (Array.isArray(xs)) { | ||
return xs[k]; | ||
} | ||
throw new Error("Does not support `nth` on this type"); | ||
}; | ||
export let _AND_get = function (xs: CrDataValue, k: CrDataValue) { | ||
if (arguments.length !== 2) { | ||
throw new Error("&get takes 2 arguments"); | ||
} | ||
if (xs instanceof CrDataMap) { | ||
@@ -373,11 +381,13 @@ if (xs.contains(k)) { | ||
} | ||
if (Array.isArray(xs)) { | ||
if (typeof k === "number") { | ||
return xs[k]; | ||
} else { | ||
throw new Error("Expected number index for an array"); | ||
} | ||
if (xs == null) { | ||
throw new Error("`&get` does not work on `nil`, need to use `get`"); | ||
} | ||
if (typeof xs === "string") { | ||
return nth(xs, k); | ||
} | ||
if (xs instanceof CrDataList) { | ||
return nth(xs, k); | ||
} | ||
throw new Error("Does not support `get` on this type"); | ||
throw new Error("Does not support `&get` on this type"); | ||
}; | ||
@@ -384,0 +394,0 @@ |
{ | ||
"name": "@calcit/procs", | ||
"version": "0.2.76", | ||
"version": "0.2.77", | ||
"main": "./lib/calcit.procs.js", | ||
@@ -5,0 +5,0 @@ "devDependencies": { |
101550
3758