mirror of
https://github.com/harttle/liquidjs.git
synced 2026-09-18 05:50:43 -07:00
feat(context): null-prototype scope frames via createScope (#899)
- Add createScope() building Object.create(null) with optional own props - Initialize context stack bottom with createScope() for assign/capture - Push null-proto scopes from for, tablerow, block, layout, include (incl. Jekyll) Co-authored-by: Cursor <[email protected]>
This commit is contained in:
@@ -1,7 +1,13 @@
|
||||
import { Drop } from '../drop/drop'
|
||||
|
||||
interface ScopeObject extends Record<string | number | symbol, any> {
|
||||
export interface ScopeObject extends Record<string | number | symbol, any> {
|
||||
toLiquid?: () => any;
|
||||
}
|
||||
|
||||
export type Scope = ScopeObject | Drop
|
||||
|
||||
export function createScope (from?: ScopeObject): ScopeObject {
|
||||
const scope = Object.create(null)
|
||||
if (from) Object.assign(scope, from)
|
||||
return scope
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user