From 49917d29332558afa7411f1624971cc17c975648 Mon Sep 17 00:00:00 2001 From: Nico Schottelius Date: Fri, 10 Feb 2012 13:01:29 +0100 Subject: [PATCH] +object id issues/ideas Signed-off-by: Nico Schottelius --- doc/dev/logs/2012-02-10.object_id-and-slashes | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) create mode 100644 doc/dev/logs/2012-02-10.object_id-and-slashes diff --git a/doc/dev/logs/2012-02-10.object_id-and-slashes b/doc/dev/logs/2012-02-10.object_id-and-slashes new file mode 100644 index 00000000..de46a1f8 --- /dev/null +++ b/doc/dev/logs/2012-02-10.object_id-and-slashes @@ -0,0 +1,18 @@ +__typename /foo/bar # possible, usual use case +require="__a//b" __typename /foo/bar # possible and happens often for __a/$id in loops + +__typename /foo/bar/ # trailing slash will be stripped, can be documented + +__typename /foo//bar//baz # // will be converted to / implicitly through fs; error prone; disallow + +require="__a//b//c" __typename # // will be converted to / implicitly through fs; error prone; disallow + + +Solution: + + 1) allow require __a//b: type __a, object id /b + => strip first slash of object id, as we do in non-dep-mode + 2) allow _one_ trailing /: __type /foo/bar/ and require="__foo/abc/" + => strip one leading slash of object id + 3) disallow // within object id + 4) disallow starting or ending / after 1) and 2)