Comments (4)
One way would be to "override" the Schema.prototype.defaultValue function and adapt it to eval something. Since I agree that this is a pretty custom thing maybe Jsonary should only enable such a hack; There is a Jsonary.extendSchema()
but not an Jsonary.overrideSchema()
@geraintluff what do you think? Shall I create such a pull request? Or do you have a better idea?
from jsonary.
Sorry, I've been out of the world for a bit.
I think a clean way to do this would be to register custom value-generation functions, like:
Jsonary.addValueGenerator(function (schemaList) {
if (schemaList.containsFormat('my-format')) {
return "** Default data **";
}
});
from jsonary.
Did you mean extendCreateValue
since there is no addValueGenerator
?
from jsonary.
OK this works:
Jsonary.extendCreateValue(function (schemaList) {
var dfString;
schemaList.each(function (index, schema) {
dfString = schema.data.propertyValue("defaultJSFunction");
});
//dfString is one of the dfStrings if more than one schema exists
if (dfString) {
//eval it
var res;
try {
var df = eval(dfString);
res = df();
} catch (e) {
console.log("eval defaultJSFunction failed: " + e);
}
;
//console.log(res);
return res;
}
});
from jsonary.
Related Issues (20)
- adaptive table and properties not in a schema HOT 4
- Use "preview" link relation
- Using Links for virtual columns in adaptive table HOT 4
- links in adaptive table do not expand since last changes... HOT 3
- How to access parent data HOT 2
- describedby question HOT 3
- is there a way to escape text displayed as a string to be interpreted as html HOT 4
- title isn't respected when property is defined via "$ref" HOT 5
- one more allOf and additionalProperties question HOT 4
- adaptive-table object rendering - again
- Editing with an rel=edit and/or method=PUT should prefill the form with current model values HOT 1
- Editing doesn't support enums HOT 1
- issue with select generated for multiple oneOfs inside an allOf HOT 1
- clousure compiler warnings HOT 1
- default Value not set when loaded via link with described by HOT 1
- The Website Is Down HOT 8
- Can this be used on the client side? HOT 1
- Package Licensing HOT 1
- Is it possible to get a list of properties of schema?
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from jsonary.