{"version":3,"sources":["encoding-length.js"],"names":["encodingLength","require","describe","test","expectedSize","schema","a","encode","decode","jest","fn","mockImplementation","obj","expect","toBe","toBeCalled","b","c","toHaveBeenLastCalledWith"],"mappings":"AAAA;;AAEA,MAAM,EAAEA,cAAF,KAAqBC,QAAQ,qBAAR,CAA3B;;AAEAC,SAAS,gBAAT,EAA2B,MAAM;AAC/BC,OAAK,mBAAL,EAA0B,MAAM;AAC9B,UAAMC,eAAe,CAArB;;AAEA,UAAMC,SAAS;AACbC,SAAG;AACDC,iBAAS,CAAE,CADV;AAEDC,iBAAS,CAAE,CAFV;AAGDR,wBAAgBS,KAAKC,EAAL,GAAUC,kBAAV,CAA6B,MAAMP,YAAnC;AAHf;AADU,KAAf;;AAQA,UAAMQ,MAAM;AACVN,SAAG;AADO,KAAZ;;AAIAO,WAAOb,eAAeY,GAAf,EAAoBP,MAApB,CAAP,EAAoCS,IAApC,CAAyCV,YAAzC;AACAS,WAAOR,OAAOC,CAAP,CAASN,cAAhB,EAAgCe,UAAhC;AACD,GAjBD;;AAmBAZ,OAAK,+BAAL,EAAsC,MAAM;AAC1C,UAAMC,eAAe,CAArB;;AAEA,UAAMC,SAAS;AACbC,SAAG;AACDC,iBAAS,CAAE,CADV;AAEDC,iBAAS,CAAE,CAFV;AAGDR,wBAAgBS,KAAKC,EAAL,GAAUC,kBAAV,CAA6B,MAAMP,YAAnC;AAHf,OADU;AAMbY,SAAG;AACDC,WAAG;AACDV,mBAAS,CAAE,CADV;AAEDC,mBAAS,CAAE,CAFV;AAGDR,0BAAgBS,KAAKC,EAAL,GAAUC,kBAAV,CAA6B,MAAMP,YAAnC;AAHf;AADF;AANU,KAAf;;AAeA,UAAMQ,MAAM;AACVN,SAAG,CADO;AAEVU,SAAG;AACDC,WAAG;AADF;AAFO,KAAZ;;AAOAJ,WAAOb,eAAeY,GAAf,EAAoBP,MAApB,CAAP,EAAoCS,IAApC,CAAyCV,eAAe,CAAxD;AACAS,WAAOR,OAAOC,CAAP,CAASN,cAAhB,EAAgCkB,wBAAhC,CAAyDN,IAAIN,CAA7D;AACAO,WAAOR,OAAOW,CAAP,CAASC,CAAT,CAAWjB,cAAlB,EAAkCkB,wBAAlC,CAA2DN,IAAII,CAAJ,CAAMC,CAAjE;AACD,GA5BD;AA6BD,CAjDD","file":"encoding-length.js","sourcesContent":["'use strict';\n\nconst { encodingLength } = require('lib/encoding-length');\n\ndescribe('encodingLength', () => {\n  test('should use schema', () => {\n    const expectedSize = 5;\n\n    const schema = {\n      a: {\n        encode() {},\n        decode() {},\n        encodingLength: jest.fn().mockImplementation(() => expectedSize),\n      },\n    };\n\n    const obj = {\n      a: 1,\n    };\n\n    expect(encodingLength(obj, schema)).toBe(expectedSize);\n    expect(schema.a.encodingLength).toBeCalled();\n  });\n\n  test('should support nested schemas', () => {\n    const expectedSize = 5;\n\n    const schema = {\n      a: {\n        encode() {},\n        decode() {},\n        encodingLength: jest.fn().mockImplementation(() => expectedSize),\n      },\n      b: {\n        c: {\n          encode() {},\n          decode() {},\n          encodingLength: jest.fn().mockImplementation(() => expectedSize),\n        },\n      },\n    };\n\n    const obj = {\n      a: 1,\n      b: {\n        c: 15,\n      },\n    };\n\n    expect(encodingLength(obj, schema)).toBe(expectedSize * 2);\n    expect(schema.a.encodingLength).toHaveBeenLastCalledWith(obj.a);\n    expect(schema.b.c.encodingLength).toHaveBeenLastCalledWith(obj.b.c);\n  });\n});\n"]}