buffer-backed-object
Advanced tools
Comparing version 0.3.0 to 0.3.1
@@ -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),o=0;for(var[a,b]of(r=Object.assign({},r),Object.entries(r)))r[a]=Object.assign({},b,{offset:o}),o+=b.size;return f||(f=Math.floor((t.byteLength-i)/o)),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 a=n[i];return"function"==typeof a&&(a=a.bind(f)),a}var b=parseInt(i),c=b*o;if(!(b>=n.length)){if(!n[b]){n[b]={};var u=function(e,t){if(!("get"in t))return"continue";Object.defineProperty(n[b],e,{enumerable:!0,get:()=>t.get(s,c+t.offset),set:e=>t.set(s,c+t.offset,e)})};for(var[g,l]of Object.entries(r))u(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{endianness:r="litte"}=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.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),o=0;for(var[a,b]of(r=Object.assign({},r),Object.entries(r)))r[a]=Object.assign({},b,{offset:o}),o+=b.size;return f||(f=Math.floor((t.byteLength-i)/o)),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 a=n[i];return"function"==typeof a&&(a=a.bind(f)),a}var b=parseInt(i),c=b*o;if(!(b>=n.length)){if(!n[b]){n[b]={};var u=function(e,t){if(!("get"in t))return"continue";Object.defineProperty(n[b],e,{enumerable:!0,get:()=>t.get(s,c+t.offset),set:e=>t.set(s,c+t.offset,e)})};for(var[g,l]of Object.entries(r))u(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{endianness:r="little"}=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.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,o=void 0===f?0:f,u=i.length,c=void 0===u?0:u,s=new DataView(e,o),a=0;n=Object.assign({},n);for(var b=0,d=Object.entries(n);b<d.length;b++){var g=d[b],l=g[1];n[g[0]]=Object.assign({},l,{offset:a}),a+=l.size}return c||(c=Math.floor((e.byteLength-o)/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 o=r[i];return"function"==typeof o&&(o=o.bind(f)),o}var u=parseInt(i),c=u*a;if(!(u>=r.length)){if(!r[u]){r[u]={};for(var b=function(){var e=g[d],t=e[1];if(!("get"in t))return"continue";Object.defineProperty(r[u],e[0],{enumerable:!0,get:function(){return t.get(s,c+t.offset)},set:function(e){return t.set(s,c+t.offset,e)}})},d=0,g=Object.entries(n);d<g.length;d++)b();Object.freeze(r[u])}return r[u]}}})}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).endianness,r=void 0===n?"litte":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.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,o=void 0===f?0:f,u=i.length,c=void 0===u?0:u,s=new DataView(e,o),a=0;n=Object.assign({},n);for(var b=0,d=Object.entries(n);b<d.length;b++){var g=d[b],l=g[1];n[g[0]]=Object.assign({},l,{offset:a}),a+=l.size}return c||(c=Math.floor((e.byteLength-o)/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 o=r[i];return"function"==typeof o&&(o=o.bind(f)),o}var u=parseInt(i),c=u*a;if(!(u>=r.length)){if(!r[u]){r[u]={};for(var b=function(){var e=g[d],t=e[1];if(!("get"in t))return"continue";Object.defineProperty(r[u],e[0],{enumerable:!0,get:function(){return t.get(s,c+t.offset)},set:function(e){return t.set(s,c+t.offset,e)}})},d=0,g=Object.entries(n);d<g.length;d++)b();Object.freeze(r[u])}return r[u]}}})}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).endianness,r=void 0===n?"little":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.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.3.0", | ||
"version": "0.3.1", | ||
"description": "", | ||
@@ -5,0 +5,0 @@ "repository": "github:GoogleChromeLabs/buffer-backed-object", |
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
67139