@blob-solutions/vcr-am-sdk 0.5.0 → 0.6.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/lib/index.js CHANGED
@@ -1,2 +1,2 @@
1
- import{fetchWithValidation as s,simpleFetch as a}from"simple-typed-fetch";import{z as t}from"zod";var o="https://vcr.am/api/v1",n=t.object({urlId:t.string(),saleId:t.number(),crn:t.string(),srcReceiptId:t.number().int(),fiscal:t.string()}),e=class{constructor(r){this.apiKey=r}async registerSale(r){return await a(async()=>await s(`${o}/sales`,n,{method:"POST",headers:{"x-api-key":this.apiKey,"Content-Type":"application/json"},body:JSON.stringify(r)},t.object({error:t.string()})))()}};var y=["pc","unit","set","box","pack","case","hr","sess","proj","sub","kg","l","m","g","ml","cm","bottle","can","jar","bag","m2","dozen","pair","mm","roll","tube","km","ton","m3","pallet","other"],u=["hy","ru","en"];export{u as AVAILABLE_LANGUAGES,e as VCRClient,y as unitsKeys};
1
+ import{fetchWithValidation as n,simpleFetch as o}from"simple-typed-fetch";import{z as e}from"zod";var i="https://vcr.am/api/v1",l=e.object({urlId:e.string(),saleId:e.number(),crn:e.string(),srcReceiptId:e.number().int(),fiscal:e.string()}),p=e.object({error:e.string()}),r=class{constructor(a){this.apiKey=a}async registerSale(a){return await o(async()=>await n(`${i}/sales`,l,{method:"POST",headers:{"x-api-key":this.apiKey,"Content-Type":"application/json"},body:JSON.stringify(a)},p))()}async searchClassifierCategory(a,s,c){let t=new URL(`${i}/searchClassifier`);return t.searchParams.append("query",a),t.searchParams.append("type",s),t.searchParams.append("language",c),await o(async()=>await n(t.toString(),e.array(e.object({code:e.string(),title:e.string()})),{method:"GET",headers:{"x-api-key":this.apiKey,"Content-Type":"application/json"}},p))()}};var u=["pc","unit","set","box","pack","case","hr","sess","proj","sub","kg","l","m","g","ml","cm","bottle","can","jar","bag","m2","dozen","pair","mm","roll","tube","km","ton","m3","pallet","other"],d=["hy","ru","en"];export{d as AVAILABLE_LANGUAGES,r as VCRClient,u as unitsKeys};
2
2
  //# sourceMappingURL=index.js.map
package/lib/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/VCRClient.ts","../src/constants.ts"],"sourcesContent":["import { fetchWithValidation, simpleFetch } from \"simple-typed-fetch\";\nimport { z } from \"zod\";\n\nimport type { SaleData } from \"./types\";\n\nconst API_URL = \"https://vcr.am/api/v1\";\n\nconst saleResponseSchema = z.object({\n urlId: z.string(),\n saleId: z.number(),\n crn: z.string(),\n srcReceiptId: z.number().int(),\n fiscal: z.string(),\n});\n\nexport default class VCRClient {\n constructor(private readonly apiKey: string) {}\n\n async registerSale(data: SaleData) {\n const responseData = await simpleFetch(\n async () =>\n await fetchWithValidation(\n `${API_URL}/sales`,\n saleResponseSchema,\n {\n method: \"POST\",\n headers: {\n \"x-api-key\": this.apiKey,\n \"Content-Type\": \"application/json\",\n },\n body: JSON.stringify(data),\n },\n z.object({\n error: z.string(),\n })\n )\n )();\n\n return responseData;\n }\n}\n","export const unitsKeys = [\n \"pc\",\n \"unit\",\n \"set\",\n \"box\",\n \"pack\",\n \"case\",\n \"hr\",\n \"sess\",\n \"proj\",\n \"sub\",\n \"kg\",\n \"l\",\n \"m\",\n \"g\",\n \"ml\",\n \"cm\",\n \"bottle\",\n \"can\",\n \"jar\",\n \"bag\",\n \"m2\",\n \"dozen\",\n \"pair\",\n \"mm\",\n \"roll\",\n \"tube\",\n \"km\",\n \"ton\",\n \"m3\",\n \"pallet\",\n \"other\",\n] as const;\n\nexport const AVAILABLE_LANGUAGES = [\"hy\", \"ru\", \"en\"] as const;\n"],"mappings":"AAAA,OAAS,uBAAAA,EAAqB,eAAAC,MAAmB,qBACjD,OAAS,KAAAC,MAAS,MAIlB,IAAMC,EAAU,wBAEVC,EAAqBF,EAAE,OAAO,CAClC,MAAOA,EAAE,OAAO,EAChB,OAAQA,EAAE,OAAO,EACjB,IAAKA,EAAE,OAAO,EACd,aAAcA,EAAE,OAAO,EAAE,IAAI,EAC7B,OAAQA,EAAE,OAAO,CACnB,CAAC,EAEoBG,EAArB,KAA+B,CAC7B,YAA6BC,EAAgB,CAAhB,YAAAA,CAAiB,CAE9C,MAAM,aAAaC,EAAgB,CAoBjC,OAnBqB,MAAMN,EACzB,SACE,MAAMD,EACJ,GAAGG,CAAO,SACVC,EACA,CACE,OAAQ,OACR,QAAS,CACP,YAAa,KAAK,OAClB,eAAgB,kBAClB,EACA,KAAM,KAAK,UAAUG,CAAI,CAC3B,EACAL,EAAE,OAAO,CACP,MAAOA,EAAE,OAAO,CAClB,CAAC,CACH,CACJ,EAAE,CAGJ,CACF,ECxCO,IAAMM,EAAY,CACvB,KACA,OACA,MACA,MACA,OACA,OACA,KACA,OACA,OACA,MACA,KACA,IACA,IACA,IACA,KACA,KACA,SACA,MACA,MACA,MACA,KACA,QACA,OACA,KACA,OACA,OACA,KACA,MACA,KACA,SACA,OACF,EAEaC,EAAsB,CAAC,KAAM,KAAM,IAAI","names":["fetchWithValidation","simpleFetch","z","API_URL","saleResponseSchema","VCRClient","apiKey","data","unitsKeys","AVAILABLE_LANGUAGES"]}
1
+ {"version":3,"sources":["../src/VCRClient.ts","../src/constants.ts"],"sourcesContent":["import { fetchWithValidation, simpleFetch } from \"simple-typed-fetch\";\nimport { z } from \"zod\";\n\nimport type { Language, SaleData } from \"./types\";\n\nconst API_URL = \"https://vcr.am/api/v1\";\n\nconst saleResponseSchema = z.object({\n urlId: z.string(),\n saleId: z.number(),\n crn: z.string(),\n srcReceiptId: z.number().int(),\n fiscal: z.string(),\n});\n\nconst errorResponseSchema = z.object({\n error: z.string(),\n});\n\nexport default class VCRClient {\n constructor(private readonly apiKey: string) {}\n\n async registerSale(data: SaleData) {\n const responseData = await simpleFetch(\n async () =>\n await fetchWithValidation(\n `${API_URL}/sales`,\n saleResponseSchema,\n {\n method: \"POST\",\n headers: {\n \"x-api-key\": this.apiKey,\n \"Content-Type\": \"application/json\",\n },\n body: JSON.stringify(data),\n },\n errorResponseSchema\n )\n )();\n\n return responseData;\n }\n\n async searchClassifierCategory(\n query: string,\n type: \"product\" | \"service\",\n language: Language\n ) {\n const url = new URL(`${API_URL}/searchClassifier`);\n url.searchParams.append(\"query\", query);\n url.searchParams.append(\"type\", type);\n url.searchParams.append(\"language\", language);\n\n return await simpleFetch(\n async () =>\n await fetchWithValidation(\n url.toString(),\n z.array(z.object({ code: z.string(), title: z.string() })),\n {\n method: \"GET\",\n headers: {\n \"x-api-key\": this.apiKey,\n \"Content-Type\": \"application/json\",\n },\n },\n errorResponseSchema\n )\n )();\n }\n}\n","export const unitsKeys = [\n \"pc\",\n \"unit\",\n \"set\",\n \"box\",\n \"pack\",\n \"case\",\n \"hr\",\n \"sess\",\n \"proj\",\n \"sub\",\n \"kg\",\n \"l\",\n \"m\",\n \"g\",\n \"ml\",\n \"cm\",\n \"bottle\",\n \"can\",\n \"jar\",\n \"bag\",\n \"m2\",\n \"dozen\",\n \"pair\",\n \"mm\",\n \"roll\",\n \"tube\",\n \"km\",\n \"ton\",\n \"m3\",\n \"pallet\",\n \"other\",\n] as const;\n\nexport const AVAILABLE_LANGUAGES = [\"hy\", \"ru\", \"en\"] as const;\n"],"mappings":"AAAA,OAAS,uBAAAA,EAAqB,eAAAC,MAAmB,qBACjD,OAAS,KAAAC,MAAS,MAIlB,IAAMC,EAAU,wBAEVC,EAAqBF,EAAE,OAAO,CAClC,MAAOA,EAAE,OAAO,EAChB,OAAQA,EAAE,OAAO,EACjB,IAAKA,EAAE,OAAO,EACd,aAAcA,EAAE,OAAO,EAAE,IAAI,EAC7B,OAAQA,EAAE,OAAO,CACnB,CAAC,EAEKG,EAAsBH,EAAE,OAAO,CACnC,MAAOA,EAAE,OAAO,CAClB,CAAC,EAEoBI,EAArB,KAA+B,CAC7B,YAA6BC,EAAgB,CAAhB,YAAAA,CAAiB,CAE9C,MAAM,aAAaC,EAAgB,CAkBjC,OAjBqB,MAAMP,EACzB,SACE,MAAMD,EACJ,GAAGG,CAAO,SACVC,EACA,CACE,OAAQ,OACR,QAAS,CACP,YAAa,KAAK,OAClB,eAAgB,kBAClB,EACA,KAAM,KAAK,UAAUI,CAAI,CAC3B,EACAH,CACF,CACJ,EAAE,CAGJ,CAEA,MAAM,yBACJI,EACAC,EACAC,EACA,CACA,IAAMC,EAAM,IAAI,IAAI,GAAGT,CAAO,mBAAmB,EACjD,OAAAS,EAAI,aAAa,OAAO,QAASH,CAAK,EACtCG,EAAI,aAAa,OAAO,OAAQF,CAAI,EACpCE,EAAI,aAAa,OAAO,WAAYD,CAAQ,EAErC,MAAMV,EACX,SACE,MAAMD,EACJY,EAAI,SAAS,EACbV,EAAE,MAAMA,EAAE,OAAO,CAAE,KAAMA,EAAE,OAAO,EAAG,MAAOA,EAAE,OAAO,CAAE,CAAC,CAAC,EACzD,CACE,OAAQ,MACR,QAAS,CACP,YAAa,KAAK,OAClB,eAAgB,kBAClB,CACF,EACAG,CACF,CACJ,EAAE,CACJ,CACF,ECrEO,IAAMQ,EAAY,CACvB,KACA,OACA,MACA,MACA,OACA,OACA,KACA,OACA,OACA,MACA,KACA,IACA,IACA,IACA,KACA,KACA,SACA,MACA,MACA,MACA,KACA,QACA,OACA,KACA,OACA,OACA,KACA,MACA,KACA,SACA,OACF,EAEaC,EAAsB,CAAC,KAAM,KAAM,IAAI","names":["fetchWithValidation","simpleFetch","z","API_URL","saleResponseSchema","errorResponseSchema","VCRClient","apiKey","data","query","type","language","url","unitsKeys","AVAILABLE_LANGUAGES"]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@blob-solutions/vcr-am-sdk",
3
- "version": "0.5.0",
3
+ "version": "0.6.0",
4
4
  "description": "",
5
5
  "keywords": [
6
6
  "virtual cash register",
@@ -40,7 +40,7 @@
40
40
  },
41
41
  "dependencies": {
42
42
  "simple-typed-fetch": "^0.2.13",
43
- "typescript": "^5.4.5",
43
+ "typescript": "^5.6.2",
44
44
  "unfetch": "^5.0.0",
45
45
  "zod": "^3.23.8"
46
46
  },
@@ -48,8 +48,8 @@
48
48
  "@tsconfig/node20": "^20.1.4",
49
49
  "@tsconfig/strictest": "^2.0.5",
50
50
  "@types/node": "^20.14.2",
51
- "tsup": "^8.1.0",
52
- "type-fest": "^4.20.0"
51
+ "tsup": "^8.2.4",
52
+ "type-fest": "^4.26.1"
53
53
  },
54
54
  "publishConfig": {
55
55
  "access": "public"