Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Socket
Sign inDemoInstall

@es-git/object-mixin

Package Overview
Dependencies
Maintainers
1
Versions
13
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@es-git/object-mixin - npm Package Compare versions

Comparing version 0.9.0 to 0.10.0

es/joinWithNewline.d.ts

0

es/decodeObject.d.ts

@@ -0,0 +0,0 @@ import { GitObject } from './index';

@@ -0,0 +0,0 @@ import { Type, decode, unpackHash, fromDec, fromOct } from '@es-git/core';

4

es/encodeObject.d.ts
import { Mode } from '@es-git/core';
import { GitObject, TreeBody, TagBody, CommitBody } from './index';
import { CommitBody, GitObject, TagBody, TreeBody } from './index';
export default function encodeObject(object: GitObject): Uint8Array;

@@ -13,3 +13,3 @@ export declare function getBytes(object: GitObject): Uint8Array;

mode: Mode;
}): 1 | 0 | -1;
}): 0 | 1 | -1;
export declare function encodeTree(body: TreeBody): Uint8Array;

@@ -16,0 +16,0 @@ export declare function encodeTag(body: TagBody): Uint8Array;

@@ -1,2 +0,3 @@

import { Type, Mode, NEWLINE, encode, concat, flatten, packHash } from '@es-git/core';
import { concat, encode, flatten, Mode, packHash, Type } from '@es-git/core';
import joinWithNewline from './joinWithNewline';
export default function encodeObject(object) {

@@ -33,3 +34,6 @@ const bytes = getBytes(object);

return concat(...flatten(Object.keys(body)
.map(key => (Object.assign({ name: key }, body[key])))
.map(key => ({
name: key,
...body[key]
}))
.sort(treeSort)

@@ -77,20 +81,2 @@ .map(entry => [encode(`${entry.mode.toString(8)} ${entry.name}\0`), packHash(entry.hash)])));

}
function joinWithNewline(...values) {
const sum = values.reduce((sum, x) => sum + x.length, 0);
const result = new Uint8Array(values.length - 1 + sum);
let offset = 0;
for (const arr of values) {
if (offset > 0) {
result.set([NEWLINE], offset++);
}
if (typeof (arr) === 'string') {
result.set(encode(arr), offset);
}
else {
result.set(arr, offset);
}
offset += arr.length;
}
return result;
}
//# sourceMappingURL=encodeObject.js.map

@@ -0,0 +0,0 @@ import { Type, Mode, Constructor, IRawRepo } from '@es-git/core';

@@ -0,0 +0,0 @@ import { sha1 } from '@es-git/core';

export {};
//# sourceMappingURL=index.test.d.ts.map
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
value: true
});
exports.default = decodeObject;
exports["default"] = decodeObject;
exports.blobToText = blobToText;

@@ -12,132 +12,149 @@

function decodeObject(buffer) {
var space = buffer.indexOf(0x20);
if (space < 0) throw new Error("Invalid git object buffer");
var nil = buffer.indexOf(0x00, space);
if (nil < 0) throw new Error("Invalid git object buffer");
var body = buffer.subarray(nil + 1);
var size = (0, _core.fromDec)(buffer, space + 1, nil);
if (size !== body.length) throw new Error("Invalid body length.");
var type = (0, _core.decode)(buffer, 0, space);
switch (type) {
case _core.Type.blob:
return decodeBlob(body);
case _core.Type.tree:
return decodeTree(body);
case _core.Type.commit:
return decodeCommit(body);
case _core.Type.tag:
return decodeTag(body);
default:
throw new Error("Unknown type");
}
var space = buffer.indexOf(0x20);
if (space < 0) throw new Error("Invalid git object buffer");
var nil = buffer.indexOf(0x00, space);
if (nil < 0) throw new Error("Invalid git object buffer");
var body = buffer.subarray(nil + 1);
var size = (0, _core.fromDec)(buffer, space + 1, nil);
if (size !== body.length) throw new Error("Invalid body length.");
var type = (0, _core.decode)(buffer, 0, space);
switch (type) {
case _core.Type.blob:
return decodeBlob(body);
case _core.Type.tree:
return decodeTree(body);
case _core.Type.commit:
return decodeCommit(body);
case _core.Type.tag:
return decodeTag(body);
default:
throw new Error("Unknown type");
}
}
function blobToText(blob) {
return (0, _core.decode)(blob);
return (0, _core.decode)(blob);
}
function decodeBlob(body) {
return {
type: _core.Type.blob,
body: body
};
return {
type: _core.Type.blob,
body: body
};
}
function decodeTree(body) {
var i = 0;
var length = body.length;
var start = void 0;
var mode = void 0;
var name = void 0;
var hash = void 0;
var tree = {};
while (i < length) {
start = i;
i = body.indexOf(0x20, start);
if (i < 0) throw new SyntaxError("Missing space");
mode = (0, _core.fromOct)(body, start, i++);
start = i;
i = body.indexOf(0x00, start);
name = (0, _core.decode)(body, start, i++);
hash = (0, _core.unpackHash)(body, i, i += 20);
tree[name] = {
mode: mode,
hash: hash
};
}
return {
type: _core.Type.tree,
body: tree
var i = 0;
var length = body.length;
var start;
var mode;
var name;
var hash;
var tree = {};
while (i < length) {
start = i;
i = body.indexOf(0x20, start);
if (i < 0) throw new SyntaxError("Missing space");
mode = (0, _core.fromOct)(body, start, i++);
start = i;
i = body.indexOf(0x00, start);
name = (0, _core.decode)(body, start, i++);
hash = (0, _core.unpackHash)(body, i, i += 20);
tree[name] = {
mode: mode,
hash: hash
};
}
return {
type: _core.Type.tree,
body: tree
};
}
function decodeCommit(body) {
var i = 0;
var start = void 0;
var key = void 0;
var parents = [];
var commit = {
tree: "",
parents: parents,
author: undefined,
committer: undefined,
message: ""
};
while (body[i] !== 0x0a) {
start = i;
i = body.indexOf(0x20, start);
if (i < 0) throw new SyntaxError("Missing space");
key = (0, _core.decode)(body, start, i++);
start = i;
i = body.indexOf(0x0a, start);
if (i < 0) throw new SyntaxError("Missing linefeed");
var value = (0, _core.decode)(body, start, i++);
if (key === "parent") {
parents.push(value);
} else if (key === "author" || key === "committer") {
commit[key] = decodePerson(value);
} else {
commit[key] = value;
}
var i = 0;
var start;
var key;
var parents = [];
var commit = {
tree: "",
parents: parents,
author: undefined,
committer: undefined,
message: ""
};
while (body[i] !== 0x0a) {
start = i;
i = body.indexOf(0x20, start);
if (i < 0) throw new SyntaxError("Missing space");
key = (0, _core.decode)(body, start, i++);
start = i;
i = body.indexOf(0x0a, start);
if (i < 0) throw new SyntaxError("Missing linefeed");
var value = (0, _core.decode)(body, start, i++);
if (key === "parent") {
parents.push(value);
} else if (key === "author" || key === "committer") {
commit[key] = decodePerson(value);
} else {
commit[key] = value;
}
i++;
commit.message = (0, _core.decode)(body, i, body.length);
return {
type: _core.Type.commit,
body: commit
};
}
i++;
commit.message = (0, _core.decode)(body, i, body.length);
return {
type: _core.Type.commit,
body: commit
};
}
function decodeTag(body) {
var i = 0;
var start = void 0;
var key = void 0;
var tag = {};
while (body[i] !== 0x0a) {
start = i;
i = body.indexOf(0x20, start);
if (i < 0) throw new SyntaxError("Missing space");
key = (0, _core.decode)(body, start, i++);
start = i;
i = body.indexOf(0x0a, start);
if (i < 0) throw new SyntaxError("Missing linefeed");
var value = (0, _core.decode)(body, start, i++);
if (key === "tagger") value = decodePerson(value);
tag[key] = value;
}
i++;
tag.message = (0, _core.decode)(body, i, body.length);
return {
type: _core.Type.tag,
body: tag
};
var i = 0;
var start;
var key;
var tag = {};
while (body[i] !== 0x0a) {
start = i;
i = body.indexOf(0x20, start);
if (i < 0) throw new SyntaxError("Missing space");
key = (0, _core.decode)(body, start, i++);
start = i;
i = body.indexOf(0x0a, start);
if (i < 0) throw new SyntaxError("Missing linefeed");
var value = (0, _core.decode)(body, start, i++);
if (key === "tagger") value = decodePerson(value);
tag[key] = value;
}
i++;
tag.message = (0, _core.decode)(body, i, body.length);
return {
type: _core.Type.tag,
body: tag
};
}
function decodePerson(string) {
var match = string.match(/^([^<]*) <([^>]*)> ([^ ]*) (.*)$/);
if (!match) throw new Error("Improperly formatted person string");
return {
name: match[1],
email: match[2],
date: {
seconds: parseInt(match[3], 10),
offset: parseInt(match[4], 10) / 100 * -60
}
};
var match = string.match(/^([^<]*) <([^>]*)> ([^ ]*) (.*)$/);
if (!match) throw new Error("Improperly formatted person string");
return {
name: match[1],
email: match[2],
date: {
seconds: parseInt(match[3], 10),
offset: parseInt(match[4], 10) / 100 * -60
}
};
}
//# sourceMappingURL=decodeObject.js.map
//# sourceMappingURL=decodeObject.js.map

@@ -1,169 +0,129 @@

'use strict';
"use strict";
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
Object.defineProperty(exports, "__esModule", {
value: true
value: true
});
exports["default"] = encodeObject;
exports.getBytes = getBytes;
exports.textToBlob = textToBlob;
exports.encodeBlob = encodeBlob;
exports.treeSort = treeSort;
exports.encodeTree = encodeTree;
exports.encodeTag = encodeTag;
exports.encodeCommit = encodeCommit;
var _getIterator2 = require('babel-runtime/core-js/get-iterator');
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
var _getIterator3 = _interopRequireDefault(_getIterator2);
var _newArrowCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/newArrowCheck"));
var _assign = require('babel-runtime/core-js/object/assign');
var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
var _assign2 = _interopRequireDefault(_assign);
var _core = require("@es-git/core");
var _newArrowCheck2 = require('babel-runtime/helpers/newArrowCheck');
var _joinWithNewline = _interopRequireDefault(require("./joinWithNewline"));
var _newArrowCheck3 = _interopRequireDefault(_newArrowCheck2);
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }
var _keys = require('babel-runtime/core-js/object/keys');
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { (0, _defineProperty2["default"])(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
var _keys2 = _interopRequireDefault(_keys);
function encodeObject(object) {
var bytes = getBytes(object);
return (0, _core.concat)((0, _core.encode)("".concat(object.type, " ").concat(bytes.length, "\0")), bytes);
}
var _toConsumableArray2 = require('babel-runtime/helpers/toConsumableArray');
function getBytes(object) {
switch (object.type) {
case _core.Type.blob:
return encodeBlob(object.body);
var _toConsumableArray3 = _interopRequireDefault(_toConsumableArray2);
case _core.Type.tree:
return encodeTree(object.body);
exports.default = encodeObject;
exports.getBytes = getBytes;
exports.textToBlob = textToBlob;
exports.encodeBlob = encodeBlob;
exports.treeSort = treeSort;
exports.encodeTree = encodeTree;
exports.encodeTag = encodeTag;
exports.encodeCommit = encodeCommit;
case _core.Type.commit:
return encodeCommit(object.body);
var _core = require('@es-git/core');
case _core.Type.tag:
return encodeTag(object.body);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
default:
throw new Error("Unknown object type");
}
}
function encodeObject(object) {
var bytes = getBytes(object);
return (0, _core.concat)((0, _core.encode)(String(object.type) + ' ' + String(bytes.length) + '\0'), bytes);
}
function getBytes(object) {
switch (object.type) {
case _core.Type.blob:
return encodeBlob(object.body);
case _core.Type.tree:
return encodeTree(object.body);
case _core.Type.commit:
return encodeCommit(object.body);
case _core.Type.tag:
return encodeTag(object.body);
default:
throw new Error('Unknown object type');
}
}
function textToBlob(text) {
return (0, _core.encode)(text);
return (0, _core.encode)(text);
}
function encodeBlob(body) {
return body;
return body;
}
function treeSort(a, b) {
var aa = a.mode === _core.Mode.tree ? String(a.name) + '/' : a.name;
var bb = b.mode === _core.Mode.tree ? String(b.name) + '/' : b.name;
return aa > bb ? 1 : aa < bb ? -1 : 0;
var aa = a.mode === _core.Mode.tree ? "".concat(a.name, "/") : a.name;
var bb = b.mode === _core.Mode.tree ? "".concat(b.name, "/") : b.name;
return aa > bb ? 1 : aa < bb ? -1 : 0;
}
function encodeTree(body) {
var _this = this;
var _this = this;
return _core.concat.apply(undefined, (0, _toConsumableArray3.default)((0, _core.flatten)((0, _keys2.default)(body).map(function (key) {
(0, _newArrowCheck3.default)(this, _this);
return (0, _assign2.default)({ name: key }, body[key]);
}.bind(this)).sort(treeSort).map(function (entry) {
(0, _newArrowCheck3.default)(this, _this);
return [(0, _core.encode)(String(entry.mode.toString(8)) + ' ' + String(entry.name) + '\0'), (0, _core.packHash)(entry.hash)];
}.bind(this)))));
return _core.concat.apply(void 0, (0, _toConsumableArray2["default"])((0, _core.flatten)(Object.keys(body).map(function (key) {
(0, _newArrowCheck2["default"])(this, _this);
return _objectSpread({
name: key
}, body[key]);
}.bind(this)).sort(treeSort).map(function (entry) {
(0, _newArrowCheck2["default"])(this, _this);
return [(0, _core.encode)("".concat(entry.mode.toString(8), " ").concat(entry.name, "\0")), (0, _core.packHash)(entry.hash)];
}.bind(this)))));
}
function encodeTag(body) {
return joinWithNewline('object ' + String(body.object), 'type ' + String(body.type), 'tag ' + String(body.tag), 'tagger ' + String(formatPerson(body.tagger)), '', body.message);
return (0, _joinWithNewline["default"])("object ".concat(body.object), "type ".concat(body.type), "tag ".concat(body.tag), "tagger ".concat(formatPerson(body.tagger)), '', body.message);
}
function encodeCommit(body) {
var _this2 = this;
var _this2 = this;
return joinWithNewline.apply(undefined, ['tree ' + String(body.tree)].concat((0, _toConsumableArray3.default)(body.parents.map(function (p) {
(0, _newArrowCheck3.default)(this, _this2);
return 'parent ' + String(p);
}.bind(this))), ['author ' + String(formatPerson(body.author)), 'committer ' + String(formatPerson(body.committer)), '', body.message]));
return _joinWithNewline["default"].apply(void 0, ["tree ".concat(body.tree)].concat((0, _toConsumableArray2["default"])(body.parents.map(function (p) {
(0, _newArrowCheck2["default"])(this, _this2);
return "parent ".concat(p);
}.bind(this))), ["author ".concat(formatPerson(body.author)), "committer ".concat(formatPerson(body.committer)), '', body.message]));
}
function formatPerson(person) {
return safe(person.name) + " <" + safe(person.email) + "> " + formatDate(person.date);
return safe(person.name) + " <" + safe(person.email) + "> " + formatDate(person.date);
}
function safe(string) {
return string.replace(/(?:^[\.,:;<>"']+|[\0\n<>]+|[\.,:;<>"']+$)/gm, "");
return string.replace(/(?:^[\.,:;<>"']+|[\0\n<>]+|[\.,:;<>"']+$)/gm, "");
}
function two(num) {
return (num < 10 ? "0" : "") + num;
return (num < 10 ? "0" : "") + num;
}
function formatDate(date) {
var seconds = void 0,
offset = void 0;
if (isSecondsWithOffset(date)) {
seconds = date.seconds;
offset = date.offset;
}
// Also accept Date instances
else {
seconds = Math.floor(date.getTime() / 1000);
offset = date.getTimezoneOffset();
}
var neg = "+";
if (offset <= 0) offset = -offset;else neg = "-";
offset = neg + two(Math.floor(offset / 60)) + two(offset % 60);
return seconds + " " + offset;
}
function isSecondsWithOffset(value) {
return value.seconds;
}
function joinWithNewline() {
var _this3 = this;
var seconds, offset;
for (var _len = arguments.length, values = Array(_len), _key = 0; _key < _len; _key++) {
values[_key] = arguments[_key];
if (isSecondsWithOffset(date)) {
seconds = date.seconds;
offset = date.offset;
} // Also accept Date instances
else {
seconds = Math.floor(date.getTime() / 1000);
offset = date.getTimezoneOffset();
}
var sum = values.reduce(function (sum, x) {
(0, _newArrowCheck3.default)(this, _this3);
return sum + x.length;
}.bind(this), 0);
var result = new Uint8Array(values.length - 1 + sum);
var offset = 0;
var _iteratorNormalCompletion = true;
var _didIteratorError = false;
var _iteratorError = undefined;
var neg = "+";
if (offset <= 0) offset = -offset;else neg = "-";
offset = neg + two(Math.floor(offset / 60)) + two(offset % 60);
return seconds + " " + offset;
}
try {
for (var _iterator = (0, _getIterator3.default)(values), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {
var arr = _step.value;
if (offset > 0) {
result.set([_core.NEWLINE], offset++);
}
if (typeof arr === 'string') {
result.set((0, _core.encode)(arr), offset);
} else {
result.set(arr, offset);
}
offset += arr.length;
}
} catch (err) {
_didIteratorError = true;
_iteratorError = err;
} finally {
try {
if (!_iteratorNormalCompletion && _iterator.return) {
_iterator.return();
}
} finally {
if (_didIteratorError) {
throw _iteratorError;
}
}
}
return result;
function isSecondsWithOffset(value) {
return value.seconds;
}
//# sourceMappingURL=encodeObject.js.map
//# sourceMappingURL=encodeObject.js.map

@@ -1,148 +0,131 @@

'use strict';
"use strict";
var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard");
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
Object.defineProperty(exports, "__esModule", {
value: true
value: true
});
exports.textToBlob = exports.blobToText = undefined;
exports["default"] = mixin;
Object.defineProperty(exports, "textToBlob", {
enumerable: true,
get: function get() {
return _encodeObject.textToBlob;
}
});
Object.defineProperty(exports, "blobToText", {
enumerable: true,
get: function get() {
return _decodeObject.blobToText;
}
});
var _regenerator = require('babel-runtime/regenerator');
var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
var _regenerator2 = _interopRequireDefault(_regenerator);
var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
var _newArrowCheck2 = require('babel-runtime/helpers/newArrowCheck');
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
var _newArrowCheck3 = _interopRequireDefault(_newArrowCheck2);
var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
var _asyncToGenerator2 = require('babel-runtime/helpers/asyncToGenerator');
var _get2 = _interopRequireDefault(require("@babel/runtime/helpers/get"));
var _asyncToGenerator3 = _interopRequireDefault(_asyncToGenerator2);
var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
var _getPrototypeOf = require('babel-runtime/core-js/object/get-prototype-of');
var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
var _getPrototypeOf2 = _interopRequireDefault(_getPrototypeOf);
var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
var _classCallCheck2 = require('babel-runtime/helpers/classCallCheck');
var _core = require("@es-git/core");
var _classCallCheck3 = _interopRequireDefault(_classCallCheck2);
var _encodeObject = _interopRequireWildcard(require("./encodeObject"));
var _createClass2 = require('babel-runtime/helpers/createClass');
var _decodeObject = _interopRequireWildcard(require("./decodeObject"));
var _createClass3 = _interopRequireDefault(_createClass2);
function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2["default"])(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2["default"])(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2["default"])(this, result); }; }
var _possibleConstructorReturn2 = require('babel-runtime/helpers/possibleConstructorReturn');
function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }
var _possibleConstructorReturn3 = _interopRequireDefault(_possibleConstructorReturn2);
function mixin(repo) {
return /*#__PURE__*/function (_repo) {
(0, _inherits2["default"])(ObjectRepo, _repo);
var _get2 = require('babel-runtime/helpers/get');
var _super = _createSuper(ObjectRepo);
var _get3 = _interopRequireDefault(_get2);
function ObjectRepo() {
(0, _classCallCheck2["default"])(this, ObjectRepo);
var _inherits2 = require('babel-runtime/helpers/inherits');
for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
args[_key] = arguments[_key];
}
var _inherits3 = _interopRequireDefault(_inherits2);
return _super.call.apply(_super, [this].concat(args));
}
exports.default = mixin;
(0, _createClass2["default"])(ObjectRepo, [{
key: "saveObject",
value: function () {
var _saveObject = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee(object) {
var raw, hash;
return _regenerator["default"].wrap(function _callee$(_context) {
while (1) {
switch (_context.prev = _context.next) {
case 0:
raw = (0, _encodeObject["default"])(object);
hash = (0, _core.sha1)(raw);
_context.next = 4;
return (0, _get2["default"])((0, _getPrototypeOf2["default"])(ObjectRepo.prototype), "saveRaw", this).call(this, hash, raw);
var _core = require('@es-git/core');
case 4:
return _context.abrupt("return", hash);
var _encodeObject = require('./encodeObject');
case 5:
case "end":
return _context.stop();
}
}
}, _callee, this);
}));
var _encodeObject2 = _interopRequireDefault(_encodeObject);
function saveObject(_x) {
return _saveObject.apply(this, arguments);
}
var _decodeObject = require('./decodeObject');
return saveObject;
}()
}, {
key: "loadObject",
value: function () {
var _loadObject = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee2(hash) {
var raw;
return _regenerator["default"].wrap(function _callee2$(_context2) {
while (1) {
switch (_context2.prev = _context2.next) {
case 0:
_context2.next = 2;
return (0, _get2["default"])((0, _getPrototypeOf2["default"])(ObjectRepo.prototype), "loadRaw", this).call(this, hash);
var _decodeObject2 = _interopRequireDefault(_decodeObject);
case 2:
raw = _context2.sent;
return _context2.abrupt("return", raw ? (0, _decodeObject["default"])(raw) : undefined);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
function mixin(repo) {
var _this2 = this;
return function (_repo) {
(0, _inherits3.default)(ObjectRepo, _repo);
function ObjectRepo() {
var _ref;
(0, _classCallCheck3.default)(this, ObjectRepo);
for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {
args[_key] = arguments[_key];
case 4:
case "end":
return _context2.stop();
}
}
}, _callee2, this);
}));
return (0, _possibleConstructorReturn3.default)(this, (_ref = ObjectRepo.__proto__ || (0, _getPrototypeOf2.default)(ObjectRepo)).call.apply(_ref, [this].concat(args)));
function loadObject(_x2) {
return _loadObject.apply(this, arguments);
}
(0, _createClass3.default)(ObjectRepo, [{
key: 'saveObject',
value: function () {
(0, _newArrowCheck3.default)(this, _this2);
var _ref2 = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee(object) {
var raw, hash;
return _regenerator2.default.wrap(function _callee$(_context) {
while (1) {
switch (_context.prev = _context.next) {
case 0:
raw = (0, _encodeObject2.default)(object);
hash = (0, _core.sha1)(raw);
_context.next = 4;
return (0, _get3.default)(ObjectRepo.prototype.__proto__ || (0, _getPrototypeOf2.default)(ObjectRepo.prototype), 'saveRaw', this).call(this, hash, raw);
case 4:
return _context.abrupt('return', hash);
case 5:
case 'end':
return _context.stop();
}
}
}, _callee, this);
}));
function saveObject(_x) {
return _ref2.apply(this, arguments);
}
return saveObject;
}.bind(_this2)()
}, {
key: 'loadObject',
value: function () {
(0, _newArrowCheck3.default)(this, _this2);
var _ref3 = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee2(hash) {
var raw;
return _regenerator2.default.wrap(function _callee2$(_context2) {
while (1) {
switch (_context2.prev = _context2.next) {
case 0:
_context2.next = 2;
return (0, _get3.default)(ObjectRepo.prototype.__proto__ || (0, _getPrototypeOf2.default)(ObjectRepo.prototype), 'loadRaw', this).call(this, hash);
case 2:
raw = _context2.sent;
return _context2.abrupt('return', raw ? (0, _decodeObject2.default)(raw) : undefined);
case 4:
case 'end':
return _context2.stop();
}
}
}, _callee2, this);
}));
function loadObject(_x2) {
return _ref3.apply(this, arguments);
}
return loadObject;
}.bind(_this2)()
}]);
return ObjectRepo;
}(repo);
return loadObject;
}()
}]);
return ObjectRepo;
}(repo);
}
exports.blobToText = _decodeObject.blobToText;
exports.textToBlob = _encodeObject.textToBlob;
//# sourceMappingURL=index.js.map
//# sourceMappingURL=index.js.map
{
"name": "@es-git/object-mixin",
"version": "0.9.0",
"version": "0.10.0",
"description": "",

@@ -9,9 +9,9 @@ "main": "js/index.js",

"scripts": {
"clean": "rm -rf ./es ./js",
"tsc": "../../node_modules/.bin/tsc",
"babel": "../../node_modules/.bin/babel --source-maps -d js es",
"clean": "rimraf ./es ./js",
"tsc": "tsc",
"babel": "babel --root-mode upward --source-maps -d js es",
"compile": "npm run tsc && npm run babel",
"test": "../../node_modules/.bin/ava",
"watch+test": "../../node_modules/.bin/tsc -w & ../../node_modules/.bin/ava -w",
"watch": "../../node_modules/.bin/tsc -w & ../../node_modules/.bin/babel --source-maps -w -d js es",
"test": "jest",
"watch+test": "tsc -w & ava -w",
"watch": "tsc -w & babel --source-maps -w -d js es",
"prepublishOnly": "npm run clean && npm run compile && npm test"

@@ -25,22 +25,9 @@ },

"license": "MIT",
"ava": {
"files": [
"es/*.test.js"
],
"source": [
"es/*.js"
],
"require": [
"babel-register"
],
"babel": {
"extends": "../../.babelrc"
}
},
"peerDependencies": {
"babel-runtime": "^6.22.0"
"@babel/runtime": "^7.12.5"
},
"dependencies": {
"@es-git/core": "^0.9.0"
}
"@es-git/core": "^0.10.0"
},
"gitHead": "5939f07143e0b8aa67d7464e6ec47754bebab347"
}

@@ -0,0 +0,0 @@ # object-mixin

@@ -0,0 +0,0 @@ import {

import {
Type,
Mode,
NEWLINE,
encode,
concat,
flatten,
packHash
concat, encode,
flatten, Mode,
packHash, Type
} from '@es-git/core';
import {
GitObject,
TreeBody,
TagBody,
CommitBody,
CommitBody, GitObject,
Person,
SecondsWithOffset
SecondsWithOffset, TagBody, TreeBody
} from './index';
import joinWithNewline from './joinWithNewline';
export default function encodeObject(object : GitObject) : Uint8Array {

@@ -121,18 +115,2 @@ const bytes = getBytes(object);

function joinWithNewline(...values : (string | Uint8Array)[]){
const sum = values.reduce((sum, x) => sum + x.length, 0);
const result = new Uint8Array(values.length-1 + sum);
let offset = 0;
for (const arr of values) {
if(offset > 0){
result.set([NEWLINE], offset++);
}
if(typeof(arr) === 'string'){
result.set(encode(arr), offset);
}else{
result.set(arr, offset);
}
offset += arr.length;
}
return result;
}

@@ -0,0 +0,0 @@ import { Type, Mode, Constructor, IRawRepo, sha1 } from '@es-git/core';

@@ -0,0 +0,0 @@ {

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

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