@@ -28,7 +28,8 @@ const canvas = createCanvas(format.width, format.height);
2828const ctx = canvas . getContext ( "2d" ) ;
2929var metadataList = [ ] ;
3030var attributesList = [ ] ;
31- var dnaList = [ ] ;
31+ var dnaList = new Set ( ) ;
32+ const DNA_DELIMITER = '-' ;
3233
3334const buildSetup = ( ) => {
3435 if ( fs . existsSync ( buildDir ) ) {
@@ -109,7 +110,7 @@ const drawBackground = () => {
109110const addMetadata = ( _dna , _edition ) => {
110111 let dateTime = Date . now ( ) ;
111112 let tempMetadata = {
112- dna : sha1 ( _dna . join ( "" ) ) ,
113+ dna : sha1 ( _dna ) ,
113114 name : `#${ _edition } ` ,
114115 description : description ,
115116 image : `${ baseUri } /${ _edition } .png` ,
@@ -145,10 +146,10 @@ const drawElement = (_renderObject) => {
145146 addAttributes ( _renderObject ) ;
146147} ;
147148
148- const constructLayerToDna = ( _dna = [ ] , _layers = [ ] ) => {
149+ const constructLayerToDna = ( _dna = '' , _layers = [ ] ) => {
149150 let mappedDnaToLayers = _layers . map ( ( layer , index ) => {
150151 let selectedElement = layer . elements . find (
151- ( e ) => e . id == cleanDna ( _dna [ index ] )
152+ ( e ) => e . id == cleanDna ( _dna . split ( DNA_DELIMITER ) [ index ] )
152153 ) ;
153154 return {
154155 name : layer . name ,
@@ -160,9 +161,8 @@ const constructLayerToDna = (_dna = [], _layers = []) => {
160161 return mappedDnaToLayers ;
161162} ;
162163
163- const isDnaUnique = ( _DnaList = [ ] , _dna = [ ] ) => {
164- let foundDna = _DnaList . find ( ( i ) => i . join ( "" ) === _dna . join ( "" ) ) ;
165- return foundDna == undefined ? true : false ;
164+ const isDnaUnique = ( _DnaList = new Set ( ) , _dna = '' ) => {
165+ return ! _DnaList . has ( _dna ) ;
166166} ;
167167
168168const createDna = ( _layers ) => {
@@ -184,7 +184,7 @@ const createDna = (_layers) => {
184184 }
185185 }
186186 } ) ;
187- return randNum ;
187+ return randNum . join ( DNA_DELIMITER ) ;
188188} ;
189189
190190const writeMetaData = ( _data ) => {
@@ -269,11 +269,11 @@ const startCreating = async () => {
269269 saveMetaDataSingleFile ( abstractedIndexes [ 0 ] ) ;
270270 console . log (
271271 `Created edition: ${ abstractedIndexes [ 0 ] } , with DNA: ${ sha1 (
272- newDna . join ( "" )
272+ newDna
273273 ) } `
274274 ) ;
275275 } ) ;
276- dnaList . push ( newDna ) ;
276+ dnaList . add ( newDna ) ;
277277 editionCount ++ ;
278278 abstractedIndexes . shift ( ) ;
279279 } else {
0 commit comments