Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Implement map:for-each in default function library #301

Open
1 of 6 tasks
aj-stein-gsa opened this issue Dec 18, 2024 · 1 comment
Open
1 of 6 tasks

Implement map:for-each in default function library #301

aj-stein-gsa opened this issue Dec 18, 2024 · 1 comment
Assignees
Labels
enhancement New feature or request java Pull requests that update Java code

Comments

@aj-stein-gsa
Copy link
Contributor

User Story

Now that we have #266, I would like to request that we implement map:for-each per the related specification. It is not implemented at this time.

me@computer metaschema-java % ~/opt/bin/metaschema-cli --version              
metaschema-java 2.2.0-SNAPSHOT built at 2024-12-04T02:52:47+0000 from branch develop (55ee739) at https://github.com/metaschema-framework/metaschema-java
metaschema 2.2.0-SNAPSHOT built at 2024-12-04T02:52:47+0000 from branch develop (b6601f7) at https://github.com/metaschema-framework/metaschema.git
me@computer metaschema-java % ~/opt/bin/metaschema-cli metapath list-functions | grep map
In namespace 'http://csrc.nist.gov/ns/metaschema/metapath-functions/map' as 'map':
map:contains(map as map(*),key as meta:any-atomic-type) as meta:boolean
map:entry(key as meta:any-atomic-type,item as item()*) as item()
map:find(input as item()*,key as meta:any-atomic-type) as array(*)
map:get(map as map(*),key as meta:any-atomic-type) as item()?
map:keys(map as map(*)) as meta:any-atomic-type*
map:merge(maps as map(*)*) as map(*)
map:merge(maps as map(*)*,options as map(*)) as map(*)
map:put(map as map(*),key as meta:any-atomic-type,value as item()*) as map(*)
map:remove(map as map(*),keys as meta:any-atomic-type*) as map(*)
map:size(map as map(*)) as meta:integer

Goals

  • Use anonymous function declaration for flexible map usage
  • Allow flexible meta:map(*) processing in Metapath to process or transfer content on the fly

Dependencies

Acceptance Criteria

  • All website and readme documentation affected by the changes in this issue have been updated.
  • A Pull Request (PR) is submitted that fully addresses the goals of this User Story. This issue is referenced in the PR.
  • The CI-CD build process runs without any reported errors on the PR. This can be confirmed by reviewing that all checks have passed in the PR.

Revisions

No response

@wandmagic
Copy link
Contributor

this is exciting

@aj-stein-gsa aj-stein-gsa moved this from To Triage to Ready in Spec and Tooling Work Board Dec 19, 2024
@aj-stein-gsa aj-stein-gsa self-assigned this Dec 19, 2024
aj-stein-gsa added a commit to aj-stein-gsa/metaschema-java that referenced this issue Dec 20, 2024
aj-stein-gsa added a commit to aj-stein-gsa/metaschema-java that referenced this issue Dec 20, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request java Pull requests that update Java code
Projects
Status: Ready
Development

No branches or pull requests

2 participants