Sha256: 5b8e3322de2b31134c39e5587753cefcd7748e9b28f46a2b951966e197d7aeb9
Contents?: true
Size: 789 Bytes
Versions: 4
Compression:
Stored size: 789 Bytes
Contents
require 'native' require 'buffer/array' require 'buffer/view' class Buffer include Native::Wrapper def self.supported? !$$[:ArrayBuffer].nil? end def self.name_for(bits, type) part = case type when :unsigned then 'Uint' when :signed then 'Int' when :float then 'Float' end "#{part}#{bits}" end def initialize(size, bits = 8) if native?(size) super(size) else super(`new ArrayBuffer(size * (bits / 8))`) end end def length `#{@native}.byteLength` end alias size length def to_a(bits = 8, type = :unsigned) Array.new(self, bits, type) end def view(offset = nil, length = nil) View.new(self, offset, length) end def to_s to_a.to_a.pack('c*') end end
Version data entries
4 entries across 4 versions & 1 rubygems
Version | Path |
---|---|
opal-1.3.2 | stdlib/buffer.rb |
opal-1.3.1 | stdlib/buffer.rb |
opal-1.3.0 | stdlib/buffer.rb |
opal-1.3.0.rc1 | stdlib/buffer.rb |