ts-japi 1.5.1 → 1.6.2
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/.prettierrc +10 -0
- package/CHANGELOG.md +56 -16
- package/Makefile +19 -0
- package/README.md +235 -159
- package/api-extractor.json +14 -0
- package/benchmarks/playground.benchmark.ts +32 -32
- package/benchmarks/serializer.benchmark.ts +29 -29
- package/lib/classes/cache.d.ts +6 -6
- package/lib/classes/cache.d.ts.map +1 -1
- package/lib/classes/cache.js +26 -48
- package/lib/classes/cache.js.map +1 -1
- package/lib/classes/error-serializer.d.ts +9 -9
- package/lib/classes/error-serializer.d.ts.map +1 -1
- package/lib/classes/error-serializer.js +58 -125
- package/lib/classes/error-serializer.js.map +1 -1
- package/lib/classes/linker.d.ts +8 -8
- package/lib/classes/linker.d.ts.map +1 -1
- package/lib/classes/linker.js +15 -40
- package/lib/classes/linker.js.map +1 -1
- package/lib/classes/metaizer.d.ts +6 -6
- package/lib/classes/metaizer.d.ts.map +1 -1
- package/lib/classes/metaizer.js +12 -37
- package/lib/classes/metaizer.js.map +1 -1
- package/lib/classes/paginator.d.ts +6 -6
- package/lib/classes/paginator.d.ts.map +1 -1
- package/lib/classes/paginator.js +17 -16
- package/lib/classes/paginator.js.map +1 -1
- package/lib/classes/relator.d.ts +19 -18
- package/lib/classes/relator.d.ts.map +1 -1
- package/lib/classes/relator.js +70 -110
- package/lib/classes/relator.js.map +1 -1
- package/lib/classes/serializer.d.ts +20 -19
- package/lib/classes/serializer.d.ts.map +1 -1
- package/lib/classes/serializer.js +213 -311
- package/lib/classes/serializer.js.map +1 -1
- package/lib/index.d.ts +20 -20
- package/lib/index.js +17 -10
- package/lib/index.js.map +1 -1
- package/lib/interfaces/cache.interface.d.ts +3 -3
- package/lib/interfaces/cache.interface.d.ts.map +1 -1
- package/lib/interfaces/cache.interface.js +1 -1
- package/lib/interfaces/error-serializer.interface.d.ts +15 -15
- package/lib/interfaces/error-serializer.interface.d.ts.map +1 -1
- package/lib/interfaces/error-serializer.interface.js +1 -1
- package/lib/interfaces/error.interface.d.ts.map +1 -1
- package/lib/interfaces/error.interface.js +1 -1
- package/lib/interfaces/json-api.interface.d.ts +7 -7
- package/lib/interfaces/json-api.interface.d.ts.map +1 -1
- package/lib/interfaces/json-api.interface.js +1 -1
- package/lib/interfaces/linker.interface.d.ts +2 -2
- package/lib/interfaces/linker.interface.d.ts.map +1 -1
- package/lib/interfaces/linker.interface.js +1 -1
- package/lib/interfaces/paginator.interface.d.ts +1 -1
- package/lib/interfaces/paginator.interface.d.ts.map +1 -1
- package/lib/interfaces/paginator.interface.js +1 -1
- package/lib/interfaces/relator.interface.d.ts +7 -7
- package/lib/interfaces/relator.interface.d.ts.map +1 -1
- package/lib/interfaces/relator.interface.js +1 -1
- package/lib/interfaces/serializer.interface.d.ts +30 -30
- package/lib/interfaces/serializer.interface.d.ts.map +1 -1
- package/lib/interfaces/serializer.interface.js +1 -1
- package/lib/models/error.model.d.ts +5 -5
- package/lib/models/error.model.d.ts.map +1 -1
- package/lib/models/error.model.js +59 -22
- package/lib/models/error.model.js.map +1 -1
- package/lib/models/link.model.d.ts +2 -2
- package/lib/models/link.model.d.ts.map +1 -1
- package/lib/models/link.model.js +11 -10
- package/lib/models/link.model.js.map +1 -1
- package/lib/models/meta.model.d.ts.map +1 -1
- package/lib/models/meta.model.js +5 -6
- package/lib/models/meta.model.js.map +1 -1
- package/lib/models/relationship.model.d.ts +4 -4
- package/lib/models/relationship.model.d.ts.map +1 -1
- package/lib/models/relationship.model.js +11 -9
- package/lib/models/relationship.model.js.map +1 -1
- package/lib/models/resource-identifier.model.d.ts +1 -1
- package/lib/models/resource-identifier.model.d.ts.map +1 -1
- package/lib/models/resource-identifier.model.js +11 -9
- package/lib/models/resource-identifier.model.js.map +1 -1
- package/lib/models/resource.model.d.ts +4 -4
- package/lib/models/resource.model.d.ts.map +1 -1
- package/lib/models/resource.model.js +13 -26
- package/lib/models/resource.model.js.map +1 -1
- package/lib/tsdoc-metadata.json +11 -0
- package/lib/types/global.types.d.ts.map +1 -1
- package/lib/types/global.types.js +1 -1
- package/lib/utils/is-error-document.d.ts +2 -2
- package/lib/utils/is-error-document.js +7 -9
- package/lib/utils/is-error-document.js.map +1 -1
- package/lib/utils/is-object.js +2 -2
- package/lib/utils/is-object.js.map +1 -1
- package/lib/utils/is-plain-object.js +6 -6
- package/lib/utils/is-plain-object.js.map +1 -1
- package/lib/utils/merge.d.ts +3 -3
- package/lib/utils/merge.d.ts.map +1 -1
- package/lib/utils/merge.js +16 -62
- package/lib/utils/merge.js.map +1 -1
- package/lib/utils/serializer.utils.d.ts +5 -4
- package/lib/utils/serializer.utils.d.ts.map +1 -1
- package/lib/utils/serializer.utils.js +57 -168
- package/lib/utils/serializer.utils.js.map +1 -1
- package/package.json +94 -107
- package/tools/generate_docs.ts +33 -0
- package/tools/internal/custom_markdown_action.ts +32 -0
- package/tools/internal/custom_markdown_documenter.ts +1337 -0
- package/tsconfig.json +60 -83
- package/CONTRIBUTING.md +0 -127
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"serializer.js","sourceRoot":"","sources":["../../src/classes/serializer.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"serializer.js","sourceRoot":"","sources":["../../src/classes/serializer.ts"],"names":[],"mappings":";;;;;AAGA,oGAAoG;AACpG,8EAAqE;AAErE,2DAAmC;AACnC,gEAAqE;AACrE,oDAA4B;AAG5B;;;;;;;;GAQG;AACH,MAAqB,UAAU;IAC7B;;OAEG;IACI,MAAM,CAAC,cAAc,GAAG;QAC7B,KAAK,EAAE,IAAI;QACX,OAAO,EAAE,KAAK;QACd,cAAc,EAAE,KAAK;QACrB,QAAQ,EAAE,KAAK;QACf,UAAU,EAAE,KAAK;QACjB,gBAAgB,EAAE,KAAK;QACvB,KAAK,EAAE,KAAK;QACZ,KAAK,EAAE,CAAC;QACR,UAAU,EAAE,IAAI;QAChB,OAAO,EAAE,EAAE;QACX,SAAS,EAAE,EAAE;KACd,CAAC;IAEF;;OAEG;IACI,cAAc,CAAS;IAE9B;;OAEG;IACK,OAAO,CAAiC;IAEhD;;OAEG;IACI,OAAO,CAAuB;IAErC;;OAEG;IACI,KAAK,GAAG,IAAI,eAAK,EAAe,CAAC;IAExC;;;;;OAKG;IACH,YACE,cAAsB,EACtB,UAAmD,EAAE;QAErD,2BAA2B;QAC3B,IAAI,CAAC,OAAO,GAAG,IAAA,eAAK,EAAC,EAAE,EAAE,UAAU,CAAC,cAAc,EAAE,OAAO,CAAC,CAAC;QAC7D,IAAI,CAAC,OAAO,GAAG,IAAI,0BAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACzC,IAAI,IAAI,CAAC,OAAO,CAAC,KAAK,IAAI,IAAI,CAAC,OAAO,CAAC,KAAK,YAAY,eAAK,EAAE;YAC7D,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC;SACjC;QAED,qBAAqB;QACrB,IAAI,CAAC,cAAc,GAAG,cAAc,CAAC;IACvC,CAAC;IAED;;OAEG;IACI,WAAW;QAChB,OAAO,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC;IAC/B,CAAC;IAED;;OAEG;IACI,WAAW,CAAC,QAAoD;QACrE,IAAI,CAAC,OAAO,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACjC,IAAI,CAAC,OAAO,GAAG,IAAI,0BAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAC3C,CAAC;IAED,kDAAkD;IAC3C,gBAAgB,CAAC,IAAiB,EAAE,OAAwC;QACjF,cAAc;QACd,IAAI,OAAO,KAAK,SAAS;YAAE,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC;QAElD,MAAM,iBAAiB,GAA8B,EAAE,CAAC;QAExD,IAAI,OAAO,CAAC,SAAS,CAAC,QAAQ,EAAE;YAC9B,iBAAiB,CAAC,IAAI,GAAG,OAAO,CAAC,SAAS,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;SACnE;QAED,OAAO,IAAI,mCAAkB,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,IAAI,CAAC,cAAc,EAAE,iBAAiB,CAAC,CAAC;IAC7F,CAAC;IAED,wCAAwC;IACjC,KAAK,CAAC,cAAc,CACzB,IAAiB,EACjB,OAAwC,EACxC,OAA8B,EAC9B,gBAAuD;QAEvD,cAAc;QACd,IAAI,OAAO,KAAK,SAAS,IAAI,OAAO,KAAK,SAAS,EAAE;YAClD,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC;YACvB,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC;SACxB;QAED,MAAM,eAAe,GAAiC,EAAE,CAAC;QAEzD,6BAA6B;QAC7B,MAAM,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QAC/B,MAAM,IAAI,GAAG,IAAI,CAAC,cAAc,CAAC;QAEjC,iBAAiB;QACjB,eAAe,CAAC,UAAU,GAAG,OAAO,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC;QAE7D,oBAAoB;QACpB,IAAI,OAAO,CAAC,QAAQ,EAAE;YACpB,MAAM,aAAa,GAAiC,EAAE,CAAC;YAEvD,MAAM,OAAO,CAAC,GAAG,CACf,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC,IAAI,EAAE,OAAO,CAAC,EAAE,EAAE;gBAC7D,IAAI,gBAA+C,CAAC;gBACpD,IAAI,gBAAgB,EAAE;oBACpB,gBAAgB,GAAG,gBAAgB,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;oBACvD,gBAAgB,CAAC,GAAG,CAAC,OAAO,EAAE,gBAAgB,CAAC,CAAC;iBACjD;gBAED,aAAa,CAAC,IAAI,CAAC,GAAG,MAAM,OAAO,CAAC,eAAe,CAAC,IAAI,EAAE,gBAAgB,CAAC,CAAC;YAC9E,CAAC,CAAC,CACH,CAAC;YACF,eAAe,CAAC,aAAa,GAAG,aAAa,CAAC;SAC/C;QAED,iBAAiB;QACjB,IAAI,OAAO,CAAC,OAAO,CAAC,QAAQ,EAAE;YAC5B,eAAe,CAAC,KAAK,GAAG,EAAE,IAAI,EAAE,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;SACvE;QAED,IAAI,OAAO,CAAC,SAAS,CAAC,QAAQ,EAAE;YAC9B,eAAe,CAAC,IAAI,GAAG,OAAO,CAAC,SAAS,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;SACjE;QAED,OAAO,IAAI,wBAAQ,CAAc,EAAE,EAAE,IAAI,EAAE,eAAe,CAAC,CAAC;IAC9D,CAAC;IAED;;;;;OAKG;IACI,KAAK,CAAC,SAAS,CACpB,IAA0C,EAC1C,OAAiD;QAEjD,iBAAiB;QACjB,IAAI,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC;QACrB,IAAI,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC;QAErB,IAAI,OAAO,KAAK,SAAS,EAAE;YACzB,CAAC,GAAG,IAAA,eAAK,EAAC,EAAE,EAAE,CAAC,EAAE,OAAO,CAAC,CAAC;YAC1B,CAAC,GAAG,IAAI,0BAAO,CAAC,CAAC,CAAC,CAAC;SACpB;QAED,MAAM,KAAK,GAAuB,CAAC,CAAC,KAAK,YAAY,eAAK,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC;QAClF,IAAI,CAAC,CAAC,KAAK,EAAE;YACX,MAAM,cAAc,GAAG,KAAK,CAAC,GAAG,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;YAChD,IAAI,cAAc,EAAE;gBAClB,OAAO,cAAc,CAAC;aACvB;SACF;QAED,+CAA+C;QAC/C,MAAM,QAAQ,GAAuC,EAAE,CAAC;QAExD,sBAAsB;QACtB,IAAI,CAAC,CAAC,OAAO,EAAE;YACb,QAAQ,CAAC,OAAO,GAAG,EAAE,GAAG,QAAQ,CAAC,OAAO,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC;SAChE;QAED,IAAI,CAAC,CAAC,SAAS,CAAC,OAAO,EAAE;YACvB,QAAQ,CAAC,OAAO,GAAG,EAAE,GAAG,QAAQ,CAAC,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,SAAS,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC;SACjF;QAED,8CAA8C;QAC9C,MAAM,gBAAgB,GAAyC,IAAI,GAAG,EAAE,CAAC;QAEzE,MAAM,IAAI,GAAa,EAAE,CAAC;QAC1B,IAAI,SAAS,GAAG,KAAK,CAAC;QACtB,IAAI,GAAG,CAAC;QACR,IAAI,gBAAgB,CAAC;QACrB,IAAI,cAAc,CAAC;QACnB,IAAI,QAAQ,CAAC;QAEb,0CAA0C;QAC1C,IAAI,CAAC,CAAC,gBAAgB,EAAE;YACtB,oBAAoB;YACpB,IAAI,CAAC,CAAC,QAAQ,KAAK,SAAS,EAAE;gBAC5B,MAAM,IAAI,SAAS,CAAC,0DAA0D,CAAC,CAAC;aACjF;YACD,IAAI,CAAC,IAAI,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;gBAChC,MAAM,IAAI,SAAS,CAAC,kEAAkE,CAAC,CAAC;aACzF;YACD,MAAM,OAAO,GAAG,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC;YAC/C,IAAI,OAAO,KAAK,SAAS,EAAE;gBACzB,MAAM,IAAI,SAAS,CACjB,mGAAmG,CACpG,CAAC;aACH;YAED,sBAAsB;YACtB,MAAM,WAAW,GAAG,MAAM,OAAO,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;YAEvD,uBAAuB;YACvB,MAAM,KAAK,GAAG,OAAO,CAAC,eAAe,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;YACzD,IAAI,KAAK;gBAAE,QAAQ,CAAC,KAAK,GAAG,KAAK,CAAC;YAElC,sBAAsB;YACtB,MAAM,IAAI,GAAG,OAAO,CAAC,cAAc,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;YACvD,IAAI,IAAI;gBAAE,QAAQ,CAAC,IAAI,GAAG,IAAI,CAAC;YAE/B,gBAAgB,GAAG,CAAC,KAAU,EAAE,EAAE,CAAC,OAAO,CAAC,oBAAoB,CAAC,KAAK,CAAC,CAAC;YACvE,cAAc,GAAG,KAAK,EAAE,KAAU,EAAE,EAAE;gBACpC,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAC,kBAAkB,CAAC,KAAK,CAAC,CAAC;gBACzD,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC;gBAC7B,OAAO,QAAQ,CAAC;YAClB,CAAC,CAAC;YACF,QAAQ,GAAG,OAAO,CAAC,kBAAkB,EAAE,CAAC;YACxC,GAAG,GAAG,WAAW,CAAC;SACnB;aAAM;YACL,cAAc;YACd,IAAI,CAAC,CAAC,SAAS,CAAC,QAAQ,EAAE;gBACxB,QAAQ,CAAC,IAAI,GAAG,CAAC,CAAC,SAAS,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;aACpD;YAED,eAAe;YACf,IAAI,CAAC,CAAC,OAAO,CAAC,QAAQ,EAAE;gBACtB,QAAQ,CAAC,KAAK,GAAG,EAAE,GAAG,QAAQ,CAAC,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;aAC7E;YAED,0BAA0B;YAC1B,IAAI,CAAC,CAAC,OAAO,CAAC,SAAS,EAAE;gBACvB,MAAM,UAAU,GAAG,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAmC,CAAC,CAAC;gBACrF,IAAI,UAAU,EAAE;oBACd,QAAQ,CAAC,KAAK,GAAG,EAAE,GAAG,QAAQ,CAAC,KAAK,EAAE,GAAG,UAAU,EAAE,CAAC;iBACvD;aACF;YAED,gBAAgB,GAAG,CAAC,KAAkB,EAAE,EAAE,CAAC,IAAI,CAAC,gBAAgB,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;YAC3E,cAAc,GAAG,KAAK,EAAE,KAAkB,EAAE,EAAE;gBAC5C,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,KAAK,EAAE,CAAC,EAAE,CAAC,EAAE,gBAAgB,CAAC,CAAC;gBAC1E,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC;gBAC7B,OAAO,QAAQ,CAAC;YAClB,CAAC,CAAC;YACF,QAAQ,GAAG,CAAC,CAAC,QAAQ,CAAC;YACtB,GAAG,GAAG,IAAI,CAAC;SACZ;QAED,IAAI,GAAG,KAAK,SAAS,EAAE;YACrB,OAAO,KAAK,CAAC,GAAG,CAAC,IAAI,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;SAC3C;QAED,IAAI,CAAC,CAAC,QAAQ,IAAI,GAAG,KAAK,IAAI,EAAE;YAC9B,QAAQ,CAAC,IAAI,GAAG,IAAI,CAAC;YACrB,OAAO,KAAK,CAAC,GAAG,CAAC,IAAI,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;SAC3C;QAED,iCAAiC;QACjC,IAAI,CAAC,CAAC,cAAc,EAAE;YACpB,QAAQ,CAAC,IAAI,GAAG,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC;YACvF,OAAO,KAAK,CAAC,GAAG,CAAC,IAAI,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;SAC3C;QAED,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE;YACvB,SAAS,GAAG,IAAI,CAAC;YACjB,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC;SACb;QAED,IAAI,CAAC,CAAC,UAAU,EAAE;YAChB,QAAQ,CAAC,IAAI,GAAG,GAAG,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC;YAC1C,QAAQ,CAAC,QAAQ,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC,CAAC;SAChE;aAAM;YACL,QAAQ,CAAC,IAAI,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC,CAAC;SAC5D;QACD,IAAI,QAAQ,IAAI,CAAC,CAAC,KAAK,GAAG,CAAC,EAAE;YAC3B,QAAQ,CAAC,QAAQ,GAAG,CAAC,QAAQ,CAAC,QAAQ,IAAI,EAAE,CAAC,CAAC,MAAM,CAClD,MAAM,IAAA,kCAAe,EAAC,GAAG,EAAE,QAAQ,EAAE,CAAC,CAAC,KAAK,EAAE,IAAI,EAAE,gBAAgB,CAAC,CACtE,CAAC;SACH;QAED,IAAI,SAAS,EAAE;YACb,QAAQ,CAAC,IAAI,GAAI,QAAQ,CAAC,IAAc,CAAC,CAAC,CAAC,CAAC;SAC7C;QAED,OAAO,KAAK,CAAC,GAAG,CAAC,IAAI,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;IAC5C,CAAC;;AAlSH,6BAmSC"}
|
package/lib/index.d.ts
CHANGED
|
@@ -1,21 +1,21 @@
|
|
|
1
|
-
export { default as Cache } from
|
|
2
|
-
export { default as Linker } from
|
|
3
|
-
export { default as Metaizer } from
|
|
4
|
-
export { default as Paginator } from
|
|
5
|
-
export { default as Relator } from
|
|
6
|
-
export { default as JapiError } from
|
|
7
|
-
export { default as ErrorSerializer } from
|
|
8
|
-
export { default as Serializer } from
|
|
9
|
-
export * from
|
|
10
|
-
export * from
|
|
11
|
-
export * from
|
|
12
|
-
export * from
|
|
13
|
-
export * from
|
|
14
|
-
export * from
|
|
15
|
-
export * from
|
|
16
|
-
export * from
|
|
17
|
-
export * from
|
|
18
|
-
export * from
|
|
19
|
-
export * from
|
|
20
|
-
export * from
|
|
1
|
+
export { default as Cache } from './classes/cache';
|
|
2
|
+
export { default as Linker } from './classes/linker';
|
|
3
|
+
export { default as Metaizer } from './classes/metaizer';
|
|
4
|
+
export { default as Paginator } from './classes/paginator';
|
|
5
|
+
export { default as Relator } from './classes/relator';
|
|
6
|
+
export { default as JapiError } from './models/error.model';
|
|
7
|
+
export { default as ErrorSerializer } from './classes/error-serializer';
|
|
8
|
+
export { default as Serializer } from './classes/serializer';
|
|
9
|
+
export * from './interfaces/cache.interface';
|
|
10
|
+
export * from './interfaces/error-serializer.interface';
|
|
11
|
+
export * from './interfaces/error.interface';
|
|
12
|
+
export * from './interfaces/json-api.interface';
|
|
13
|
+
export * from './interfaces/linker.interface';
|
|
14
|
+
export * from './interfaces/paginator.interface';
|
|
15
|
+
export * from './interfaces/relator.interface';
|
|
16
|
+
export * from './interfaces/serializer.interface';
|
|
17
|
+
export * from './types/global.types';
|
|
18
|
+
export * from './utils/is-error-document';
|
|
19
|
+
export * from './utils/is-plain-object';
|
|
20
|
+
export * from './utils/is-object';
|
|
21
21
|
//# sourceMappingURL=index.d.ts.map
|
package/lib/index.js
CHANGED
|
@@ -1,7 +1,11 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
3
|
if (k2 === undefined) k2 = k;
|
|
4
|
-
Object.
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
5
9
|
}) : (function(o, m, k, k2) {
|
|
6
10
|
if (k2 === undefined) k2 = k;
|
|
7
11
|
o[k2] = m[k];
|
|
@@ -9,24 +13,27 @@ var __createBinding = (this && this.__createBinding) || (Object.create ? (functi
|
|
|
9
13
|
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
10
14
|
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
11
15
|
};
|
|
12
|
-
|
|
16
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
17
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
18
|
+
};
|
|
19
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
13
20
|
exports.Serializer = exports.ErrorSerializer = exports.JapiError = exports.Relator = exports.Paginator = exports.Metaizer = exports.Linker = exports.Cache = void 0;
|
|
14
21
|
var cache_1 = require("./classes/cache");
|
|
15
|
-
|
|
22
|
+
Object.defineProperty(exports, "Cache", { enumerable: true, get: function () { return __importDefault(cache_1).default; } });
|
|
16
23
|
var linker_1 = require("./classes/linker");
|
|
17
|
-
|
|
24
|
+
Object.defineProperty(exports, "Linker", { enumerable: true, get: function () { return __importDefault(linker_1).default; } });
|
|
18
25
|
var metaizer_1 = require("./classes/metaizer");
|
|
19
|
-
|
|
26
|
+
Object.defineProperty(exports, "Metaizer", { enumerable: true, get: function () { return __importDefault(metaizer_1).default; } });
|
|
20
27
|
var paginator_1 = require("./classes/paginator");
|
|
21
|
-
|
|
28
|
+
Object.defineProperty(exports, "Paginator", { enumerable: true, get: function () { return __importDefault(paginator_1).default; } });
|
|
22
29
|
var relator_1 = require("./classes/relator");
|
|
23
|
-
|
|
30
|
+
Object.defineProperty(exports, "Relator", { enumerable: true, get: function () { return __importDefault(relator_1).default; } });
|
|
24
31
|
var error_model_1 = require("./models/error.model");
|
|
25
|
-
|
|
32
|
+
Object.defineProperty(exports, "JapiError", { enumerable: true, get: function () { return __importDefault(error_model_1).default; } });
|
|
26
33
|
var error_serializer_1 = require("./classes/error-serializer");
|
|
27
|
-
|
|
34
|
+
Object.defineProperty(exports, "ErrorSerializer", { enumerable: true, get: function () { return __importDefault(error_serializer_1).default; } });
|
|
28
35
|
var serializer_1 = require("./classes/serializer");
|
|
29
|
-
|
|
36
|
+
Object.defineProperty(exports, "Serializer", { enumerable: true, get: function () { return __importDefault(serializer_1).default; } });
|
|
30
37
|
__exportStar(require("./interfaces/cache.interface"), exports);
|
|
31
38
|
__exportStar(require("./interfaces/error-serializer.interface"), exports);
|
|
32
39
|
__exportStar(require("./interfaces/error.interface"), exports);
|
package/lib/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA,yCAAmD;AAA1C,+GAAA,OAAO,OAAS;AACzB,2CAAqD;AAA5C,iHAAA,OAAO,OAAU;AAC1B,+CAAyD;AAAhD,qHAAA,OAAO,OAAY;AAC5B,iDAA2D;AAAlD,uHAAA,OAAO,OAAa;AAC7B,6CAAuD;AAA9C,mHAAA,OAAO,OAAW;AAC3B,oDAA4D;AAAnD,yHAAA,OAAO,OAAa;AAC7B,+DAAwE;AAA/D,oIAAA,OAAO,OAAmB;AACnC,mDAA6D;AAApD,yHAAA,OAAO,OAAc;AAC9B,+DAA6C;AAC7C,0EAAwD;AACxD,+DAA6C;AAC7C,kEAAgD;AAChD,gEAA8C;AAC9C,mEAAiD;AACjD,iEAA+C;AAC/C,oEAAkD;AAClD,uDAAqC;AACrC,4DAA0C;AAC1C,0DAAwC;AACxC,oDAAkC"}
|
|
@@ -1,15 +1,15 @@
|
|
|
1
|
-
import { SingleOrArray, nullish } from
|
|
1
|
+
import { SingleOrArray, nullish } from '../types/global.types';
|
|
2
2
|
export interface CacheOptions<DataType> {
|
|
3
3
|
/**
|
|
4
4
|
* The maximum amount of documents that can be stored before erasure.
|
|
5
5
|
*
|
|
6
|
-
* @
|
|
6
|
+
* @defaultValue `10`
|
|
7
7
|
*/
|
|
8
8
|
limit: number;
|
|
9
9
|
/**
|
|
10
10
|
* The method to use in determining data equality
|
|
11
11
|
*
|
|
12
|
-
* @
|
|
12
|
+
* @defaultValue `Object.is`
|
|
13
13
|
*/
|
|
14
14
|
resolver(storedData: SingleOrArray<DataType> | nullish, newData: SingleOrArray<DataType> | nullish): boolean;
|
|
15
15
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cache.interface.d.ts","sourceRoot":"","sources":["../../src/interfaces/cache.interface.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAC;AAE/D,MAAM,WAAW,YAAY,CAAC,QAAQ;
|
|
1
|
+
{"version":3,"file":"cache.interface.d.ts","sourceRoot":"","sources":["../../src/interfaces/cache.interface.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAC;AAE/D,MAAM,WAAW,YAAY,CAAC,QAAQ;IACpC;;;;OAIG;IACH,KAAK,EAAE,MAAM,CAAC;IAEd;;;;OAIG;IACH,QAAQ,CACN,UAAU,EAAE,aAAa,CAAC,QAAQ,CAAC,GAAG,OAAO,EAC7C,OAAO,EAAE,aAAa,CAAC,QAAQ,CAAC,GAAG,OAAO,GACzC,OAAO,CAAC;CACZ"}
|
|
@@ -1,24 +1,24 @@
|
|
|
1
|
-
import Linker from
|
|
2
|
-
import Metaizer from
|
|
3
|
-
import JapiError from
|
|
4
|
-
import { Dictionary } from
|
|
1
|
+
import Linker from '../classes/linker';
|
|
2
|
+
import Metaizer from '../classes/metaizer';
|
|
3
|
+
import JapiError from '../models/error.model';
|
|
4
|
+
import { Dictionary } from '../types/global.types';
|
|
5
5
|
export interface ErrorAttributeOption<T> {
|
|
6
6
|
/**
|
|
7
7
|
* A unique identifier for this particular occurrence of the problem.
|
|
8
8
|
*
|
|
9
|
-
* @
|
|
9
|
+
* @defaultValue `"id"`
|
|
10
10
|
*/
|
|
11
11
|
id: keyof T;
|
|
12
12
|
/**
|
|
13
13
|
* The HTTP status code applicable to this problem.
|
|
14
14
|
*
|
|
15
|
-
* @
|
|
15
|
+
* @defaultValue `"code"`
|
|
16
16
|
*/
|
|
17
17
|
status: keyof T;
|
|
18
18
|
/**
|
|
19
19
|
* An application-specific error code.
|
|
20
20
|
*
|
|
21
|
-
* @
|
|
21
|
+
* @defaultValue `"name"`
|
|
22
22
|
*/
|
|
23
23
|
code: keyof T;
|
|
24
24
|
/**
|
|
@@ -26,14 +26,14 @@ export interface ErrorAttributeOption<T> {
|
|
|
26
26
|
* occurrence to occurrence of the problem, except for purposes of
|
|
27
27
|
* localization.
|
|
28
28
|
*
|
|
29
|
-
* @
|
|
29
|
+
* @defaultValue `"reason"`
|
|
30
30
|
*/
|
|
31
31
|
title: keyof T;
|
|
32
32
|
/**
|
|
33
33
|
* A human-readable explanation specific to this occurrence of the problem.
|
|
34
34
|
* Like title, this field’s value can be localized.
|
|
35
35
|
*
|
|
36
|
-
* @
|
|
36
|
+
* @defaultValue `"message"`
|
|
37
37
|
*/
|
|
38
38
|
detail: keyof T;
|
|
39
39
|
/**
|
|
@@ -48,13 +48,13 @@ export interface ErrorSourceAttribute<T> {
|
|
|
48
48
|
* [e.g. `/data` for a primary data object, or `/data/attributes/title` for a
|
|
49
49
|
* specific attribute].
|
|
50
50
|
*
|
|
51
|
-
* @
|
|
51
|
+
* @defaultValue `"location"`
|
|
52
52
|
*/
|
|
53
53
|
pointer: keyof T;
|
|
54
54
|
/**
|
|
55
55
|
* A string indicating which URI query parameter caused the error.
|
|
56
56
|
*
|
|
57
|
-
* @
|
|
57
|
+
* @defaultValue `undefined`
|
|
58
58
|
*/
|
|
59
59
|
parameter: keyof T;
|
|
60
60
|
}
|
|
@@ -62,12 +62,12 @@ export interface ErrorSerializerOptions<T extends Dictionary<any>> {
|
|
|
62
62
|
/**
|
|
63
63
|
* The highest JSON API version supported.
|
|
64
64
|
*
|
|
65
|
-
* @
|
|
65
|
+
* @defaultValue `1.0`
|
|
66
66
|
*/
|
|
67
67
|
version: string | null;
|
|
68
68
|
/**
|
|
69
69
|
* An object of attribute names to use in place of the
|
|
70
|
-
* {@
|
|
70
|
+
* {@link ErrorAttributeOption | default ones}.
|
|
71
71
|
*/
|
|
72
72
|
attributes: Partial<ErrorAttributeOption<T>>;
|
|
73
73
|
/**
|
|
@@ -75,12 +75,12 @@ export interface ErrorSerializerOptions<T extends Dictionary<any>> {
|
|
|
75
75
|
*/
|
|
76
76
|
linkers: {
|
|
77
77
|
/**
|
|
78
|
-
* A {@
|
|
78
|
+
* A {@link Linker} that gets the [about link](https://jsonapi.org/format/#errors) for an error.
|
|
79
79
|
*/
|
|
80
80
|
about?: Linker<[JapiError]>;
|
|
81
81
|
};
|
|
82
82
|
/**
|
|
83
|
-
* A dictionary of {@
|
|
83
|
+
* A dictionary of {@link Metaizer}s to use in different locations of the document.
|
|
84
84
|
*/
|
|
85
85
|
metaizers: {
|
|
86
86
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"error-serializer.interface.d.ts","sourceRoot":"","sources":["../../src/interfaces/error-serializer.interface.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,mBAAmB,CAAC;AACvC,OAAO,QAAQ,MAAM,qBAAqB,CAAC;AAC3C,OAAO,SAAS,MAAM,uBAAuB,CAAC;AAC9C,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AAEnD,MAAM,WAAW,oBAAoB,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"error-serializer.interface.d.ts","sourceRoot":"","sources":["../../src/interfaces/error-serializer.interface.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,mBAAmB,CAAC;AACvC,OAAO,QAAQ,MAAM,qBAAqB,CAAC;AAC3C,OAAO,SAAS,MAAM,uBAAuB,CAAC;AAC9C,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AAEnD,MAAM,WAAW,oBAAoB,CAAC,CAAC;IACrC;;;;OAIG;IACH,EAAE,EAAE,MAAM,CAAC,CAAC;IAEZ;;;;OAIG;IACH,MAAM,EAAE,MAAM,CAAC,CAAC;IAEhB;;;;OAIG;IACH,IAAI,EAAE,MAAM,CAAC,CAAC;IAEd;;;;;;OAMG;IACH,KAAK,EAAE,MAAM,CAAC,CAAC;IAEf;;;;;OAKG;IACH,MAAM,EAAE,MAAM,CAAC,CAAC;IAEhB;;;OAGG;IACH,MAAM,EAAE,OAAO,CAAC,oBAAoB,CAAC,CAAC,CAAC,CAAC,CAAC;CAC1C;AAED,MAAM,WAAW,oBAAoB,CAAC,CAAC;IACrC;;;;;;OAMG;IACH,OAAO,EAAE,MAAM,CAAC,CAAC;IAEjB;;;;OAIG;IACH,SAAS,EAAE,MAAM,CAAC,CAAC;CACpB;AAED,MAAM,WAAW,sBAAsB,CAAC,CAAC,SAAS,UAAU,CAAC,GAAG,CAAC;IAC/D;;;;OAIG;IACH,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IAEvB;;;OAGG;IACH,UAAU,EAAE,OAAO,CAAC,oBAAoB,CAAC,CAAC,CAAC,CAAC,CAAC;IAE7C;;OAEG;IACH,OAAO,EAAE;QACP;;WAEG;QACH,KAAK,CAAC,EAAE,MAAM,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC;KAC7B,CAAC;IAEF;;OAEG;IACH,SAAS,EAAE;QACT;;WAEG;QACH,OAAO,CAAC,EAAE,QAAQ,CAAC,EAAE,CAAC,CAAC;QAEvB;;WAEG;QACH,QAAQ,CAAC,EAAE,QAAQ,CAAC,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC;QAEnC;;WAEG;QACH,KAAK,CAAC,EAAE,QAAQ,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC;KAC/B,CAAC;CACH"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"error.interface.d.ts","sourceRoot":"","sources":["../../src/interfaces/error.interface.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,WAAW;
|
|
1
|
+
{"version":3,"file":"error.interface.d.ts","sourceRoot":"","sources":["../../src/interfaces/error.interface.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,WAAW;IAC1B;;;;OAIG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,YAAY;IAC3B;;OAEG;IACH,EAAE,CAAC,EAAE,MAAM,CAAC;IAEZ;;OAEG;IACH,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAEzB;;OAEG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;IAEd;;;;OAIG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf;;;OAGG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAEhB;;;OAGG;IACH,MAAM,CAAC,EAAE,WAAW,CAAC;CACtB"}
|
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
import JapiError from
|
|
2
|
-
import Link from
|
|
3
|
-
import Meta from
|
|
4
|
-
import ResourceIdentifier from
|
|
5
|
-
import Resource from
|
|
6
|
-
import { Dictionary, SingleOrArray, nullish } from
|
|
7
|
-
import { PaginationOf } from
|
|
1
|
+
import JapiError from '../models/error.model';
|
|
2
|
+
import Link from '../models/link.model';
|
|
3
|
+
import Meta from '../models/meta.model';
|
|
4
|
+
import ResourceIdentifier from '../models/resource-identifier.model';
|
|
5
|
+
import Resource from '../models/resource.model';
|
|
6
|
+
import { Dictionary, SingleOrArray, nullish } from '../types/global.types';
|
|
7
|
+
import { PaginationOf } from './paginator.interface';
|
|
8
8
|
export interface DataDocument<PrimaryType extends Dictionary<any>> extends Partial<MetaDocument> {
|
|
9
9
|
links?: Dictionary<Link | nullish> | PaginationOf<Link>;
|
|
10
10
|
included?: Resource[];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"json-api.interface.d.ts","sourceRoot":"","sources":["../../src/interfaces/json-api.interface.ts"],"names":[],"mappings":"AAAA,OAAO,SAAS,MAAM,uBAAuB,CAAC;AAC9C,OAAO,IAAI,MAAM,sBAAsB,CAAC;AACxC,OAAO,IAAI,MAAM,sBAAsB,CAAC;AACxC,OAAO,kBAAkB,MAAM,qCAAqC,CAAC;AACrE,OAAO,QAAQ,MAAM,0BAA0B,CAAC;AAChD,OAAO,EAAE,UAAU,EAAE,aAAa,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAC;AAC3E,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAErD,MAAM,WAAW,YAAY,CAAC,WAAW,SAAS,UAAU,CAAC,GAAG,CAAC,CAAE,SAAQ,OAAO,CAAC,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"json-api.interface.d.ts","sourceRoot":"","sources":["../../src/interfaces/json-api.interface.ts"],"names":[],"mappings":"AAAA,OAAO,SAAS,MAAM,uBAAuB,CAAC;AAC9C,OAAO,IAAI,MAAM,sBAAsB,CAAC;AACxC,OAAO,IAAI,MAAM,sBAAsB,CAAC;AACxC,OAAO,kBAAkB,MAAM,qCAAqC,CAAC;AACrE,OAAO,QAAQ,MAAM,0BAA0B,CAAC;AAChD,OAAO,EAAE,UAAU,EAAE,aAAa,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAC;AAC3E,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAErD,MAAM,WAAW,YAAY,CAAC,WAAW,SAAS,UAAU,CAAC,GAAG,CAAC,CAAE,SAAQ,OAAO,CAAC,YAAY,CAAC;IAC9F,KAAK,CAAC,EAAE,UAAU,CAAC,IAAI,GAAG,OAAO,CAAC,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC;IACxD,QAAQ,CAAC,EAAE,QAAQ,EAAE,CAAC;IACtB,IAAI,EAAE,WAAW,CAAC,WAAW,CAAC,CAAC;CAChC;AAED,MAAM,WAAW,aAAc,SAAQ,OAAO,CAAC,YAAY,CAAC;IAC1D,MAAM,EAAE,SAAS,EAAE,CAAC;CACrB;AAED,MAAM,WAAW,aAAa;IAC5B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,IAAI,CAAC;CACb;AAED,MAAM,WAAW,YAAa,SAAQ,YAAY;IAChD,IAAI,EAAE,IAAI,CAAC;CACZ;AAED,MAAM,WAAW,YAAY;IAC3B,OAAO,CAAC,EAAE,aAAa,CAAC;CACzB;AAED,oBAAY,WAAW,CAAC,CAAC,IAAI,aAAa,CAAC,kBAAkB,CAAC,GAAG,aAAa,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC;AAEnG,oBAAY,eAAe,GAAG,aAAa,CAAC,kBAAkB,CAAC,GAAG,IAAI,CAAC"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import Metaizer from
|
|
1
|
+
import Metaizer from '../classes/metaizer';
|
|
2
2
|
export interface LinkerOptions<Dependencies extends any[]> {
|
|
3
3
|
/**
|
|
4
|
-
* A {@
|
|
4
|
+
* A {@link Metaizer} that gets the
|
|
5
5
|
* [meta](https://jsonapi.org/format/#document-resource-object-relationships)
|
|
6
6
|
* about the link.
|
|
7
7
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"linker.interface.d.ts","sourceRoot":"","sources":["../../src/interfaces/linker.interface.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,MAAM,qBAAqB,CAAC;AAE3C,MAAM,WAAW,aAAa,CAAC,YAAY,SAAS,GAAG,EAAE;
|
|
1
|
+
{"version":3,"file":"linker.interface.d.ts","sourceRoot":"","sources":["../../src/interfaces/linker.interface.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,MAAM,qBAAqB,CAAC;AAE3C,MAAM,WAAW,aAAa,CAAC,YAAY,SAAS,GAAG,EAAE;IACvD;;;;OAIG;IACH,QAAQ,CAAC,EAAE,QAAQ,CAAC,YAAY,CAAC,CAAC;CACnC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"paginator.interface.d.ts","sourceRoot":"","sources":["../../src/interfaces/paginator.interface.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAC;AAEhD,MAAM,WAAW,YAAY,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"paginator.interface.d.ts","sourceRoot":"","sources":["../../src/interfaces/paginator.interface.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAC;AAEhD,MAAM,WAAW,YAAY,CAAC,CAAC;IAC7B,KAAK,EAAE,CAAC,GAAG,OAAO,CAAC;IACnB,IAAI,EAAE,CAAC,GAAG,OAAO,CAAC;IAClB,IAAI,EAAE,CAAC,GAAG,OAAO,CAAC;IAClB,IAAI,EAAE,CAAC,GAAG,OAAO,CAAC;CACnB"}
|
|
@@ -1,26 +1,26 @@
|
|
|
1
|
-
import Linker from
|
|
2
|
-
import Metaizer from
|
|
3
|
-
import { Dictionary, nullish, SingleOrArray } from
|
|
1
|
+
import Linker from '../classes/linker';
|
|
2
|
+
import Metaizer from '../classes/metaizer';
|
|
3
|
+
import { Dictionary, nullish, SingleOrArray } from '../types/global.types';
|
|
4
4
|
export interface RelatorOptions<PrimaryType, RelatedType extends Dictionary<any> = any> {
|
|
5
5
|
/**
|
|
6
|
-
* A dictionary of {@
|
|
6
|
+
* A dictionary of {@link Linker}s to use for constructing links.
|
|
7
7
|
*
|
|
8
8
|
* @see {@link https://jsonapi.org/format/#document-resource-object-relationships | Resource object relationships} for more information.
|
|
9
9
|
*/
|
|
10
10
|
linkers: {
|
|
11
11
|
/**
|
|
12
|
-
* A {@
|
|
12
|
+
* A {@link Linker} that gets the [self link](https://jsonapi.org/format/#document-resource-object-relationships)
|
|
13
13
|
* between the primary data and the (array of) related data.
|
|
14
14
|
*/
|
|
15
15
|
relationship?: Linker<[PrimaryType, SingleOrArray<RelatedType> | nullish]>;
|
|
16
16
|
/**
|
|
17
|
-
* A {@
|
|
17
|
+
* A {@link Linker} that gets the [related link](https://jsonapi.org/format/#document-resource-object-relationships)
|
|
18
18
|
* between the primary data and the (array of) related data.
|
|
19
19
|
*/
|
|
20
20
|
related?: Linker<[PrimaryType, SingleOrArray<RelatedType> | nullish]>;
|
|
21
21
|
};
|
|
22
22
|
/**
|
|
23
|
-
* A {@
|
|
23
|
+
* A {@link Metaizer} that gets the
|
|
24
24
|
* [meta](https://jsonapi.org/format/#document-resource-object-relationships)
|
|
25
25
|
* about the relationship.
|
|
26
26
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"relator.interface.d.ts","sourceRoot":"","sources":["../../src/interfaces/relator.interface.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,mBAAmB,CAAC;AACvC,OAAO,QAAQ,MAAM,qBAAqB,CAAC;AAC3C,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAE3E,MAAM,WAAW,cAAc,CAAC,WAAW,EAAE,WAAW,SAAS,UAAU,CAAC,GAAG,CAAC,GAAG,GAAG;
|
|
1
|
+
{"version":3,"file":"relator.interface.d.ts","sourceRoot":"","sources":["../../src/interfaces/relator.interface.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,mBAAmB,CAAC;AACvC,OAAO,QAAQ,MAAM,qBAAqB,CAAC;AAC3C,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAE3E,MAAM,WAAW,cAAc,CAAC,WAAW,EAAE,WAAW,SAAS,UAAU,CAAC,GAAG,CAAC,GAAG,GAAG;IACpF;;;;OAIG;IACH,OAAO,EAAE;QACP;;;WAGG;QACH,YAAY,CAAC,EAAE,MAAM,CAAC,CAAC,WAAW,EAAE,aAAa,CAAC,WAAW,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC;QAE3E;;;WAGG;QACH,OAAO,CAAC,EAAE,MAAM,CAAC,CAAC,WAAW,EAAE,aAAa,CAAC,WAAW,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC;KACvE,CAAC;IAEF;;;;OAIG;IACH,QAAQ,CAAC,EAAE,QAAQ,CAAC,CAAC,WAAW,EAAE,aAAa,CAAC,WAAW,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC;CAC1E"}
|
|
@@ -1,62 +1,62 @@
|
|
|
1
|
-
import Linker from
|
|
2
|
-
import Metaizer from
|
|
3
|
-
import Paginator from
|
|
4
|
-
import Relator from
|
|
5
|
-
import { Dictionary, SingleOrArray, nullish } from
|
|
6
|
-
import Cache from
|
|
1
|
+
import Linker from '../classes/linker';
|
|
2
|
+
import Metaizer from '../classes/metaizer';
|
|
3
|
+
import Paginator from '../classes/paginator';
|
|
4
|
+
import Relator from '../classes/relator';
|
|
5
|
+
import { Dictionary, SingleOrArray, nullish } from '../types/global.types';
|
|
6
|
+
import Cache from '../classes/cache';
|
|
7
7
|
export interface SerializerOptions<PrimaryType extends Dictionary<any> = any> {
|
|
8
8
|
/**
|
|
9
9
|
* The key name for the identifier in the resource.
|
|
10
10
|
*
|
|
11
|
-
* @
|
|
11
|
+
* @defaultValue `"id"`
|
|
12
12
|
*/
|
|
13
13
|
idKey: keyof PrimaryType;
|
|
14
14
|
/**
|
|
15
15
|
* The highest JSON API version supported. Set to `null` to omit version.
|
|
16
16
|
*
|
|
17
|
-
* @
|
|
17
|
+
* @defaultValue `1.0`
|
|
18
18
|
*/
|
|
19
19
|
version: string | null;
|
|
20
20
|
/**
|
|
21
|
-
* Enables caching of documents. If a {@
|
|
22
|
-
* given {@
|
|
21
|
+
* Enables caching of documents. If a {@link Cache} is given, then the
|
|
22
|
+
* given {@link Cache} will be used.
|
|
23
23
|
*
|
|
24
|
-
* @
|
|
24
|
+
* @defaultValue `false`
|
|
25
25
|
*/
|
|
26
26
|
cache: boolean | Cache<PrimaryType>;
|
|
27
27
|
/**
|
|
28
28
|
* Whether to use `null` value the `data` field.
|
|
29
29
|
*
|
|
30
30
|
* This option will ignore options
|
|
31
|
-
* {@
|
|
32
|
-
* {@
|
|
33
|
-
* {@
|
|
31
|
+
* {@link SerializerOptions.onlyIdentifier | onlyIdentifier},
|
|
32
|
+
* {@link SerializerOptions.linkers | linkers.resource}, and
|
|
33
|
+
* {@link SerializerOptions.metaizers | metaizers.resource}
|
|
34
34
|
* (and all options they ignores).
|
|
35
35
|
*
|
|
36
|
-
* @
|
|
36
|
+
* @defaultValue `false`
|
|
37
37
|
*/
|
|
38
38
|
nullData: boolean;
|
|
39
39
|
/**
|
|
40
40
|
* Whether to only serialize the identifier.
|
|
41
41
|
*
|
|
42
42
|
* This option will ignore the options
|
|
43
|
-
* {@
|
|
43
|
+
* {@link SerializerOptions.depth | depth}
|
|
44
44
|
*
|
|
45
|
-
* @
|
|
45
|
+
* @defaultValue `false`
|
|
46
46
|
*/
|
|
47
47
|
onlyIdentifier: boolean;
|
|
48
48
|
/**
|
|
49
49
|
* This is used to serialize the [resource linkages](https://jsonapi.org/format/#document-resource-object-linkage)
|
|
50
50
|
* only. The value must be the name of a collection for a relator in the
|
|
51
|
-
* {@
|
|
51
|
+
* {@link SerializerOptions.relators | relators} option.
|
|
52
52
|
*
|
|
53
53
|
* Only a single primary datum (as opposed to an array) **MUST**
|
|
54
54
|
* be serialized.
|
|
55
55
|
*
|
|
56
56
|
* This option will ignore the options
|
|
57
|
-
* {@
|
|
58
|
-
* {@
|
|
59
|
-
* {@
|
|
57
|
+
* {@link SerializerOptions.projection | projection},
|
|
58
|
+
* {@link SerializerOptions.linkers | linkers.resource}, and
|
|
59
|
+
* {@link SerializerOptions.metaizers | metaizers.resource}.
|
|
60
60
|
*/
|
|
61
61
|
onlyRelationship: string;
|
|
62
62
|
/**
|
|
@@ -64,7 +64,7 @@ export interface SerializerOptions<PrimaryType extends Dictionary<any> = any> {
|
|
|
64
64
|
* and use [resource identifier objects](https://jsonapi.org/format/#document-resource-identifier-objects) for
|
|
65
65
|
* [top-level data](https://jsonapi.org/format/#document-top-level).
|
|
66
66
|
*
|
|
67
|
-
* @
|
|
67
|
+
* @defaultValue `false`
|
|
68
68
|
*/
|
|
69
69
|
asIncluded: boolean;
|
|
70
70
|
/**
|
|
@@ -77,7 +77,7 @@ export interface SerializerOptions<PrimaryType extends Dictionary<any> = any> {
|
|
|
77
77
|
*
|
|
78
78
|
* Must be a number in `[0, Infinity]`.
|
|
79
79
|
*
|
|
80
|
-
* @
|
|
80
|
+
* @defaultValue `0`
|
|
81
81
|
*/
|
|
82
82
|
depth: number;
|
|
83
83
|
/**
|
|
@@ -87,13 +87,13 @@ export interface SerializerOptions<PrimaryType extends Dictionary<any> = any> {
|
|
|
87
87
|
* If set to `null`, then every attribute will show.
|
|
88
88
|
* If set to `{}`, then every attribute will hide.
|
|
89
89
|
*
|
|
90
|
-
* @
|
|
90
|
+
* @defaultValue `null`
|
|
91
91
|
*/
|
|
92
92
|
projection: Partial<Record<keyof PrimaryType, 0 | 1>> | null | undefined;
|
|
93
93
|
/**
|
|
94
|
-
* A {@
|
|
94
|
+
* A {@link Relator} that generates `relationships` for a given primary resource.
|
|
95
95
|
*
|
|
96
|
-
* *Note*: You can add more relators by using {@
|
|
96
|
+
* *Note*: You can add more relators by using {@link Serializer.setRelators}. This is useful in
|
|
97
97
|
* case you have a cycle of relators among serializers.
|
|
98
98
|
*
|
|
99
99
|
* See [relationships objects](https://jsonapi.org/format/#document-resource-object-relationships)
|
|
@@ -105,20 +105,20 @@ export interface SerializerOptions<PrimaryType extends Dictionary<any> = any> {
|
|
|
105
105
|
*/
|
|
106
106
|
linkers: {
|
|
107
107
|
/**
|
|
108
|
-
* A {@
|
|
108
|
+
* A {@link Linker} that gets represents a [top-level self link](https://jsonapi.org/format/#document-top-level).
|
|
109
109
|
*/
|
|
110
110
|
document?: Linker<[SingleOrArray<PrimaryType> | nullish]>;
|
|
111
111
|
/**
|
|
112
|
-
* A {@
|
|
112
|
+
* A {@link Linker} that represents a [resource-level self link](https://jsonapi.org/format/#document-resource-objects).
|
|
113
113
|
*/
|
|
114
114
|
resource?: Linker<[PrimaryType]>;
|
|
115
115
|
/**
|
|
116
|
-
* A {@
|
|
116
|
+
* A {@link Paginator} to use for [pagination links](https://jsonapi.org/format/#fetching-pagination).
|
|
117
117
|
*/
|
|
118
118
|
paginator?: Paginator<PrimaryType>;
|
|
119
119
|
};
|
|
120
120
|
/**
|
|
121
|
-
* A dictionary of {@
|
|
121
|
+
* A dictionary of {@link Metaizer}s to use in different locations of the document.
|
|
122
122
|
*/
|
|
123
123
|
metaizers: {
|
|
124
124
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"serializer.interface.d.ts","sourceRoot":"","sources":["../../src/interfaces/serializer.interface.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,mBAAmB,CAAC;AACvC,OAAO,QAAQ,MAAM,qBAAqB,CAAC;AAC3C,OAAO,SAAS,MAAM,sBAAsB,CAAC;AAC7C,OAAO,OAAO,MAAM,oBAAoB,CAAC;AACzC,OAAO,EAAE,UAAU,EAAE,aAAa,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAC;AAC3E,OAAO,KAAK,MAAM,kBAAkB,CAAC;AAErC,MAAM,WAAW,iBAAiB,CAAC,WAAW,SAAS,UAAU,CAAC,GAAG,CAAC,GAAG,GAAG;
|
|
1
|
+
{"version":3,"file":"serializer.interface.d.ts","sourceRoot":"","sources":["../../src/interfaces/serializer.interface.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,mBAAmB,CAAC;AACvC,OAAO,QAAQ,MAAM,qBAAqB,CAAC;AAC3C,OAAO,SAAS,MAAM,sBAAsB,CAAC;AAC7C,OAAO,OAAO,MAAM,oBAAoB,CAAC;AACzC,OAAO,EAAE,UAAU,EAAE,aAAa,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAC;AAC3E,OAAO,KAAK,MAAM,kBAAkB,CAAC;AAErC,MAAM,WAAW,iBAAiB,CAAC,WAAW,SAAS,UAAU,CAAC,GAAG,CAAC,GAAG,GAAG;IAC1E;;;;OAIG;IACH,KAAK,EAAE,MAAM,WAAW,CAAC;IAEzB;;;;OAIG;IACH,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IAEvB;;;;;OAKG;IACH,KAAK,EAAE,OAAO,GAAG,KAAK,CAAC,WAAW,CAAC,CAAC;IAEpC;;;;;;;;;;OAUG;IACH,QAAQ,EAAE,OAAO,CAAC;IAElB;;;;;;;OAOG;IACH,cAAc,EAAE,OAAO,CAAC;IAExB;;;;;;;;;;;;OAYG;IACH,gBAAgB,EAAE,MAAM,CAAC;IAEzB;;;;;;OAMG;IACH,UAAU,EAAE,OAAO,CAAC;IAEpB;;;;;;;;;;;OAWG;IACH,KAAK,EAAE,MAAM,CAAC;IAEd;;;;;;;;OAQG;IACH,UAAU,EAAE,OAAO,CAAC,MAAM,CAAC,MAAM,WAAW,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,IAAI,GAAG,SAAS,CAAC;IAEzE;;;;;;;;OAQG;IACH,QAAQ,CAAC,EACL,OAAO,CAAC,WAAW,CAAC,GACpB,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,GAC3B,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC;IAEzC;;OAEG;IACH,OAAO,EAAE;QACP;;WAEG;QACH,QAAQ,CAAC,EAAE,MAAM,CAAC,CAAC,aAAa,CAAC,WAAW,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC;QAE1D;;WAEG;QACH,QAAQ,CAAC,EAAE,MAAM,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC;QAEjC;;WAEG;QACH,SAAS,CAAC,EAAE,SAAS,CAAC,WAAW,CAAC,CAAC;KACpC,CAAC;IAEF;;OAEG;IACH,SAAS,EAAE;QACT;;WAEG;QACH,OAAO,CAAC,EAAE,QAAQ,CAAC,EAAE,CAAC,CAAC;QAEvB;;WAEG;QACH,QAAQ,CAAC,EAAE,QAAQ,CAAC,CAAC,aAAa,CAAC,WAAW,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC;QAE5D;;WAEG;QACH,QAAQ,CAAC,EAAE,QAAQ,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC;KACpC,CAAC;CACH"}
|
|
@@ -1,12 +1,12 @@
|
|
|
1
|
-
import { Dictionary, nullish } from
|
|
2
|
-
import { ErrorOptions } from
|
|
3
|
-
import Link from
|
|
4
|
-
import Meta from
|
|
1
|
+
import { Dictionary, nullish } from '..';
|
|
2
|
+
import { ErrorOptions } from '../interfaces/error.interface';
|
|
3
|
+
import Link from './link.model';
|
|
4
|
+
import Meta from './meta.model';
|
|
5
5
|
export default class JapiError {
|
|
6
6
|
/**
|
|
7
7
|
* Tests whether `error` has similar attributes to a JapiError
|
|
8
8
|
*
|
|
9
|
-
* @param error An unknown object
|
|
9
|
+
* @param error - An unknown object
|
|
10
10
|
*/
|
|
11
11
|
static isLikeJapiError(error: unknown): error is Partial<JapiError>;
|
|
12
12
|
/** @internal */
|