@@ -148,13 +148,14 @@ class BaseAssemblyScriptSha256Hasher {
148
148
}
149
149
}
150
150
151
- const baseHasher = new BaseAssemblyScriptSha256Hasher ( false ) ;
152
-
153
- const digest = baseHasher . digest . bind ( baseHasher ) ;
154
- const digest64 = baseHasher . digest64 . bind ( baseHasher ) ;
155
- const digest2Bytes32 = baseHasher . digest2Bytes32 . bind ( baseHasher ) ;
156
- const digest64HashObjects = baseHasher . digest64HashObjects . bind ( baseHasher ) ;
157
- const digest64HashObjectsInto = baseHasher . digest64HashObjectsInto . bind ( baseHasher ) ;
151
+ // If an instance of AssemblyScriptSha256Hasher is created it will overwrite this instance and the
152
+ // exported free functions. These are here for consumers that do not use the batch hashing methods
153
+ let baseHasher = new BaseAssemblyScriptSha256Hasher ( false ) ;
154
+ let digest = baseHasher . digest . bind ( baseHasher ) ;
155
+ let digest64 = baseHasher . digest64 . bind ( baseHasher ) ;
156
+ let digest2Bytes32 = baseHasher . digest2Bytes32 . bind ( baseHasher ) ;
157
+ let digest64HashObjects = baseHasher . digest64HashObjects . bind ( baseHasher ) ;
158
+ let digest64HashObjectsInto = baseHasher . digest64HashObjectsInto . bind ( baseHasher ) ;
158
159
159
160
export { digest , digest64 , digest2Bytes32 , digest64HashObjects , digest64HashObjectsInto } ;
160
161
@@ -389,6 +390,13 @@ export class AssemblyScriptSha256Hasher extends BaseAssemblyScriptSha256Hasher {
389
390
protected initializeInstance ( ) : void {
390
391
this . hasSimd = this . simdEnabled ( ) ;
391
392
super . initializeInstance ( ) ;
393
+ // eslint-disable-next-line @typescript-eslint/no-this-alias
394
+ baseHasher = this ;
395
+ digest = this . digest . bind ( this ) ;
396
+ digest64 = this . digest64 . bind ( this ) ;
397
+ digest2Bytes32 = this . digest2Bytes32 . bind ( this ) ;
398
+ digest64HashObjects = this . digest64HashObjects . bind ( this ) ;
399
+ digest64HashObjectsInto = this . digest64HashObjectsInto . bind ( this ) ;
392
400
}
393
401
394
402
/**
0 commit comments