New Case Study:See how Anthropic automated 95% of dependency reviews with Socket.Learn More
Socket
Sign inDemoInstall
Socket

@code-hike/utils

Package Overview
Dependencies
Maintainers
1
Versions
86
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@code-hike/utils - npm Package Compare versions

Comparing version 0.3.0--canary.77.4c6fb89.0 to 0.3.0--canary.77.59321d0.0

dist/focus.d.ts

288

dist/index.cjs.js

@@ -21,4 +21,292 @@ 'use strict';

/*! *****************************************************************************
Copyright (c) Microsoft Corporation.
Permission to use, copy, modify, and/or distribute this software for any
purpose with or without fee is hereby granted.
THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
PERFORMANCE OF THIS SOFTWARE.
***************************************************************************** */
/* global Reflect, Promise */
var extendStatics = function(d, b) {
extendStatics = Object.setPrototypeOf ||
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
return extendStatics(d, b);
};
function __extends(d, b) {
extendStatics(d, b);
function __() { this.constructor = d; }
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
}
function __read(o, n) {
var m = typeof Symbol === "function" && o[Symbol.iterator];
if (!m) return o;
var i = m.call(o), r, ar = [], e;
try {
while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
}
catch (error) { e = { error: error }; }
finally {
try {
if (r && !r.done && (m = i["return"])) m.call(i);
}
finally { if (e) throw e.error; }
}
return ar;
}
function __spread() {
for (var ar = [], i = 0; i < arguments.length; i++)
ar = ar.concat(__read(arguments[i]));
return ar;
}
function mapFocusToLineNumbers(focus, lines) {
if (!focus) {
// focus all lines
return mergeToObject(__spread(lines.keys()).map(function (lineIndex) {
var _a;
return (_a = {},
_a[lineIndex + 1] = true,
_a);
}));
}
else {
return mergeToObject(splitParts(focus).map(parsePartToObject));
}
}
function splitParts(focus) {
return focus.split(/,(?![^\[]*\])/g);
}
function mergeToObject(entries) {
return entries.reduce(function (acc, obj) { return Object.assign(acc, obj); }, {});
}
function hasColumns(part) {
return !!part.match(/(\d+)\[(.+)\]/);
}
function parsePartToObject(part) {
var _a;
// a part could be
// - a line number: "2"
// - a line range: "5:9"
// - a line number with a column selector: "2[1,3:5,9]"
var columnsMatch = part.match(/(\d+)\[(.+)\]/);
if (columnsMatch) {
var _b = __read(columnsMatch, 3), line = _b[1], columns = _b[2];
var columnsList = columns
.split(",")
.map(parseExtremes);
var lineNumber = Number(line);
return _a = {}, _a[lineNumber] = columnsList, _a;
}
else {
return mergeToObject(expandString(part).map(function (lineNumber) {
var _a;
return (_a = {},
_a[lineNumber] = true,
_a);
}));
}
}
function parseExtremes(part) {
// Transforms something like
// - "1:3" to {start:1, end: 3}
// - "4" to {start:4, end:4}
var _a = __read(part.split(":"), 2), start = _a[0], end = _a[1];
if (!isNaturalNumber(start)) {
throw new FocusNumberError(start);
}
var startNumber = Number(start);
if (startNumber < 1) {
throw new LineOrColumnNumberError();
}
if (!end) {
return { start: startNumber, end: startNumber };
}
else {
if (!isNaturalNumber(end)) {
throw new FocusNumberError(end);
}
return { start: startNumber, end: +end };
}
}
function getFocusIndexes(focus, lines) {
if (!focus) {
return __spread(lines.keys());
}
else {
var parsed = parseFocus(focus);
var focusedIndexes = Object.keys(parsed).map(function (i) {
return parseInt(i, 10);
});
return focusedIndexes;
}
}
function parseFocus(focus) {
if (!focus) {
throw new Error("Focus cannot be empty");
}
try {
var parts = focus
.split(/,(?![^\[]*\])/g)
.map(parsePart);
return fromEntries(parts.flat());
}
catch (error) {
// TODO enhance error
throw error;
}
}
function parsePart(part) {
// a part could be
// - a line number: "2"
// - a line range: "5:9"
// - a line number with a column selector: "2[1,3:5,9]"
var columnsMatch = part.match(/(\d+)\[(.+)\]/);
if (columnsMatch) {
var _a = __read(columnsMatch, 3), line = _a[1], columns = _a[2];
var columnsList = columns.split(",").map(expandString);
var lineIndex = Number(line) - 1;
var columnIndexes = columnsList.flat().map(function (c) { return c - 1; });
return [[lineIndex, columnIndexes]];
}
else {
return expandString(part).map(function (lineNumber) { return [
lineNumber - 1,
true,
]; });
}
}
function expandString(part) {
// Transforms something like
// - "1:3" to [1,2,3]
// - "4" to [4]
var _a = __read(part.split(":"), 2), start = _a[0], end = _a[1];
if (!isNaturalNumber(start)) {
throw new FocusNumberError(start);
}
var startNumber = Number(start);
if (startNumber < 1) {
throw new LineOrColumnNumberError();
}
if (!end) {
return [startNumber];
}
else {
if (!isNaturalNumber(end)) {
throw new FocusNumberError(end);
}
var list = [];
for (var i = startNumber; i <= +end; i++) {
list.push(i);
}
return list;
}
}
function isNaturalNumber(n) {
n = n.toString(); // force the value in case it is not
var n1 = Math.abs(n), n2 = parseInt(n, 10);
return !isNaN(n1) && n2 === n1 && n1.toString() === n;
}
var LineOrColumnNumberError = /** @class */ (function (_super) {
__extends(LineOrColumnNumberError, _super);
function LineOrColumnNumberError() {
var _newTarget = this.constructor;
var _this = _super.call(this, "Invalid line or column number in focus string") || this;
Object.setPrototypeOf(_this, _newTarget.prototype);
return _this;
}
return LineOrColumnNumberError;
}(Error));
var FocusNumberError = /** @class */ (function (_super) {
__extends(FocusNumberError, _super);
function FocusNumberError(number) {
var _newTarget = this.constructor;
var _this = _super.call(this, "Invalid number \"" + number + "\" in focus string") || this;
_this.number = number;
Object.setPrototypeOf(_this, _newTarget.prototype);
return _this;
}
return FocusNumberError;
}(Error));
function fromEntries(pairs) {
var result = {};
var index = -1, length = pairs == null ? 0 : pairs.length;
while (++index < length) {
var pair = pairs[index];
result[pair[0]] = pair[1];
}
return result;
}
// turns a relative string like (1,3) or [4:5] into a normal focus string
function relativeToAbsolute(relativeString, lineNumber) {
if (!relativeString) {
return lineNumber.toString();
}
if (relativeString.startsWith("[")) {
return "" + lineNumber + relativeString;
}
return splitParts(relativeString.slice(1, -1))
.map(function (part) { return makePartAbsolute(part, lineNumber); })
.join(",");
}
function makePartAbsolute(part, lineNumber) {
var focusMap = parsePartToObject(part);
var keys = Object.keys(focusMap).map(function (k) { return +k; });
if (keys.length > 1) {
var min = Math.min.apply(Math, __spread(keys));
var max = Math.max.apply(Math, __spread(keys));
return min + lineNumber - 1 + ":" + (max + lineNumber - 1);
}
var newMap = {};
Object.keys(focusMap).forEach(function (ln) {
newMap[+ln + lineNumber - 1] = focusMap[+ln];
});
return toFocusString(newMap);
}
function toFocusString(focusMap) {
var parts = [];
Object.keys(focusMap).forEach(function (ln) {
var part = focusMap[+ln];
if (part === true) {
parts.push(ln);
}
else if (part instanceof Array) {
var columnsString = part.map(function (extremes) {
return extremes.start === extremes.end
? extremes.start
: extremes.start + ":" + extremes.end;
});
parts.push(ln + "[" + columnsString + "]");
}
});
return parts.join(",");
}
function mergeFocus(fs1, fs2) {
if (!fs1)
return fs2 || "";
if (!fs2)
return fs1 || "";
return fs1 + "," + fs2;
}
exports.getFocusIndexes = getFocusIndexes;
exports.hasColumns = hasColumns;
exports.map = map;
exports.mapFocusToLineNumbers = mapFocusToLineNumbers;
exports.mapWithDefault = mapWithDefault;
exports.mergeFocus = mergeFocus;
exports.parseExtremes = parseExtremes;
exports.parsePartToObject = parsePartToObject;
exports.relativeToAbsolute = relativeToAbsolute;
exports.withDefault = withDefault;

1

dist/index.d.ts
export * from "./tween";
export * from "./code";
export * from "./focus";

@@ -17,2 +17,283 @@ function map(tween, fn) {

export { map, mapWithDefault, withDefault };
/*! *****************************************************************************
Copyright (c) Microsoft Corporation.
Permission to use, copy, modify, and/or distribute this software for any
purpose with or without fee is hereby granted.
THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
PERFORMANCE OF THIS SOFTWARE.
***************************************************************************** */
/* global Reflect, Promise */
var extendStatics = function(d, b) {
extendStatics = Object.setPrototypeOf ||
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
return extendStatics(d, b);
};
function __extends(d, b) {
extendStatics(d, b);
function __() { this.constructor = d; }
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
}
function __read(o, n) {
var m = typeof Symbol === "function" && o[Symbol.iterator];
if (!m) return o;
var i = m.call(o), r, ar = [], e;
try {
while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
}
catch (error) { e = { error: error }; }
finally {
try {
if (r && !r.done && (m = i["return"])) m.call(i);
}
finally { if (e) throw e.error; }
}
return ar;
}
function __spread() {
for (var ar = [], i = 0; i < arguments.length; i++)
ar = ar.concat(__read(arguments[i]));
return ar;
}
function mapFocusToLineNumbers(focus, lines) {
if (!focus) {
// focus all lines
return mergeToObject(__spread(lines.keys()).map(function (lineIndex) {
var _a;
return (_a = {},
_a[lineIndex + 1] = true,
_a);
}));
}
else {
return mergeToObject(splitParts(focus).map(parsePartToObject));
}
}
function splitParts(focus) {
return focus.split(/,(?![^\[]*\])/g);
}
function mergeToObject(entries) {
return entries.reduce(function (acc, obj) { return Object.assign(acc, obj); }, {});
}
function hasColumns(part) {
return !!part.match(/(\d+)\[(.+)\]/);
}
function parsePartToObject(part) {
var _a;
// a part could be
// - a line number: "2"
// - a line range: "5:9"
// - a line number with a column selector: "2[1,3:5,9]"
var columnsMatch = part.match(/(\d+)\[(.+)\]/);
if (columnsMatch) {
var _b = __read(columnsMatch, 3), line = _b[1], columns = _b[2];
var columnsList = columns
.split(",")
.map(parseExtremes);
var lineNumber = Number(line);
return _a = {}, _a[lineNumber] = columnsList, _a;
}
else {
return mergeToObject(expandString(part).map(function (lineNumber) {
var _a;
return (_a = {},
_a[lineNumber] = true,
_a);
}));
}
}
function parseExtremes(part) {
// Transforms something like
// - "1:3" to {start:1, end: 3}
// - "4" to {start:4, end:4}
var _a = __read(part.split(":"), 2), start = _a[0], end = _a[1];
if (!isNaturalNumber(start)) {
throw new FocusNumberError(start);
}
var startNumber = Number(start);
if (startNumber < 1) {
throw new LineOrColumnNumberError();
}
if (!end) {
return { start: startNumber, end: startNumber };
}
else {
if (!isNaturalNumber(end)) {
throw new FocusNumberError(end);
}
return { start: startNumber, end: +end };
}
}
function getFocusIndexes(focus, lines) {
if (!focus) {
return __spread(lines.keys());
}
else {
var parsed = parseFocus(focus);
var focusedIndexes = Object.keys(parsed).map(function (i) {
return parseInt(i, 10);
});
return focusedIndexes;
}
}
function parseFocus(focus) {
if (!focus) {
throw new Error("Focus cannot be empty");
}
try {
var parts = focus
.split(/,(?![^\[]*\])/g)
.map(parsePart);
return fromEntries(parts.flat());
}
catch (error) {
// TODO enhance error
throw error;
}
}
function parsePart(part) {
// a part could be
// - a line number: "2"
// - a line range: "5:9"
// - a line number with a column selector: "2[1,3:5,9]"
var columnsMatch = part.match(/(\d+)\[(.+)\]/);
if (columnsMatch) {
var _a = __read(columnsMatch, 3), line = _a[1], columns = _a[2];
var columnsList = columns.split(",").map(expandString);
var lineIndex = Number(line) - 1;
var columnIndexes = columnsList.flat().map(function (c) { return c - 1; });
return [[lineIndex, columnIndexes]];
}
else {
return expandString(part).map(function (lineNumber) { return [
lineNumber - 1,
true,
]; });
}
}
function expandString(part) {
// Transforms something like
// - "1:3" to [1,2,3]
// - "4" to [4]
var _a = __read(part.split(":"), 2), start = _a[0], end = _a[1];
if (!isNaturalNumber(start)) {
throw new FocusNumberError(start);
}
var startNumber = Number(start);
if (startNumber < 1) {
throw new LineOrColumnNumberError();
}
if (!end) {
return [startNumber];
}
else {
if (!isNaturalNumber(end)) {
throw new FocusNumberError(end);
}
var list = [];
for (var i = startNumber; i <= +end; i++) {
list.push(i);
}
return list;
}
}
function isNaturalNumber(n) {
n = n.toString(); // force the value in case it is not
var n1 = Math.abs(n), n2 = parseInt(n, 10);
return !isNaN(n1) && n2 === n1 && n1.toString() === n;
}
var LineOrColumnNumberError = /** @class */ (function (_super) {
__extends(LineOrColumnNumberError, _super);
function LineOrColumnNumberError() {
var _newTarget = this.constructor;
var _this = _super.call(this, "Invalid line or column number in focus string") || this;
Object.setPrototypeOf(_this, _newTarget.prototype);
return _this;
}
return LineOrColumnNumberError;
}(Error));
var FocusNumberError = /** @class */ (function (_super) {
__extends(FocusNumberError, _super);
function FocusNumberError(number) {
var _newTarget = this.constructor;
var _this = _super.call(this, "Invalid number \"" + number + "\" in focus string") || this;
_this.number = number;
Object.setPrototypeOf(_this, _newTarget.prototype);
return _this;
}
return FocusNumberError;
}(Error));
function fromEntries(pairs) {
var result = {};
var index = -1, length = pairs == null ? 0 : pairs.length;
while (++index < length) {
var pair = pairs[index];
result[pair[0]] = pair[1];
}
return result;
}
// turns a relative string like (1,3) or [4:5] into a normal focus string
function relativeToAbsolute(relativeString, lineNumber) {
if (!relativeString) {
return lineNumber.toString();
}
if (relativeString.startsWith("[")) {
return "" + lineNumber + relativeString;
}
return splitParts(relativeString.slice(1, -1))
.map(function (part) { return makePartAbsolute(part, lineNumber); })
.join(",");
}
function makePartAbsolute(part, lineNumber) {
var focusMap = parsePartToObject(part);
var keys = Object.keys(focusMap).map(function (k) { return +k; });
if (keys.length > 1) {
var min = Math.min.apply(Math, __spread(keys));
var max = Math.max.apply(Math, __spread(keys));
return min + lineNumber - 1 + ":" + (max + lineNumber - 1);
}
var newMap = {};
Object.keys(focusMap).forEach(function (ln) {
newMap[+ln + lineNumber - 1] = focusMap[+ln];
});
return toFocusString(newMap);
}
function toFocusString(focusMap) {
var parts = [];
Object.keys(focusMap).forEach(function (ln) {
var part = focusMap[+ln];
if (part === true) {
parts.push(ln);
}
else if (part instanceof Array) {
var columnsString = part.map(function (extremes) {
return extremes.start === extremes.end
? extremes.start
: extremes.start + ":" + extremes.end;
});
parts.push(ln + "[" + columnsString + "]");
}
});
return parts.join(",");
}
function mergeFocus(fs1, fs2) {
if (!fs1)
return fs2 || "";
if (!fs2)
return fs1 || "";
return fs1 + "," + fs2;
}
export { getFocusIndexes, hasColumns, map, mapFocusToLineNumbers, mapWithDefault, mergeFocus, parseExtremes, parsePartToObject, relativeToAbsolute, withDefault };

17

package.json
{
"name": "@code-hike/utils",
"version": "0.3.0--canary.77.4c6fb89.0",
"version": "0.3.0--canary.77.59321d0.0",
"main": "dist/index.cjs.js",

@@ -11,11 +11,16 @@ "typings": "dist/index.d.ts",

"scripts": {
"x": "x"
"x": "x",
"test": "jest",
"test-watch": "jest --watch --updateSnapshot"
},
"devDependencies": {
"@code-hike/script": "0.3.0--canary.77.4c6fb89.0",
"@code-hike/script": "0.3.0--canary.77.59321d0.0",
"@types/jest": "^24.0.15",
"@types/react": "^16.9.38",
"react": "^16.13.1"
"jest": "^26.5.3",
"react": "^16.13.1",
"ts-jest": "^26.4.1"
},
"peerDependencies": {
"react": ">=16.8"
"react": "^16.8.3 || ^17 || ^18"
},

@@ -36,3 +41,3 @@ "keywords": [

},
"gitHead": "4c6fb899b4232bc8ea91185414690c202187a79d"
"gitHead": "59321d098b05dd91119e5e0375c2842e3d23dfbf"
}
SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc