buffer-backed-object
Advanced tools
Comparing version 0.2.0 to 0.2.1
@@ -35,3 +35,3 @@ /** | ||
type EndianOption = { | ||
endianess?: "big" | "little"; | ||
endianness?: "big" | "little"; | ||
}; | ||
@@ -38,0 +38,0 @@ |
@@ -1,2 +0,2 @@ | ||
function e(e){return"symbol"==typeof e||isNaN(e)}function t(e){var t=0;for(var{size:r}of Object.values(e))t+=r;return t}function r(t,r,n){var{byteOffset:i=0,length:f=0}=void 0===n?{}:n,s=new DataView(t,i),a=0;for(var[o,b]of(r=Object.assign({},r),Object.entries(r)))r[o]=Object.assign({},b,{offset:a}),a+=b.size;return f||(f=Math.floor((t.byteLength-i)/a)),new Proxy(new Array(f),{has:(t,r)=>e(r)?"buffer"===r||r in t:r<f,get(n,i,f){if("buffer"===i)return t;if(e(i)){var o=n[i];return"function"==typeof o&&(o=o.bind(f)),o}var b=parseInt(i),u=b*a;if(!(b>=n.length)){if(!n[b]){n[b]={};var c=function(e,t){if(!("get"in t))return"continue";Object.defineProperty(n[b],e,{enumerable:!0,get:()=>t.get(s,u+t.offset),set:e=>t.set(s,u+t.offset,e)})};for(var[g,l]of Object.entries(r))c(g,l);Object.freeze(n[b])}return n[b]}}})}function n(e,t,n){var{byteOffset:i=0}=void 0===n?{}:n;return r(e,t,{byteOffset:i})[0]}"object"!=typeof globalThis&&(Object.prototype.__defineGetter__("__magic__",function(){return this}),__magic__.globalThis=__magic__,delete Object.prototype.__magic__),["Uint16","Uint32","Int16","Int32","Float32","Float64","BigInt64","BigUint64"].forEach(e=>{n[e]=function(t){var{endianess:r="big"}=void 0===t?{}:t;if("big"!==r&&"little"!==r)throw Error("Endianess needs to be either 'big' or 'little'");var n="little"===r;return{size:globalThis[e+"Array"].BYTES_PER_ELEMENT,get:(t,r)=>t["get"+e](r,n),set:(t,r,i)=>t["set"+e](r,i,n)}}}),n.Uint8=()=>({size:1,get:(e,t)=>e.getUint8(t),set:(e,t,r)=>e.setUint8(t,r)}),n.Int8=()=>({size:1,get:(e,t)=>e.getInt8(t),set:(e,t,r)=>e.setInt8(t,r)}),n.ArrayBuffer=e=>({size:e,get:(t,r)=>t.buffer.subarray(r,r+e),set:(t,r,n)=>new Uint8Array(t.buffer.subarray(r,r+e)).set(new Uint8Array(n))}),n.NestedBufferBackedObject=e=>({size:t(e),get:(t,n)=>new r(t.buffer,e,{byteOffset:n,length:1})[0],set:(e,t,r)=>{throw Error("Can’t set an entire struct")}}),n.NestedArrayOfBufferBackedObjects=(e,n)=>({size:t(n)*e,get:(t,i)=>new r(t.buffer,n,{byteOffset:i,length:e}),set:(e,t,r)=>{throw Error("Can’t set an entire array")}}),n.UTF8String=e=>({size:e,get:(t,r)=>(new TextDecoder).decode(new Uint8Array(t.buffer,r,e)).replace(/\u0000+$/,""),set:(t,r,n)=>{var i=(new TextEncoder).encode(n),f=new Uint8Array(t.buffer,r,e);f.fill(0),f.set(i.subarray(0,e))}}),n.reserved=e=>({size:e});export default n;export{r as ArrayOfBufferBackedObjects,n as BufferBackedObject,t as structSize}; | ||
function e(e){return"symbol"==typeof e||isNaN(e)}function t(e){var t=0;for(var{size:r}of Object.values(e))t+=r;return t}function r(t,r,n){var{byteOffset:i=0,length:f=0}=void 0===n?{}:n,s=new DataView(t,i),a=0;for(var[o,b]of(r=Object.assign({},r),Object.entries(r)))r[o]=Object.assign({},b,{offset:a}),a+=b.size;return f||(f=Math.floor((t.byteLength-i)/a)),new Proxy(new Array(f),{has:(t,r)=>e(r)?"buffer"===r||r in t:r<f,get(n,i,f){if("buffer"===i)return t;if(e(i)){var o=n[i];return"function"==typeof o&&(o=o.bind(f)),o}var b=parseInt(i),u=b*a;if(!(b>=n.length)){if(!n[b]){n[b]={};var c=function(e,t){if(!("get"in t))return"continue";Object.defineProperty(n[b],e,{enumerable:!0,get:()=>t.get(s,u+t.offset),set:e=>t.set(s,u+t.offset,e)})};for(var[g,l]of Object.entries(r))c(g,l);Object.freeze(n[b])}return n[b]}}})}function n(e,t,n){var{byteOffset:i=0}=void 0===n?{}:n;return r(e,t,{byteOffset:i})[0]}"object"!=typeof globalThis&&(Object.prototype.__defineGetter__("__magic__",function(){return this}),__magic__.globalThis=__magic__,delete Object.prototype.__magic__),["Uint16","Uint32","Int16","Int32","Float32","Float64","BigInt64","BigUint64"].forEach(e=>{n[e]=function(t){var{endianess:r="big"}=void 0===t?{}:t;if("big"!==r&&"little"!==r)throw Error("Endianness needs to be either 'big' or 'little'");var n="little"===r;return{size:globalThis[e+"Array"].BYTES_PER_ELEMENT,get:(t,r)=>t["get"+e](r,n),set:(t,r,i)=>t["set"+e](r,i,n)}}}),n.Uint8=()=>({size:1,get:(e,t)=>e.getUint8(t),set:(e,t,r)=>e.setUint8(t,r)}),n.Int8=()=>({size:1,get:(e,t)=>e.getInt8(t),set:(e,t,r)=>e.setInt8(t,r)}),n.ArrayBuffer=e=>({size:e,get:(t,r)=>t.buffer.subarray(r,r+e),set:(t,r,n)=>new Uint8Array(t.buffer.subarray(r,r+e)).set(new Uint8Array(n))}),n.NestedBufferBackedObject=e=>({size:t(e),get:(t,n)=>new r(t.buffer,e,{byteOffset:n,length:1})[0],set:(e,t,r)=>{throw Error("Can’t set an entire struct")}}),n.NestedArrayOfBufferBackedObjects=(e,n)=>({size:t(n)*e,get:(t,i)=>new r(t.buffer,n,{byteOffset:i,length:e}),set:(e,t,r)=>{throw Error("Can’t set an entire array")}}),n.UTF8String=e=>({size:e,get:(t,r)=>(new TextDecoder).decode(new Uint8Array(t.buffer,r,e)).replace(/\u0000+$/,""),set:(t,r,n)=>{var i=(new TextEncoder).encode(n),f=new Uint8Array(t.buffer,r,e);f.fill(0),f.set(i.subarray(0,e))}}),n.reserved=e=>({size:e});export default n;export{r as ArrayOfBufferBackedObjects,n as BufferBackedObject,t as structSize}; | ||
//# sourceMappingURL=buffer-backed-object.modern.js.map |
@@ -1,2 +0,2 @@ | ||
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((e=e||self).bufferBackedObject={})}(this,function(e){function t(e){return"symbol"==typeof e||isNaN(e)}function n(e){for(var t=0,n=0,r=Object.values(e);n<r.length;n++)t+=r[n].size;return t}function r(e,n,r){var i=void 0===r?{}:r,f=i.byteOffset,u=void 0===f?0:f,o=i.length,c=void 0===o?0:o,s=new DataView(e,u),a=0;n=Object.assign({},n);for(var b=0,g=Object.entries(n);b<g.length;b++){var d=g[b],l=d[1];n[d[0]]=Object.assign({},l,{offset:a}),a+=l.size}return c||(c=Math.floor((e.byteLength-u)/a)),new Proxy(new Array(c),{has:function(e,n){return t(n)?"buffer"===n||n in e:n<c},get:function(r,i,f){if("buffer"===i)return e;if(t(i)){var u=r[i];return"function"==typeof u&&(u=u.bind(f)),u}var o=parseInt(i),c=o*a;if(!(o>=r.length)){if(!r[o]){r[o]={};for(var b=function(){var e=d[g],t=e[1];if(!("get"in t))return"continue";Object.defineProperty(r[o],e[0],{enumerable:!0,get:function(){return t.get(s,c+t.offset)},set:function(e){return t.set(s,c+t.offset,e)}})},g=0,d=Object.entries(n);g<d.length;g++)b();Object.freeze(r[o])}return r[o]}}})}function i(e,t,n){var i=(void 0===n?{}:n).byteOffset;return r(e,t,{byteOffset:void 0===i?0:i})[0]}"object"!=typeof globalThis&&(Object.prototype.__defineGetter__("__magic__",function(){return this}),__magic__.globalThis=__magic__,delete Object.prototype.__magic__),["Uint16","Uint32","Int16","Int32","Float32","Float64","BigInt64","BigUint64"].forEach(function(e){i[e]=function(t){var n=(void 0===t?{}:t).endianess,r=void 0===n?"big":n;if("big"!==r&&"little"!==r)throw Error("Endianess needs to be either 'big' or 'little'");var i="little"===r;return{size:globalThis[e+"Array"].BYTES_PER_ELEMENT,get:function(t,n){return t["get"+e](n,i)},set:function(t,n,r){return t["set"+e](n,r,i)}}}}),i.Uint8=function(){return{size:1,get:function(e,t){return e.getUint8(t)},set:function(e,t,n){return e.setUint8(t,n)}}},i.Int8=function(){return{size:1,get:function(e,t){return e.getInt8(t)},set:function(e,t,n){return e.setInt8(t,n)}}},i.ArrayBuffer=function(e){return{size:e,get:function(t,n){return t.buffer.subarray(n,n+e)},set:function(t,n,r){return new Uint8Array(t.buffer.subarray(n,n+e)).set(new Uint8Array(r))}}},i.NestedBufferBackedObject=function(e){return{size:n(e),get:function(t,n){return new r(t.buffer,e,{byteOffset:n,length:1})[0]},set:function(e,t,n){throw Error("Can’t set an entire struct")}}},i.NestedArrayOfBufferBackedObjects=function(e,t){return{size:n(t)*e,get:function(n,i){return new r(n.buffer,t,{byteOffset:i,length:e})},set:function(e,t,n){throw Error("Can’t set an entire array")}}},i.UTF8String=function(e){return{size:e,get:function(t,n){return(new TextDecoder).decode(new Uint8Array(t.buffer,n,e)).replace(/\u0000+$/,"")},set:function(t,n,r){var i=(new TextEncoder).encode(r),f=new Uint8Array(t.buffer,n,e);f.fill(0),f.set(i.subarray(0,e))}}},i.reserved=function(e){return{size:e}},e.ArrayOfBufferBackedObjects=r,e.BufferBackedObject=i,e.default=i,e.structSize=n}); | ||
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((e=e||self).bufferBackedObject={})}(this,function(e){function t(e){return"symbol"==typeof e||isNaN(e)}function n(e){for(var t=0,n=0,r=Object.values(e);n<r.length;n++)t+=r[n].size;return t}function r(e,n,r){var i=void 0===r?{}:r,f=i.byteOffset,u=void 0===f?0:f,o=i.length,c=void 0===o?0:o,s=new DataView(e,u),a=0;n=Object.assign({},n);for(var b=0,g=Object.entries(n);b<g.length;b++){var d=g[b],l=d[1];n[d[0]]=Object.assign({},l,{offset:a}),a+=l.size}return c||(c=Math.floor((e.byteLength-u)/a)),new Proxy(new Array(c),{has:function(e,n){return t(n)?"buffer"===n||n in e:n<c},get:function(r,i,f){if("buffer"===i)return e;if(t(i)){var u=r[i];return"function"==typeof u&&(u=u.bind(f)),u}var o=parseInt(i),c=o*a;if(!(o>=r.length)){if(!r[o]){r[o]={};for(var b=function(){var e=d[g],t=e[1];if(!("get"in t))return"continue";Object.defineProperty(r[o],e[0],{enumerable:!0,get:function(){return t.get(s,c+t.offset)},set:function(e){return t.set(s,c+t.offset,e)}})},g=0,d=Object.entries(n);g<d.length;g++)b();Object.freeze(r[o])}return r[o]}}})}function i(e,t,n){var i=(void 0===n?{}:n).byteOffset;return r(e,t,{byteOffset:void 0===i?0:i})[0]}"object"!=typeof globalThis&&(Object.prototype.__defineGetter__("__magic__",function(){return this}),__magic__.globalThis=__magic__,delete Object.prototype.__magic__),["Uint16","Uint32","Int16","Int32","Float32","Float64","BigInt64","BigUint64"].forEach(function(e){i[e]=function(t){var n=(void 0===t?{}:t).endianess,r=void 0===n?"big":n;if("big"!==r&&"little"!==r)throw Error("Endianness needs to be either 'big' or 'little'");var i="little"===r;return{size:globalThis[e+"Array"].BYTES_PER_ELEMENT,get:function(t,n){return t["get"+e](n,i)},set:function(t,n,r){return t["set"+e](n,r,i)}}}}),i.Uint8=function(){return{size:1,get:function(e,t){return e.getUint8(t)},set:function(e,t,n){return e.setUint8(t,n)}}},i.Int8=function(){return{size:1,get:function(e,t){return e.getInt8(t)},set:function(e,t,n){return e.setInt8(t,n)}}},i.ArrayBuffer=function(e){return{size:e,get:function(t,n){return t.buffer.subarray(n,n+e)},set:function(t,n,r){return new Uint8Array(t.buffer.subarray(n,n+e)).set(new Uint8Array(r))}}},i.NestedBufferBackedObject=function(e){return{size:n(e),get:function(t,n){return new r(t.buffer,e,{byteOffset:n,length:1})[0]},set:function(e,t,n){throw Error("Can’t set an entire struct")}}},i.NestedArrayOfBufferBackedObjects=function(e,t){return{size:n(t)*e,get:function(n,i){return new r(n.buffer,t,{byteOffset:i,length:e})},set:function(e,t,n){throw Error("Can’t set an entire array")}}},i.UTF8String=function(e){return{size:e,get:function(t,n){return(new TextDecoder).decode(new Uint8Array(t.buffer,n,e)).replace(/\u0000+$/,"")},set:function(t,n,r){var i=(new TextEncoder).encode(r),f=new Uint8Array(t.buffer,n,e);f.fill(0),f.set(i.subarray(0,e))}}},i.reserved=function(e){return{size:e}},e.ArrayOfBufferBackedObjects=r,e.BufferBackedObject=i,e.default=i,e.structSize=n}); | ||
//# sourceMappingURL=buffer-backed-object.umd.js.map |
{ | ||
"name": "buffer-backed-object", | ||
"version": "0.2.0", | ||
"version": "0.2.1", | ||
"description": "", | ||
@@ -5,0 +5,0 @@ "source": "buffer-backed-object.js", |
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
68687