@accounter/modern-poalim-scraper
Version:
Modern scraper for Israeli banks (Hapoalim, Isracard, Max)
65 lines (64 loc) • 2.77 kB
TypeScript
import { z } from 'zod';
/**
* Static reference info for a single security, from the "mytrade" portfolio API
* (`View.Meta.Security[]`). Keys prefixed with `-` are XML-to-JSON artifacts.
*
* Every key is always present; absent values arrive as `null` rather than being
* omitted. `expirationDate`, `creationEquityNum` and `contractType` were null in
* every observed row, so they are typed permissively rather than as `z.null()`.
*/
declare const PoalimSecuritySchema: z.ZodObject<{
'-Key': z.ZodString;
EngName: z.ZodString;
HebName: z.ZodString;
ItemType: z.ZodString;
IsEtf: z.ZodNullable<z.ZodBoolean>;
IsForeign: z.ZodBoolean;
CurrencyCode: z.ZodString;
Exchange: z.ZodString;
EquityType: z.ZodNumber;
AllowedOrderDirection: z.ZodNullable<z.ZodString>;
EquitySubType: z.ZodNumber;
EngSymbol: z.ZodNullable<z.ZodString>;
HebSymbol: z.ZodNullable<z.ZodString>;
Symbol: z.ZodNullable<z.ZodString>;
ExpirationDate: z.ZodNullable<z.ZodString>;
StockType: z.ZodNullable<z.ZodString>;
CreationEquityNum: z.ZodNullable<z.ZodString>;
ContractType: z.ZodNullable<z.ZodString>;
}, z.core.$strict>;
/**
* Only `View.Meta` is modelled. `View.Account` (live balances and holdings) and
* `View.Orders` are intentionally left loose — accounter does not consume them,
* and pinning them down would make the schema churn on every bank-side change.
*/
export declare const HapoalimSecuritiesSchema: z.ZodObject<{
View: z.ZodObject<{
Meta: z.ZodObject<{
'-AsOfDate': z.ZodString;
Security: z.ZodDefault<z.ZodArray<z.ZodObject<{
'-Key': z.ZodString;
EngName: z.ZodString;
HebName: z.ZodString;
ItemType: z.ZodString;
IsEtf: z.ZodNullable<z.ZodBoolean>;
IsForeign: z.ZodBoolean;
CurrencyCode: z.ZodString;
Exchange: z.ZodString;
EquityType: z.ZodNumber;
AllowedOrderDirection: z.ZodNullable<z.ZodString>;
EquitySubType: z.ZodNumber;
EngSymbol: z.ZodNullable<z.ZodString>;
HebSymbol: z.ZodNullable<z.ZodString>;
Symbol: z.ZodNullable<z.ZodString>;
ExpirationDate: z.ZodNullable<z.ZodString>;
StockType: z.ZodNullable<z.ZodString>;
CreationEquityNum: z.ZodNullable<z.ZodString>;
ContractType: z.ZodNullable<z.ZodString>;
}, z.core.$strict>>>;
}, z.core.$strict>;
}, z.core.$loose>;
}, z.core.$loose>;
export type HapoalimSecurities = z.infer<typeof HapoalimSecuritiesSchema>;
export type PoalimSecurity = z.infer<typeof PoalimSecuritySchema>;
export {};