@hyperscale0/hsx 5.5.0 → 5.7.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/CHANGELOG.md +21 -0
- package/dist/src/compile.d.ts +5 -0
- package/dist/src/compile.d.ts.map +1 -1
- package/dist/src/compile.js +99 -7
- package/dist/src/compile.js.map +1 -1
- package/dist/src/examples-bundle.js +3 -3
- package/dist/src/examples-bundle.js.map +1 -1
- package/dist/src/std-bundle.js +2 -2
- package/dist/src/std-bundle.js.map +1 -1
- package/dist/src/version.d.ts +1 -1
- package/dist/src/version.js +1 -1
- package/docs/README.md +45 -11
- package/docs/examples.md +1 -1
- package/examples/collections.hsx +8 -2
- package/examples/financing.hsx +5 -0
- package/examples/lending.hsx +7 -1
- package/package.json +3 -3
- package/src/compile.ts +127 -3
- package/src/examples-bundle.ts +3 -3
- package/src/std-bundle.ts +2 -2
- package/src/version.ts +1 -1
- package/std/financing.hsx +3 -1
- package/std/travel.hsx +3 -3
package/src/version.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export const HSX_VERSION = "5.
|
|
1
|
+
export const HSX_VERSION = "5.7.0";
|
package/std/financing.hsx
CHANGED
|
@@ -497,7 +497,7 @@ instrument late_charge(on: ref<financing.installments>[], grace: duration = 3d,
|
|
|
497
497
|
receivable: account(self, claim), debt: account(borrower, claim, contra, "debt")
|
|
498
498
|
}
|
|
499
499
|
lifecycle { states: [proposed, assessed, collected, waived], initial: proposed }
|
|
500
|
-
action create { calculate: [{ target: overdueAt, op: shift, date: { field: self.slice.dueAt }, milliseconds: { literal: grace }, direction: after }], requires unique "late_assessment" on [self.slice, self.overdueAt]; requires self.borrower == self.slice.plan.borrower; requires self.plan == self.slice.plan }
|
|
500
|
+
action create { input { slice: ref<on.slice>? }, calculate: [{ target: overdueAt, op: shift, date: { field: self.slice.dueAt }, milliseconds: { literal: grace }, direction: after }], requires unique "late_assessment" on [self.slice, self.overdueAt]; requires self.borrower == self.slice.plan.borrower; requires self.plan == self.slice.plan }
|
|
501
501
|
action assess { allowZero: true,
|
|
502
502
|
from: proposed, to: assessed, actor: clock, due: { at: self.overdueAt }
|
|
503
503
|
requires self.slice.principalReceivable.balance > "0"
|
|
@@ -630,6 +630,7 @@ instrument late_charge(on: ref<financing.installments>[], grace: duration = 3d,
|
|
|
630
630
|
|
|
631
631
|
instrument limits(per_borrower: money, borrower: party = party(person), active_plans: integer = 1) {
|
|
632
632
|
familyRevision: 1
|
|
633
|
+
scope: product
|
|
633
634
|
summary: "One outstanding balance ceiling per borrower."
|
|
634
635
|
fields { borrower: account of borrower, limit: money = per_borrower, activePlans: integer = active_plans }
|
|
635
636
|
lifecycle { states: [pending, approved], initial: pending }
|
|
@@ -639,6 +640,7 @@ instrument limits(per_borrower: money, borrower: party = party(person), active_p
|
|
|
639
640
|
|
|
640
641
|
instrument portfolio_limit(limit: money) {
|
|
641
642
|
familyRevision: 1
|
|
643
|
+
scope: product
|
|
642
644
|
summary: "One shared ceiling on the principal the product may hold."
|
|
643
645
|
fields { key: text = "portfolio", limit: money = limit }
|
|
644
646
|
lifecycle { states: [pending, approved], initial: pending }
|
package/std/travel.hsx
CHANGED
|
@@ -81,11 +81,11 @@ instrument booking(package: ref<travel.package>, buyer: party, supplier: party,
|
|
|
81
81
|
from: paid, to: refunded, actor: clock, due: { at: self.confirmBy }
|
|
82
82
|
moves self.price from self.held to buyer economics { purpose: principal, sourceParty: programOperator }
|
|
83
83
|
}
|
|
84
|
-
action cancel_early { allowZero: true, requires self.price > "0";
|
|
84
|
+
action cancel_early { allowZero: true, purpose: option, requires self.price > "0";
|
|
85
85
|
from: [deposit_paid, paid], to: cancelled, actor: { party: buyer }, deadline: { at: self.earlyAt }
|
|
86
86
|
moves self.held.balance from self.held to buyer economics { purpose: principal, sourceParty: programOperator }
|
|
87
87
|
}
|
|
88
|
-
action cancel_middle { allowZero: true, requires self.price > "0";
|
|
88
|
+
action cancel_middle { allowZero: true, purpose: option, requires self.price > "0";
|
|
89
89
|
from: [deposit_paid, paid], to: cancelled, actor: { party: buyer }, due: { at: self.earlyAt }, deadline: { at: self.lateAt }
|
|
90
90
|
calculate: [
|
|
91
91
|
{ target: refund, op: "subtract", base: { field: self.held.balance }, subtract: [{ field: self.deposit }] }
|
|
@@ -98,7 +98,7 @@ instrument booking(package: ref<travel.package>, buyer: party, supplier: party,
|
|
|
98
98
|
moves self.retainedTax from self.held to programTax economics { purpose: pass_through, sourceParty: programOperator }
|
|
99
99
|
moves self.retainedNet from self.held to operator economics { recipient: operator, company: { purpose: earning, sourceParty: buyer }, participant: { purpose: participant_payout, sourceParty: programOperator } }
|
|
100
100
|
}
|
|
101
|
-
action cancel_late { allowZero: true, requires self.price > "0";
|
|
101
|
+
action cancel_late { allowZero: true, purpose: option, requires self.price > "0";
|
|
102
102
|
from: [deposit_paid, paid], to: cancelled, actor: { party: buyer }, due: { at: self.lateAt }
|
|
103
103
|
calculate: [
|
|
104
104
|
{ target: retainedMargin, op: "subtract", base: { field: self.held.balance }, subtract: [{ field: self.latePenalty }] }
|