@star-insure/sdk 0.1.10 → 0.1.13

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.
@@ -1,2 +1,3 @@
1
1
  export * from './dates';
2
2
  export * from './money';
3
+ export * from './vehicles';
@@ -0,0 +1,2 @@
1
+ import { VehicleType } from "../types";
2
+ export declare function sanitiseVehicleType(inputType: string): VehicleType;
@@ -92,6 +92,42 @@ function formatNumber(value) {
92
92
  return parseFloat(value.replace(/[^0-9.]/g, ''));
93
93
  }
94
94
 
95
+ function sanitiseVehicleType(inputType) {
96
+ var type;
97
+
98
+ switch (inputType) {
99
+ case 'TRAILER_CARAVAN':
100
+ case 'TRAILER_NOT_DESIGNED_FOR_HIGHWAY_USE':
101
+ case 'MOBILE_MACHINE':
102
+ case 'GOODS_VAN_TRUCK_UTILITY':
103
+ case 'BUS':
104
+ case 'MOTOR_CARAVAN':
105
+ {
106
+ type = 'motorhome';
107
+ break;
108
+ }
109
+
110
+ case 'MOTORCYCLE':
111
+ case 'ATV':
112
+ case 'MOPED':
113
+ case 'TRACTOR':
114
+ case 'AGRICULTURAL_MACHINE':
115
+ case 'HIGH_SPEED_AGRICULTURAL_VEHICLE':
116
+ {
117
+ type = 'motorcycle';
118
+ break;
119
+ }
120
+
121
+ case 'PASSENGER_CAR_VAN':
122
+ case 'SPECIAL_PURPOSE_VEHICLE':
123
+ case 'UNKNOWN':
124
+ default:
125
+ type = 'car';
126
+ }
127
+
128
+ return type;
129
+ }
130
+
95
131
  exports.addGst = addGst;
96
132
  exports.formatDateForTable = formatDateForTable;
97
133
  exports.formatDateNice = formatDateNice;
@@ -100,5 +136,6 @@ exports.formatNumber = formatNumber;
100
136
  exports.getGst = getGst;
101
137
  exports.gstCalc = gstCalc;
102
138
  exports.round = round;
139
+ exports.sanitiseVehicleType = sanitiseVehicleType;
103
140
  exports.subtractGst = subtractGst;
104
141
  //# sourceMappingURL=sdk.cjs.development.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"sdk.cjs.development.js","sources":["../src/lib/dates.ts","../src/lib/money.ts"],"sourcesContent":["import { format } from \"date-fns\";\n\n/**\n * Formats a date like \"Jan 1, 2022\"\n */\nexport function formatDateNice(date: string) {\n return format(new Date(date), \"MMM d, yyyy\");\n}\n\n/**\n * Formats a date like \"01/01/2022 9:50AM\"\n */\nexport function formatDateForTable(date: string) {\n return format(new Date(date), 'dd/MM/yyyy h:mma');\n}\n","/**\n * Safely rounds a number\n */\nexport function round(value: number): number {\n return Number(Math.round(parseFloat(value + 'e' + 2)) + 'e-' + 2)\n}\n\n/**\n * Gets the GST value from a number\n */\nexport function getGst(value: number): number {\n return round(value * 3 / 23);\n}\n\n/**\n * Adds GST to a number\n */\nexport function addGst(value: number): number {\n return round(value * 1.15);\n}\n\n/**\n * Subtracts GST from a number\n */\nexport function subtractGst(value: number): number {\n return round(value - getGst(value));\n}\n\n/**\n * Calculates the various GST values on a figure\n */\nexport function gstCalc(input: number|string): {\n gst: number,\n amountInclusive: number,\n amountExclusive: number\n} {\n let value = input;\n\n if (typeof value === 'string') {\n value = parseFloat(value.replace(/[^0-9.]/g, ''));\n }\n\n value = round(value);\n\n return {\n gst: getGst(value),\n amountInclusive: addGst(value),\n amountExclusive: subtractGst(value)\n }\n}\n\n/**\n * Formats a value nicely\n */\n export function formatMoney(value: string|number, decimals: number = 2): string {\n let toFormat = value;\n if (typeof value === 'string') {\n toFormat = value.replace(/[^\\d.-]/g, '')\n }\n\n return Number(toFormat).toLocaleString('en', {\n minimumFractionDigits: decimals,\n maximumFractionDigits: decimals,\n });\n}\n\n/**\n * Turns a formatted value in to a float\n */\nexport function formatNumber(value: string): number {\n return parseFloat(value.replace(/[^0-9.]/g, ''));\n}\n"],"names":["formatDateNice","date","format","Date","formatDateForTable","round","value","Number","Math","parseFloat","getGst","addGst","subtractGst","gstCalc","input","replace","gst","amountInclusive","amountExclusive","formatMoney","decimals","toFormat","toLocaleString","minimumFractionDigits","maximumFractionDigits","formatNumber"],"mappings":";;;;;;AAEA;;;;SAGgBA,eAAeC;EAC3B,OAAOC,cAAM,CAAC,IAAIC,IAAJ,CAASF,IAAT,CAAD,EAAiB,aAAjB,CAAb;AACH;AAED;;;;SAGgBG,mBAAmBH;EAC/B,OAAOC,cAAM,CAAC,IAAIC,IAAJ,CAASF,IAAT,CAAD,EAAiB,kBAAjB,CAAb;AACH;;ACdD;;;AAGA,SAAgBI,MAAMC;EAClB,OAAOC,MAAM,CAACC,IAAI,CAACH,KAAL,CAAWI,UAAU,CAACH,KAAK,GAAG,GAAR,GAAc,CAAf,CAArB,IAA0C,IAA1C,GAAiD,CAAlD,CAAb;AACH;AAED;;;;AAGA,SAAgBI,OAAOJ;EACnB,OAAOD,KAAK,CAACC,KAAK,GAAG,CAAR,GAAY,EAAb,CAAZ;AACH;AAED;;;;AAGA,SAAgBK,OAAOL;EACnB,OAAOD,KAAK,CAACC,KAAK,GAAG,IAAT,CAAZ;AACH;AAED;;;;AAGA,SAAgBM,YAAYN;EACxB,OAAOD,KAAK,CAACC,KAAK,GAAGI,MAAM,CAACJ,KAAD,CAAf,CAAZ;AACH;AAED;;;;AAGA,SAAgBO,QAAQC;EAKpB,IAAIR,KAAK,GAAGQ,KAAZ;;EAEA,IAAI,OAAOR,KAAP,KAAiB,QAArB,EAA+B;IAC3BA,KAAK,GAAGG,UAAU,CAACH,KAAK,CAACS,OAAN,CAAc,UAAd,EAA0B,EAA1B,CAAD,CAAlB;;;EAGJT,KAAK,GAAGD,KAAK,CAACC,KAAD,CAAb;EAEA,OAAO;IACHU,GAAG,EAAEN,MAAM,CAACJ,KAAD,CADR;IAEHW,eAAe,EAAEN,MAAM,CAACL,KAAD,CAFpB;IAGHY,eAAe,EAAEN,WAAW,CAACN,KAAD;GAHhC;AAKH;AAED;;;;AAGC,SAAgBa,YAAYb,OAAsBc;MAAAA;IAAAA,WAAmB;;;EAClE,IAAIC,QAAQ,GAAGf,KAAf;;EACA,IAAI,OAAOA,KAAP,KAAiB,QAArB,EAA+B;IAC3Be,QAAQ,GAAGf,KAAK,CAACS,OAAN,CAAc,UAAd,EAA0B,EAA1B,CAAX;;;EAGJ,OAAOR,MAAM,CAACc,QAAD,CAAN,CAAiBC,cAAjB,CAAgC,IAAhC,EAAsC;IACzCC,qBAAqB,EAAEH,QADkB;IAEzCI,qBAAqB,EAAEJ;GAFpB,CAAP;AAIH;AAED;;;;AAGA,SAAgBK,aAAanB;EACzB,OAAOG,UAAU,CAACH,KAAK,CAACS,OAAN,CAAc,UAAd,EAA0B,EAA1B,CAAD,CAAjB;AACH;;;;;;;;;;;;"}
1
+ {"version":3,"file":"sdk.cjs.development.js","sources":["../src/lib/dates.ts","../src/lib/money.ts","../src/lib/vehicles.ts"],"sourcesContent":["import { format } from \"date-fns\";\n\n/**\n * Formats a date like \"Jan 1, 2022\"\n */\nexport function formatDateNice(date: string) {\n return format(new Date(date), \"MMM d, yyyy\");\n}\n\n/**\n * Formats a date like \"01/01/2022 9:50AM\"\n */\nexport function formatDateForTable(date: string) {\n return format(new Date(date), 'dd/MM/yyyy h:mma');\n}\n","/**\n * Safely rounds a number\n */\nexport function round(value: number): number {\n return Number(Math.round(parseFloat(value + 'e' + 2)) + 'e-' + 2)\n}\n\n/**\n * Gets the GST value from a number\n */\nexport function getGst(value: number): number {\n return round(value * 3 / 23);\n}\n\n/**\n * Adds GST to a number\n */\nexport function addGst(value: number): number {\n return round(value * 1.15);\n}\n\n/**\n * Subtracts GST from a number\n */\nexport function subtractGst(value: number): number {\n return round(value - getGst(value));\n}\n\n/**\n * Calculates the various GST values on a figure\n */\nexport function gstCalc(input: number|string): {\n gst: number,\n amountInclusive: number,\n amountExclusive: number\n} {\n let value = input;\n\n if (typeof value === 'string') {\n value = parseFloat(value.replace(/[^0-9.]/g, ''));\n }\n\n value = round(value);\n\n return {\n gst: getGst(value),\n amountInclusive: addGst(value),\n amountExclusive: subtractGst(value)\n }\n}\n\n/**\n * Formats a value nicely\n */\n export function formatMoney(value: string|number, decimals: number = 2): string {\n let toFormat = value;\n if (typeof value === 'string') {\n toFormat = value.replace(/[^\\d.-]/g, '')\n }\n\n return Number(toFormat).toLocaleString('en', {\n minimumFractionDigits: decimals,\n maximumFractionDigits: decimals,\n });\n}\n\n/**\n * Turns a formatted value in to a float\n */\nexport function formatNumber(value: string): number {\n return parseFloat(value.replace(/[^0-9.]/g, ''));\n}\n","import { VehicleType } from \"../types\";\n\nexport function sanitiseVehicleType(inputType: string): VehicleType {\n let type: VehicleType;\n\n switch (inputType) {\n case 'TRAILER_CARAVAN':\n case 'TRAILER_NOT_DESIGNED_FOR_HIGHWAY_USE':\n case 'MOBILE_MACHINE':\n case 'GOODS_VAN_TRUCK_UTILITY':\n case 'BUS':\n case 'MOTOR_CARAVAN': {\n type = 'motorhome';\n break;\n }\n case 'MOTORCYCLE':\n case 'ATV':\n case 'MOPED':\n case 'TRACTOR':\n case 'AGRICULTURAL_MACHINE':\n case 'HIGH_SPEED_AGRICULTURAL_VEHICLE': {\n type = 'motorcycle';\n break;\n }\n case 'PASSENGER_CAR_VAN':\n case 'SPECIAL_PURPOSE_VEHICLE':\n case 'UNKNOWN':\n default:\n type = 'car';\n }\n\n return type;\n}\n"],"names":["formatDateNice","date","format","Date","formatDateForTable","round","value","Number","Math","parseFloat","getGst","addGst","subtractGst","gstCalc","input","replace","gst","amountInclusive","amountExclusive","formatMoney","decimals","toFormat","toLocaleString","minimumFractionDigits","maximumFractionDigits","formatNumber","sanitiseVehicleType","inputType","type"],"mappings":";;;;;;AAEA;;;;SAGgBA,eAAeC;EAC3B,OAAOC,cAAM,CAAC,IAAIC,IAAJ,CAASF,IAAT,CAAD,EAAiB,aAAjB,CAAb;AACH;AAED;;;;SAGgBG,mBAAmBH;EAC/B,OAAOC,cAAM,CAAC,IAAIC,IAAJ,CAASF,IAAT,CAAD,EAAiB,kBAAjB,CAAb;AACH;;ACdD;;;AAGA,SAAgBI,MAAMC;EAClB,OAAOC,MAAM,CAACC,IAAI,CAACH,KAAL,CAAWI,UAAU,CAACH,KAAK,GAAG,GAAR,GAAc,CAAf,CAArB,IAA0C,IAA1C,GAAiD,CAAlD,CAAb;AACH;AAED;;;;AAGA,SAAgBI,OAAOJ;EACnB,OAAOD,KAAK,CAACC,KAAK,GAAG,CAAR,GAAY,EAAb,CAAZ;AACH;AAED;;;;AAGA,SAAgBK,OAAOL;EACnB,OAAOD,KAAK,CAACC,KAAK,GAAG,IAAT,CAAZ;AACH;AAED;;;;AAGA,SAAgBM,YAAYN;EACxB,OAAOD,KAAK,CAACC,KAAK,GAAGI,MAAM,CAACJ,KAAD,CAAf,CAAZ;AACH;AAED;;;;AAGA,SAAgBO,QAAQC;EAKpB,IAAIR,KAAK,GAAGQ,KAAZ;;EAEA,IAAI,OAAOR,KAAP,KAAiB,QAArB,EAA+B;IAC3BA,KAAK,GAAGG,UAAU,CAACH,KAAK,CAACS,OAAN,CAAc,UAAd,EAA0B,EAA1B,CAAD,CAAlB;;;EAGJT,KAAK,GAAGD,KAAK,CAACC,KAAD,CAAb;EAEA,OAAO;IACHU,GAAG,EAAEN,MAAM,CAACJ,KAAD,CADR;IAEHW,eAAe,EAAEN,MAAM,CAACL,KAAD,CAFpB;IAGHY,eAAe,EAAEN,WAAW,CAACN,KAAD;GAHhC;AAKH;AAED;;;;AAGC,SAAgBa,YAAYb,OAAsBc;MAAAA;IAAAA,WAAmB;;;EAClE,IAAIC,QAAQ,GAAGf,KAAf;;EACA,IAAI,OAAOA,KAAP,KAAiB,QAArB,EAA+B;IAC3Be,QAAQ,GAAGf,KAAK,CAACS,OAAN,CAAc,UAAd,EAA0B,EAA1B,CAAX;;;EAGJ,OAAOR,MAAM,CAACc,QAAD,CAAN,CAAiBC,cAAjB,CAAgC,IAAhC,EAAsC;IACzCC,qBAAqB,EAAEH,QADkB;IAEzCI,qBAAqB,EAAEJ;GAFpB,CAAP;AAIH;AAED;;;;AAGA,SAAgBK,aAAanB;EACzB,OAAOG,UAAU,CAACH,KAAK,CAACS,OAAN,CAAc,UAAd,EAA0B,EAA1B,CAAD,CAAjB;AACH;;SCrEeW,oBAAoBC;EAChC,IAAIC,IAAJ;;EAEA,QAAQD,SAAR;IACI,KAAK,iBAAL;IACA,KAAK,sCAAL;IACA,KAAK,gBAAL;IACA,KAAK,yBAAL;IACA,KAAK,KAAL;IACA,KAAK,eAAL;MAAsB;QAClBC,IAAI,GAAG,WAAP;QACA;;;IAEJ,KAAK,YAAL;IACA,KAAK,KAAL;IACA,KAAK,OAAL;IACA,KAAK,SAAL;IACA,KAAK,sBAAL;IACA,KAAK,iCAAL;MAAwC;QACpCA,IAAI,GAAG,YAAP;QACA;;;IAEJ,KAAK,mBAAL;IACA,KAAK,yBAAL;IACA,KAAK,SAAL;IACA;MACIA,IAAI,GAAG,KAAP;;;EAGR,OAAOA,IAAP;AACH;;;;;;;;;;;;;"}
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var t=require("date-fns");function e(t){return Number(Math.round(parseFloat(t+"e2"))+"e-2")}function r(t){return e(3*t/23)}function n(t){return e(1.15*t)}function o(t){return e(t-r(t))}exports.addGst=n,exports.formatDateForTable=function(e){return t.format(new Date(e),"dd/MM/yyyy h:mma")},exports.formatDateNice=function(e){return t.format(new Date(e),"MMM d, yyyy")},exports.formatMoney=function(t,e){void 0===e&&(e=2);var r=t;return"string"==typeof t&&(r=t.replace(/[^\d.-]/g,"")),Number(r).toLocaleString("en",{minimumFractionDigits:e,maximumFractionDigits:e})},exports.formatNumber=function(t){return parseFloat(t.replace(/[^0-9.]/g,""))},exports.getGst=r,exports.gstCalc=function(t){var a=t;return"string"==typeof a&&(a=parseFloat(a.replace(/[^0-9.]/g,""))),{gst:r(a=e(a)),amountInclusive:n(a),amountExclusive:o(a)}},exports.round=e,exports.subtractGst=o;
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("date-fns");function t(e){return Number(Math.round(parseFloat(e+"e2"))+"e-2")}function r(e){return t(3*e/23)}function a(e){return t(1.15*e)}function o(e){return t(e-r(e))}exports.addGst=a,exports.formatDateForTable=function(t){return e.format(new Date(t),"dd/MM/yyyy h:mma")},exports.formatDateNice=function(t){return e.format(new Date(t),"MMM d, yyyy")},exports.formatMoney=function(e,t){void 0===t&&(t=2);var r=e;return"string"==typeof e&&(r=e.replace(/[^\d.-]/g,"")),Number(r).toLocaleString("en",{minimumFractionDigits:t,maximumFractionDigits:t})},exports.formatNumber=function(e){return parseFloat(e.replace(/[^0-9.]/g,""))},exports.getGst=r,exports.gstCalc=function(e){var n=e;return"string"==typeof n&&(n=parseFloat(n.replace(/[^0-9.]/g,""))),{gst:r(n=t(n)),amountInclusive:a(n),amountExclusive:o(n)}},exports.round=t,exports.sanitiseVehicleType=function(e){var t;switch(e){case"TRAILER_CARAVAN":case"TRAILER_NOT_DESIGNED_FOR_HIGHWAY_USE":case"MOBILE_MACHINE":case"GOODS_VAN_TRUCK_UTILITY":case"BUS":case"MOTOR_CARAVAN":t="motorhome";break;case"MOTORCYCLE":case"ATV":case"MOPED":case"TRACTOR":case"AGRICULTURAL_MACHINE":case"HIGH_SPEED_AGRICULTURAL_VEHICLE":t="motorcycle";break;case"PASSENGER_CAR_VAN":case"SPECIAL_PURPOSE_VEHICLE":case"UNKNOWN":default:t="car"}return t},exports.subtractGst=o;
2
2
  //# sourceMappingURL=sdk.cjs.production.min.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"sdk.cjs.production.min.js","sources":["../src/lib/money.ts","../src/lib/dates.ts"],"sourcesContent":["/**\n * Safely rounds a number\n */\nexport function round(value: number): number {\n return Number(Math.round(parseFloat(value + 'e' + 2)) + 'e-' + 2)\n}\n\n/**\n * Gets the GST value from a number\n */\nexport function getGst(value: number): number {\n return round(value * 3 / 23);\n}\n\n/**\n * Adds GST to a number\n */\nexport function addGst(value: number): number {\n return round(value * 1.15);\n}\n\n/**\n * Subtracts GST from a number\n */\nexport function subtractGst(value: number): number {\n return round(value - getGst(value));\n}\n\n/**\n * Calculates the various GST values on a figure\n */\nexport function gstCalc(input: number|string): {\n gst: number,\n amountInclusive: number,\n amountExclusive: number\n} {\n let value = input;\n\n if (typeof value === 'string') {\n value = parseFloat(value.replace(/[^0-9.]/g, ''));\n }\n\n value = round(value);\n\n return {\n gst: getGst(value),\n amountInclusive: addGst(value),\n amountExclusive: subtractGst(value)\n }\n}\n\n/**\n * Formats a value nicely\n */\n export function formatMoney(value: string|number, decimals: number = 2): string {\n let toFormat = value;\n if (typeof value === 'string') {\n toFormat = value.replace(/[^\\d.-]/g, '')\n }\n\n return Number(toFormat).toLocaleString('en', {\n minimumFractionDigits: decimals,\n maximumFractionDigits: decimals,\n });\n}\n\n/**\n * Turns a formatted value in to a float\n */\nexport function formatNumber(value: string): number {\n return parseFloat(value.replace(/[^0-9.]/g, ''));\n}\n","import { format } from \"date-fns\";\n\n/**\n * Formats a date like \"Jan 1, 2022\"\n */\nexport function formatDateNice(date: string) {\n return format(new Date(date), \"MMM d, yyyy\");\n}\n\n/**\n * Formats a date like \"01/01/2022 9:50AM\"\n */\nexport function formatDateForTable(date: string) {\n return format(new Date(date), 'dd/MM/yyyy h:mma');\n}\n"],"names":["round","value","Number","Math","parseFloat","getGst","addGst","subtractGst","date","format","Date","decimals","toFormat","replace","toLocaleString","minimumFractionDigits","maximumFractionDigits","input","gst","amountInclusive","amountExclusive"],"mappings":"uGAGgBA,EAAMC,GAClB,OAAOC,OAAOC,KAAKH,MAAMI,WAAWH,EAAAA,OAAtBE,gBAMFE,EAAOJ,GACnB,OAAOD,EAAc,EAARC,EAAY,aAMbK,EAAOL,GACnB,OAAOD,EAAc,KAARC,YAMDM,EAAYN,GACxB,OAAOD,EAAMC,EAAQI,EAAOJ,yDCbGO,GAC/B,OAAOC,SAAO,IAAIC,KAAKF,GAAO,qDARHA,GAC3B,OAAOC,SAAO,IAAIC,KAAKF,GAAO,6CDgDLP,EAAsBU,YAAAA,IAAAA,EAAmB,GAClE,IAAIC,EAAWX,EAKf,MAJqB,iBAAVA,IACPW,EAAWX,EAAMY,QAAQ,WAAY,KAGlCX,OAAOU,GAAUE,eAAe,KAAM,CACzCC,sBAAuBJ,EACvBK,sBAAuBL,mCAOFV,GACzB,OAAOG,WAAWH,EAAMY,QAAQ,WAAY,gDAvCxBI,GAKpB,IAAIhB,EAAQgB,EAQZ,MANqB,iBAAVhB,IACPA,EAAQG,WAAWH,EAAMY,QAAQ,WAAY,MAK1C,CACHK,IAAKb,EAHTJ,EAAQD,EAAMC,IAIVkB,gBAAiBb,EAAOL,GACxBmB,gBAAiBb,EAAYN"}
1
+ {"version":3,"file":"sdk.cjs.production.min.js","sources":["../src/lib/money.ts","../src/lib/dates.ts","../src/lib/vehicles.ts"],"sourcesContent":["/**\n * Safely rounds a number\n */\nexport function round(value: number): number {\n return Number(Math.round(parseFloat(value + 'e' + 2)) + 'e-' + 2)\n}\n\n/**\n * Gets the GST value from a number\n */\nexport function getGst(value: number): number {\n return round(value * 3 / 23);\n}\n\n/**\n * Adds GST to a number\n */\nexport function addGst(value: number): number {\n return round(value * 1.15);\n}\n\n/**\n * Subtracts GST from a number\n */\nexport function subtractGst(value: number): number {\n return round(value - getGst(value));\n}\n\n/**\n * Calculates the various GST values on a figure\n */\nexport function gstCalc(input: number|string): {\n gst: number,\n amountInclusive: number,\n amountExclusive: number\n} {\n let value = input;\n\n if (typeof value === 'string') {\n value = parseFloat(value.replace(/[^0-9.]/g, ''));\n }\n\n value = round(value);\n\n return {\n gst: getGst(value),\n amountInclusive: addGst(value),\n amountExclusive: subtractGst(value)\n }\n}\n\n/**\n * Formats a value nicely\n */\n export function formatMoney(value: string|number, decimals: number = 2): string {\n let toFormat = value;\n if (typeof value === 'string') {\n toFormat = value.replace(/[^\\d.-]/g, '')\n }\n\n return Number(toFormat).toLocaleString('en', {\n minimumFractionDigits: decimals,\n maximumFractionDigits: decimals,\n });\n}\n\n/**\n * Turns a formatted value in to a float\n */\nexport function formatNumber(value: string): number {\n return parseFloat(value.replace(/[^0-9.]/g, ''));\n}\n","import { format } from \"date-fns\";\n\n/**\n * Formats a date like \"Jan 1, 2022\"\n */\nexport function formatDateNice(date: string) {\n return format(new Date(date), \"MMM d, yyyy\");\n}\n\n/**\n * Formats a date like \"01/01/2022 9:50AM\"\n */\nexport function formatDateForTable(date: string) {\n return format(new Date(date), 'dd/MM/yyyy h:mma');\n}\n","import { VehicleType } from \"../types\";\n\nexport function sanitiseVehicleType(inputType: string): VehicleType {\n let type: VehicleType;\n\n switch (inputType) {\n case 'TRAILER_CARAVAN':\n case 'TRAILER_NOT_DESIGNED_FOR_HIGHWAY_USE':\n case 'MOBILE_MACHINE':\n case 'GOODS_VAN_TRUCK_UTILITY':\n case 'BUS':\n case 'MOTOR_CARAVAN': {\n type = 'motorhome';\n break;\n }\n case 'MOTORCYCLE':\n case 'ATV':\n case 'MOPED':\n case 'TRACTOR':\n case 'AGRICULTURAL_MACHINE':\n case 'HIGH_SPEED_AGRICULTURAL_VEHICLE': {\n type = 'motorcycle';\n break;\n }\n case 'PASSENGER_CAR_VAN':\n case 'SPECIAL_PURPOSE_VEHICLE':\n case 'UNKNOWN':\n default:\n type = 'car';\n }\n\n return type;\n}\n"],"names":["round","value","Number","Math","parseFloat","getGst","addGst","subtractGst","date","format","Date","decimals","toFormat","replace","toLocaleString","minimumFractionDigits","maximumFractionDigits","input","gst","amountInclusive","amountExclusive","inputType","type"],"mappings":"uGAGgBA,EAAMC,GAClB,OAAOC,OAAOC,KAAKH,MAAMI,WAAWH,EAAAA,OAAtBE,gBAMFE,EAAOJ,GACnB,OAAOD,EAAc,EAARC,EAAY,aAMbK,EAAOL,GACnB,OAAOD,EAAc,KAARC,YAMDM,EAAYN,GACxB,OAAOD,EAAMC,EAAQI,EAAOJ,yDCbGO,GAC/B,OAAOC,SAAO,IAAIC,KAAKF,GAAO,qDARHA,GAC3B,OAAOC,SAAO,IAAIC,KAAKF,GAAO,6CDgDLP,EAAsBU,YAAAA,IAAAA,EAAmB,GAClE,IAAIC,EAAWX,EAKf,MAJqB,iBAAVA,IACPW,EAAWX,EAAMY,QAAQ,WAAY,KAGlCX,OAAOU,GAAUE,eAAe,KAAM,CACzCC,sBAAuBJ,EACvBK,sBAAuBL,mCAOFV,GACzB,OAAOG,WAAWH,EAAMY,QAAQ,WAAY,gDAvCxBI,GAKpB,IAAIhB,EAAQgB,EAQZ,MANqB,iBAAVhB,IACPA,EAAQG,WAAWH,EAAMY,QAAQ,WAAY,MAK1C,CACHK,IAAKb,EAHTJ,EAAQD,EAAMC,IAIVkB,gBAAiBb,EAAOL,GACxBmB,gBAAiBb,EAAYN,0DE7CDoB,GAChC,IAAIC,EAEJ,OAAQD,GACJ,IAAK,kBACL,IAAK,uCACL,IAAK,iBACL,IAAK,0BACL,IAAK,MACL,IAAK,gBACDC,EAAO,YACP,MAEJ,IAAK,aACL,IAAK,MACL,IAAK,QACL,IAAK,UACL,IAAK,uBACL,IAAK,kCACDA,EAAO,aACP,MAEJ,IAAK,oBACL,IAAK,0BACL,IAAK,UACL,QACIA,EAAO,MAGf,OAAOA"}
package/dist/sdk.esm.js CHANGED
@@ -88,5 +88,41 @@ function formatNumber(value) {
88
88
  return parseFloat(value.replace(/[^0-9.]/g, ''));
89
89
  }
90
90
 
91
- export { addGst, formatDateForTable, formatDateNice, formatMoney, formatNumber, getGst, gstCalc, round, subtractGst };
91
+ function sanitiseVehicleType(inputType) {
92
+ var type;
93
+
94
+ switch (inputType) {
95
+ case 'TRAILER_CARAVAN':
96
+ case 'TRAILER_NOT_DESIGNED_FOR_HIGHWAY_USE':
97
+ case 'MOBILE_MACHINE':
98
+ case 'GOODS_VAN_TRUCK_UTILITY':
99
+ case 'BUS':
100
+ case 'MOTOR_CARAVAN':
101
+ {
102
+ type = 'motorhome';
103
+ break;
104
+ }
105
+
106
+ case 'MOTORCYCLE':
107
+ case 'ATV':
108
+ case 'MOPED':
109
+ case 'TRACTOR':
110
+ case 'AGRICULTURAL_MACHINE':
111
+ case 'HIGH_SPEED_AGRICULTURAL_VEHICLE':
112
+ {
113
+ type = 'motorcycle';
114
+ break;
115
+ }
116
+
117
+ case 'PASSENGER_CAR_VAN':
118
+ case 'SPECIAL_PURPOSE_VEHICLE':
119
+ case 'UNKNOWN':
120
+ default:
121
+ type = 'car';
122
+ }
123
+
124
+ return type;
125
+ }
126
+
127
+ export { addGst, formatDateForTable, formatDateNice, formatMoney, formatNumber, getGst, gstCalc, round, sanitiseVehicleType, subtractGst };
92
128
  //# sourceMappingURL=sdk.esm.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"sdk.esm.js","sources":["../src/lib/dates.ts","../src/lib/money.ts"],"sourcesContent":["import { format } from \"date-fns\";\n\n/**\n * Formats a date like \"Jan 1, 2022\"\n */\nexport function formatDateNice(date: string) {\n return format(new Date(date), \"MMM d, yyyy\");\n}\n\n/**\n * Formats a date like \"01/01/2022 9:50AM\"\n */\nexport function formatDateForTable(date: string) {\n return format(new Date(date), 'dd/MM/yyyy h:mma');\n}\n","/**\n * Safely rounds a number\n */\nexport function round(value: number): number {\n return Number(Math.round(parseFloat(value + 'e' + 2)) + 'e-' + 2)\n}\n\n/**\n * Gets the GST value from a number\n */\nexport function getGst(value: number): number {\n return round(value * 3 / 23);\n}\n\n/**\n * Adds GST to a number\n */\nexport function addGst(value: number): number {\n return round(value * 1.15);\n}\n\n/**\n * Subtracts GST from a number\n */\nexport function subtractGst(value: number): number {\n return round(value - getGst(value));\n}\n\n/**\n * Calculates the various GST values on a figure\n */\nexport function gstCalc(input: number|string): {\n gst: number,\n amountInclusive: number,\n amountExclusive: number\n} {\n let value = input;\n\n if (typeof value === 'string') {\n value = parseFloat(value.replace(/[^0-9.]/g, ''));\n }\n\n value = round(value);\n\n return {\n gst: getGst(value),\n amountInclusive: addGst(value),\n amountExclusive: subtractGst(value)\n }\n}\n\n/**\n * Formats a value nicely\n */\n export function formatMoney(value: string|number, decimals: number = 2): string {\n let toFormat = value;\n if (typeof value === 'string') {\n toFormat = value.replace(/[^\\d.-]/g, '')\n }\n\n return Number(toFormat).toLocaleString('en', {\n minimumFractionDigits: decimals,\n maximumFractionDigits: decimals,\n });\n}\n\n/**\n * Turns a formatted value in to a float\n */\nexport function formatNumber(value: string): number {\n return parseFloat(value.replace(/[^0-9.]/g, ''));\n}\n"],"names":["formatDateNice","date","format","Date","formatDateForTable","round","value","Number","Math","parseFloat","getGst","addGst","subtractGst","gstCalc","input","replace","gst","amountInclusive","amountExclusive","formatMoney","decimals","toFormat","toLocaleString","minimumFractionDigits","maximumFractionDigits","formatNumber"],"mappings":";;AAEA;;;;SAGgBA,eAAeC;EAC3B,OAAOC,MAAM,CAAC,IAAIC,IAAJ,CAASF,IAAT,CAAD,EAAiB,aAAjB,CAAb;AACH;AAED;;;;SAGgBG,mBAAmBH;EAC/B,OAAOC,MAAM,CAAC,IAAIC,IAAJ,CAASF,IAAT,CAAD,EAAiB,kBAAjB,CAAb;AACH;;ACdD;;;AAGA,SAAgBI,MAAMC;EAClB,OAAOC,MAAM,CAACC,IAAI,CAACH,KAAL,CAAWI,UAAU,CAACH,KAAK,GAAG,GAAR,GAAc,CAAf,CAArB,IAA0C,IAA1C,GAAiD,CAAlD,CAAb;AACH;AAED;;;;AAGA,SAAgBI,OAAOJ;EACnB,OAAOD,KAAK,CAACC,KAAK,GAAG,CAAR,GAAY,EAAb,CAAZ;AACH;AAED;;;;AAGA,SAAgBK,OAAOL;EACnB,OAAOD,KAAK,CAACC,KAAK,GAAG,IAAT,CAAZ;AACH;AAED;;;;AAGA,SAAgBM,YAAYN;EACxB,OAAOD,KAAK,CAACC,KAAK,GAAGI,MAAM,CAACJ,KAAD,CAAf,CAAZ;AACH;AAED;;;;AAGA,SAAgBO,QAAQC;EAKpB,IAAIR,KAAK,GAAGQ,KAAZ;;EAEA,IAAI,OAAOR,KAAP,KAAiB,QAArB,EAA+B;IAC3BA,KAAK,GAAGG,UAAU,CAACH,KAAK,CAACS,OAAN,CAAc,UAAd,EAA0B,EAA1B,CAAD,CAAlB;;;EAGJT,KAAK,GAAGD,KAAK,CAACC,KAAD,CAAb;EAEA,OAAO;IACHU,GAAG,EAAEN,MAAM,CAACJ,KAAD,CADR;IAEHW,eAAe,EAAEN,MAAM,CAACL,KAAD,CAFpB;IAGHY,eAAe,EAAEN,WAAW,CAACN,KAAD;GAHhC;AAKH;AAED;;;;AAGC,SAAgBa,YAAYb,OAAsBc;MAAAA;IAAAA,WAAmB;;;EAClE,IAAIC,QAAQ,GAAGf,KAAf;;EACA,IAAI,OAAOA,KAAP,KAAiB,QAArB,EAA+B;IAC3Be,QAAQ,GAAGf,KAAK,CAACS,OAAN,CAAc,UAAd,EAA0B,EAA1B,CAAX;;;EAGJ,OAAOR,MAAM,CAACc,QAAD,CAAN,CAAiBC,cAAjB,CAAgC,IAAhC,EAAsC;IACzCC,qBAAqB,EAAEH,QADkB;IAEzCI,qBAAqB,EAAEJ;GAFpB,CAAP;AAIH;AAED;;;;AAGA,SAAgBK,aAAanB;EACzB,OAAOG,UAAU,CAACH,KAAK,CAACS,OAAN,CAAc,UAAd,EAA0B,EAA1B,CAAD,CAAjB;AACH;;;;"}
1
+ {"version":3,"file":"sdk.esm.js","sources":["../src/lib/dates.ts","../src/lib/money.ts","../src/lib/vehicles.ts"],"sourcesContent":["import { format } from \"date-fns\";\n\n/**\n * Formats a date like \"Jan 1, 2022\"\n */\nexport function formatDateNice(date: string) {\n return format(new Date(date), \"MMM d, yyyy\");\n}\n\n/**\n * Formats a date like \"01/01/2022 9:50AM\"\n */\nexport function formatDateForTable(date: string) {\n return format(new Date(date), 'dd/MM/yyyy h:mma');\n}\n","/**\n * Safely rounds a number\n */\nexport function round(value: number): number {\n return Number(Math.round(parseFloat(value + 'e' + 2)) + 'e-' + 2)\n}\n\n/**\n * Gets the GST value from a number\n */\nexport function getGst(value: number): number {\n return round(value * 3 / 23);\n}\n\n/**\n * Adds GST to a number\n */\nexport function addGst(value: number): number {\n return round(value * 1.15);\n}\n\n/**\n * Subtracts GST from a number\n */\nexport function subtractGst(value: number): number {\n return round(value - getGst(value));\n}\n\n/**\n * Calculates the various GST values on a figure\n */\nexport function gstCalc(input: number|string): {\n gst: number,\n amountInclusive: number,\n amountExclusive: number\n} {\n let value = input;\n\n if (typeof value === 'string') {\n value = parseFloat(value.replace(/[^0-9.]/g, ''));\n }\n\n value = round(value);\n\n return {\n gst: getGst(value),\n amountInclusive: addGst(value),\n amountExclusive: subtractGst(value)\n }\n}\n\n/**\n * Formats a value nicely\n */\n export function formatMoney(value: string|number, decimals: number = 2): string {\n let toFormat = value;\n if (typeof value === 'string') {\n toFormat = value.replace(/[^\\d.-]/g, '')\n }\n\n return Number(toFormat).toLocaleString('en', {\n minimumFractionDigits: decimals,\n maximumFractionDigits: decimals,\n });\n}\n\n/**\n * Turns a formatted value in to a float\n */\nexport function formatNumber(value: string): number {\n return parseFloat(value.replace(/[^0-9.]/g, ''));\n}\n","import { VehicleType } from \"../types\";\n\nexport function sanitiseVehicleType(inputType: string): VehicleType {\n let type: VehicleType;\n\n switch (inputType) {\n case 'TRAILER_CARAVAN':\n case 'TRAILER_NOT_DESIGNED_FOR_HIGHWAY_USE':\n case 'MOBILE_MACHINE':\n case 'GOODS_VAN_TRUCK_UTILITY':\n case 'BUS':\n case 'MOTOR_CARAVAN': {\n type = 'motorhome';\n break;\n }\n case 'MOTORCYCLE':\n case 'ATV':\n case 'MOPED':\n case 'TRACTOR':\n case 'AGRICULTURAL_MACHINE':\n case 'HIGH_SPEED_AGRICULTURAL_VEHICLE': {\n type = 'motorcycle';\n break;\n }\n case 'PASSENGER_CAR_VAN':\n case 'SPECIAL_PURPOSE_VEHICLE':\n case 'UNKNOWN':\n default:\n type = 'car';\n }\n\n return type;\n}\n"],"names":["formatDateNice","date","format","Date","formatDateForTable","round","value","Number","Math","parseFloat","getGst","addGst","subtractGst","gstCalc","input","replace","gst","amountInclusive","amountExclusive","formatMoney","decimals","toFormat","toLocaleString","minimumFractionDigits","maximumFractionDigits","formatNumber","sanitiseVehicleType","inputType","type"],"mappings":";;AAEA;;;;SAGgBA,eAAeC;EAC3B,OAAOC,MAAM,CAAC,IAAIC,IAAJ,CAASF,IAAT,CAAD,EAAiB,aAAjB,CAAb;AACH;AAED;;;;SAGgBG,mBAAmBH;EAC/B,OAAOC,MAAM,CAAC,IAAIC,IAAJ,CAASF,IAAT,CAAD,EAAiB,kBAAjB,CAAb;AACH;;ACdD;;;AAGA,SAAgBI,MAAMC;EAClB,OAAOC,MAAM,CAACC,IAAI,CAACH,KAAL,CAAWI,UAAU,CAACH,KAAK,GAAG,GAAR,GAAc,CAAf,CAArB,IAA0C,IAA1C,GAAiD,CAAlD,CAAb;AACH;AAED;;;;AAGA,SAAgBI,OAAOJ;EACnB,OAAOD,KAAK,CAACC,KAAK,GAAG,CAAR,GAAY,EAAb,CAAZ;AACH;AAED;;;;AAGA,SAAgBK,OAAOL;EACnB,OAAOD,KAAK,CAACC,KAAK,GAAG,IAAT,CAAZ;AACH;AAED;;;;AAGA,SAAgBM,YAAYN;EACxB,OAAOD,KAAK,CAACC,KAAK,GAAGI,MAAM,CAACJ,KAAD,CAAf,CAAZ;AACH;AAED;;;;AAGA,SAAgBO,QAAQC;EAKpB,IAAIR,KAAK,GAAGQ,KAAZ;;EAEA,IAAI,OAAOR,KAAP,KAAiB,QAArB,EAA+B;IAC3BA,KAAK,GAAGG,UAAU,CAACH,KAAK,CAACS,OAAN,CAAc,UAAd,EAA0B,EAA1B,CAAD,CAAlB;;;EAGJT,KAAK,GAAGD,KAAK,CAACC,KAAD,CAAb;EAEA,OAAO;IACHU,GAAG,EAAEN,MAAM,CAACJ,KAAD,CADR;IAEHW,eAAe,EAAEN,MAAM,CAACL,KAAD,CAFpB;IAGHY,eAAe,EAAEN,WAAW,CAACN,KAAD;GAHhC;AAKH;AAED;;;;AAGC,SAAgBa,YAAYb,OAAsBc;MAAAA;IAAAA,WAAmB;;;EAClE,IAAIC,QAAQ,GAAGf,KAAf;;EACA,IAAI,OAAOA,KAAP,KAAiB,QAArB,EAA+B;IAC3Be,QAAQ,GAAGf,KAAK,CAACS,OAAN,CAAc,UAAd,EAA0B,EAA1B,CAAX;;;EAGJ,OAAOR,MAAM,CAACc,QAAD,CAAN,CAAiBC,cAAjB,CAAgC,IAAhC,EAAsC;IACzCC,qBAAqB,EAAEH,QADkB;IAEzCI,qBAAqB,EAAEJ;GAFpB,CAAP;AAIH;AAED;;;;AAGA,SAAgBK,aAAanB;EACzB,OAAOG,UAAU,CAACH,KAAK,CAACS,OAAN,CAAc,UAAd,EAA0B,EAA1B,CAAD,CAAjB;AACH;;SCrEeW,oBAAoBC;EAChC,IAAIC,IAAJ;;EAEA,QAAQD,SAAR;IACI,KAAK,iBAAL;IACA,KAAK,sCAAL;IACA,KAAK,gBAAL;IACA,KAAK,yBAAL;IACA,KAAK,KAAL;IACA,KAAK,eAAL;MAAsB;QAClBC,IAAI,GAAG,WAAP;QACA;;;IAEJ,KAAK,YAAL;IACA,KAAK,KAAL;IACA,KAAK,OAAL;IACA,KAAK,SAAL;IACA,KAAK,sBAAL;IACA,KAAK,iCAAL;MAAwC;QACpCA,IAAI,GAAG,YAAP;QACA;;;IAEJ,KAAK,mBAAL;IACA,KAAK,yBAAL;IACA,KAAK,SAAL;IACA;MACIA,IAAI,GAAG,KAAP;;;EAGR,OAAOA,IAAP;AACH;;;;"}
@@ -119,7 +119,7 @@ export interface QuoteRequestForm {
119
119
  declaration: {
120
120
  id?: number;
121
121
  had_incident?: boolean;
122
- incidents?: QuoteRequestIncident[];
122
+ incidents: QuoteRequestIncident[];
123
123
  has_demerit_points?: boolean;
124
124
  demerit_points?: string;
125
125
  has_lost_licence?: boolean;
@@ -1,3 +1,4 @@
1
+ import { VehicleType } from "../../api";
1
2
  export interface QuoteRequestOptions {
2
3
  club_options: SimpleOption[];
3
4
  driver_licence_options: SimpleOption[];
@@ -8,7 +9,11 @@ export interface QuoteRequestOptions {
8
9
  referrer_category_options: SimpleOption[];
9
10
  relationship_options: SimpleOption[];
10
11
  storage_location_options: SimpleOption[];
11
- vehicle_usage_options: SimpleOption[];
12
+ vehicle_usage_options: {
13
+ id: number;
14
+ name: string;
15
+ vehicle_type: VehicleType;
16
+ }[];
12
17
  policy_benefit_template_options: SimpleOption[];
13
18
  referrer_options: {
14
19
  id: number;
package/package.json CHANGED
@@ -2,7 +2,7 @@
2
2
  "name": "@star-insure/sdk",
3
3
  "description": "The SDK for Star Insure client apps with shared helper functions and TypeScript definitions.",
4
4
  "author": "alexclark_nz",
5
- "version": "0.1.10",
5
+ "version": "0.1.13",
6
6
  "license": "MIT",
7
7
  "repository": {
8
8
  "type": "git",
package/src/lib/index.ts CHANGED
@@ -1,2 +1,3 @@
1
1
  export * from './dates';
2
2
  export * from './money';
3
+ export * from './vehicles';
@@ -0,0 +1,33 @@
1
+ import { VehicleType } from "../types";
2
+
3
+ export function sanitiseVehicleType(inputType: string): VehicleType {
4
+ let type: VehicleType;
5
+
6
+ switch (inputType) {
7
+ case 'TRAILER_CARAVAN':
8
+ case 'TRAILER_NOT_DESIGNED_FOR_HIGHWAY_USE':
9
+ case 'MOBILE_MACHINE':
10
+ case 'GOODS_VAN_TRUCK_UTILITY':
11
+ case 'BUS':
12
+ case 'MOTOR_CARAVAN': {
13
+ type = 'motorhome';
14
+ break;
15
+ }
16
+ case 'MOTORCYCLE':
17
+ case 'ATV':
18
+ case 'MOPED':
19
+ case 'TRACTOR':
20
+ case 'AGRICULTURAL_MACHINE':
21
+ case 'HIGH_SPEED_AGRICULTURAL_VEHICLE': {
22
+ type = 'motorcycle';
23
+ break;
24
+ }
25
+ case 'PASSENGER_CAR_VAN':
26
+ case 'SPECIAL_PURPOSE_VEHICLE':
27
+ case 'UNKNOWN':
28
+ default:
29
+ type = 'car';
30
+ }
31
+
32
+ return type;
33
+ }
@@ -137,7 +137,7 @@ export interface QuoteRequestForm {
137
137
  declaration: {
138
138
  id?: number;
139
139
  had_incident?: boolean;
140
- incidents?: QuoteRequestIncident[];
140
+ incidents: QuoteRequestIncident[];
141
141
  has_demerit_points?: boolean;
142
142
  demerit_points?: string;
143
143
  has_lost_licence?: boolean;
@@ -1,3 +1,5 @@
1
+ import { VehicleType } from "../../api";
2
+
1
3
  export interface QuoteRequestOptions {
2
4
  club_options: SimpleOption[];
3
5
  driver_licence_options: SimpleOption[];
@@ -8,7 +10,11 @@ export interface QuoteRequestOptions {
8
10
  referrer_category_options: SimpleOption[];
9
11
  relationship_options: SimpleOption[];
10
12
  storage_location_options: SimpleOption[];
11
- vehicle_usage_options: SimpleOption[];
13
+ vehicle_usage_options: {
14
+ id: number;
15
+ name: string;
16
+ vehicle_type: VehicleType;
17
+ }[];
12
18
  policy_benefit_template_options: SimpleOption[];
13
19
  referrer_options: {
14
20
  id: number;